From 4efb98f2b554b76270b12837db7a7f724e2ede89 Mon Sep 17 00:00:00 2001 From: tomasysh <tomasysh@gmail.com> Date: 星期四, 02 一月 2025 19:24:41 +0800 Subject: [PATCH] Merge branch 'element-ui-hack' into 202412_CR --- PAMapp/local_modules/element-ui/lib/backtop.js | 401 PAMapp/local_modules/element-ui/packages/checkbox/index.js | 8 PAMapp/local_modules/element-ui/types/menu-item.d.ts | 10 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/switch.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/ja.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/input-number.scss | 180 PAMapp/local_modules/element-ui/lib/umd/locale/ms.js | 141 PAMapp/local_modules/element-ui/lib/carousel.js | 706 PAMapp/local_modules/element-ui/lib/skeleton.js | 371 PAMapp/local_modules/element-ui/packages/date-picker/src/picker/date-picker.js | 43 PAMapp/local_modules/element-ui/lib/utils/menu/aria-menubar.js | 24 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/color-picker.css | 1 PAMapp/local_modules/element-ui/lib/header.js | 276 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff | 0 PAMapp/local_modules/element-ui/packages/color-picker/src/draggable.js | 36 PAMapp/local_modules/element-ui/packages/menu/src/menu.vue | 325 PAMapp/local_modules/element-ui/lib/theme-chalk/col.css | 1 PAMapp/local_modules/element-ui/packages/tabs/index.js | 8 PAMapp/local_modules/element-ui/types/main.d.ts | 4 PAMapp/local_modules/element-ui/types/popconfirm.d.ts | 29 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-select.css | 1 PAMapp/local_modules/element-ui/lib/statistic.js | 527 PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/popup.scss | 42 PAMapp/local_modules/element-ui/src/utils/vue-popper.js | 198 PAMapp/local_modules/element-ui/src/locale/lang/nb-NO.js | 122 PAMapp/local_modules/element-ui/lib/theme-chalk/switch.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/display.css | 1 PAMapp/local_modules/element-ui/packages/transfer/src/main.vue | 231 PAMapp/local_modules/element-ui/types/timeline-item.d.ts | 20 PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown.css | 1 PAMapp/local_modules/element-ui/types/select.d.ts | 90 PAMapp/local_modules/element-ui/lib/rate.js | 669 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/year-table.scss | 51 PAMapp/local_modules/element-ui/types/option-group.d.ts | 10 PAMapp/local_modules/element-ui/packages/carousel/index.js | 8 PAMapp/local_modules/element-ui/types/steps.d.ts | 28 PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel-item.scss | 50 PAMapp/local_modules/element-ui/types/tree.d.ts | 266 PAMapp/local_modules/element-ui/lib/umd/locale/bn.js | 141 PAMapp/local_modules/element-ui/packages/theme-chalk/src/tabs.scss | 602 PAMapp/local_modules/element-ui/lib/umd/locale/de.js | 143 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/pl.js | 142 PAMapp/local_modules/element-ui/src/locale/lang/ro.js | 123 PAMapp/local_modules/element-ui/lib/umd/locale/sr.js | 142 PAMapp/local_modules/element-ui/types/breadcrumb-item.d.ts | 10 PAMapp/local_modules/element-ui/packages/theme-chalk/src/popconfirm.scss | 16 PAMapp/local_modules/element-ui/lib/theme-chalk/cascader-panel.css | 1 PAMapp/local_modules/element-ui/types/time-select.d.ts | 56 PAMapp/local_modules/element-ui/packages/select/src/option-group.vue | 60 PAMapp/local_modules/element-ui/packages/select/src/select.vue | 900 PAMapp/local_modules/element-ui/packages/theme-chalk/src/aside.scss | 7 PAMapp/local_modules/element-ui/packages/calendar/index.js | 8 PAMapp/local_modules/element-ui/types/descriptions-item.d.ts | 37 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/autocomplete.css | 1 PAMapp/local_modules/element-ui/packages/input/src/calcTextareaHeight.js | 104 PAMapp/local_modules/element-ui/packages/option-group/index.js | 8 PAMapp/local_modules/element-ui/lib/locale/lang/hu.js | 125 PAMapp/local_modules/element-ui/lib/umd/locale/fr.js | 141 PAMapp/local_modules/element-ui/packages/icon/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/tooltip.css | 1 PAMapp/local_modules/element-ui/types/transfer.d.ts | 73 PAMapp/local_modules/element-ui/types/statistic.d.ts | 37 PAMapp/local_modules/element-ui/packages/result/src/icon-warning.vue | 13 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select-dropdown.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/radio.css | 1 PAMapp/local_modules/element-ui/packages/pagination/src/pagination.js | 386 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/progress.css | 1 PAMapp/local_modules/element-ui/lib/form.js | 465 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/month-range.vue | 289 PAMapp/local_modules/element-ui/lib/badge.js | 333 PAMapp/local_modules/element-ui/lib/utils/util.js | 272 PAMapp/local_modules/element-ui/packages/aside/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tree.css | 1 PAMapp/local_modules/element-ui/packages/tabs/src/tabs.vue | 191 PAMapp/local_modules/element-ui/types/page-header.d.ts | 10 PAMapp/local_modules/element-ui/lib/umd/locale/id.js | 142 PAMapp/local_modules/element-ui/packages/header/src/main.vue | 20 PAMapp/local_modules/element-ui/src/locale/lang/uz-UZ.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/index.css | 1 PAMapp/local_modules/element-ui/packages/transfer/index.js | 8 PAMapp/local_modules/element-ui/packages/tooltip/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/scrollbar.scss | 72 PAMapp/local_modules/element-ui/types/backtop.d.ts | 16 PAMapp/local_modules/element-ui/packages/theme-chalk/src/form-item.scss | 0 PAMapp/local_modules/element-ui/lib/locale/lang/ar.js | 125 PAMapp/local_modules/element-ui/lib/umd/locale/ee.js | 142 PAMapp/local_modules/element-ui/lib/notification.js | 614 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/date-picker.css | 1 PAMapp/local_modules/element-ui/src/transitions/collapse-transition.js | 77 PAMapp/local_modules/element-ui/packages/theme-chalk/src/input.scss | 360 PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel.scss | 161 PAMapp/local_modules/element-ui/packages/theme-chalk/src/page-header.scss | 41 PAMapp/local_modules/element-ui/src/locale/lang/th.js | 123 PAMapp/local_modules/element-ui/lib/theme-chalk/base.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item.css | 0 PAMapp/local_modules/element-ui/packages/timeline/index.js | 8 PAMapp/local_modules/element-ui/lib/umd/locale/vi.js | 142 PAMapp/local_modules/element-ui/lib/locale/lang/uz-UZ.js | 126 PAMapp/local_modules/element-ui/src/utils/menu/aria-menubar.js | 14 PAMapp/local_modules/element-ui/packages/theme-chalk/src/autocomplete.scss | 80 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/image.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/collapse.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/hu.js | 122 PAMapp/local_modules/element-ui/packages/color-picker/src/components/sv-panel.vue | 100 PAMapp/local_modules/element-ui/lib/locale/lang/nb-NO.js | 125 PAMapp/local_modules/element-ui/types/card.d.ts | 26 PAMapp/local_modules/element-ui/lib/locale/lang/pt.js | 126 PAMapp/local_modules/element-ui/lib/theme-chalk/button-group.css | 0 PAMapp/local_modules/element-ui/lib/theme-chalk/carousel-item.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/step.css | 1 PAMapp/local_modules/element-ui/lib/row.js | 148 PAMapp/local_modules/element-ui/lib/theme-chalk/notification.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/si.js | 142 PAMapp/local_modules/element-ui/lib/spinner.js | 300 PAMapp/local_modules/element-ui/packages/switch/src/component.vue | 174 PAMapp/local_modules/element-ui/packages/step/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/input-number.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/backtop.scss | 22 PAMapp/local_modules/element-ui/lib/utils/menu/aria-menuitem.js | 62 PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-item.vue | 37 PAMapp/local_modules/element-ui/packages/table/src/table-header.js | 511 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/rate.css | 1 PAMapp/local_modules/element-ui/src/utils/popper.js | 1276 PAMapp/local_modules/element-ui/packages/row/src/row.js | 44 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/card.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/ua.js | 123 PAMapp/local_modules/element-ui/packages/button/index.js | 8 PAMapp/local_modules/element-ui/src/locale/lang/eo.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button.css | 1 PAMapp/local_modules/element-ui/types/collapse-item.d.ts | 26 PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-button.css | 0 PAMapp/local_modules/element-ui/lib/utils/vdom.js | 13 PAMapp/local_modules/element-ui/lib/umd/locale/ca.js | 141 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/link.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/ja.js | 123 PAMapp/local_modules/element-ui/packages/backtop/src/main.vue | 110 PAMapp/local_modules/element-ui/lib/theme-chalk/index.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/spinner.css | 1 PAMapp/local_modules/element-ui/packages/timeline/src/main.vue | 33 PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-button.scss | 113 PAMapp/local_modules/element-ui/lib/theme-chalk/backtop.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/dialog.scss | 123 PAMapp/local_modules/element-ui/packages/main/index.js | 8 PAMapp/package-lock.json | 3 PAMapp/local_modules/element-ui/src/directives/repeat-click.js | 26 PAMapp/local_modules/element-ui/src/utils/lodash.js | 17209 ++++ PAMapp/local_modules/element-ui/lib/theme-chalk/row.css | 1 PAMapp/local_modules/element-ui/packages/table/src/table-column.js | 319 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popconfirm.css | 1 PAMapp/local_modules/element-ui/packages/footer/src/main.vue | 20 PAMapp/local_modules/element-ui/lib/theme-chalk/icon.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/is.js | 126 PAMapp/local_modules/element-ui/lib/locale/lang/sk.js | 128 PAMapp/local_modules/element-ui/types/tag.d.ts | 28 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/transfer.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/calendar.scss | 79 PAMapp/local_modules/element-ui/packages/tab-pane/index.js | 8 PAMapp/local_modules/element-ui/packages/carousel/src/item.vue | 138 PAMapp/local_modules/element-ui/lib/switch.js | 553 PAMapp/local_modules/element-ui/lib/umd/locale/nl.js | 142 PAMapp/local_modules/element-ui/types/cascader.d.ts | 65 PAMapp/local_modules/element-ui/packages/theme-chalk/src/notification.scss | 99 PAMapp/local_modules/element-ui/packages/option/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/container.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/ku.js | 126 PAMapp/local_modules/element-ui/lib/theme-chalk/image.css | 1 PAMapp/local_modules/element-ui/packages/breadcrumb/index.js | 8 PAMapp/local_modules/element-ui/src/locale/index.js | 48 PAMapp/local_modules/element-ui/packages/tag/src/tag.vue | 58 PAMapp/local_modules/element-ui/lib/umd/locale/tk.js | 142 PAMapp/local_modules/element-ui/src/utils/dom.js | 227 PAMapp/local_modules/element-ui/packages/input/src/input.vue | 440 PAMapp/local_modules/element-ui/src/mixins/migrating.js | 54 PAMapp/local_modules/element-ui/packages/table/src/filter-panel.vue | 194 PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse.scss | 63 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb-item.css | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb-item.scss | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton-item.css | 1 PAMapp/local_modules/element-ui/types/upload.d.ts | 124 PAMapp/local_modules/element-ui/types/form-item.d.ts | 37 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-menu.css | 0 PAMapp/local_modules/element-ui/types/table.d.ts | 174 PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions-item.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/divider.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-group.scss | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/src/color-picker.scss | 384 PAMapp/local_modules/element-ui/types/result.d.ts | 33 PAMapp/local_modules/element-ui/packages/message/index.js | 2 PAMapp/local_modules/element-ui/lib/popover.js | 616 PAMapp/local_modules/element-ui/lib/drawer.js | 591 PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-item.js | 30 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/src/header.scss | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/alert.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/loading.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/ta.js | 122 PAMapp/local_modules/element-ui/packages/popover/src/directive.js | 20 PAMapp/local_modules/element-ui/packages/color-picker/src/components/picker-dropdown.vue | 121 PAMapp/local_modules/element-ui/types/index.d.ts | 4 PAMapp/local_modules/element-ui/lib/umd/locale/en.js | 142 PAMapp/local_modules/element-ui/packages/tabs/src/tab-bar.vue | 57 PAMapp/local_modules/element-ui/packages/checkbox-button/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/calendar.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/mn.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf | 0 PAMapp/local_modules/element-ui/types/infinite-scroll.d.ts | 6 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item.scss | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/src/slider.scss | 250 PAMapp/local_modules/element-ui/lib/locale/lang/tk.js | 126 PAMapp/local_modules/element-ui/CHANGELOG.zh-CN.md | 2065 PAMapp/local_modules/element-ui/packages/color-picker/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/submenu.scss | 0 PAMapp/local_modules/element-ui/lib/pagination.js | 946 PAMapp/local_modules/element-ui/lib/umd/locale/da.js | 141 PAMapp/local_modules/element-ui/packages/color-picker/src/components/alpha-slider.vue | 132 PAMapp/local_modules/element-ui/packages/divider/index.js | 8 PAMapp/local_modules/element-ui/src/locale/lang/is.js | 124 PAMapp/local_modules/element-ui/lib/result.js | 593 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form-item.css | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/mn.js | 126 PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-menu.vue | 138 PAMapp/local_modules/element-ui/packages/menu-item-group/index.js | 8 PAMapp/local_modules/element-ui/lib/utils/dom.js | 234 PAMapp/local_modules/element-ui/packages/page-header/src/main.vue | 30 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dialog.css | 1 PAMapp/local_modules/element-ui/packages/form/index.js | 8 PAMapp/local_modules/element-ui/packages/tabs/src/tab-nav.vue | 294 PAMapp/local_modules/element-ui/packages/upload/src/index.vue | 338 PAMapp/local_modules/element-ui/lib/locale/lang/eo.js | 126 PAMapp/local_modules/element-ui/lib/theme-chalk/radio-group.css | 1 PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-row.js | 116 PAMapp/local_modules/element-ui/packages/theme-chalk/src/infinite-scroll.scss | 0 PAMapp/local_modules/element-ui/lib/theme-chalk/option-group.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/si.js | 126 PAMapp/local_modules/element-ui/lib/aside.js | 276 PAMapp/local_modules/element-ui/lib/theme-chalk/time-picker.css | 1 PAMapp/local_modules/element-ui/packages/skeleton/index.js | 8 PAMapp/local_modules/element-ui/lib/infinite-scroll.js | 300 PAMapp/local_modules/element-ui/packages/message-box/src/main.vue | 332 PAMapp/local_modules/element-ui/packages/spinner/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/table.scss | 564 PAMapp/local_modules/element-ui/packages/switch/index.js | 9 PAMapp/local_modules/element-ui/packages/skeleton-item/index.js | 8 PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-select.js | 21 PAMapp/local_modules/element-ui/packages/menu-item/index.js | 8 PAMapp/local_modules/element-ui/packages/empty/index.js | 7 PAMapp/local_modules/element-ui/lib/umd/locale/sl.js | 142 PAMapp/local_modules/element-ui/packages/radio/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/spinner.css | 1 PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-panel.vue | 391 PAMapp/local_modules/element-ui/packages/radio-group/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/upload.css | 1 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-range.vue | 248 PAMapp/local_modules/element-ui/lib/utils/resize-event.js | 59 PAMapp/local_modules/element-ui/packages/radio/src/radio-button.vue | 115 PAMapp/local_modules/element-ui/types/col.d.ts | 46 PAMapp/local_modules/element-ui/packages/form/src/label-wrap.vue | 78 PAMapp/local_modules/element-ui/lib/theme-chalk/select-dropdown.css | 1 PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown.vue | 293 PAMapp/local_modules/element-ui/src/locale/lang/lv.js | 123 PAMapp/local_modules/element-ui/packages/result/index.js | 8 PAMapp/local_modules/element-ui/packages/form/src/form-item.vue | 324 PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-item.scss | 0 PAMapp/local_modules/element-ui/packages/transfer/src/transfer-panel.vue | 251 PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton-item.scss | 84 PAMapp/local_modules/element-ui/packages/link/src/main.vue | 53 PAMapp/local_modules/element-ui/lib/theme-chalk/form.css | 1 PAMapp/local_modules/element-ui/types/divider.d.ts | 12 PAMapp/local_modules/element-ui/packages/cascader-panel/src/store.js | 58 PAMapp/local_modules/element-ui/packages/date-picker/src/basic/month-table.vue | 269 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/steps.css | 1 PAMapp/local_modules/element-ui/packages/empty/src/index.vue | 50 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-picker.scss | 97 PAMapp/local_modules/element-ui/packages/cascader/src/cascader.vue | 663 PAMapp/local_modules/element-ui/lib/umd/locale/hr.js | 142 PAMapp/local_modules/element-ui/types/collapse.d.ts | 10 PAMapp/local_modules/element-ui/src/locale/lang/zh-TW.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/steps.scss | 20 PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown.scss | 182 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-select.vue | 178 PAMapp/local_modules/element-ui/src/locale/lang/sk.js | 125 PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item-group.css | 0 PAMapp/local_modules/element-ui/packages/submenu/index.js | 8 PAMapp/local_modules/element-ui/packages/steps/src/steps.vue | 68 PAMapp/local_modules/element-ui/lib/umd/locale/ar.js | 141 PAMapp/local_modules/element-ui/src/utils/aria-utils.js | 122 PAMapp/local_modules/element-ui/packages/time-select/index.js | 8 PAMapp/local_modules/element-ui/lib/umd/locale/nb-NO.js | 141 PAMapp/local_modules/element-ui/packages/col/src/col.js | 71 PAMapp/local_modules/element-ui/lib/link.js | 329 PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb.scss | 55 PAMapp/local_modules/element-ui/packages/tree/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/statistic.css | 1 PAMapp/local_modules/element-ui/packages/color-picker/src/main.vue | 188 PAMapp/local_modules/element-ui/lib/umd/locale/ta.js | 141 PAMapp/local_modules/element-ui/lib/locale/lang/pt-br.js | 126 PAMapp/local_modules/element-ui/packages/table/src/dropdown.js | 28 PAMapp/local_modules/element-ui/lib/time-picker.js | 2975 PAMapp/local_modules/element-ui/packages/theme-chalk/src/popover.scss | 40 PAMapp/local_modules/element-ui/lib/theme-chalk/date-picker.css | 1 PAMapp/local_modules/element-ui/src/utils/popup/index.js | 218 PAMapp/local_modules/element-ui/lib/theme-chalk/time-select.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button-group.css | 0 PAMapp/local_modules/element-ui/packages/table/src/table-body.js | 460 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-spinner.scss | 110 PAMapp/local_modules/element-ui/lib/menu-item-group.js | 307 PAMapp/local_modules/element-ui/packages/theme-chalk/src/message.scss | 120 PAMapp/local_modules/element-ui/src/locale/lang/da.js | 122 PAMapp/local_modules/element-ui/lib/loading.js | 630 PAMapp/local_modules/element-ui/lib/tag.js | 303 PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-group.css | 0 PAMapp/local_modules/element-ui/packages/form-item/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infiniteScroll.css | 0 PAMapp/local_modules/element-ui/lib/option.js | 474 PAMapp/local_modules/element-ui/lib/divider.js | 312 PAMapp/local_modules/element-ui/lib/tree.js | 2265 PAMapp/local_modules/element-ui/packages/main/src/main.vue | 12 PAMapp/local_modules/element-ui/packages/color-picker/src/components/hue-slider.vue | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline.scss | 14 PAMapp/local_modules/element-ui/src/locale/lang/tr-TR.js | 123 PAMapp/local_modules/element-ui/lib/umd/locale/it.js | 141 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton.css | 1 PAMapp/local_modules/element-ui/lib/descriptions.js | 456 PAMapp/local_modules/element-ui/packages/footer/index.js | 8 PAMapp/local_modules/element-ui/types/tab-pane.d.ts | 19 PAMapp/local_modules/element-ui/lib/theme-chalk/tab-pane.css | 0 PAMapp/local_modules/element-ui/lib/umd/locale/af-ZA.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/drawer.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions.scss | 111 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline-item.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-range-picker.scss | 101 PAMapp/local_modules/element-ui/lib/timeline-item.js | 370 PAMapp/local_modules/element-ui/lib/umd/locale/zh-CN.js | 142 PAMapp/local_modules/element-ui/types/button-group.d.ts | 4 PAMapp/local_modules/element-ui/lib/locale/lang/bn.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/pt.js | 123 PAMapp/local_modules/element-ui/lib/locale/lang/sr.js | 126 PAMapp/local_modules/element-ui/packages/menu/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/result.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/tooltip.scss | 141 PAMapp/local_modules/element-ui/packages/icon/src/icon.vue | 13 PAMapp/local_modules/element-ui/types/time-picker.d.ts | 63 PAMapp/local_modules/element-ui/types/footer.d.ts | 7 PAMapp/local_modules/element-ui/packages/table/src/store/index.js | 147 PAMapp/local_modules/element-ui/lib/locale/lang/nl.js | 126 PAMapp/local_modules/element-ui/packages/upload/src/ajax.js | 85 PAMapp/local_modules/element-ui/packages/theme-chalk/src/option.scss | 36 PAMapp/local_modules/element-ui/lib/utils/scroll-into-view.js | 38 PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton.scss | 40 PAMapp/local_modules/element-ui/packages/upload/src/upload-list.vue | 105 PAMapp/local_modules/element-ui/packages/image/index.js | 8 PAMapp/local_modules/element-ui/lib/umd/locale/bg.js | 142 PAMapp/local_modules/element-ui/src/locale/lang/he.js | 123 PAMapp/local_modules/element-ui/types/tabs.d.ts | 31 PAMapp/local_modules/element-ui/types/component.d.ts | 13 PAMapp/local_modules/element-ui/lib/utils/types.js | 52 PAMapp/local_modules/element-ui/lib/element-ui.common.js | 43871 +++++++++++ PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu.scss | 289 PAMapp/local_modules/element-ui/lib/theme-chalk/table-column.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/ug-CN.js | 142 PAMapp/local_modules/element-ui/src/locale/lang/el.js | 123 PAMapp/local_modules/element-ui/lib/locale/lang/hy-AM.js | 126 PAMapp/local_modules/element-ui/packages/page-header/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions-item.css | 1 PAMapp/local_modules/element-ui/package.json | 179 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/ms.js | 125 PAMapp/local_modules/element-ui/lib/breadcrumb.js | 292 PAMapp/local_modules/element-ui/packages/message/src/main.js | 91 PAMapp/local_modules/element-ui/packages/carousel-item/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/rate.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/transition.scss | 99 PAMapp/local_modules/element-ui/packages/message-box/index.js | 2 PAMapp/local_modules/element-ui/src/locale/lang/lt.js | 123 PAMapp/local_modules/element-ui/packages/slider/src/button.vue | 238 PAMapp/local_modules/element-ui/types/submenu.d.ts | 22 PAMapp/local_modules/element-ui/packages/card/src/main.vue | 23 PAMapp/local_modules/element-ui/packages/select/src/select-dropdown.vue | 74 PAMapp/local_modules/element-ui/packages/tree/src/model/node.js | 484 PAMapp/local_modules/element-ui/packages/scrollbar/src/main.js | 130 PAMapp/local_modules/element-ui/lib/breadcrumb-item.js | 321 PAMapp/local_modules/element-ui/packages/theme-chalk/src/image.scss | 179 PAMapp/local_modules/element-ui/packages/result/src/index.vue | 65 PAMapp/local_modules/element-ui/lib/theme-chalk/step.css | 1 PAMapp/local_modules/element-ui/lib/transitions/collapse-transition.js | 91 PAMapp/local_modules/element-ui/packages/theme-chalk/src/spinner.scss | 44 PAMapp/local_modules/element-ui/lib/checkbox-group.js | 312 PAMapp/local_modules/element-ui/packages/date-picker/src/basic/year-table.vue | 111 PAMapp/local_modules/element-ui/types/progress.d.ts | 37 PAMapp/local_modules/element-ui/packages/theme-chalk/src/alert.scss | 147 PAMapp/local_modules/element-ui/lib/locale/lang/fi.js | 126 PAMapp/local_modules/element-ui/lib/utils/vue-popper.js | 202 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/timeline.css | 1 PAMapp/local_modules/element-ui/lib/timeline.js | 274 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time.vue | 186 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/main.css | 1 PAMapp/local_modules/element-ui/packages/upload/index.js | 8 PAMapp/local_modules/element-ui/lib/umd/locale/zh-TW.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tooltip.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/km.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/src/badge.scss | 57 PAMapp/local_modules/element-ui/packages/link/index.js | 8 PAMapp/local_modules/element-ui/lib/scrollbar.js | 422 PAMapp/local_modules/element-ui/lib/theme-chalk/button.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/form-item.css | 0 PAMapp/local_modules/element-ui/lib/dropdown-item.js | 315 PAMapp/local_modules/element-ui/lib/input.js | 997 PAMapp/local_modules/element-ui/lib/theme-chalk/tree.css | 1 PAMapp/local_modules/element-ui/packages/cascader/index.js | 8 PAMapp/local_modules/element-ui/types/checkbox.d.ts | 34 PAMapp/local_modules/element-ui/packages/alert/src/main.vue | 94 PAMapp/local_modules/element-ui/lib/locale/lang/kz.js | 126 PAMapp/local_modules/element-ui/lib/col.js | 176 PAMapp/local_modules/element-ui/packages/carousel/src/main.vue | 315 PAMapp/local_modules/element-ui/packages/calendar/src/date-table.vue | 200 PAMapp/local_modules/element-ui/src/locale/lang/eu.js | 123 PAMapp/local_modules/element-ui/src/locale/lang/af-ZA.js | 123 PAMapp/local_modules/element-ui/packages/table/src/table-row.js | 101 PAMapp/local_modules/element-ui/lib/theme-chalk/timeline-item.css | 1 PAMapp/local_modules/element-ui/types/header.d.ts | 7 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tabs.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/uz-UZ.js | 142 PAMapp/local_modules/element-ui/lib/utils/popper.js | 1261 PAMapp/local_modules/element-ui/types/row.d.ts | 25 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-table.scss | 151 PAMapp/local_modules/element-ui/lib/theme-chalk/footer.css | 1 PAMapp/local_modules/element-ui/types/checkbox-group.d.ts | 22 PAMapp/local_modules/element-ui/packages/tabs/src/tab-pane.vue | 56 PAMapp/local_modules/element-ui/src/locale/lang/fa.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/link.scss | 81 PAMapp/local_modules/element-ui/lib/theme-chalk/avatar.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/kg.js | 123 PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-menu.vue | 63 PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/_button.scss | 81 PAMapp/local_modules/element-ui/packages/table/src/layout-observer.js | 68 PAMapp/local_modules/element-ui/types/dropdown-menu.d.ts | 4 PAMapp/local_modules/element-ui/packages/theme-chalk/src/loading.scss | 96 PAMapp/local_modules/element-ui/packages/theme-chalk/src/display.scss | 12 PAMapp/local_modules/element-ui/packages/timeline/src/item.vue | 73 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/badge.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/es.js | 122 PAMapp/local_modules/element-ui/packages/theme-chalk/src/result.scss | 61 PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-node.vue | 246 PAMapp/local_modules/element-ui/packages/empty/src/img-empty.vue | 132 PAMapp/local_modules/element-ui/types/option.d.ts | 13 PAMapp/local_modules/element-ui/lib/theme-chalk/color-picker.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/table-column.scss | 97 PAMapp/local_modules/element-ui/lib/locale/lang/bg.js | 126 PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-group.vue | 48 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker.scss | 197 PAMapp/local_modules/element-ui/lib/theme-chalk/table.css | 1 PAMapp/local_modules/element-ui/packages/avatar/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/base.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/vi.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/upload.scss | 603 PAMapp/local_modules/element-ui/packages/table/src/store/helper.js | 41 PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline-item.scss | 86 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message-box.css | 1 PAMapp/local_modules/element-ui/lib/button-group.js | 261 PAMapp/local_modules/element-ui/packages/date-picker/src/basic/date-table.vue | 441 PAMapp/local_modules/element-ui/lib/umd/locale/kz.js | 142 PAMapp/local_modules/element-ui/packages/select/src/option.vue | 168 PAMapp/local_modules/element-ui/packages/table/src/store/current.js | 76 PAMapp/local_modules/element-ui/lib/locale/lang/sv-SE.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-picker.scss | 85 PAMapp/local_modules/element-ui/packages/popover/src/main.vue | 237 PAMapp/local_modules/element-ui/packages/rate/src/main.vue | 348 PAMapp/local_modules/element-ui/lib/locale/lang/id.js | 126 PAMapp/local_modules/element-ui/packages/scrollbar/src/bar.js | 92 PAMapp/local_modules/element-ui/packages/radio-button/index.js | 8 PAMapp/local_modules/element-ui/lib/collapse.js | 328 PAMapp/local_modules/element-ui/lib/button.js | 356 PAMapp/local_modules/element-ui/src/utils/clickoutside.js | 76 PAMapp/local_modules/element-ui/lib/descriptions-item.js | 139 PAMapp/local_modules/element-ui/lib/umd/locale/ko.js | 142 PAMapp/local_modules/element-ui/lib/utils/aria-dialog.js | 104 PAMapp/local_modules/element-ui/packages/theme-chalk/src/rate.scss | 49 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/tr-TR.js | 142 PAMapp/local_modules/element-ui/lib/umd/locale/fi.js | 142 PAMapp/local_modules/element-ui/lib/theme-chalk/popconfirm.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/select.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/az.js | 126 PAMapp/local_modules/element-ui/lib/locale/lang/pl.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/option-group.scss | 42 PAMapp/local_modules/element-ui/types/carousel-item.d.ts | 10 PAMapp/local_modules/element-ui/packages/loading/src/loading.vue | 41 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown.css | 1 PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete-suggestions.vue | 76 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse.css | 1 PAMapp/local_modules/element-ui/types/menu.d.ts | 46 PAMapp/local_modules/element-ui/lib/slider.js | 1201 PAMapp/local_modules/element-ui/src/locale/lang/ms.js | 122 PAMapp/local_modules/element-ui/LICENSE | 21 PAMapp/local_modules/element-ui/lib/umd/locale/th.js | 142 PAMapp/local_modules/element-ui/lib/locale/lang/zh-CN.js | 126 PAMapp/local_modules/element-ui/src/locale/lang/de.js | 124 PAMapp/local_modules/element-ui/packages/theme-chalk/src/transfer.scss | 227 PAMapp/local_modules/element-ui/lib/theme-chalk/calendar.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/pl.js | 123 PAMapp/local_modules/element-ui/packages/tree/src/model/util.js | 27 PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb-item.css | 0 PAMapp/local_modules/element-ui/src/utils/menu/aria-menuitem.js | 49 PAMapp/local_modules/element-ui/types/calendar.d.ts | 15 PAMapp/local_modules/element-ui/lib/footer.js | 276 PAMapp/local_modules/element-ui/lib/autocomplete.js | 952 PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-picker.js | 39 PAMapp/local_modules/element-ui/lib/locale/lang/ee.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/progress.scss | 141 PAMapp/local_modules/element-ui/src/locale/lang/fi.js | 123 PAMapp/local_modules/element-ui/lib/utils/shared.js | 12 PAMapp/local_modules/element-ui/packages/table/src/config.js | 124 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-button.css | 0 PAMapp/local_modules/element-ui/src/locale/lang/kz.js | 123 PAMapp/local_modules/element-ui/lib/theme-chalk/reset.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/icon.scss | 1167 PAMapp/local_modules/element-ui/types/checkbox-button.d.ts | 22 PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-button.vue | 199 PAMapp/local_modules/element-ui/src/utils/popup/popup-manager.js | 194 PAMapp/local_modules/element-ui/lib/theme-chalk/radio-button.css | 1 PAMapp/local_modules/element-ui/lib/checkbox.js | 626 PAMapp/local_modules/element-ui/lib/locale/lang/ca.js | 125 PAMapp/local_modules/element-ui/lib/theme-chalk/header.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/km.js | 126 PAMapp/local_modules/element-ui/lib/umd/locale/hy-AM.js | 142 PAMapp/local_modules/element-ui/types/input-number.d.ts | 47 PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/var.scss | 1028 PAMapp/local_modules/element-ui/lib/theme-chalk/input.css | 1 PAMapp/local_modules/element-ui/types/step.d.ts | 34 PAMapp/local_modules/element-ui/lib/dropdown.js | 642 PAMapp/local_modules/element-ui/src/locale/format.js | 46 PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf | 0 PAMapp/local_modules/element-ui/lib/mixins/emitter.js | 36 PAMapp/local_modules/element-ui/types/message-box.d.ts | 176 PAMapp/local_modules/element-ui/src/locale/lang/ko.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker.scss | 12 PAMapp/local_modules/element-ui/lib/theme-chalk/progress.css | 1 PAMapp/local_modules/element-ui/packages/table/src/util.js | 255 PAMapp/local_modules/element-ui/lib/locale/lang/fr.js | 125 PAMapp/local_modules/element-ui/src/directives/mousewheel.js | 18 PAMapp/local_modules/element-ui/lib/theme-chalk/message.css | 1 PAMapp/local_modules/element-ui/packages/cascader-panel/index.js | 8 PAMapp/local_modules/element-ui/packages/collapse/src/collapse.vue | 73 PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader.scss | 182 PAMapp/local_modules/element-ui/packages/backtop/index.js | 8 PAMapp/local_modules/element-ui/packages/time-picker/index.js | 8 PAMapp/local_modules/element-ui/types/slider.d.ts | 68 PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb-item.vue | 41 PAMapp/local_modules/element-ui/packages/theme-chalk/src/message-box.scss | 226 PAMapp/local_modules/element-ui/types/date-picker.d.ts | 124 PAMapp/local_modules/element-ui/lib/mixins/focus.js | 15 PAMapp/local_modules/element-ui/packages/result/src/icon-success.vue | 13 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/month-table.scss | 82 PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio.scss | 199 PAMapp/local_modules/element-ui/types/container.d.ts | 7 PAMapp/local_modules/element-ui/lib/locale/lang/ko.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/notification.css | 1 PAMapp/local_modules/element-ui/web-types.json | 4195 + PAMapp/local_modules/element-ui/packages/notification/src/main.js | 94 PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff | 0 PAMapp/local_modules/element-ui/src/locale/lang/fr.js | 122 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input-number.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/da.js | 125 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/col.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/pagination.css | 1 PAMapp/local_modules/element-ui/packages/table/src/store/expand.js | 65 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/header.css | 1 PAMapp/local_modules/element-ui/lib/utils/menu/aria-submenu.js | 69 PAMapp/local_modules/element-ui/packages/header/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/transfer.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table-column.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/select-dropdown.scss | 62 PAMapp/local_modules/element-ui/packages/menu/src/menu-item-group.vue | 45 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse-item.css | 0 PAMapp/local_modules/element-ui/packages/table/src/store/tree.js | 209 PAMapp/local_modules/element-ui/packages/image/src/image-viewer.vue | 331 PAMapp/local_modules/element-ui/lib/message.js | 547 PAMapp/local_modules/element-ui/lib/utils/date.js | 369 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/submenu.css | 0 PAMapp/local_modules/element-ui/packages/loading/src/directive.js | 133 PAMapp/local_modules/element-ui/src/locale/lang/bn.js | 126 PAMapp/local_modules/element-ui/types/timeline.d.ts | 6 PAMapp/local_modules/element-ui/lib/utils/merge.js | 21 PAMapp/local_modules/element-ui/lib/theme-chalk/tabs.css | 1 PAMapp/local_modules/element-ui/packages/breadcrumb-item/index.js | 8 PAMapp/local_modules/element-ui/lib/umd/locale/ro.js | 142 PAMapp/local_modules/element-ui/types/autocomplete.d.ts | 78 PAMapp/local_modules/element-ui/lib/utils/after-leave.js | 35 PAMapp/local_modules/element-ui/lib/alert.js | 419 PAMapp/local_modules/element-ui/packages/theme-chalk/src/popper.scss | 101 PAMapp/local_modules/element-ui/packages/theme-chalk/src/row.scss | 43 PAMapp/local_modules/element-ui/src/utils/util.js | 245 PAMapp/local_modules/element-ui/src/locale/lang/sr.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form.css | 1 PAMapp/local_modules/element-ui/lib/select.js | 2172 PAMapp/local_modules/element-ui/lib/umd/locale/kg.js | 142 PAMapp/local_modules/element-ui/src/locale/lang/nl.js | 123 PAMapp/local_modules/element-ui/CHANGELOG.en-US.md | 2065 PAMapp/local_modules/element-ui/packages/theme-chalk/src/select.scss | 152 PAMapp/local_modules/element-ui/types/pagination.d.ts | 43 PAMapp/local_modules/element-ui/lib/umd/locale/pt-br.js | 142 PAMapp/local_modules/element-ui/lib/utils/aria-utils.js | 126 PAMapp/local_modules/element-ui/packages/statistic/src/main.vue | 207 PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-group.scss | 9 PAMapp/local_modules/element-ui/lib/theme-chalk/cascader.css | 1 PAMapp/local_modules/element-ui/types/notification.d.ts | 84 PAMapp/local_modules/element-ui/types/aside.d.ts | 7 PAMapp/local_modules/element-ui/lib/theme-chalk/main.css | 1 PAMapp/local_modules/element-ui/types/avatar.d.ts | 20 PAMapp/local_modules/element-ui/packages/table/src/table-footer.js | 153 PAMapp/local_modules/element-ui/packages/pagination/src/pager.vue | 163 PAMapp/local_modules/element-ui/lib/umd/locale/lt.js | 142 PAMapp/local_modules/element-ui/packages/popconfirm/src/main.vue | 104 PAMapp/local_modules/element-ui/src/utils/after-leave.js | 27 PAMapp/local_modules/element-ui/lib/utils/scrollbar-width.js | 39 PAMapp/local_modules/element-ui/lib/form-item.js | 828 PAMapp/local_modules/element-ui/lib/theme-chalk/message-box.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/ua.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/src/switch.scss | 116 PAMapp/package.json | 2 PAMapp/local_modules/element-ui/lib/theme-chalk/collapse-item.css | 0 PAMapp/local_modules/element-ui/lib/locale/lang/ru-RU.js | 126 PAMapp/local_modules/element-ui/lib/tooltip.js | 424 PAMapp/local_modules/element-ui/lib/umd/locale/eo.js | 142 PAMapp/local_modules/element-ui/lib/popconfirm.js | 456 PAMapp/local_modules/element-ui/lib/theme-chalk/loading.css | 1 PAMapp/local_modules/element-ui/packages/row/index.js | 9 PAMapp/local_modules/element-ui/lib/locale/index.js | 63 PAMapp/local_modules/element-ui/types/menu-item-group.d.ts | 7 PAMapp/local_modules/element-ui/lib/locale/lang/sl.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/pagination.scss | 295 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/empty.css | 1 PAMapp/local_modules/element-ui/src/mixins/locale.js | 9 PAMapp/local_modules/element-ui/types/form.d.ts | 82 PAMapp/local_modules/element-ui/src/locale/lang/ca.js | 122 PAMapp/local_modules/element-ui/src/locale/lang/si.js | 123 PAMapp/local_modules/element-ui/src/locale/lang/km.js | 123 PAMapp/local_modules/element-ui/lib/image.js | 1141 PAMapp/local_modules/element-ui/packages/message/src/main.vue | 117 PAMapp/local_modules/element-ui/packages/input-number/src/input-number.vue | 283 PAMapp/local_modules/element-ui/packages/date-picker/src/basic/time-spinner.vue | 304 PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox.vue | 222 PAMapp/local_modules/element-ui/packages/loading/index.js | 11 PAMapp/local_modules/element-ui/packages/tree/src/model/tree-store.js | 340 PAMapp/local_modules/element-ui/lib/locale/lang/de.js | 127 PAMapp/local_modules/element-ui/packages/skeleton/src/img-placeholder.vue | 16 PAMapp/local_modules/element-ui/packages/steps/src/step.vue | 184 PAMapp/local_modules/element-ui/src/locale/lang/ee.js | 123 PAMapp/local_modules/element-ui/types/radio-button.d.ts | 16 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox.css | 1 PAMapp/local_modules/element-ui/packages/avatar/src/main.vue | 107 PAMapp/local_modules/element-ui/lib/locale/lang/ug-CN.js | 126 PAMapp/local_modules/element-ui/src/locale/lang/cs-CZ.js | 125 PAMapp/local_modules/element-ui/src/utils/scroll-into-view.js | 27 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tag.css | 1 PAMapp/local_modules/element-ui/types/badge.d.ts | 16 PAMapp/local_modules/element-ui/lib/theme-chalk/drawer.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse-item.scss | 0 PAMapp/local_modules/element-ui/lib/menu.js | 864 PAMapp/local_modules/element-ui/types/carousel.d.ts | 57 PAMapp/local_modules/element-ui/lib/dialog.js | 597 PAMapp/local_modules/element-ui/types/empty.d.ts | 31 PAMapp/local_modules/element-ui/packages/table/index.js | 8 PAMapp/local_modules/element-ui/lib/locale/lang/lv.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader-panel.scss | 120 PAMapp/local_modules/element-ui/lib/card.js | 296 PAMapp/local_modules/element-ui/types/dialog.d.ts | 62 PAMapp/local_modules/element-ui/lib/locale/lang/ta.js | 125 PAMapp/local_modules/element-ui/packages/upload/src/upload-dragger.vue | 70 PAMapp/local_modules/element-ui/lib/theme-chalk/display.css | 1 PAMapp/local_modules/element-ui/README.md | 146 PAMapp/local_modules/element-ui/lib/message-box.js | 1191 PAMapp/local_modules/element-ui/packages/dialog/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/infiniteScroll.scss | 0 PAMapp/local_modules/element-ui/src/locale/lang/hr.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popper.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/en.js | 126 PAMapp/local_modules/element-ui/packages/alert/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/form.scss | 167 PAMapp/local_modules/element-ui/packages/statistic/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/aside.css | 1 PAMapp/local_modules/element-ui/packages/spinner/src/spinner.vue | 27 PAMapp/local_modules/element-ui/lib/utils/date-util.js | 310 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/slider.css | 1 PAMapp/local_modules/element-ui/packages/notification/src/main.vue | 152 PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-item.css | 0 PAMapp/local_modules/element-ui/packages/input-number/index.js | 8 PAMapp/local_modules/element-ui/src/locale/lang/zh-CN.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popover.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/ru-RU.js | 123 PAMapp/local_modules/element-ui/lib/locale/lang/hr.js | 126 PAMapp/local_modules/element-ui/packages/input/index.js | 8 PAMapp/local_modules/element-ui/CHANGELOG.es.md | 2073 PAMapp/local_modules/element-ui/packages/theme-chalk/src/empty.scss | 45 PAMapp/local_modules/element-ui/lib/avatar.js | 362 PAMapp/local_modules/element-ui/lib/color-picker.js | 1957 PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox.scss | 359 PAMapp/local_modules/element-ui/packages/collapse/src/collapse-item.vue | 114 PAMapp/local_modules/element-ui/src/locale/lang/ug-CN.js | 123 PAMapp/local_modules/element-ui/lib/mixins/locale.js | 17 PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item-group.scss | 0 PAMapp/local_modules/element-ui/lib/theme-chalk/popover.css | 1 PAMapp/local_modules/element-ui/lib/utils/clickoutside.js | 79 PAMapp/local_modules/element-ui/lib/locale/lang/cs-CZ.js | 128 PAMapp/local_modules/element-ui/lib/tabs.js | 925 PAMapp/local_modules/element-ui/src/locale/lang/it.js | 122 PAMapp/local_modules/element-ui/packages/theme-chalk/src/reset.scss | 79 PAMapp/local_modules/element-ui/packages/divider/src/main.vue | 37 PAMapp/local_modules/element-ui/src/locale/lang/en.js | 123 PAMapp/local_modules/element-ui/lib/radio-button.js | 462 PAMapp/local_modules/element-ui/lib/umd/locale/cs-CZ.js | 144 PAMapp/local_modules/element-ui/lib/mixins/migrating.js | 69 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/container.scss | 14 PAMapp/local_modules/element-ui/lib/umd/locale/lv.js | 142 PAMapp/local_modules/element-ui/packages/progress/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infinite-scroll.css | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline.css | 1 PAMapp/local_modules/element-ui/packages/popconfirm/index.js | 8 PAMapp/local_modules/element-ui/packages/calendar/src/main.vue | 280 PAMapp/local_modules/element-ui/types/element-ui.d.ts | 382 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/statistic.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss | 31 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/divider.css | 1 PAMapp/local_modules/element-ui/lib/calendar.js | 935 PAMapp/local_modules/element-ui/packages/form/src/form.vue | 182 PAMapp/local_modules/element-ui/src/index.js | 309 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item-group.css | 0 PAMapp/local_modules/element-ui/lib/locale/lang/it.js | 125 PAMapp/local_modules/element-ui/lib/theme-chalk/badge.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/reset.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/col.scss | 156 PAMapp/local_modules/element-ui/lib/locale/format.js | 56 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/page-header.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/slider.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/tk.js | 123 PAMapp/local_modules/element-ui/types/color-picker.d.ts | 21 PAMapp/local_modules/element-ui/packages/date-picker/src/picker.vue | 956 PAMapp/local_modules/element-ui/packages/radio/src/radio-group.vue | 113 PAMapp/local_modules/element-ui/src/utils/date-util.js | 282 PAMapp/local_modules/element-ui/packages/aside/src/main.vue | 20 PAMapp/local_modules/element-ui/packages/theme-chalk/src/divider.scss | 47 PAMapp/local_modules/element-ui/lib/theme-chalk/upload.css | 1 PAMapp/local_modules/element-ui/types/skeleton.d.ts | 33 PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.woff | 0 PAMapp/local_modules/element-ui/lib/locale/lang/ua.js | 126 PAMapp/local_modules/element-ui/lib/index.js | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/row.css | 1 PAMapp/local_modules/element-ui/packages/menu/src/menu-item.vue | 112 PAMapp/local_modules/element-ui/packages/dialog/src/component.vue | 212 PAMapp/local_modules/element-ui/types/dropdown-item.d.ts | 16 PAMapp/local_modules/element-ui/lib/theme-chalk/tag.css | 1 PAMapp/local_modules/element-ui/types/tooltip.d.ts | 52 PAMapp/local_modules/element-ui/lib/locale/lang/zh-TW.js | 126 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date-range.vue | 680 PAMapp/local_modules/element-ui/lib/transfer.js | 1104 PAMapp/local_modules/element-ui/lib/umd/locale/ku.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-group.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/eu.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/scrollbar.css | 1 PAMapp/local_modules/element-ui/packages/select/src/navigation-mixin.js | 54 PAMapp/local_modules/element-ui/packages/button/src/button.vue | 78 PAMapp/local_modules/element-ui/packages/infinite-scroll/src/main.js | 150 PAMapp/local_modules/element-ui/packages/table-column/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/drawer.scss | 219 PAMapp/local_modules/element-ui/src/locale/lang/pt-br.js | 123 PAMapp/local_modules/element-ui/lib/umd/locale/mn.js | 142 PAMapp/local_modules/element-ui/src/locale/lang/ku.js | 123 PAMapp/local_modules/element-ui/packages/rate/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/alert.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/lt.js | 126 PAMapp/local_modules/element-ui/packages/menu/src/menu-mixin.js | 44 PAMapp/local_modules/element-ui/types/radio-group.d.ts | 18 PAMapp/local_modules/element-ui/types/loading.d.ts | 62 PAMapp/local_modules/element-ui/lib/umd/locale/is.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/src/base.scss | 2 PAMapp/local_modules/element-ui/lib/locale/lang/fa.js | 126 PAMapp/local_modules/element-ui/packages/notification/index.js | 2 PAMapp/local_modules/element-ui/lib/locale/lang/kg.js | 126 PAMapp/local_modules/element-ui/packages/color-picker/src/color.js | 317 PAMapp/local_modules/element-ui/packages/tree/src/tree.vue | 496 PAMapp/local_modules/element-ui/src/utils/aria-dialog.js | 90 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/backtop.css | 1 PAMapp/local_modules/element-ui/lib/cascader.js | 1436 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/aside.css | 1 PAMapp/local_modules/element-ui/lib/step.js | 521 PAMapp/local_modules/element-ui/lib/theme-chalk/infiniteScroll.css | 0 PAMapp/local_modules/element-ui/packages/badge/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/footer.scss | 8 PAMapp/local_modules/element-ui/src/utils/vdom.js | 5 PAMapp/local_modules/element-ui/lib/locale/lang/tr-TR.js | 126 PAMapp/local_modules/element-ui/lib/theme-chalk/option.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/dialog.css | 1 PAMapp/local_modules/element-ui/packages/slider/index.js | 8 PAMapp/local_modules/element-ui/src/utils/merge.js | 15 PAMapp/local_modules/element-ui/lib/umd/locale/he.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/function.scss | 44 PAMapp/local_modules/element-ui/types/radio.d.ts | 19 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-button.css | 1 PAMapp/local_modules/element-ui/packages/timeline-item/index.js | 8 PAMapp/local_modules/element-ui/src/locale/lang/bg.js | 123 PAMapp/local_modules/element-ui/lib/umd/locale/el.js | 142 PAMapp/local_modules/element-ui/packages/dropdown/index.js | 8 PAMapp/local_modules/element-ui/packages/cascader-panel/src/node.js | 166 PAMapp/local_modules/element-ui/types/drawer.d.ts | 63 PAMapp/local_modules/element-ui/types/skeleton-item.d.ts | 7 PAMapp/local_modules/element-ui/lib/page-header.js | 318 PAMapp/local_modules/element-ui/packages/infinite-scroll/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/submenu.css | 0 PAMapp/local_modules/element-ui/packages/card/index.js | 8 PAMapp/local_modules/element-ui/lib/carousel-item.js | 433 PAMapp/local_modules/element-ui/packages/button-group/index.js | 8 PAMapp/local_modules/element-ui/src/locale/lang/hy-AM.js | 123 PAMapp/local_modules/element-ui/packages/theme-chalk/src/button.scss | 262 PAMapp/local_modules/element-ui/packages/scrollbar/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions.css | 1 PAMapp/local_modules/element-ui/lib/radio-group.js | 390 PAMapp/local_modules/element-ui/packages/message-box/src/main.js | 216 PAMapp/local_modules/element-ui/packages/table/src/table-layout.js | 249 PAMapp/local_modules/element-ui/lib/dropdown-menu.js | 350 PAMapp/local_modules/element-ui/packages/result/src/icon-info.vue | 13 PAMapp/local_modules/element-ui/packages/scrollbar/src/util.js | 34 PAMapp/local_modules/element-ui/lib/icon.js | 264 PAMapp/local_modules/element-ui/lib/theme-chalk/steps.css | 1 PAMapp/local_modules/element-ui/types/alert.d.ts | 31 PAMapp/local_modules/element-ui/lib/container.js | 287 PAMapp/local_modules/element-ui/packages/collapse-item/index.js | 8 PAMapp/local_modules/element-ui/types/message.d.ts | 90 PAMapp/local_modules/element-ui/lib/menu-item.js | 490 PAMapp/local_modules/element-ui/lib/theme-chalk/popper.css | 1 PAMapp/local_modules/element-ui/types/breadcrumb.d.ts | 10 PAMapp/local_modules/element-ui/packages/descriptions/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/result.css | 1 PAMapp/local_modules/element-ui/lib/utils/popup/popup-manager.js | 205 PAMapp/local_modules/element-ui/lib/umd/locale/sk.js | 144 PAMapp/local_modules/element-ui/packages/col/index.js | 9 PAMapp/local_modules/element-ui/packages/theme-chalk/src/tag.scss | 163 PAMapp/local_modules/element-ui/lib/umd/locale/fa.js | 142 PAMapp/local_modules/element-ui/lib/date-picker.js | 6358 + PAMapp/local_modules/element-ui/packages/theme-chalk/src/step.scss | 317 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/container.css | 1 PAMapp/local_modules/element-ui/packages/button/src/button-group.vue | 10 PAMapp/local_modules/element-ui/packages/menu/src/submenu.vue | 349 PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/mixins.scss | 190 PAMapp/local_modules/element-ui/src/locale/lang/sl.js | 123 PAMapp/local_modules/element-ui/lib/utils/popup/index.js | 233 PAMapp/local_modules/element-ui/lib/locale/lang/el.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker-panel.scss | 117 PAMapp/local_modules/element-ui/types/cascader-panel.d.ts | 72 PAMapp/local_modules/element-ui/lib/umd/locale/ru-RU.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/src/statistic.scss | 38 PAMapp/local_modules/element-ui/lib/umd/locale/eu.js | 142 PAMapp/local_modules/element-ui/lib/empty.js | 729 PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-picker.scss | 8 PAMapp/local_modules/element-ui/types/descriptions.d.ts | 52 PAMapp/local_modules/element-ui/lib/locale/lang/he.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/src/button-group.scss | 0 PAMapp/local_modules/element-ui/types/icon.d.ts | 7 PAMapp/local_modules/element-ui/packages/theme-chalk/src/tree.scss | 123 PAMapp/local_modules/element-ui/packages/checkbox-group/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/main.scss | 12 PAMapp/local_modules/element-ui/packages/theme-chalk/src/index.scss | 87 PAMapp/local_modules/element-ui/packages/container/src/main.vue | 33 PAMapp/local_modules/element-ui/packages/collapse/index.js | 9 PAMapp/local_modules/element-ui/src/locale/lang/ar.js | 122 PAMapp/local_modules/element-ui/packages/slider/src/main.vue | 427 PAMapp/local_modules/element-ui/lib/umd/locale/ja.js | 142 PAMapp/local_modules/element-ui/packages/tag/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/infinite-scroll.css | 0 PAMapp/local_modules/element-ui/lib/locale/lang/af-ZA.js | 126 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-item.css | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader-panel.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/link.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/sv-SE.js | 142 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/avatar.css | 1 PAMapp/local_modules/element-ui/lib/steps.js | 341 PAMapp/local_modules/element-ui/packages/dropdown-item/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton-item.css | 1 PAMapp/local_modules/element-ui/packages/container/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/src/tab-pane.scss | 0 PAMapp/local_modules/element-ui/lib/directives/repeat-click.js | 33 PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb.vue | 34 PAMapp/local_modules/element-ui/packages/image/src/main.vue | 249 PAMapp/local_modules/element-ui/src/utils/types.js | 40 PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date.vue | 609 PAMapp/local_modules/element-ui/packages/select/index.js | 8 PAMapp/local_modules/element-ui/packages/dropdown-menu/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/menu.css | 1 PAMapp/local_modules/element-ui/packages/badge/src/main.vue | 53 PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb.css | 1 PAMapp/local_modules/element-ui/lib/locale/lang/ro.js | 126 PAMapp/local_modules/element-ui/lib/locale/lang/th.js | 126 PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-menu.css | 0 PAMapp/local_modules/element-ui/src/utils/scrollbar-width.js | 29 PAMapp/local_modules/element-ui/types/popover.d.ts | 71 PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-menu.scss | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-button.scss | 0 PAMapp/local_modules/element-ui/src/locale/lang/id.js | 123 PAMapp/local_modules/element-ui/types/switch.d.ts | 43 PAMapp/local_modules/element-ui/src/mixins/emitter.js | 33 PAMapp/local_modules/element-ui/types/spinner.d.ts | 16 PAMapp/local_modules/element-ui/packages/date-picker/index.js | 8 PAMapp/local_modules/element-ui/types/rate.d.ts | 64 PAMapp/local_modules/element-ui/lib/theme-chalk/scrollbar.css | 1 PAMapp/local_modules/element-ui/lib/time-select.js | 1767 PAMapp/local_modules/element-ui/types/table-column.d.ts | 117 PAMapp/local_modules/element-ui/src/utils/date.js | 368 PAMapp/local_modules/element-ui/packages/skeleton/src/item.vue | 22 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-picker.css | 1 PAMapp/local_modules/element-ui/lib/skeleton-item.js | 345 PAMapp/local_modules/element-ui/packages/descriptions-item/index.js | 8 PAMapp/local_modules/element-ui/packages/descriptions/src/index.js | 180 PAMapp/local_modules/element-ui/packages/theme-chalk/src/avatar.scss | 51 PAMapp/local_modules/element-ui/packages/progress/src/progress.vue | 235 PAMapp/local_modules/element-ui/packages/color-picker/src/components/predefine.vue | 61 PAMapp/local_modules/element-ui/packages/theme-chalk/src/card.scss | 32 PAMapp/local_modules/element-ui/lib/umd/locale/pt.js | 142 PAMapp/local_modules/element-ui/packages/radio/src/radio.vue | 134 PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/config.scss | 4 PAMapp/local_modules/element-ui/lib/theme-chalk/autocomplete.css | 1 PAMapp/local_modules/element-ui/lib/directives/mousewheel.js | 26 PAMapp/local_modules/element-ui/lib/locale/lang/es.js | 125 PAMapp/local_modules/element-ui/CHANGELOG.fr-FR.md | 2065 PAMapp/local_modules/element-ui/packages/tree/src/tree-node.vue | 279 PAMapp/local_modules/element-ui/types/button.d.ts | 37 PAMapp/local_modules/element-ui/lib/umd/locale/az.js | 141 PAMapp/local_modules/element-ui/lib/collapse-item.js | 496 PAMapp/local_modules/element-ui/packages/theme-chalk/README.md | 33 PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item.css | 0 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/pagination.css | 1 PAMapp/local_modules/element-ui/src/locale/lang/sv-SE.js | 123 PAMapp/local_modules/element-ui/lib/umd/locale/hu.js | 141 PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions-item.scss | 42 PAMapp/local_modules/element-ui/lib/upload.js | 1398 PAMapp/local_modules/element-ui/lib/cascader-panel.js | 1563 PAMapp/local_modules/element-ui/packages/steps/index.js | 8 PAMapp/local_modules/element-ui/lib/theme-chalk/empty.css | 1 PAMapp/local_modules/element-ui/lib/umd/locale/es.js | 141 PAMapp/local_modules/element-ui/src/locale/lang/vi.js | 123 PAMapp/local_modules/element-ui/packages/skeleton/src/index.vue | 76 PAMapp/local_modules/element-ui/packages/popover/index.js | 14 PAMapp/local_modules/element-ui/packages/autocomplete/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/footer.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-select.scss | 37 PAMapp/local_modules/element-ui/lib/checkbox-button.js | 582 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option-group.css | 1 PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete.vue | 285 PAMapp/local_modules/element-ui/lib/theme-chalk/page-header.css | 1 PAMapp/local_modules/element-ui/packages/loading/src/index.js | 106 PAMapp/local_modules/element-ui/src/mixins/focus.js | 9 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel-item.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox.css | 1 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-group.css | 0 PAMapp/local_modules/element-ui/src/utils/menu/aria-submenu.js | 59 PAMapp/local_modules/element-ui/types/image.d.ts | 43 PAMapp/local_modules/element-ui/lib/submenu.js | 700 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio.css | 1 PAMapp/local_modules/element-ui/lib/input-number.js | 751 PAMapp/local_modules/element-ui/lib/table-column.js | 932 PAMapp/local_modules/element-ui/lib/main.js | 263 PAMapp/local_modules/element-ui/lib/table.js | 4975 + PAMapp/local_modules/element-ui/packages/steps/README.md | 69 PAMapp/local_modules/element-ui/packages/result/src/icon-error.vue | 13 PAMapp/local_modules/element-ui/lib/option-group.js | 343 PAMapp/local_modules/element-ui/src/utils/shared.js | 7 PAMapp/local_modules/element-ui/packages/table/src/store/watcher.js | 381 PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/utils.scss | 39 PAMapp/local_modules/element-ui/lib/utils/lodash.js | 17209 ++++ PAMapp/local_modules/element-ui/lib/locale/lang/az.js | 126 PAMapp/local_modules/element-ui/packages/table/src/table.vue | 707 PAMapp/local_modules/element-ui/types/input.d.ts | 107 PAMapp/local_modules/element-ui/packages/drawer/src/main.vue | 205 PAMapp/local_modules/element-ui/packages/slider/src/marker.js | 18 PAMapp/local_modules/element-ui/types/link.d.ts | 25 PAMapp/local_modules/element-ui/packages/tooltip/src/main.js | 242 PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton.css | 1 PAMapp/local_modules/element-ui/src/utils/resize-event.js | 36 PAMapp/local_modules/element-ui/lib/tab-pane.js | 331 PAMapp/local_modules/element-ui/types/dropdown.d.ts | 38 PAMapp/local_modules/element-ui/packages/drawer/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/icon.css | 1 PAMapp/local_modules/element-ui/lib/theme-chalk/carousel.css | 1 PAMapp/local_modules/element-ui/packages/pagination/index.js | 8 PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tab-pane.css | 0 PAMapp/local_modules/element-ui/packages/upload/src/upload.vue | 211 PAMapp/local_modules/element-ui/lib/radio.js | 496 PAMapp/local_modules/element-ui/lib/progress.js | 592 PAMapp/local_modules/element-ui/lib/theme-chalk/card.css | 1 995 files changed, 236,439 insertions(+), 3 deletions(-) diff --git a/PAMapp/local_modules/element-ui/CHANGELOG.en-US.md b/PAMapp/local_modules/element-ui/CHANGELOG.en-US.md new file mode 100644 index 0000000..3b389e5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/CHANGELOG.en-US.md @@ -0,0 +1,2065 @@ +## Changelog + +### 2.15.13 + +*2023-02-12* + +#### Bug fixes +- Docs + - Fix Statistic docs (#22383 by @JUST-Limbo) + - Fix Input docs (#22093 by @lm312) + - Fix en-US docs (#22268 #22269 #22270 by @Hazel-Lin) + - Fix Pagination docs (#22288 by @xujintai123) + - Fix: Links docs (#22370 by @itmier) +- Statistics + - fix slot display bug (#22375 by @webvs2) +- Chore + - missing web-type after publishing (#22271 by @loosheng) +#### Optimization +- InputNumber + - Fix touch one click trigger twice on the window touch pad (#22185 by @mrsai) +- Image + - Add initialIndex prop (#22346 by @inkroom) +- Statistics + - Updated countdown feature to localize lodash Closes (#22260 by @webvs2) + - Update code and doc (#22276 by @webvs2) +- Other + - fix web-types type props (#22281 by @whzxc) + +### 2.15.12 + +*2022-11-16* + +#### Bug fixes +- Statistic嚗� + - Fixed the thousandth bit bug (#22252 by @webvs2) +- Other + - Fix 2.15.11 element-theme-chalk publish fail bug + +### 2.15.11 + +*2022-11-15* + +#### Bug fixes +- Docs + - Fix Radio docs (#22178 by @bchen1029) + - Fix Progress docs +#### Optimization +- I18n + - Update translation of Malaysian (#22185 by @z4q) + - Update translation of Norwegian (#22145 by @Barsnes) +- Progress + - Add defineBackColor and textColor prop (#22089 by @lm312) +- Statistics + - Add new component Statistics (#22159 by @webvs2) +- Other + - Add Web Types to improve code assistance in WebStorm IDE and other JetBrains IDEs (#22135 by @piotrtomiak) + +### 2.15.10 + +*2022-09-13* + +#### Bug fixes + +- DatePicker + - Fix props placement error (#21908 by @lqzhgood) +- Loading + - Fix sticky DOM error (#22087 by @zzjjhh001) +- Docs + - Fix Popover docs (#22083 by @lm312) + - Fix Skeleton docs (#22092 by @lm312) + - Fix DatePicker docs (#21970 by @guojiongwei) +- Tree: + - fix lazy-load default check problem (#21934 by @kiss-yu) + +#### Optimization + +- I18n + - Add translation of Sinhalese (#21936 by @sayuri-gi) + - Update translation of Spanish (#21924 by @jcardus) + - Add translation of Malaysian (#22028 by @iorange0411) + - Update translation of Swahili (#21904 by @Cholowao) +- Utils + - update date-util.js (#22099 by @Due07) +- DatePicker + - add months And years type (#21918 by @akiko123456) + +### 2.15.9 + +*2022-06-02* + +#### Bug fixes + +- Table + - Fix Tabl-header shake bug (#21863 by @bofeng) + - Fix when partial import show `el-checkbox not imported` error (#21828 by @bobohuochai) +- FormItem + - Fix change rules verification not reset bug (#21892 by @bofeng) +- Cascader + - Fix change options unexpect error (#21759 by @louiebb) +- Docs + - Fix Popover docs (#21843 by @lod61) + - Fix Calendar docs (#21814 by @GoJam11) + - Fix TimePicker docs (#21803 by @Alanscut) + - Fix DatePicker docs (#21877 by @Nirvanaiu) +- Other + - Fix codepen display bug (#21863 by @bofeng) + +#### Optimization + +- I18n + - Add translation of Swahili (#21895 by @quilltouch) +- Chore + - Use launch-editor-middleware in dev environment (#21633 by @polemices) +- DatePicker & Cascader + - Optimize the dropdown animation direction (#21806 by @XivLaw) +- Tooltip + - Optimize `getFirstElement` code (#21886 by @zhankang) +- Input + - Optimize scss code (#21558 by @cheese-git) + +### 2.15.8 + +*2022-04-12* + +#### Bug fixes + +- Drawer + - Fix appendToBody failure problem (#21264 by @cs1707) +- Switch + - Fix toggling value problem(#19473 by @EdwinBetanc0urt) +- Docs + - Fix input docs (#21723 by @justforuse) + - Fix DatePicker docs (#21663 by @justforuse) + - Fix Skeleton docs (#21601 by @yanwydxf) +- Others + - Fix vue version (#21736 by @ckvv) + +#### Optimization + +- I18n + - add translation of Azerbaijani (#21012 by @ricardotondello) + - update translation of Slovenian (#21729 by @patik123) + - update translation of Slovak (#21711 by @sjaustirni ) + - add translation of Icelandic (#21709 by @aronhr) + - add translation of Bengali (#21485 by @llwwtt) + +#### Others + +- Due to compatibility considerations, the PR on node-sass (#21019 by @linxsbox) of 2.15.7 release has been withdrawn and will be published in an appropriate version after re-evaluation. + +### 2.15.7 + +*2021-11-18* + +#### Bug fixes + +- Select + - fix click icon triggering dropdown (#21314 by @dennyak47) + - fix keydown event when composition (#21336 by @bchen1029) +- Badge + - fix type class when is-dot (#21308 by @adaex) +- Form + - validate method reject error info (#21374 by @cs1707) +- Table + - fix resizeObserver loop limit exceeded (#21255 by @tomieric) + - fix toggleAllSelection bug when table is empty (#21456 by @cs1707) + - optimize performance (#21330 by @cs1707) +- Button + - fix disabled priority (#21375 by @cs1707) +- Descriptions + - fix label slot bug (#21462 by @cs1707) +- SASS + - replace node-sass with dart-sass (#21019 by @linxsbox) +- Docs + - fix skeleton typos (#21408 by @zhhbstudio) + +### 2.15.6 + +*2021-09-02* + +#### Bug fixes + +- Cascader + - fix a bug that makes the browser jitter in zoom mode (#21207 by @cs1707) + - optimize performance (#21231 by @cs1707) +- Select + - fix long text overflow in multiple mode (#21237 by @cs1707) +- Dropdown + - add disabled property (#21235 by @mshioda) +- Radio + - fix checked state when browser go back (#21250 by @cs1707) +- Descriptions + - fix type declaration (#21265 by @adaex) + - avoid table style conflict (#21254 by @adaex) +- Drawer + - fix append to body (#21264 by @cs1707) +- Local + - fix italian mistake (#21012 by @ricardotondello) + +### 2.15.5 + +*2021-08-04* + +#### Bug fixes + +- Select + - fix resetInputHeight (#21201 by @cs1707) + +### 2.15.4 + +*2021-08-03* + +#### New features + +- Descriptions + - add description component (#21129 by @cs1707) +- Result + - add result component (#21171 by @cs1707) + +#### Bug fixes + +- Utils + - fix isScroll (#21098 by @canvascat) +- Translation + - update it.js (#21133 by @bliberi) +- RadioGroup + - fix RadioGroup used in component causes exception #17908 (#20783 by @lceric) +- Message + - fix message[type] (#21088 by @cs1707) +- Carousel + - reset the timer when setActiveItem method is called (#20846 by @Nekojita1) +- Cascader + - fix emitPath (#21185 by @cs1707) +- Select + - fix select filterable bug (#17494 by @profore) + - fix a bug that makes the browser jitter in zoom mode (#21197 by @cs1707) +- Tree + - fix insertChild (#21194 by @cs1707) + +### 2.15.3 + +*2021-06-29* + +#### New features + +- Skeleton + - add skeleton component (#21038 by @cs1707) +- Empty + - add empty component (#21080 by @cs1707) + +#### Bug fixes + +- Local + - fix week translations for hr locale (#21040 by @cs1707) +- Table + - fix lazy load data (#21041 by @cs1707) +- Docs + - fix form hide-required-asterisk description (#21045 by @cs1707) +- Drawer: + - fix destroy (#20715 by @zj9495) +- Row + - fix align top (#20963 by @cs1707) +- Select + - fix the bug when the value is Boolean (#21052 by @cs1707) +- Calendar + - fix first-day-of-week (#21057 by @cs1707) +- Utils + - fix isScroll (#21065 by @cs1707) + - fix(utils.dom by @fw6) +- TypeScript + - add CascaderPanel export type (#21070 by @qige2016) + - add spinner.d.ts (#21090 by @qige2016) + +### 2.15.2 + +*2021-05-28* + +#### Bug fixes + +- Image + - fix z-index and keydown event add stopPropagation (#20859 by @cs1707) +- Input + - fix show password cursor (#20870 by @cs1707) + - fix show password icon in edge (#20902 by @cs1707) +- Carousel + - fix interval and scale bug (#20931 by @cs1707) +- Cascader + - fix delete tag bug (#20939 by @cs1707) +- Drawer + - add overflow auto (#20948 by @cs1707) +- Others + - fix isFunction (#20912 by @cs1707) + +### 2.15.1 + +*2021-02-23* + +#### Bug fixes + +- Drawer + - bugfix (by @cs1707) +- Image + - fix incorrect image object fit ratio in IE (#19583 by @charlie0228) +- Cascader + - fix cascader panel active path (#20730 by @cs1707) +- Calendar + - fix calendar component i18n bug (#20758 by @iamkun) +- ColorPicker + - fix bugs (by @UxieVerity) + +#### Optimization + +- Doc + - update Axure resource v2.1.0 (by @iamkun) + +### 2.15.0 + +*2021-01-15* + +#### Bug fixes + +- Select + - Fix placeholder i18n bug (#17644 by @nzh63) +- Popconfirm + - Popconfirm i18n bug by @iamkun) +- Drawer + - Fix focus bug (#20626 by @cs1707) +- Image + - Preview optimization (#20652 by @cs1707) + +#### Optimization + +- Doc + - Fix typo in french translation of datetime-picker.md (#20543 by @lonk) + - Add format attribute description to the progress component (#20641 by @cs1707) + +### 2.14.1 + +*2020-11-11* + +#### Bug fixes + +- Popover + - Compatible with Vue 2.6 new v-slot syntax (#20424 by @iamkun) + +#### Optimization + +- I18n + - Update Arabic translation (#20202 by @elkattan) + - Update Uighur translation (#20177 by @IlhamTahir) + +### 2.14.0 + +*2020-10-29* + +#### Breaking changes + +- Popconfirm + - Rename event name to `confirm`, `cancel` (#20240 by @hugiron) + +#### Bug fixes + +- Progress + - Fix attribute error (#19985 by @Caaalabash) + +#### Optimization + +- I18n + - Update Russian translation (#19451 by @yangirov) + - Update Khmer translation (#20077 by @Sovai) + - Update Ukrainian translation (#20344 by @MammutAlex) + +### 2.13.2 + +*2020-05-18* + +#### Bug fixes + +- Autocomplete + - Fix change event bug (#19200 by @sxzz) +- Image + - Update error status (#19194 by @lhx6538665) + +#### Optimization + +- I18n + - Update ru-RU popconfirm translation (#19220 by @Opppex) + - Update vi translation (#19244 by @quangln2810) + - Update Catalan and Spanish translations (#19296 by @Ismaaa) + - Update Indonesia translation (#19320) by @therour) + - Update Brazilian Portuguese translation (#19374 by @diegomengarda) + +### 2.13.1 + +*2020-04-13* + +#### New features +- Autocomplete + - Add change event (#17913 by @sxzz) + +#### Bug fixes + +- Autocomplete + - Fix suggestion error when textarea (#18478 by @Roojay) +- Carousel + - Fix console typo bug (#18264 by @IceFox) +- Image + - Fix preview dose not show when preview list not contain src issue (#18975) (#19130 by @luckyCao) + - Fix shortcut key not work at second time issue (#18983) (#19156 by @luckyCao) + - Don't show image-viewer when preview is false (#18967 by @inooNgt) +- Transfer + - Fix incorrect line-height of el-transfer's first list item when it was used with el-form-item (#18917 by @Hanx) +- InputNumber + - Correctly compute inputNumberDisabled (#18439 by @ashuser-pendo) +- Chore + - Remove index intro (#19155 by @iamkun) +- Doc + - Popconfirm doc update (#18324 by @iamkun) + - Fix step-strictly docs typo (#18705 by @dream2023) + - Fix a type error in document of steps component (#17555 by @haoranyu) + +### 2.13.0 + +*2019-11-26* + +#### New features + +- Popconfirm + - Add popconfirm component (#17548 by @iamkun) + +#### Bug fixes + +- BackTop + - Use cubic bezier scrolling (by @lon) +- DatePicker + - Fix bug of only select min date of date range problem (#17191 by @smk0621) +- Select + - Fix select test cases by (@msidolphin) +- Tree + - Add font-size for the style of tree empty-text (#17094 by @spengjie) +- Table + - Column header can be costumed (#17291 by @ziyoung) + - Update table header cell style (#17284 by @ziyoung) + - Fix table header height after filter (#17348 by @ziyoung) + - Fixed row-style with display not work (#17002 by @a631807682) + - Fix header table not display (#17341 by @ziyoung) +- Calendar + - Import el-button and el-button-group (#17376 by @masongzhi) +- MessageBox + - Fix icon position error (#17410 by @nullptru) +- TimePicker + - Set the selection range after scrolling up or down (#16868 by @mattheyan) +- Message + - Fix close instace offsetHeight嚗�#17564嚗� (#17852 by @gzwgq222) +- Form + - Callback of validateField should be optional (#17314 by @CarterLi) +- Cascader + - Fix TypeScript 3.7 compatibility (#17881 by @CarterLi) +- Menu + - Fix router NavigationDuplicated error when using vue-router@^3.1.0 (#17269 by @iamkun) +- Dropdown + - Update type file (#17550 by @iamkun) +- Progress + - Add strokeLinecap prop (#17552 by @iamkun) +- InfiniteScroll + - Skip trigger event on invisible element (#17553 by @iamkun) +- Image + - Perfect picture preview behavior (#16985 by @luckyCao) + - Fix shield the page when preview big image (#16796 by @luckyCao) +- Drawer + - Bugfix drawer-append-to-body-not-working (#16953 by @JeremyWuuuuu) +- Select + - Fix tag show value or empty issue (17199 by @luckyCao) +- Scrollbar + - Fix FireFox scroll bar width (#18091 by @iamkun) + +#### Optimization + +- I18n + - Update sv-SE.js (#17926 by @FOLLGAD) + - Update avatar component fr doc (#17762 by @blombard) +- Docs + - Fix time-select typo (#17250 by @wacky6) + - Fix Drawer attribute accepted value typo in es (#17122 by @haoranyu) + - Update Spanish changelog 2.12.0 (#17364 by @Gonzalo2310) + - Fix Changelog typo (#17874 by @renlixin) + - Fix Loading demo (#17862 by @MBearo) + - Add input event in input Events Table (#18061 by @zhouxinyong) + - Delete Input repeat change event (#18085 by @zhouxinyong) + +### 2.12.0 + +*2019-08-29* + +#### New features + +- Popover + - Add close-delay prop (#16671 by @LachlanStuart) +- Theme + - Add Chrome Extension: Element Theme Extension (#16686 by @iamkun) +- Icon + - Add font-display to @font-face declaration (#16805 by @iamfaizalandyka) + +#### Bug fixes + +- Carousel + - Fix onChange emit value (#16705 by @iamkun) +- Notification + - Fix modifying incoming option object (#16704 by @iamkun) +- DatePicker + - Add className for picker option (#16632 by @iamkun) +- DateTimePicker + - Fix time-spinner not scroll to right position (#16854 by @jesse-li) +- Table + - Prevent click handler after drag (#16850 by @ziyoung) + - Fix chrome crash when set thead css display to none (#16956 by @luckyCao) + - Fix wrong empty block height (#16861 by @ziyoung) + - Not throw error when calling toggleExpansion (#16304 by @yyjjqq94) + - Not trigger sort-change event when mounted (#17113 by @a631807682) + - Fix setCurrentRow unable to clear highlight row (#16879 by @ziyoung) + - Fix expand-row-keys not work when data is loaded asynchronously (#16899 by @ziyoung) + - set toggleAllSelection as instance property (#17137 by @ziyoung) +- Tree + - Fix distance between label and checkbox (#16799 by @Hazlank) +- Tabs + - Fix incorrect TabItem's position (#16520 by @victorting) + - Fix activated tab is out of visual range bug (#17033 by @nullptru) +- Calendar + - Fix weekdays i18n issue (#16772 by @ubitoffee) + - fix locale error (#17208 by @iamkun) +- Cascader + - Fix CascaderPanel display error (#16716 by @zhangHongEn) + - Fix disable status and close button issue (#16224 by @yyjjqq94) +- Input + - Fix Korean composition event (#15069 by @MoonHyuk) + - Fix click event of clear button not trigger when using v-loading (#16576 by @a631807682) +- Select + - Not toggle dropdown when filtering (#17205 by @luckyCao) +- Transfer + - Fix style error (#17206 by @iamkun) +- Dialog + - update sass var (#16365 by @haoranyu) +- RadioGroup + - Not produce invalid HTML in table if "is" attribute is specify (#17070 by @nullptru) +- Divider + - Support custom classes (#17078 by @island205) + +#### Optimization + +- Checkbox + - Improve screen reader experience (#16575 by @tylertrotter) +- Docs + - Update changelog (#16773 by @SimonaliaChen) + - Update contributing guide (#14800 by @sinchang) + - Fix typo in Drawer docs (#16848 by @winkay) + - Update custom theme (#16983 by @iamkun) + - Add Esperanto translation (#16955 by @maxkoryukov) + - Update input-number document about change event (#16316 by @luckyCao) + - Update spanish doc 2.11.1 (#16961 by @Gonzalo2310) +- I18n + - Remove translation of 'year' in catalan language as in the other languages (#14722 by @oscaralbareda) + - Update spanish changelog 2.10.0 and 2.10.1 (#16548 by @Gonzalo2310) + - Update ar.js (#16653 by @l3op) +- Test + - Correct spelling error (#16672 by @boomler) + - Refactor unit test to use data-uri (#16847 by @a631807682) +- Types + - Fix httprequest type (#16633 by @luckyCao) + +### 2.11.1 + +*2019-07-26* + +#### Bug fixes + +- Image + - Fix Image component SSR compatibility (#16737 by @luckyCao) +- Chore + - Update dart-sass compatibility (#16744 by @LewisChennnnn) + +### 2.11.0 + +*2019-07-25* + +#### New features + +- Drawer + - Add drawer component (#16577 by @JeremyWuuuuu) + +#### Bug fixes + +- Checkbox + - Enhance css selector (#16006 by @Hazlank) +- Tree + - Make el-tree generic (#15934 by @JeremyWuuuuu) + - Set isCurrent prop to False (#15870 by @kkkisme) +- Dropdown + - Fix split-button caret default color (#15931 by @JuniorTour) +- Cascader + - Fix level 1 children is empty update problem (#16399 by @luckyCao) + - Add sets default values when lazy is true (#16420 by @luckyCao) + - Fix display errors when node value is duplicate (#15935 by @junyiz) + - Expose getCheckedNodes and fix options change bug (#16709 by @SimonaliaChen) +- Calendar + - Display correct header when range is specified (#16354 by @ziyoung) +- Submenu + - Fix prop append-to-body (#16289 by @a631807682) +- Table + - Fix tree table when updating data (#16481 by @island205) +- Select + - Fix memory leak issue (#16463 by @island205) +- InfiniteScroll + - Update naming & doc (#16698 by @iamkun) +- Avatar + - Fix image not center vertically issue (#16489 by @luckyCao) +- Dialog + - Add destroyOnClose attribute (#16455 by @ziyoung) +- Image + - Add big Image preview feature (#16333 by @luckyCao) + +#### Optimization + +- Docs + - Fix dropdown demo (#16193 by @webxmsj) + - Fix typo in table documents (#15971 by @howiefh) +- I18n + - Update translation of Thai language (#16689 by @ponkrit) +- Chore + - Update theme base api (#16607 by @iamkun) + - Add form theme token (#16699 by @iamkun) + - Mark ali inner user's access (#16609 by @iamkun) + - Fix doc anchor bug (#16692 by @iamkun) + +### 2.10.1 + +*2019-07-02* + +#### Bug fixes + +- Table + - Fix sort icon (#15439 by @bezany) + - Fix layout breaks when append slot exists (#16332 by @ziyoung) + - Fix showOverflowTooltip not reactive (#16295 by @a631807682) + - Register scrollbar in filter-panel (#16246 by @ziyoung) +- Chore + - Fix 2.9 docs (#16233 by @ziyoung) + - Fix index page theme intro english css style issue (#16254 by @iamkun) + +#### Optimization + +- Tag + - Compatible with IE (#16334 by @ziyoung) +- Chore + - Update Dingtalk Group QR image (#16236 by @iamkun) +- Doc + - Update online theme roller doc (#16244 by @iamkun) + +### 2.10.0 + +*2019-06-25* + +#### New features + +- I18n + - Added Uzbek language (#15796 by @ogabek96) +- Calendar + - Add first-day-of-week attribute (#16047 by @ziyoung) +- Avatar + - Add avatar component (#16144 by @luckyCao) +- Upload: + - Add capability to customize thumbnail template (#13192 by @victorzhuk) + +#### Bug fixes + +- Tree + - Not highlight tree node when currentKey is null (#15668 by @yyjjqq94) + - Fix issue #15538 caused by two Tree sharing the same data (#15615 by @VanMess) +- Upload + - Update the parameter `fileList` type (#15716 by @underfin) +- Table + - Fix loading icon not display (#15868 by @ziyoung) + - Fix background color of complex table when hovering (#15504 by @cnlon) + - Fix current-row-key and select event bug (#15983 by @ziyoung) + - Height accepts more units (#16013 by @ziyoung) + - Fix reserve-selection not work (#16135 by @ziyoung) +- Docs + - Fix Divider attribute type in zh-cn (#15889 by @haoranyu) +- Menu + - Fixed submenu hidden bug after adding popper-append-to-body (#15391 by @PanJiaChen) +- Select + - Fix initialInputHeight (#15989 by @yyjjqq94) + - Fix default-first-option behavior when typing Chinese (#15431 by @VanMess) + - fix double import problem (#16215 by @lengband) +- Message + - Add type def for offset option (#16027 by @matjaz) +- Timeline + - Fix reverse broken (#16091 by @ziyoung) +- Slider + - Fix #15545 by adding explains about "input" event in Chinese (#15588 by @VanMess) +- InfiniteScroll + - Update package name (#16125 by @iamkun) +- MessageBox + - Fix�� distinguishCancelAndClose action not same as docs bug (#15438 by @qingdengyue) +- PopupManager + - Fix z-index cannot be rewritten at first using (#15738 by @luckyCao) +- Docs + - Delete an incorrect closing html tag and empty block code (#16194 by @Alexeykhr) +- Chore + - Update test api host (#15807 by @iamkun) + +#### Optimization + +- Tree + - Modify loop conditions to improve performance (#15699 by @KingJeason) +- Theme + - Refine GA track & Update footer link forward to online theme roller (#16007 by @island205) +- Badge + - Update badge prop check (#16198 by @iamkun) +- Avatar + - Update theme config var (#16202 by @luckyCao) +- I18n + - Update pt-br.js (#15776 by @gigioSouza) + - Update Farsi translation (#15881 by @pamenary) +- Docs + - Add missing components in quickstart (#16063 by @pape2016) + - Update french translation (#16208 by @blombard) + - Add description $slots.default (#15444 by @Alexeykhr) + - Update Spanish Doc 2.9.1 (#15840 by @Gonzalo2310) + - Fix spelling mistakes in fr (#15837 by @blombard) + - Update changelog 2.9.2 Spanish (#16185 by @Gonzalo2310) + +#### Breaking changes + +- Form + - Remove success status (#16159 by @ziyoung) + +### 2.9.2 + +*2019-06-21* + +#### Bug fixes + +- Chore + - Fix TS definitions file (#15805 by @NateScarlet) + +### 2.9.1 + +*2019-05-30* + +#### New features + +- Table + - default-expand-all, expand-row-keys, toggle-row-expansion method and expand-change event are supported in Tree Table (#15709 by @ziyoung) + +#### Bug fixes + +- Table + - Fix some bugs (#15709 by @ziyoung) +- Theme + - Update api host (#15784 by @iamkun) + +#### Optimization + +- Chore + - Update InfiniteScroll type (#15794 by @iamkun) + +### 2.9.0 + +*2019-05-30* + +#### New features + +- Backtop + - Add Backtop component (#15541 by @iamkun) +- PageHeader + - Add PageHeader component (#15714 by @ziyoung) +- InfiniteScroll + - Add InfiniteScroll directive (#15567 by @iamkun) +- Cascader + - Add multiple mode and filter-method (#15611 by @SimonaliaChen) +- Message + - Display in stack mode (#15639 by @island205) +- Tag + - Add prop effect (#15725 by @SimonaliaChen) +- Tabs + - Left align title when type is card (#15695 by @luckyCao) +- DatePicker + - Support literal strings (#15525 by island205) +- Image + - Add support for transmit attrs and listeners (#15578 by @VanMess) +- Theme + - Add popup background (#15412 by @iamkun) +- Chore + - Update new 2.9.0 index page (#15682 by @iamkun) + +#### Bug fixes + +- Table + - Fix sort-change behaviour when sort condition is null (#15012 by @joelxr) +- Image + - Fix ssr and object-fit compatibility (#15346 by @SimonaliaChen) +- Input + - Fix show-word-count style in el-form (#15359 by @lvjiaxuan) + - Fix clear icon is not centered (#15354 by @YiiGuxing) +- Calendar + - Fix not correct day of week when the day is Sunday (#15399 by @qingdengyue) + - Fix October disappear bug (#15394 by @qingdengyue) +- Tabs + - Fix basic tab nested in card tab padding error (#15461 by @SimonaliaChen) +- Tag + - Fix stop propagation problem (#15150 by @infjer) +- Form + - Fix input-group within form-item height error (#15457 by @SimonaliaChen) + - Fix resetFields issue (15181 by @luckyCao) +- Tooltip + - Fix custom tabindex not work (#15619 by @SimonaliaChen ) +- Link + - Fix link icon style class (#15752 by @iamkun) +- Select + - Revert set value to null when cleared (#15447 by @iamkun) +- Loading + - Fix dom not change when loading state change quickly (#15123 by @FAKER-A) +- Switch + - Label with el-switch repeating event (#15178 by @FAKER-A) +- Slider + - Fix style problem when clicking slider bar(#15561 by @luckyCao) +- Radio + - Fix issue 14808 (#14809 by @OverTree) +- Form + - Fix resetFields issue (15181 by @luckyCao) +- Chore + - Upgrade dependencies and fix demo bug (#15324 by ziyoung) +- Type + - Fix loading type definition (#15635 by @iamkun) + - Fix Icon type (#15634 by @iamkun) + - Fix Link type definition (#15402 by @iamkun) + +#### Optimization + +- Cascader + - Refactor (#15611 by @SimonaliaChen) +- Chore + - Update make new component logic (by @iamkun) +- Docs + - Rename variable in docs (#15185 by @liupl) + - Fix image attribute type and default value (#15423 by @haoranyu) + - Fix form doc bug (#15228 by @SHERlocked93) + +### 2.8.2 + +*2019-04-25* + +#### Bug fixes + +- Icon + - Update icon (#15272 by @iamkun) +- Docs + - Fix Form and Input doc style (#15273 by @ziyoung) + +### 2.8.1 + +*2019-04-25* + +#### Bug fixes + +- Icon + - Update icon of cascader and select (#15264 by @SimonaliaChen) + - Update icon (#15258 #15268 by @iamkun) + +#### Optimization + +- Chore + - Update build script (#15267 by @ziyoung) +- Docs + - Fix link underline color (#15265 by @iamkun) +- Other + - Fix migrating config not compatible with camel case props and events (#15260 by @SimonaliaChen) + +### 2.8.0 + +*2019-04-25* + +#### New features + +- Divider + - Add divider component (#15055 by @island205) +- Rate + - Add custom colors and icon-classes by passing a object (#15051 by @SimonaliaChen) +- Link + - Add link component (#15052 by @iamkun) +- Calendar + - Add calendar component (#14908 by @ziyoung) +- Icon + - Add icon (#15214 by @iamkun) +- Alert + - Add dark theme (#15041 by @island205) +- Image + - Add image component (#15117 by @SimonaliaChen) +- Collapse + - CollapseItem can be disabled (#15076 by @ziyoung) +- Carousel + - Add direction attribute and support vertical direction (#15122 by @ziyoung) +- Pagination + - Add hide-on-single-page attribute (#15096 by @ziyoung) +- Slider + - Add marks attribute (#15133 by @luckyCao) +- Input + - Add show-word-count attribute (#15075 by @luckyCao) +- InputNumber + - Add step-strictly attribute (#15050 by @luckyCao) +- Tooltip, Dropdown, Popover + - Support tabindex attribute (#15167 by @ziyoung) + +#### Bug fixes + +- Notification + - Fix title word break (#15008 by @iamkun) +- Form + - Fix switching the rules in el-form not work (#14985 by @luckyCao) + - Fix label style (#14969 by @ziyoung) + - Required FormItem displays asterisk when label is auto (#15144 by @ziyoung) +- Pagination + - Fix slot not updated (#14711 by @lucyhao) +- Table + - Fix load bug in lazy mode (#15101 by @ziyoung) + - Fix cell width when colspan is grater than 1 (#15196 by @ziyoung) + - Improve performance (#14868 by @ziyoung) + - Don't emit triggers sort-change during initialization (#14625 by @PeanutWatson) + - Equal behaviour for height and max-height (#14660 by @arthurdenner) +- Dialog + - Fix dialog body correctly break long words (#15027 by @iamkun) +- Alert + - update type definition (#15186 by @ziyoung) +- Tabs + - Fix issue where Promise rejection was hitting application (#14816 by @ffxsam) + - Rerender when slot changes (#15238 by @ziyoung) +- Message + - Fix type definition (#14968 by @agoni1212) +- Select + - Fix error when value is undefined or null (#15022 by @luckyCao) +- Tree + - Delete current node after it removed (#14604 by @sinchang) + - Improve performance (#14881 by @ChenZhuoSteve) +- Dropdown + - Fix style (#14907 by @doing123) +- Slider + - Fix broken keyboard a11y bug (#14792 by @erezsob) +- Menu + - ActiveIndex value shall be null if defaultIndex does not exist(#14074 by @hoythan) +- Directive + - RepeatClick: use Date.now() instead of new Date() (#14776 by @pavelmash) +- Upload + - Fix Upload transparent picture display style (#15039 by @iamkun) +- Theme + - Add zero border (#15256 by @iamkun) + +#### Optimization + +- Chore + - Update changelog zh-cn (#14965 by @iamkun) + - Hide demo description when it's empty (#15014 by @ziyoung) + - Display dev server info by default by @iamkun) + - Fix 2.6.0 changelog error (#15026 by @iamkun) + - Update build config (#14821 by @abc3660170) + - Add hmr (#15221 by @SimonaliaChen) + - Use sourcemap in dev environment (#15087 by @ibufu) +Docs + - Rename variable in docs (#14602 #15003 #15094 #15105 by @liupl) + - Fix upload doc error (#15023 by @iamkun) + - Update Form custom validator doc (#15040 by @iamkun) + - Update Tabs docs to display vertical tabs (#15053 by @iamkun) + - Use eleme.cn as domain (#15139 by @ziyoung) + - Fix Image route name (#15194 by @iamkun) + - Remove duplicated fr translation (#15207 by @iamkun) + +#### Breaking changes + +- Rate + - Fix decimal display support in disabled mode (#15089 by @haoranyu) +- Select + - Use placeholder option label to set placeholder in filter mode (#14989 by @ibufu) + +### 2.7.2 + +*2019-04-03* + +#### Bug fixes + +- Form + - Fix auto `label-width` style (#14955 by @ziyoung) + +#### Optimization +- Docs + - Fix doc img link error (#14957 by @iamkun) +- Chore + - Fix deploy mkdir error (#14952 by @iamkun) + +### 2.7.1 + +*2019-04-03* + +#### Bug fixes + +- Select + - Set value to null when cleared (#14322 by @aaronfulkerson) +- Input + - Update DOM dependent values on type change (#14889 by @wacky6) +- Table + - Make `defaultExpandAll` works when expanded column exists (#14935 by @ziyoung) +- Dialog + - Background color can be configured (#14939 by @ziyoung) +- Form + - `label-width` supports auto width (#14944 by @ziyoung) + +#### Optimization +- Docs + - Update Spanish docs (#14913 by @Gonzalo2310) + - Add French doc for new component (#14924 by @ziyoung) + - Optimize Tabs docs (#14938 by @ziyoung) + +### 2.7.0 + +*2019-03-28* + +#### New features + +- Table + - Add support tree structure data (#14632 by @ziyoung) + +#### Bug fixes + +- Tabs + - Use primary color as boxShadow color (#14558 by @Richard-Choooou) + - Rerender when label changes (#14496 by @akki-jat) +- Table + - Footer follows body cell align (#14730 by @ziyoung) +- NavMenu + - Fix click el-submenu trigger childMenu pop again bug (#14443 by @PanJiaChen) +- Dropdown + - Make compatible with 2.6 new v-slot syntax (#14832 by @ziyoung) +- ColorPicker + - Fix handle error hex color string (#14793 by @iamkun) +- Tree + - Revert pr #13349 (#14847 by @ziyoung) +- Tooltip + - Display when initial value is true (#14826 by @ziyoung) +- Docs + - Update cascader docs (#14442 by @panhezeng) +- Style + - Fix media query in sm-only, md-only, lg-only (#14611 by @sinchang) + +#### Optimization + +- Chore + - Add webpage description (#14802 by @iamkun) + +### 2.6.3 + +*2019-03-21* + +#### Bug fixes + +- Fix Cascader demo style (#14789 by @ziyoung) +- Remove unnecessary DOM operation (#14788 by @ziyoung) +- Fix DatePicker default-value DST (#14562 by @wacky6) + +### 2.6.2 + +*2019-03-21* + +#### New features + +- DatePicker + - Add monthrange for type attribute (#14487 by @zxyRealm) +- i18n + - Add Croatian locale (#14360 by @danijelh) + +#### Bug fixes + +- Input + - Fix regression (#14572 by @wacky6) +- DatePicker + - Fix first-day-of-week computation (#14523 by @sinchang) + - Fix week picker's value-format (#13754 by @wacky6) +- Steps + - Fix issue #14502 (#14596 by @sinchang) + - Fix style with simple theme (#14610 by @sinchang) +- Docs + - Update french doc for 2.6.1 and fix typos (#14555 by @smalesys) + - Rename variable in Table docs (#14587 by @likwotsing) + - Add french search index (#14565 by @iamkun) + - Fix TimePicker page style (#14579 by @ziyoung) + - Rename variable in Upload docs (#14593 by @liupl) + - French translation update (#14643 by @smalesys) + - Update Form async validator docs (#14694 by @iamkun) + - Fix tooltip doc error (#14748 by @iamkun) + - Fix typo (#14751 by @2bj) + - Fix highlighting control elements for Webkit touch (#14703 by @VladG0r) + +#### Optimization + +- Chore + - Update ci build script (#14600 by @ziyoung) + - Update ga tracking (#14560 by @iamkun) + - Add more ga event (#14633 by @iamkun) + - Update discusion group (#14741 by @iamkun) + - Update test deps and conf (#14735 by @wacky6) + - Upgrade gulp (#14745 by @ziyoung) + - Use codepen to display demo & fix doc error (#14747 by @ziyoung) + +### 2.6.1 + +*2019-03-03* + +#### Bug fixes + +- **Don't specify node version** (by @iamkun in #14546) +- Fix doc directory in `deloy-faas.sh` (by @ziyoung in #14553) +- Fix date style issue in changelog for 2.6.0 (by @island205 in #14547) +- Fix doc typo (by @wack6 in #14552) + +### 2.6.0 + +*2019-03-01* + +#### New features +- Timeline + - Add timeline component (by @jikkai in #14248) +- DropdownItem + - Add icon prop to `el-dropdown-item` (by @gabrielboliveira in #14088) +- Input + - Add show-password props (by @phshy0607 in #13966) +- Select + - Add slot `empty` (by @elfman in #13785) +- Autocomplete + - Add highlight-first-item prop (by @YamenSharaf in #14269) +- I18n + - Created Armenian locale (by @hamletbarsamyan in #14214) +- Docs + - French translation (by @smalesys in #12153, #14418, #14434) + +#### Optimization +- Alert + - Update alert description default slot class (by @iamkun in #14488) +- Input + - Update input password (by @iamkun in #14480) +- InputNumber + - Remove unnecessary parseFloat (by @JuniorTour in #14172) +- Menu + - Add support for `el-menu-item` without index (by @georgyfarniev in #13298) +- Table + - Remove some html DOM operations (by @elfman in #13643) +- Upload + - Optimize code (by @elfman in #13973) +- Popup + - Optimize code (by @KAionro in #14413) +- Docs + - Add more detail about how to run play mode for contribution (by @island205 in #14355) + - Warn input as a controlled component (by @wacky6 in #14463) + - Update Table doc (by @luguokong in #14329) + - Update input doc (by @iamkun in #14437) + - Update custom-theme docs (by @wangguohao in #14297) + - Make the icon style change when hover on it (by @tuxinghuan in #14295) +- Build + - Minimizing css and js for Element doc site (by @iamkun in #14430) + - Speeding up webpack (by @hetech in #14484) + - Use cli to select release version (by @hetech in #14354) +- Install stale for issue handling (by @island205 in #14392) + +#### Bug fixes +- Menu + - Fix subMenu focus bug when switch browser tab (by @liupl in #13976) +- MessageBox + - Fix type definition (by @NateScarlet in #14278) +- ScrollBar + - Prevent right button click on thumb (by @xifeiwu in #14196) +- Switch + - Trigger form validation if value changes (by @hetech in #14426) +- Table + - Make toggleAllSelection method an instance method (by @letanure in #14075) +- Tabs & Dropdown + - Fix style (by @hetech in #14452) +- Tree + - Empty-text tips are different from tables (by @ColinCll in #14331) +- Docs + - Fix DatetimePicker format doc error (by @iamkun in #14290) + - Spelling issue in datepicker documentation (by @helmut in #14481) + - Fix pagination doc style (by @liuchuzhang in #14451) + +#### Breaking changes +- Table + - Fix params order of row events (by @jikkai in #12086) + +### 2.5.4 + +*2019-02-01* + +#### Bug fixes + +- Build: Fix babel config issue which lead to collapse transition broken (by @island205 in #14282) + +### 2.5.3 + +*2019-01-31* + +#### Optimization + +- Optimize code of Message (by @vok123 in #14029) +- Retire gh-pages (by @ziyoung in #14266) +- Add IssueHunt link (by @island205 in #14261) + +#### Bug fixes + +- Fix UMD module error on server side (by @island205 in #14242) +- Fix active TabBar style (by @iamkun in #14240) +- Fix Table demo code error (by @xunmeng in #14253) + +### 2.5.2 + +*2019-01-27* + +#### Optimization +- Docs: + - Update ChangeLog ES 2.5.1 (by @Gonzalo2310 in #14231) + +#### Bug fixes +- Build: + - Delete unremoved comments in umd module `lib/index.js` (by @island205 in #14233) + - Fix export error fired in commonjs module used in nuxt.js (by @island205 in #14232) + - Fix 2.5.1 build issues (by @iamkun in #14228) + +### 2.5.1 + +*2019-01-26* + +#### Optimization +- DatePicker: highlight current month and year (by @Debiancc in #14211) +- Update 2.5.0 changelog (by @wacky6 in #14217) + +#### Bug fixes +- Fix export issue generate by webpack upgrading (by @island205 in #14220) +- Keep 2.4.11 docs && new sub folder for 2.5+ (by @iamkun in #14222) + +### 2.5.0 + +*2019-01-25* + +#### New features +- DatePicker + - Add `validate-event` attribute (by @ziyoung in #13531) +- DateTimePicker + - `pickerOptions` support `selectableRange` option (by @eeeeeeeason) +- Tag + - Add `click` event (by @licdream in #14106) +- I18n + - support Kyrgyz language (by @zzjframework in #14174) + +#### Optimization +- Upgrade to webpack@4 (by @jikkai in #14173) +- Input + - Simplify implementation, follow one-way data flow. Fix several related bugs (by @wacky6 in #13471) +- Update Axure file嚗dd new components (by @ziyoung in #13773) + +#### Bug fixes +- Autocomplete + - Fix dropdown's last line beging clipped (by @ziyoung in #13597) + - Fix missing popper arrow (by @liuchuzhang in #13762) +- Carousel + - Cleanup timer when component is destroyed (by @elfman in #13820) +- Cascader + - Remove deprecated property of computed props (by @iamkun in #13737) + - Fix CascaderOption's type definition in TypeScript (by @NateScarlet in #13613) + - Fix icon covering the text (by @ziyoung in #13596) +- Checkbox + - Refine style (by @PanJiaChen) +- DatePicker + - Add missing v-for `key` in TimeSpinner (by @Ende93 in #13547) + - Fix week highlight on year boundary (by @suyi91 in #13883) +- Input + - Fix textarea DOM node reference (by @laomu1988 @island205 in #13803) +- Pagination + - Input value won't be less than 1 (by @elfman in #13727) +- Popover + - Fix popover issues with hover trigger (by @goldengecko in #13104) + - Fix popper instance memory leak (by @qpxtWhite in #13988) +- Radio + - Refine style (by @ohhoney1) +- Table + - Enhanced table sorting when clicking on the sorting arrow (by @ohhoney1 in #12890) + - Fix empty text vertical alignment issue on IE10+ (by @imzjy in #13638) + - Fix index type documentation (by @ilovefafa in #13628) + - Fix `show-summary` display issue when multilevel header has fixed attr (by @luckyCao in #13914) +- Tabs + - Fix auto scroll bug (by @iamkun in #13696) + - Get the correct tab through tab name (by @iamkun in #13705) + - Use paneName instead of name to determine pane style (by @iamkun in #13733) +- Tree + - Fix `showCheckbox` prop on `Tree` can not affect their children `tree-node` (by @KidneyFlower) + - Update doc and definition file (by @ziyoung in #13540) +- Upload + - Add `url` prop to upload file when `list-type` changed (by @elfman in #13771) +- Slider + - Fix source code indentation (by @wacky6 in #13955) +- I18n + - Add missing Catalan translations (by @jaumesala) + - Add missing ru translation (by @justlp in #13658) + - Fix Finnish translations (by @jenkrisu in #14137) +- Doc + - Update Spanish doc 2.4.11 (by @Gonzalo2310 in #13522) +- Others + - Remove unnecessary script (by @ziyoung) + - Fix error anchor link (by @iamkun in #13753) + - Fix inconsistent capitalization in documentation (by @wonderjar) + - Add DingDing chat group qr code to readme (by @iamkun in #13957) + - Add yarn logs to .gitignore (by @mimimi in #13922) + - Remove sponsor duotai (by @island205 in #14156) + - Update readme qr code src (by @iamkun in #13960) + - Update CDN link, fix typo (by @ziyoung) + +### 2.4.11 + +*2018-11-21* + +- Revert pr #13296. Fixed clicking on Menu external causing Submenu collapsed, #13478 +- Adjust small screen (xs) media query breakpoints, #13468 (by @alekoshen712) + +### 2.4.10 + +*2018-11-16* + +- Fixed multiple clicks on Select to display the drop-down list, #13268 +- The clear icon for input is not displayed when Form is disabled, #13208 +- Adjust the style of Select, Progress, Autocomplete, Tooltip, Collaspe, TimePicker, #13188 (by @porcelainHeart) #13210 #13266 #13257 #13290 #13347 (by @PanJiaChen) +- Carousel component added `loop` attribute, #13217 +- When the data of Table changes, the highlighted line will remain, #13200 +- Table header scoped slot can receive parameters, #13263 +- Table's `clearFilter` method supports arguments, #13176 +- Tooltip is no longer created when there is no content in the Table cell, #13152 (by @rongxingsun) +- The input box contents of the ColorPicker panel can be displayed correctly, #13278 +- ColorPicker no longer triggers form validation when dragging, #13299 +- InputNumber added `select `method, #13286 (by @st-sloth) +- Autocomplete added `clear` event, #12171(by arthurdenner) #13326 +- You can close Menu by clicking on Menu outside, #13296 +- Form's `validateField` method can receive arguments, #13319 +- Cascader added `visible-change` event, #13415 +- DatePicker added range-separator slot, #13272 (by @milworm) +- Tree adds `iconClass` and `currentNodeKey` properties, #13337 #13197 (by @isnifer) +- Progress's` status` added text #13198 (by @ali-master) +- Fixing tree's `defaultCheckedKeys` caused an error, #13349 (by @dive2Pro) + +### 2.4.9 + +*2018-10-26* + +- The parameter of Form's `clearValidate` supports string, #12990 (by @codinglobster) +- Added type attribute for Badge, #12991 +- Users can use scoped-slot to customize table column header #13012 (by @ivanseidel) +- Fixed the input box of Select unable to type text under IE, #13034 (by @GaliMU) +- Select option does not wrap when space is enough, #12329 (by @akki-jat) +- When dropdown list of Select is expanded, the arrow icon will also display correctly, #12353 (by @firesh) +- Fixed that the size attribute of Select does not work, #13070 +- Select multiple values can be cleared, #13049 (by @ZSkycat) +- Fixed the last TabNav unable be deleted, #13039 +- Fixed that TabNav label is not displayed correctly, #13178 +- Added title slot for Alert, #13082 (by @Kingwl) +- Fixed an issue where the tooltip content in Table was incorrect, #13159 (by @elfman) +- Optimize the animation of Upload when file is deleted, #12987 +- Adjusted style of InputNumber when control button is not displayed, #13052 + +### 2.4.8 + +- Not displaying outline when Switch is focused, #12771 +- Fixed Dropdown's style in ButtonGroup, #12819 (by @bluejfox) +- Added opened event for Dialog, #12828 +- Fixed the incorrect display order of TabNav, #12846 +- Fixed the problem that Tabs did not scroll to the selected tab, #12948 +- Fixed the problem that the identifier does not display when the Tree node is dragged, #12854 +- The validate event parameter of Form contains the validation message, #12860 (by @YamenSharaf) +- Fixed DatePicker not to verify the validity of user input time, #12898 +- Fixed the problem that `render-header` attribute of Table header doesn't work, #12914 + +### 2.4.7 + +*2018-09-14* + +- Fixed DatePicker not triggering form validation, #12328 #12348 +- Fixed DatePicker throwing errors in multiple mode, #12347 +- Fixed incorrect position of DatePicker spinner, #12415 (by @rang-ali) +- Fixed automatic filling of DatePicker input box, #12521 (by @abdallanayer) +- Fixed Input not highlighted in Cascader, #12341 +- Fixed wrong order of Tabpane, #12346 +- Fixed incorrect position of ColorPicker cursor, #12376 (by @cnwhy) +- Fixed the style of Submenu, #2457 +- Fixed not highlighted after Submenu is selected, #12479 +- Fixed incorrect values selected by Cascader, #12508 (by @huangjinqiang) +- Fixed incorrect value of Pagination input box, #12525 +- Fixed order that Pagination triggers events, #12530 +- Fixed Table Filter not displayed, #12539 +- Fixed Tree unable to delete nodes, #12684 +- Fixed height of Select Input changing in single mode, #12719 +- Fixed style of FormItem label in nested Form, #12748 +- Added `autocomplete` attribute for Input, deprecated `auto-complete`, #12514 (by @axetroy) +- Added slots-scope for Form to display validation information, #12715 (by @YamenSharaf) + +### 2.4.6 + +*2018-08-09* + +- Fixed Table not showing filter icon when `filters` is assigned empty array, #12165 +- Fixed Menu not saving active state when `collapse` is changed, #12178 (by @elfman) +- Fixed Cascader not escaping special characters for Regexp, #12248 +- Fixed disabled RadioButton showing box-shadow when clicked, #12262 +- Fixed arrow key not effect when default value is `undefined`,#12322 +- Fixed query function of Select not debounced in multi mode, #12181 +- Fixed query keyword of Select disappearing in multi mode, #12304 +- Fixed incorrect width of Dialog when it is displayed in full screen, #12203 +- Fixed incorrect display of Main on IE, #12237 +- Fixed Input triggering two form validations, #12260 +- Fixed adding new Tree node causing nodes to disappear, #12256 +- Fixed Tree node not deleted after dragging, #12279 +- Fixed Popover not visible when InputNumber focuses, #12284 +- Added `popper-append-to-body` attribute for Autocomplete, #12241 +- Added `sync` modifier support for Pagination's `page-size` attribute, #12281 + +### 2.4.5 + +*2018-07-26* + +- Fixed Table setting `class-name` does not work for `expand` column, #12006 +- Added `toggleAllSelection` method for Table, #12047 +- Fixed wrong position of suffix slot when Input contains Select, #12108 +- Fixed `line-height` of Option unable to set, #12120 +- Fixed TimeSelect with default value of `null` could not be assigned after executing `resetField`, #12010 +- Fixed keydown event which is not arrow key does not work in Tree, #12008 +- Fixed parent node checked in lazy mode, #12106 +- Added `includeHalfChecked` parameter for getCheckedNodes of Tree, #12014 + +### 2.4.4 + +*2018-07-13* + +- Fixed triggering Select validation after Form resetting, #11837 +- Fixed wrong position of Input `suffix` slot when `suffix` slot with `append` slot, #11951 +- Fixed clearable Input still displaying the clear icon when readonly, #11967 +- Fixed Tree node checked when it's disabled, #11847 +- Fixed Tree's `default-checked-keys` not working, #11971 +- Fixed `empty-text` not visible when Tree node filtered, #11971 +- Fixed the position of oversized `empty-text` in Table, #11965 +- Fixed Table row not be unhighlighted when `current-row-key` is assigned to `null`, #11866 +- Fixed showing filter dropdown when `filters` is an empty array, #11864 +- Fixed Radio's label does not stop event propagation, #11912 + +### 2.4.3 + +*2018-07-03* + +- Fixed `allow-drop` not working properly when Tree nodes have a custom height, #11797 +- Now you can pass a parameter to the `clearValidate` method of Form, specifying which FormItems' validation results need to be cleared, #11821 +- Added `distinguishCancelAndClose` attribute for MessageBox, #11831 + +### 2.4.2 + +*2018-06-26* + +- Now `class-name` and `label-class-name` of Table are reactive, #11626 +- Fixed Table still highlighting clicked row when `highlight-current-row` is `false`, #11646 +- Fixed a style bug of ButtonGroup when it has only one `round` or `circle` Button, #11605 +- Fixed style of page size Select of Pagination, #11622 +- Fixed Menu's `open` method error when `collapse` is dynamically changed, #11646 +- Added `activeName` and `oldActiveName` parameters to the before-leave hook of Tabs, #11713 +- Fixed Cascader focused after outside clicked, #11588 +- Fixed Cascader not closing when option is clicked when `change-on-select` is true, #11623 +- Now updating Select's value programmatically will trigger form validation, #11672 + +### 2.4.1 + +*2018-06-08* + +- Removed Autocomplete's duplicate type declaration, #11388 +- Fixed Select's dropdown arrow style in FireFox when nested in Form, #11427 +- Fixed clear icon of Select still showing when the initial value is `null`, #11460 +- Fixed disabled radio showing box-shadow when clicked, #11462 +- Added `iconClass` attribute for MessageBox, #11499 +- Added `stretch` attribute for Tabs, #11476 +- Fixed rendering order issue of TabPane when Tabs is `lazy`, #11461 +- Fixed Table not retaining current highlight row when expanded, #11464 +- Fixed focusing state when `before-leave` returns a resolved promise, #11386 +- Fixed disabled Popover still creating poppers, #11426 +- Fixed Tree's endless loop when a new node is added in lazy mode, #11430 (by @wangjingf) +- Added `closed` event for Dialog, #11490 + +### 2.4.0 Fullerene + +*2018-05-28* + +#### New features +- General + - Dev tool and bundler is switched to native webpack, #11216 + - Now you can globally set the initial z-index of popups, #11257 +- Autocomplete + - Added `hide-loading` attribute, #11260 +- Button + - Now you can use the `size` attribute on circle buttons to control their sizes, #11275 +- InputNumber + - Added `precision` attribute, #11281 +- Tabs + - Added `before-leave` attribute, #11259 + - Added `lazy` attribute, #11167(by @Kingwl) +- Table + - Added `sort` method to manually sort the table, #11311 + +#### Bug fixes +- Input + - Fixed an issue that causes a re-render when using the Chinese IME to quickly input text, #11235 (by @STLighter) +- Popover + - Fixed the console error when the triggering element is Radio or Checkbox, #11265 +- Breadcrumb + - Fixed the `to` attribute not supporting dynamic update, #11286 +- Upload + - Fixed the console error when a File is resolved in the returned Promise of the `beforeUpload` method, #11297 (by @qusiba) +- Tooltip + - Fixed arrow not positioned correctly when content is empty, #11335 +- Autocomplete + - Fixed incorrect input suggestions after deleting keyword quickly, #11323 +- ColorPicker + - Fixed `active-change` event incorrectly triggering when picker dropdown is closed, #11304 +- Table + - Fixed style error of oversized filter panel, #11314 + - Fixed currently selected row not retained when the table is sorted, #11348 +- Checkbox + - Fixed single checkbox not supporting validation, #11271 +- Radio + - Fixed disabled Radio still being selected when pressing space key, #11303 +- MessageBox + - Fixed the `el-popup-parent--hidden` class not removed when opening MessageBox in succession, #11371 + +### 2.3.9 + +*2018-05-18* + +- Fixed when the source data does not have the field specified by a TableColumn's `prop` attribute, an error would occur when the mouse moves into that column's cells, #11137 +- The `lockScroll` attribute of pop up components no longer adds an inline style to the parent element, but instead adds a class name, #11114 +- Fixed the icon of Progress not displaying when its `status` is exception, #11172 +- Fixed options' `disabled` attribute not working in filterable Cascader's filter result list, #11185 +- Fixed an issue where Table's expanded row cannot be collapsed if the data source is updated after its expansion, #11186 +- `setCurrentKey` of Tree now accepts `null` as its param to cancel the currently highlighted node, #11205 + +### 2.3.8 + +*2018-05-11* + +- Fixed DatePicker panel jumping to the current month after picking a date in a non-current month when `type` is dates, #10973 +- Fixed clearable Input still displaying the clear icon when readonly, #10912 +- Fixed closing the DatePicker panel without changing the value incorrectly triggering the `change` event, #11017 +- Fixed keyboard navigation not working properly when Select has grouped options, #11058 +- Added `prefix` named slot for Select, #11063 +- Added `clearValidate` method for FormItem, #11076 +- Added `checkOnClickNode` attribute for Tree, #11111 + +### 2.3.7 + +*2018-04-29* + +- Fixed Table not updating its header widths when the scroll bar disappears due to filtering, #10834 +- Fixed clearable Input still showing the clear icon when its initial value is `null`, #10912 +- Fixed incorrect trigger of the `active-change` event after changing ColorPicker's binding value programatically, #10903 (by @zhangbobell) +- Fixed filterable Select causing an infinite loop when navigating options using keyboard if all options are disabled, #10945 + +### 2.3.6 + +*2018-04-21* + +- Fixed wrong behavior of Tree's `allow-drop` callback when `type` parameter is used, #10821 +- Now you can properly enter keywords in filterable single Select in IE11, #10822 +- Fixed single Select incorrectly triggering `blur` event after clicking an option, #10822 + +### 2.3.5 + +*2018-04-20* + +- Fixed incorrect highlights in DatePicker panel when `type` is week, #10712 +- Fixed InputNumber being empty when its initial value is 0, #10714 +- Added `automatic-dropdown` attribute for Select, #10042 (by @Seebiscuit) +- Fixed disabled Rate's value still being updated by navigation keys, #10726 (by @Richard-Choooou) +- Now DatePicker's `type` attribute can be `'dates'`, where you can pick multiple dates in one picker, #10650 (by @Mini256) +- Added `prev-click` and `next-click` events for Pagination, #10755 +- Added `pager-count` attribute for Pagination, #10493 (by @chongjohn716) +- Added `type` as the 3rd param of Tree's `allow-drop` attribute callback, #10792 +- Now we use ResizeObserver to detect DOM element resizing, #10779 + +### 2.3.4 + +*2018-04-12* + +- Deleted duplicate `showTimeout` attribute in SubMenu's TypeScript declaration, #10566 (by @kimond) +- Now you can customize Transfer's data item using scoped slot, #10577 +- Fixed clicking disabled prev and next button of Pagination still triggers `current-change` event, #10628 +- Fixed Textarea displaying `undefined` in SSR when its value is not set, #10630 +- Fixed disabled TabItem style when `type` is border-card, #10640 +- Added `$index` as `formatter`'s fourth param of Table, #10645 +- Fixed CheckboxButton not exported in TypeScript declaration, #10666 + +### 2.3.3 + +*2018-04-04* + +- Added `shadow` attribute for Card, #10418 (by @YunYouJun) +- Fixed Badge being hidden when `value` is `0`, #10470 +- Fixed some bugs of draggable Tree, #10474 #10494 +- Added `placement` for Autocomplete, #10475 +- Now `default-time` attribute also works in non-range DateTimePicker, #10321 (by @RickMacTurk) +- Removed the blue outline of TabItem after the browser blurs or is minimized, #10503 +- Added `popper-append-to-body` attribute for SubMenu, #10515 +- Removed visual feedback when hovering on non-link BreadcrumbItem, #10551 +- Fixed InputNumber's `change` event to ensure the component's binding value is updated in the event handler, #10553 + +### 2.3.2 + +*2018-03-29* + +- Fixed an Autocomplete regression, #10442 + +### 2.3.1 + +*2018-03-29* + +- Fixed a regression that `type` of Input is not passed down to the native input element, #10415 +- Added `blur` method for Select, #10416 + +### 2.3.0 Diamond + +*2018-03-28* + +#### New features +- Table + - Now `formatter` of TableColumn can be dynamically updated, #10184 (by @elfman) + - Added `select-on-indeterminate` attribute, #9924 (by @syn-zeta) +- Menu + - Added `collapse-transition` attribute, #8809 (by @limichange) +- Input + - Added `select` method, #10229 + - Added `blur` method, #10356 +- ColorPicker + - Added `predefine` attribute, #10170 (by @elfman) +- Tree + - Added `draggable`, `allow-drop` and `allow-drag` attributes, and `node-drag-start`, `node-drag-enter`, `node-drag-leave`, `node-drag-over`, `node-drag-end` and `node-drop` events, #9251 #10372 (by @elfman) +- Form + - `validate` method now has a second parameter, containing information of form items that failed the validation, #10279 + - Added `validate` event, #10351 +- Progress + - Added `color` attribute, #10352 (by @YunYouJun) +- Button + - Added `circle` attribute, #10359 (by @YunYouJun) + +#### Bug fixes +- Form + - Fixed label of FormItem not align with mixed Input, #10189 +- Menu + - Now collapsed Menu will only show the Tooltip when the `title` slot of MenuItem is set, #10193 (by @PanJiaChen) +- Pagination + - Fixed `current-change` event wrongly triggering without user interaction, #10247 +- DatePicker + - Now the date and time value in the dropdown panel are correctly formatted based on the `format` attribute, #10174(by @remizovvv) +- Upload + - Fixed `accept` attribute not working when `drag` is true, #10278 + +### 2.2.2 + +*2018-03-14* + +- Added `clear` event for Input, #9988 (by @blackmiaool) +- Now manual input of ColorPicker supports `hsl`, `hsv` and `rgb` modes, #9991 +- Fixed DatePicker not triggering `change` event when its initial value is cleared, #9986 +- Now icon class related attributes of Rate support dynamic updates, #10003 +- Fixed Table with fixed columns not updating its height correctly if `max-height` is set, #10034 +- Now DatePicker's range mode supports reverse selection (clicking the end date, then clicking the start date), #8156 (by @earlymeme) +- Added `disabled` attribute for Pagination, #10006 +- Added `after-enter` and ` after-leave` events for Popover, #10047 +- Fixed Select not triggering validation when user selects an option after executing `resetFields` of Form, #10105 +- Fixed incorrect widths of fixed columns of Table in some cases, #10130 +- Fixed MessageBox inheriting the `title` attribute of its previous instance when called without `title`, #10126 (by @Pochodaydayup) +- Added `input-size` attribute for Slider, #10154 +- Added `left-check-change` and `right-check-change` events for Transfer, #10156 + +### 2.2.1 + +*2018-03-02* + +- Fixed Aside, Header and Footer shrinking in some layout, #9812 +- Fixed Table with a `height` attribute not rendering in SSR, #9876 +- Fixed expandable Table not calculating its height when a row is expanded, #9848 +- Fixed `change` event not trigger when manually typing date in DateTimePicker, #9913 +- Fixed Select showing its options when the input box is right-clicked, #9894 (by @openks) +- Added `tooltip-class` attribute for Slider, #9957 +- Now Select will stay focused after selection, #9857 (by @Seebiscuit) +- Added `target-order` attribute for Transfer, #9960 + +### 2.2.0 Graphite + +*2018-02-12* + +#### New features +- Menu + - Added `popper-class` and `disabled` attributes for SubMenu, #9604 #9771 + - Horizontal Menu now supports multi-layered SubMenu, #9741 +- Tree + - Added `node-contextmenu` event, #9678 + - Now you can customize node template using scoped slot, #9686 + - Added `getNode`, `remove`, `append`, `insertBefore`, `insertAfter`, `getCheckedKeys`, `getHalfCheckedNodes`, `getHalfCheckedKeys` methods and `check` event, #9718 #9730 +- Transfer + - Added `clearQuery` method, #9753 +- Select + - Added `popper-append-to-body` attribute, #9782 + +#### Bug fixes +- Table + - Fixed clicking expanding icon of an expandable row triggers `row-click` event, #9654 + - Fixed layout not update when column width is changed by user dragging, #9668 + - Fixed style issue when summary row co-exists with fixed columns, #9667 +- Container + - Fixed container components not stretching in IE11, #9655 +- Loading + - Fixed Loading not showing when the value of `v-loading` is changed to true in the `mounted` hook, #9722 +- Switch + - Fixed two native click events are triggered when Switch is clicked, #9760 + +### 2.1.0 Charcoal + +*2018-01-31* + +#### New features +- Cascader + - Added `focus` and `blur` events, #9184 (by @viewweiwu) +- Table + - The `filter-method` now has a third param `column`, #9196 (by @liyanlong) +- DatePicker + - Added `prefix-icon` and `clear-icon` attributes, #9237 (by @AdamSGit) + - Added `default-time` attribute, #9094 (by @nighca) + - `value-format` now supports `timestamp`, #9319 (by @wacky6) +- InputNumber + - Now the binding value can be `undefined`, #9361 +- Select + - Added `auto-complete` attribute, #9388 +- Form + - Added `disabled` attribute, #9529 + - Added `validateOnRuleChange` attribute, #8141 +- Notificaition + - Added `closeAll` method, #9514 + +#### Bug fixes +- InputNumber + - Fixed value resetting when typing decimal point, #9116 +- Dropdown + - Fixed dropdown menu incorrect positioning when the page only has a horizontal scrollbar in some browsers, #9138 (by @banzhuanmei) +- Table + - Fixed an error in calculating number of fixed columns after the column data changes, #9188(by @kolesoffac) + - Fixed the border of the last column of the grouped header not properly displayed, #9326 + - Fixed incorrect positioning of table header in Safari, #9327 + - Fixed expanded row collapsing when the table data changes, #9462 + - Fixed unnecessary multiple renders in some conditions, #9426 + - Fixed column width calculation error when `width` of TableColumn changes, #9426 +- Loading + - Fixed Loading not hiding correctly in some conditions, #9313 +- DatePicker + - Fixed `focus` method not working in range mode, #9437 + - Fixed clicking the "now" button still selecting the current date even if it is disabled, #9470 (by @wacky6) + - Fixed date clamping when navigating, #9577 (by @wacky6) +- Steps + - Fixed style error in IE 11, #9454 + +#### Breaking changes +- Menu + - The popup menu in `collapse` mode now appends directly to `body`, so that it is visible when nested in Aside, #9263 +- Table + - Now checking the checkboxes in multi-selection Table doesn't trigger `row-click` event, #9467 +- Loading + - The `z-index` of non-fullscreen loading mask is changed to 2000. The `z-index` of fullscreen loading mask will update dynamically with the popup components, #9522 +- Dropdown + - `show-timeout` and `hide-timeout` attributes now only works when trigger is `hover`, #9573 + +### 2.0.11 + +*2018-01-08* + +- Fixed border color issue of Select when in `prepend` or `append` slot of Input, #9089 +- Fixed `remove-tag` event's parameter of Select, #9090 +- Added `show-timeout` and `hide-timeout` attributes for SubMenu, #8934 (by @HugoLew) +- Fixed missing Tooltip style of `show-overflow-tooltip` when Table is imported on demand, #9130 +- Fixed Table column's sorting malfunctioning after `clearSort` is executed on that column, #9100 (by @zEmily) +- i18n config file for Czech is renamed from `cz` to `cs-CZ`, #9164 + +### 2.0.10 + +*2017-12-29* + +- Fixed wrong max height calculation of Table when fixed column and summary row co-exist, #9026 +- Fixed uncompiled color style of empty text in Table, #9028 +- Now DatePicker only emits `change` event when value is truly changed, #9029 (by @remizovvv) +- Added `tabindex` attribute for Input, #9041 (by @dicklwm) + +### 2.0.9���� + +*2017-12-24* + +- Added `before-remove` hook function for Upload, #8788 (by @firesh) +- Fixed initial value of `error` not working for FormItem, #8840 +- Now Loading directive supports custom class name by assigning `element-loading-custom-class` attribute, #8826 (by @earlymeme) +- Fixed CarouselItem becoming invisible when data is asynchronously updated, #8921 +- Added `renderAfterExpand` attribute for Tree, #8972 + +### 2.0.8 + +*2017-12-12* + +- Added Spanish documentation +- Fixed `show-timeout` of Dropdown not working when trigger is click, #8734 (by @presidenten) +- Fixed Form validation timing for rules whose trigger is blur, #8776 +- Fixed blur event of ranged DatePicker, #8784 +- `format` of TimePicker now supports AM/PM, #8620 (by @firesh) + +### 2.0.7 + +*2017-11-29* + +- Fixed disabled text button style, #8570 + +### 2.0.6 + +*2017-11-29* + +- Fixed style bug of Table's sorting icons, #8405 +- Fixed trigger mechanism for Popover when its `trigger` is manual, #8467 +- Added `prefix-icon` and `suffix-icon` attributes for Autocomplete, #8446 (by @liyanlong) +- Added `separator` attribute for Cascader, #8501 +- Added `clearable` attribute for Input, #8509 (by @lbogdan) +- Added `background` attribute for Pagination, #8553 + +### 2.0.5 + +*2017-11-17* + +- Fixed Popover, Tree, Breadcrumb and Cascader regression in 2.0.4, #8188 #8217 #8283 +- Fixed memory leak of clickoutside directive, #8168 #8225 (by @badpunman @STLighter) +- Fixed multiple Select height when its value is cleared, #8317 (by @luciy) +- Added `collapse-tags` attribute for multiple Select to replace tags with one line of text, #8190 +- Fixed high CPU consumption caused by hidden Table, #8351 +- Now you can use `doLayout` method of Table to update its layout, #8351 + +### 2.0.4 + +*2017-11-10* + +- Improved accessibility for Cascader, Dropdown, Message, Notification, Popover, Tooltip and Tree +- Fixed Container resize when the width of viewport decreases, #8042 +- Fixed Tree's `updateKeyChildren` incorrectly deleting child nodes, #8100 +- Fixed bordered CheckboxButton's height when nested in a Form, #8100 +- Fixed Menu's parsing error for custom colors, #8153 (by @zhouyixiang) + +### 2.0.3 + +*2017-11-03* + +- Fixed `editable` and `readonly` attributes for ranged DatePicker, #7922 +- Fixed style error of nested Tabs, #7941 +- Fixed style error of the last Step of vertical Steps, #7980 +- Fixed trigger timing of `current-change` event for Pagination, #7995 +- Fixed unregistered Tooltip in Menu, #7995 + +### 2.0.2 + +*2017-10-31* + +- Now right-clicking the buttons of InputNumber won't change its value, #7817 +- `validate` method of Form can now wait for asynchronous validations before executing its callback, #7774 (by @Allenice) +- Fixed range selection of DatePicker not working in Chromium 53-57 browsers, #7838 +- Fixed missing preview and delete icons of Upload when its `list-type` is picture-card, #7857 +- Added `sort-by` attribute for TableColumn, #7828 (by @wangfengming) +- Fixed DatePicker sometimes displaying wrong year number when selecting the first week in week mode, #7860 (by @hh23485) +- Fixed icon style error of vertical Steps, #7891 +- The hot area for node arrows in Tree is expanded, #7891 + +### 2.0.1 + +*2017-10-28* + +- Fixed style error of RadioButton and CheckboxButton, #7793 +- Fixed TimePicker not respond to mouse scroll in some conditions, #7811 +- Fixed incomplete styles of some components when imported on demand, #7811 + +### 2.0.0 Carbon + +*2017-10-27* + +#### New features +- General + - A new theme: `theme-chalk` + - Accessibility of the following components are improved: Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload + - Added TypeScript typings + - All existing icons are redesigned. Some new icons are added + - Added a series of breakpoint-based utility classes that hide elements when the viewport size meets certain conditions + - Added layout components: Container, Header, Aside, Main, Footer + - Now you can configure component sizes globally. When importing Element, you can add a global config object with a `size` prop to configure default sizes for all components. +- Button + - Added `round` attribute. It's used for round-cornered Buttons #6643 +- TimeSelect + - Now can be navigated by `Up` and `Down`, and hitting `Enter` selects the time #6023 +- TimePicker + - Now can be navigated by arrow keys, and hitting `Enter` selects the time #6050 + - Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169 + - Added `arrow-control` attribute to spin the time with arrows #7438 +- Tree + - Now child nodes don't render before the first expand #6257 + - Added `check-descendants` attribute. It determines if child nodes are checked when checking their parent node in `lazy` mode #6235 +- Tag + - Added `size` attribute #7203 +- Datepicker + - Now `timeFormat` can format the TimePicker when type is set to `datetimerange` #6052 + - Added `start-placeholder` and `end-placeholder`. They're placeholders for the two input boxes in range mode #7169 + - Added `value-format` attribute to customize the format of the binding value, #7367 + - Added `unlink-panels` attribute to unlink the two date panels when selecting a date range +- MessageBox + - Added `closeOnHashChange` attribute #6043 + - Added `center` attribute so that the content can be centered #7029 + - Added `roundButton` attribute to display round Buttons #7029 + - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string<sup>*</sup> #6043 + - Added `inputType` attribute to assign type for the inner input box, #7651 +- Dialog + - Added `width`�fullscreen`�append-to-body` attributes. Now Dialog can be nested + - Added `center` attribute so that the content can be centered #7042 + - Added `focus-after-closed`�focus-after-open` to improve accessibility #6511 +- ColorPicker + - Now you can type colors in the input box #6167 + - Added `size` and `disabled` attributes #7026 + - Added `popper-class` attribute #7351 +- Message + - Now color of the icons can be overridden by CSS #6207 + - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string<sup>*</sup> #6207 + - Added `center` attribute so that the content can be centered #6875 +- Notification + - Added `position` attribute to configure where Notification pops up #6231 + - Added `dangerouslyUseHTMLString` attribute. When set to `true`, `message` will be parsed as HTML string<sup>*</sup> #6231 + - Added `showClose` attribute to hide the close button #6402 +- Rate + - Added `show-score` attribute to determine if current score is displayed #6295 +- Tabs + - Added `tab-position` attribute #6096 +- Radio + - Added `border` and `size` attributes #6690 +- Checkbox + - Added `border` and `size` attributes #6690 +- Alert + - Added `center` attribute so that the content can be centered #6876 +- Menu + - Added `background-color`, `text-color` and `active-text-color` attributes #7064 + - Added `open` and `close` methods to open and close SubMenu programmatically, #7412 +- Form + - Added `inline-message` attribute to determine if the validation message is displayed in inline style #7032 + - Added `status-icon` attribute to display a feedback icon when validated #7032 + - Form and FormItem now have a `size` attribute. Inner components will inherit this size if not specified on themselves, #7428 + - `validate` method will now return a promise if the callback is omitted, #7405 + - Added `clearValidate` method for clearing validating results for all form items, #7623 +- Input + - Added `suffix` and `prefix` named slots, `suffixIcon` and `prefixIcon` attributes to add contents inside the input box #7032 +- Breadcrumb + - Added `separator-class` attribute to support icons as item separators #7203 +- Steps + - Added `simple` attribute to activate simple-styled Steps #7274 +- Pagination + - Added `prev-text` and `next-text` attributes to customize texts of previous page and next page #7005 +- Loading + - Now you can customize spinner icon and background color with `spinner` and `background` prop, #7390 +- Autocomplete + - Added `debounce` attribute, #7413 +- Upload + - Added `limit` and `on-exceed` attributes to limit the amount of files, #7405 +- DateTimePicker + - Added `time-arrow-control` attribute to activate `arrow-control` of the nesting TimePicker, #7438 +- Layout + - Added a new breakpoint `xl` for viewport wider than 1920px +- Table + - Added `span-method` attribute for merging cells + - Added `clearSort` method to clear sorting programmatically + - Added `clearFilter` method to clear filter programmatically + - For expandable rows, when a row is expanded, a `.expanded` class will be added to its class list, so that you can customize its style + - Added `size` attribute + - Added `toggleRowExpansion` method to expand or collapse expandable rows programmatically + - Added `cell-class-name` attribute to assign class name for cells + - Added `cell-style` attribute to style cells + - Added `header-row-class-name` attribute to assign class name for header rows + - Added `header-row-style` attribute to style header rows + - Added `header-cell-class-name` attribute to assign class name for header cells + - Added `header-cell-style` attribute to style header cells + - TableColumn's `prop` attribute now accepts `object[key]` notations + - Added `index` attribute for TableColumn to customize row indices +- Select + - Added `reserve-keyword` attribute for reserving current search keyword after selecting an option + +#### Bug fixes +- DatePicker + - Fixed `v-model` returning the second day of the selected week in week mode #6038 + - Fixed the first input being cleared in `daterange` type #6021 +- DateTimePicker + - Fixed DateTimePicker and TimePicker affecting each other when picked #6090 + - Fixed hour and second can be beyond limit when selecting time #6076 +- TimePicker + - Fixed `v-model` not update correctly when blurred #6023 +- Dialog + - Fixed texts having blurry edges when opening and closing nesting dropdowns #6088 +- Select + - Improved performance. Now Vue dev-tool won't crash when a large number of Selects are destroyed #6151 +- Table + - Fixed a bug that Table remains hiding when its parent element appears from `display: none` + - Fixed Table expanding its width when its parent element has `display: flex` + - Fixed a bug that fixed columns of a Table with `append` slot would disappear when data is dynamically fetched + - Fixed `expand-row-keys` attribute not working with initial value + - Fixed filter failing when `data` updates + - Fixed a calculation error of fixed columns layout with grouped headers + - Fixed a dynamic `max-height` bug + - Fixed some style calculation errors + +#### Breaking changes +- General + - Removed `theme-default` + - Compatible with Vue 2.5.2+ and IE 10+ + - `change` event of form components and `current-change` event of Pagination now only trigger on user interaction + - `size` attribute of Button and form components now accept `medium`, `small` and `mini` + - To facilitate the use of third-party icons, `icon` attribute of Button and Steps, `prefix-icon` and `suffix-icon` attributes of Input now require a full class name +- Dialog + - Removed `size` attribute. Now the size of Dialog can be configured by `width` and `fullscreen` + - Now the visibility of Dialog cannot be controlled by `v-model` +- Rate + - `text-template` is renamed to `score-template` +- Dropdown + - `menu-align` is renamed to `placement`. Now it supports more positions +- Transfer + - `footer-format` is renamed to `format` +- Switch + - Attributes starting with `on-*` will be parsed to events in JSX, making all `on-*` attributes of Switch not + able to work in JSX. So `on-*` attributes are renamed to `active-*`, and accordingly `off-*` attributes are renamed to `inactive-*`. This change affects the following attributes: `on-icon-class`, `off-icon-class`, `on-text`, `off-text`, `on-color`, `off-color`, `on-value`, `off-value` + - `active-text` and `inactive-text` attributes now don't have default values +- Tag + - `type` attribute now accepts `success`, `info`, `warning` and `danger` +- Menu + - Removed `theme` attribute. The color of Menu can be configured using `background-color`, `text-color` and `active-text-color` +- Input + - Removed `icon` attribute. Now the suffix icon can be configured using `suffix-icon` attribute or `suffix` named slot + - Removed `on-icon-click` attribute and `click` event. Now to add click handler on icons, please use named slots + - `change` event now behaves like the native input element, which triggers only on blur or pressing enter. If you need to respond to user input in real time, you can use `input` event. +- Autocomplete + - Removed `custom-item` attribute. Now the template of input suggestions can be customized using `scoped slot` + - Removed `props` attribute. Now you can use `value-key` attribute to designate key name of the input suggestion object for display +- Steps + - Removed `center` attribute + - Now the Steps will fill its parent container by default +- DatePicker + - The params of DatePicker's `change` event is now the binding value itself. Its format is controlled by `value-format` +- Table + - Removed support for customizing column template using `inline-template` + - `sort-method` now aligns with `Array.sort`. It should return a number instead of a boolean + - `append` slot is moved outside the `tbody` element to avoid multiple rendering + - `expand` event is renamed to `expand-change` + - The params of `row-class-name` and `row-style` method is now an object + +## +<i><sup>*</sup> Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS attacks](https://en.wikipedia.org/wiki/Cross-site_scripting). So when `dangerouslyUseHTMLString` is on, please make sure the content of `message` is trusted, and **never** assign `message` to user-provided content.</i> diff --git a/PAMapp/local_modules/element-ui/CHANGELOG.es.md b/PAMapp/local_modules/element-ui/CHANGELOG.es.md new file mode 100644 index 0000000..d0ca940 --- /dev/null +++ b/PAMapp/local_modules/element-ui/CHANGELOG.es.md @@ -0,0 +1,2073 @@ +## Changelog + +### 2.15.13 + +*2023-02-12* + +#### Bug fixes +- Docs + - Fix Statistic docs (#22383 by @JUST-Limbo) + - Fix Input docs (#22093 by @lm312) + - Fix en-US docs (#22268 #22269 #22270 by @Hazel-Lin) + - Fix Pagination docs (#22288 by @xujintai123) + - Fix: Links docs (#22370 by @itmier) +- Statistics + - fix slot display bug (#22375 by @webvs2) +- Chore + - missing web-type after publishing (#22271 by @loosheng) +#### Optimization +- InputNumber + - Fix touch one click trigger twice on the window touch pad (#22185 by @mrsai) +- Image + - Add initialIndex prop (#22346 by @inkroom) +- Statistics + - Updated countdown feature to localize lodash Closes (#22260 by @webvs2) + - Update code and doc (#22276 by @webvs2) +- Other + - fix web-types type props (#22281 by @whzxc) + +### 2.15.12 + +*2022-11-16* + +#### Bug fixes +- Statistic嚗� + - Fixed the thousandth bit bug (#22252 by @webvs2) +- Other + - Fix 2.15.11 element-theme-chalk publish fail bug + +### 2.15.11 + +*2022-11-15* + +#### Bug fixes +- Docs + - Fix Radio docs (#22178 by @bchen1029) + - Fix Progress docs +#### Optimization +- I18n + - Update translation of Malaysian (#22185 by @z4q) + - Update translation of Norwegian (#22145 by @Barsnes) +- Progress + - Add defineBackColor and textColor prop (#22089 by @lm312) +- Statistics + - Add new component Statistics (#22159 by @webvs2) +- Other + - Add Web Types to improve code assistance in WebStorm IDE and other JetBrains IDEs (#22135 by @piotrtomiak) + +### 2.15.10 + +*2022-09-13* + +#### Bug fixes + +- DatePicker + - Fix props placement error (#21908 by @lqzhgood) +- Loading + - Fix sticky DOM error (#22087 by @zzjjhh001) +- Docs + - Fix Popover docs (#22083 by @lm312) + - Fix Skeleton docs (#22092 by @lm312) + - Fix DatePicker docs (#21970 by @guojiongwei) +- Tree: + - fix lazy-load default check problem (#21934 by @kiss-yu) + +#### Optimization + +- I18n + - Add translation of Sinhalese (#21936 by @sayuri-gi) + - Update translation of Spanish (#21924 by @jcardus) + - Add translation of Malaysian (#22028 by @iorange0411) + - Update translation of Swahili (#21904 by @Cholowao) +- Utils + - update date-util.js (#22099 by @Due07) +- DatePicker + - add months And years type (#21918 by @akiko123456) + +### 2.15.9 + +*2022-06-02* + +#### Bug fixes + +- Table + - Fix Tabl-header shake bug (#21863 by @bofeng) + - Fix when partial import show `el-checkbox not imported` error (#21828 by @bobohuochai) +- FormItem + - Fix change rules verification not reset bug (#21892 by @bofeng) +- Cascader + - Fix change options unexpect error (#21759 by @louiebb) +- Docs + - Fix Popover docs (#21843 by @lod61) + - Fix Calendar docs (#21814 by @GoJam11) + - Fix TimePicker docs (#21803 by @Alanscut) + - Fix DatePicker docs (#21877 by @Nirvanaiu) +- Other + - Fix codepen display bug (#21863 by @bofeng) + +#### Optimization + +- I18n + - Add translation of Swahili (#21895 by @quilltouch) +- Chore + - Use launch-editor-middleware in dev environment (#21633 by @polemices) +- DatePicker & Cascader + - Optimize the dropdown animation direction (#21806 by @XivLaw) +- Tooltip + - Optimize `getFirstElement` code (#21886 by @zhankang) +- Input + - Optimize scss code (#21558 by @cheese-git) + +### 2.15.8 + +*2022-04-12* + +#### Bug fixes + +- Drawer + - Fix appendToBody failure problem (#21264 by @cs1707) +- Switch + - Fix toggling value problem(#19473 by @EdwinBetanc0urt) +- Docs + - Fix input docs (#21723 by @justforuse) + - Fix DatePicker docs (#21663 by @justforuse) + - Fix Skeleton docs (#21601 by @yanwydxf) +- Others + - Fix vue version (#21736 by @ckvv) + +#### Optimization + +- I18n + - add translation of Azerbaijani (#21012 by @ricardotondello) + - update translation of Slovenian (#21729 by @patik123) + - update translation of Slovak (#21711 by @sjaustirni ) + - add translation of Icelandic (#21709 by @aronhr) + - add translation of Bengali (#21485 by @llwwtt) + +#### Others + +- Due to compatibility considerations, the PR on node-sass (#21019 by @linxsbox) of 2.15.7 release has been withdrawn and will be published in an appropriate version after re-evaluation. + +### 2.15.7 + +*2021-11-18* + +#### Bug fixes + +- Select + - fix click icon triggering dropdown (#21314 by @dennyak47) + - fix keydown event when composition (#21336 by @bchen1029) +- Badge + - fix type class when is-dot (#21308 by @adaex) +- Form + - validate method reject error info (#21374 by @cs1707) +- Table + - fix resizeObserver loop limit exceeded (#21255 by @tomieric) + - fix toggleAllSelection bug when table is empty (#21456 by @cs1707) + - optimize performance (#21330 by @cs1707) +- Button + - fix disabled priority (#21375 by @cs1707) +- Descriptions + - fix label slot bug (#21462 by @cs1707) +- SASS + - replace node-sass with dart-sass (#21019 by @linxsbox) +- Docs + - fix skeleton typos (#21408 by @zhhbstudio) + +### 2.15.6 + +*2021-09-02* + +#### Bug fixes + +- Cascader + - fix a bug that makes the browser jitter in zoom mode (#21207 by @cs1707) + - optimize performance (#21231 by @cs1707) +- Select + - fix long text overflow in multiple mode (#21237 by @cs1707) +- Dropdown + - add disabled property (#21235 by @mshioda) +- Radio + - fix checked state when browser go back (#21250 by @cs1707) +- Descriptions + - fix type declaration (#21265 by @adaex) + - avoid table style conflict (#21254 by @adaex) +- Drawer + - fix append to body (#21264 by @cs1707) +- Local + - fix italian mistake (#21012 by @ricardotondello) + +### 2.15.5 + +*2021-08-04* + +#### Bug fixes + +- Select + - fix resetInputHeight (#21201 by @cs1707) + +### 2.15.4 + +*2021-08-03* + +#### New features + +- Descriptions + - add description component (#21129 by @cs1707) +- Result + - add result component (#21171 by @cs1707) + +#### Bug fixes + +- Utils + - fix isScroll (#21098 by @canvascat) +- Translation + - update it.js (#21133 by @bliberi) +- RadioGroup + - fix RadioGroup used in component causes exception #17908 (#20783 by @lceric) +- Message + - fix message[type] (#21088 by @cs1707) +- Carousel + - reset the timer when setActiveItem method is called (#20846 by @Nekojita1) +- Cascader + - fix emitPath (#21185 by @cs1707) +- Select + - fix select filterable bug (#17494 by @profore) + - fix a bug that makes the browser jitter in zoom mode (#21197 by @cs1707) +- Tree + - fix insertChild (#21194 by @cs1707) + +### 2.15.3 + +*2021-06-29* + +#### New features + +- Skeleton + - add skeleton component (#21038 by @cs1707) +- Empty + - add empty component (#21080 by @cs1707) + +#### Bug fixes + +- Local + - fix week translations for hr locale (#21040 by @cs1707) +- Table + - fix lazy load data (#21041 by @cs1707) +- Docs + - fix form hide-required-asterisk description (#21045 by @cs1707) +- Drawer: + - fix destroy (#20715 by @zj9495) +- Row + - fix align top (#20963 by @cs1707) +- Select + - fix the bug when the value is Boolean (#21052 by @cs1707) +- Calendar + - fix first-day-of-week (#21057 by @cs1707) +- Utils + - fix isScroll (#21065 by @cs1707) + - fix(utils.dom by @fw6) +- TypeScript + - add CascaderPanel export type (#21070 by @qige2016) + - add spinner.d.ts (#21090 by @qige2016) + +### 2.15.2 + +*2021-05-28* + +#### Bug fixes + +- Image + - fix z-index and keydown event add stopPropagation (#20859 by @cs1707) +- Input + - fix show password cursor (#20870 by @cs1707) + - fix show password icon in edge (#20902 by @cs1707) +- Carousel + - fix interval and scale bug (#20931 by @cs1707) +- Cascader + - fix delete tag bug (#20939 by @cs1707) +- Drawer + - add overflow auto (#20948 by @cs1707) +- Others + - fix isFunction (#20912 by @cs1707) + +### 2.15.1 + +*2021-02-23* + +#### Bug fixes + +- Drawer + - bugfix (by @cs1707) +- Image + - fix incorrect image object fit ratio in IE (#19583 by @charlie0228) +- Cascader + - fix cascader panel active path (#20730 by @cs1707) +- Calendar + - fix calendar component i18n bug (#20758 by @iamkun) +- ColorPicker + - fix bugs (by @UxieVerity) + +#### Optimization + +- Doc + - update Axure resource v2.1.0 (by @iamkun) +### 2.15.0 + +*2021-01-15* + +#### Bug fixes + +- Select + - Fix placeholder i18n bug (#17644 by @nzh63) +- Popconfirm + - Popconfirm i18n bug by @iamkun +- Drawer + - Fix focus bug (#20626 by @cs1707) +- Image + - Preview optimization (#20652 by @cs1707) + +#### Optimization + +- Doc + - Fix typo in french translation of datetime-picker.md (#20543 by @lonk) + - Add format attribute description to the progress component (#20641 by @cs1707) + +### 2.14.1 + +*2020-11-11* + +#### Bug fixes + +- Popover + - Compatible with Vue 2.6 new v-slot syntax (#20424 by @iamkun) + +#### Optimization + +- I18n + - Update Arabic translation (#20202 by @elkattan) + - Update Uighur translation (#20177 by @IlhamTahir) + +### 2.14.0 + +*2020-10-29* + +#### Breaking changes + +- Popconfirm + - Rename event name to `confirm`, `cancel` (#20240 by @hugiron) + +#### Bug fixes + +- Progress + - Fix attribute error (#19985 by @Caaalabash) + +#### Optimization + +- I18n + - Update Russian translation (#19451 by @yangirov) + - Update Khmer translation (#20077 by @Sovai) + - Update Ukrainian translation (#20344 by @MammutAlex) + +### 2.13.2 + +*2020-05-18* + +#### Correcci籀n de errores + +- Autocomplete + - Arreglado el error cuando se daba el evento change (#19200 by @sxzz) +- Image + - Actualizado el estado de error (#19194 by @lhx6538665) + +#### Optimizaci籀n + +- I18n + - Actualizaci籀n de la traducci籀n del popconfirm al Ruso (#19220 by @Opppex) + - Actualizaci籀n de la traducci籀n al vi (#19244 by @quangln2810) + - Actualizaci籀n de la traducci籀n al Catal獺n y al Espa簽ol (#19296 by @Ismaaa) + - Actualizaci籀n de la traducci籀n al Indonesio (#19320) by @therour) + - Actualizaci籀n de la traducci籀n al Portugu矇s Brasile簽o (#19374 by @diegomengarda) + + +### 2.13.1 + +*2020-04-13* + +#### Nuevas caracter穩sticas +- Autocomplete + - Agregado el evento change (#17913 by @sxzz) + +#### Correcci籀n de errores + +- Autocomplete + - Solucionado el error de la sugerencia en textarea (#18478 by @Roojay) +- Carousel + - Arreglado el error de escritura de la consola (#18264 by @IceFox) +- Image + - Solucionado el error de que no se mostraba el preview si no exist穩a el src (#18975) (#19130 by @luckyCao) + - Arreglado el problema de que el shortcut key no funcionaba la segunda vez (#18983) (#19156 by @luckyCao) + - No muestra la imagen cuando preview es falso (#18967 by @inooNgt) +- Transfer + - Corregida la altura (line-height) incorrecta del primer elemento del el-transfer cuando era usado con el-form-item (#18917 by @Hanx) +- InputNumber + - Calculo correcto de inputNumberDisabled (#18439 by @ashuser-pendo) +- Tarea + - Se quito la introducci籀n del index (#19155 by @iamkun) +- Documentaci籀n + - Actualizaci籀n de la documentaci籀n de Popconfirm (#18324 by @iamkun) + - Arreglado el error tipogr獺fico de la documentaci籀n de Fix step-strictly (#18705 by @dream2023) + - Corregido un type error en la documentaci籀n de steps component (#17555 by @haoranyu) + +### 2.13.0 + +*2019-11-26* + +#### Nuevas caracter穩sticas + +- Popconfirm + - Agregado componente popconfirm (#17548 by @iamkun) + +#### Correcci籀n de errores + +- BackTop + - Se usa cubic bezier para el scroll (by @lon) +- DatePicker + - Arreglado el fallo cuando solo se eleg穩a fecha m穩nima en un rango de fechas (#17191 by @smk0621) +- Select + - Arreglado los casos de test del select (by @msidolphin) +- Tree + - Agregado font-size para el estilo del texto cuando esta vac穩o el tree (#17094 by @spengjie) +- Table + - La cabecera de la columna puede modificarse (#17291 by @ziyoung) + - Se actualizo el estilo de la cabecera de la tabla de la celda (#17284 by @ziyoung) + - Se soluciono el problema de height de la cabecera de la tabla despu矇s de un filtro (#17348 by @ziyoung) + - Corregido el estilo de la fila que con display no funcionaba (#17002 by @a631807682) + - Arreglado que la cabecera de la tabla no se mostraba (#17341 by @ziyoung) +- Calendar + - La importaci籀n de el-button y el-button-group (#17376 by @masongzhi) +- MessageBox + - Corregido el error de posici籀n del icono (#17410 by @nullptru) +- TimePicker + - Establecido el rango de selecci籀n despu矇s de hacer scroll (#16868 by @mattheyan) +- Message + - Corregido el offsetHeight al cerrar la instancia嚗�#17564嚗� (#17852 by @gzwgq222) +- Form + - La funci籀n de llamada de validateField es opcional (#17314 by @CarterLi) +- Cascader + - Corregida la compatibilidad con TypeScript 3.7 (#17881 by @CarterLi) +- Menu + - Corregido el error de la ruta de navegaci籀n duplicada cuando se usaba vue-router@^3.1.0 (#17269 by @iamkun) +- Dropdown + - Actualizaci籀n del tipo de archivo (#17550 by @iamkun) +- Progress + - Agregada la prop strokeLinecap (#17552 by @iamkun) +- InfiniteScroll + - Salto del disparo de evento en elementos invisibles (#17553 by @iamkun) +- Image + - Comportamiento perfecto de personalizaci籀n de im獺genes (#16985 by @luckyCao) + - Corregida la pagina cuando se hace preview de im獺genes grandes (#16796 by @luckyCao) +- Drawer + - Corregido el fallo del append-to-body del drawer que no funcionaba (#16953 by @JeremyWuuuuu) +- Select + - Corregido: ahora muestra el tag o el valor vac穩o (17199 by @luckyCao) +- Scrollbar + - Arreglado el ancho del scroll en FireFox (#18091 by @iamkun) + +#### Optimizaci籀n + +- I18n + - Actualizado sv-SE.js (#17926 by @FOLLGAD) + - Actualizada la documentaci籀n para franc矇s para el componente avatar (#17762 by @blombard) +- Docs + - Arreglada la typografia de time-select (#17250 by @wacky6) + - Arreglado en Drawer, ahora el atributo value acepta tipograf穩as en espa簽ol (#17122 by @haoranyu) + - Actualizaci籀n del Changelog 2.12.0 al espa簽ol (#17364 by @Gonzalo2310) + - Arreglo de la tipograf穩a del Changelog (#17874 by @renlixin) + - Arreglada la demo de Loading (#17862 by @MBearo) + - Agregado el evento input en los inputs de Table (#18061 by @zhouxinyong) + - Eliminado el evento repetitivo change de los input (#18085 by @zhouxinyong) + +### 2.12.0 + +*2019-08-29* + +#### Nuevas caracter穩sticas + +- Popover + - Agregada la prop close-delay (#16671 by @LachlanStuart) +- Theme + - A簽adida la extensi籀n Chrome: Element Theme Extensi籀n (#16686 by @iamkun) +- Icon + - A簽adido font-display a la declaraci籀n @font-face (#16805 by @iamfaizalandyka) + +#### Correcci籀n de errores + +- Carousel + - Corregido el valor emitido por onChange (#16705 by @iamkun) +- Notification + - Correcci籀n de la modificaci籀n del objeto de opci籀n entrante (#16704 by @iamkun) +- DatePicker + - Agregado el className para la opci籀n picker (#16632 by @iamkun) +- DateTimePicker + - Correcci籀n del time-spinner que no se desplazaba a la posici籀n correcta (#16854 by @jesse-li) +- Table + - Evitar la propagaci籀n del click despu矇s del arrastre (#16850 by @ziyoung) + - Corregido una error en chrome que se produc穩a cuando el css de thead tenia display: none (#16956 by @luckyCao) + - Corregida la altura incorrecta de los bloques vac穩os (#16861 by @ziyoung) + - No hay lanzamiento de error cuando se llama a toggleExpansion (#16304 by @yyjjqq94) + - No se lanza el evento sort-change cuando esta montado (#17113 by @a631807682) + - Corregido que el setCurrentRow no borraba la linea resaltada (#16879 by @ziyoung) + - Corregido que expand-row-keys no funcionaba cuando los datos eran cargados asincr籀nicamente (#16899 by @ziyoung) + - Establecido toggleAllSelection como propiedad instanciada (#17137 by @ziyoung) +- Tree + - Corregida la distancia entre label y checkbox (#16799 by @Hazlank) +- Tabs + - Corregida la posici籀n incorrecta de los item's del Tab (#16520 by @victorting) + - Corregido el error de que la pesta簽a activada estaba fuera del rango visual (#17033 by @nullptru) +- Calendar + - Arreglado el problema de los d穩as de la semana con i18n (#16772 by @ubitoffee) + - Corregido el error de localizaci籀n (#17208 by @iamkun) +- Cascader + - Corregido un error de visualizaci籀n del CascaderPanel (#16716 by @zhangHongEn) + - Corregido el problema de disable status y close button (#16224 by @yyjjqq94) +- Input + - Arreglado el evento de composici籀n coreana (#15069 by @MoonHyuk) + - Arreglado el evento click del bot籀n clear que no se lanzaba cuando se usaba v-loading (#16576 by @a631807682) +- Select + - No cambiaba el dropdown cuando se filtraba (#17205 by @luckyCao) +- Transfer + - Arreglado un error de estilo (#17206 by @iamkun) +- Dialog + - Actualizada las variables Sass (#16365 by @haoranyu) +- RadioGroup + - No produce HTML invalido en la tabla si el atributo 'is' es especificado (#17070 by @nullptru) +- Divider + - Soporta clases personalizadas (#17078 by @island205) + +#### Optimizaci籀n + +- Checkbox + - Mejorada la experiencia del lector de pantalla (#16575 by @tylertrotter) +- Docs + - Actualizado changelog (#16773 by @SimonaliaChen) + - Actualizada la gu穩a de contribuci籀n (#14800 by @sinchang) + - Arreglado typo en la documentaci籀n de Drawer (#16848 by @winkay) + - Actualizado el tema personalizado (#16983 by @iamkun) + - Agregada traducci籀n en Esperanto (#16955 by @maxkoryukov) + - Actualizada la documentaci籀n de input-number sobre el evento change (#16316 by @luckyCao) + - Actualizada la documentaci籀n en Espa簽ol 2.11.1 (#16961 by @Gonzalo2310) +- I18n + - Eliminada la traducci籀n de 'year' en idioma Catal獺n como en otros idiomas (#14722 by @oscaralbareda) + - Actualizado el changelog de las versiones 2.10.0 y 2.10.1 en Espa簽ol (#16548 by @Gonzalo2310) + - Actualizado ar.js (#16653 by @l3op) +- Test + - Corregir error ortogr獺fico (#16672 by @boomler) + - Refractorizacion del unit test para usar data-uri (#16847 by @a631807682) +- Types + - Correcci籀n del tipo httprequest (#16633 by @luckyCao) + +### 2.11.1 + +*2019-07-26* + +#### Correcci籀n de errores + +- Image + - Corregido el componente Image para compatibilidad SSR (#16737 by @luckyCao) +- Tarea + - Actualizado para compatibilidad con dart-sass by @LewisChennnnn) + +### 2.11.0 + +*2019-07-25* + +#### Nuevas caracter穩sticas + +- Drawer + - Agregado componente drawer (#16577 by @JeremyWuuuuu) + +#### Correcci籀n de errores + +- Checkbox + - Mejora del selector css (#16006 by @Hazlank) +- Tree + - Establecido el el-tree como gen矇rico (#15934 by @JeremyWuuuuu) + - Establecido la prop isCurrent como False (#15870 by @kkkisme) +- Dropdown + - Corregido el color predeterminado de los split-button (#15931 by @JuniorTour) +- Cascader + - Corregido un problema de actualizaci籀n cuando el nivel 1 de children estaba vaci籀 (#16399 by @luckyCao) + - Ahora se muestra correctamente header cuando range esta especificado (#16354 by @ziyoung) + - Agregados valores por defecto cuando lazy es true (#16420 by @luckyCao) + - Solucionado problemas de visualizaci籀n (#15935 by @junyiz) + - Expuestos los getCheckedNodes y correcci籀n de errores en el cambio de opciones (#16709 by @SimonaliaChen) +- Submenu + - Corregida la prop append-to-body (#16289 by @a631807682) +- Table + - Arreglado un fallo en la actualizacion de los datos de tree table (#16481 by @island205) +- Select + - Arreglado un problema de fuga de memoria (#16463 by @island205) +- InfiniteScroll + - Actualizada la nomenclatura y la documentacion (#16698 by @iamkun) +- Avatar + - Arreglado que la imagen no se centraba verticalmente (#16489 by @luckyCao) +- Dialog + - Agregado el atributo destroyOnClosee (#16455 by @ziyoung) +- Image + - Agregada la funci籀n de vista previa grande de im獺genes (#16333 by @luckyCao) + +#### Optimizaci籀n + +- Documentaci籀n + - Arreglada la demo de dropdown (#16193 by @webxmsj) + - Correcci籀n de errores tipogr獺ficos en las tablas de documentos (#15971 by @howiefh) +- I18n + - Actualizada la traduccion del lenguage Thai (#16689 by @ponkrit) +- Tareas + - Actualizada la api base del tema (#16607 by @iamkun) + - A簽adido token del formulario del tema (#16699 by @iamkun) + - Marcar todos los accesos internos del usuario (#16609 by @iamkun) + - Correcci籀n del error de anclaje del documento (#16692 by @iamkun) + +### 2.10.1 + +*2019-07-02* + +#### Correcci籀n de errores + + +- Table + - Corregido el icono de ordenaci籀n (#15439 by @bezany) + - Corregidas las rupturas del layout cuando exist穩a un slot (#16332 by @ziyoung) + - Corregido showOverflowTooltip no era reactivo (#16295 by @a631807682) + - Registrada la scrollbar en el panel de filtro (#16246 by @ziyoung) +- Tareas + - Arreglada la documentaci籀n 2.9 (#16233 by @ziyoung) + - Corregido el 穩ndice de la p獺gina de introducci籀n del tema en ingl矇s que tenia un error en los estilos css (#16254 by @iamkun) + +#### Optimizaci籀n + +- Tag + - Compatible con IE (#16334 by @ziyoung) +- Tarea + - Actualizada la imagen QR de Dingtalk Group (#16236 by @iamkun) +- Doc + - Actualizada la documentaci籀n online del theme roller (#16244 by @iamkun) + +### 2.10.0 + +*2019-06-25* + +#### Nuevas caracter穩sticas + +- I18n + - A簽adido idioma Uzbeko (#15796 by @ogabek96) +- Calendar + - A簽adido el atributo del primer d穩a de la semana (#16047 by @ziyoung) +- Avatar + - Agregado componente Avatar (#16144 by @luckyCao) +- Upload: + - A簽ade capacidad para personalizar la plantilla de miniaturas (#13192 by @victorzhuk) + +#### Correcci籀n de errores + +- Tree + - No resaltar el nodo de 獺rbol cuando currentKey es nulo (#15668 by @yyjjqq94) + - Solucionado el problema #15538 causado por dos Tree que compartian los mismos datos.(#15615 by @VanMess) +- Upload + - Actualizado el tipo del par獺metro `fileList` (#15716 by @underfin) +- Table + - Solucionado que el icono de loading no se mostraba (#15868 by @ziyoung) + - Corregido el color de fondo de una tabla compleja cuando se desplaza el cursor (#15504 by @cnlon) + - Corregido current-row-key y el bug del evento select (#15983 by @ziyoung) + - Height acepta m獺s unidades (#16013 by @ziyoung) + - Solucionado reserve-selection no funcionaba (#16135 by @ziyoung) +- Docs + - Corregido el tipo de atributo Divider en zh-cn (#15889 by @haoranyu) + - Se elimina una etiqueta html de cierre incorrecta y el c籀digo de bloque vac穩o (#16194 por @Alexeykhr) +- Menu + - Corregido un error oculto en el submen繳 despu矇s de a簽adir popper-append-to-body (#15391 by @PanJiaChen) +- Select + - Arreglado initialInputHeight (#15989 by @yyjjqq94) + - Corregido el comportamiento de default-first-option cuando se escribe chino (#15431 by @VanMess) + - Corregido el problema de importaci籀n doble (#16215 by @lengband) +- Message + - A簽adida la opci籀n type def para offset (#16027 by @matjaz) +- Timeline + - Arreglado reverso roto (#16091 by @ziyoung) +- Slider + - Corregido #15545 agregando explicaciones sobre el evento "input" en chino (#15588 by @VanMess) +- InfiniteScroll + - Actualizaci籀n del nombre del paquete (#16125 by @iamkun) +- MessageBox + - Arreglado el bug de distinguishCancelAndClose, la acci籀n no era la misma que la documentada (#15438 by @qingdengyue) +- PopupManager + - Arreglado que el z-index no pod穩a ser reescrito la primera vez que se usaba (#15738 by @luckyCao) +- Tarea + - Actualizado el test del api host (#15807 by @iamkun) + +#### Optimizacion + +- Tree + - Modificar las condiciones del bucle para mejorar el rendimiento (#15699 by @KingJeason) +- Theme + - Refinado GA track & actualizado el link del pie que lleva al theme roller online (#16007 by @island205) +- Badge + - Actualizado el check del prop badge (#16198 by @iamkun) +- Avatar + - Actualizado el var del config del theme (#16202 by @luckyCao) +- I18n + - Actualizada la traducci籀n del portugu矇s (#15776 by @gigioSouza) + - Actualizada la traducci籀n del idioma Farsi (#15881 by @pamenary) +- Docs + - Agregado componentes faltantes en el quick start (#16063 by @pape2016) + - Actualizada la traducci籀n al franc矇s (#16208 by @blombard) + - Agregada descripci籀n $slots.default (#15444 by @Alexeykhr) + - Actualizada la Doc en Espa簽ol 2.9.1 (#15840 by @Gonzalo2310) + - Correcci籀n de errores ortogr獺ficos en fr (#15837 by @blombard) + - Actualizado el changelog 2.9.2 en espa簽ol (#16185 by @Gonzalo2310) + +#### Breaking changes + +- Form + - Eliminado el estado success (#16159 by @ziyoung) + +### 2.9.2 + +*2019-06-21* + +#### Correcci籀n de errores + +- Tareas + - Solucionadas las definiciones de archivos TS (#15805 by @NateScarlet) + +### 2.9.1 + +*2019-05-30* + +#### Nuevas caracter穩sticas + +- Table + - Los metodos tree-props嚗efault-expand-all, expand-row-keys, toggle-row-expansion y el evento expand-change son compatibles con Tree Table (#15709 by @ziyoung) + +#### Correcci籀n de errores + +- Table + - Correcci籀n de algunos errores (#15709 by @ziyoung) +- Theme + - Actualizaci籀n del host de la api (#15784 by @iamkun) + +#### Optimizaci籀n + +- Tarea + - Una actualizaci籀n del tipo InfiniteScroll (#15794 by @iamkun) + +### 2.9.0 + +*2019-05-30* + +#### Nuevas caracter穩sticas + +- Backtop + - A簽adido componente Backtop (#15541 by @iamkun) +- PageHeader + - A簽adido el componente PageHeader (#15714 by @ziyoung) +- InfiniteScroll + - A簽adida la directiva InfiniteScroll (#15567 by @iamkun) +- Cascader + - Agregado modo m繳ltiple y m矇todo de filtro (#15611 by @SimonaliaChen) +- Message + - Visualizaci籀n en modo stack (#15639 by @island205) +- Tag + - A簽adido prop effect (#15725 by @SimonaliaChen) +- Tabs + - Alinea el t穩tulo a la izquierda cuando el tipo es card (#15695 by @luckyCao) +- DatePicker + - Soporta cadenas literales (#15525 by island205) +- Image + - A簽adido soporte para transmitir attrs y listeners (#15578 by @VanMess) +- Theme + - A簽adido fondo al popup (#15412 by @iamkun) +- Tarea + - Actualizada la nueva p獺gina de 穩ndice 2.9.0 (#15682 by @iamkun) + +#### Correcci籀n de errores + +- Table + - Corregido el comportamiento de cambio de orden cuando la condici籀n de orden es nula (#15012 by @joelxr) +- Image + - Corregido ssr y compatibilidad de ajuste de objetos (#15346 by @SimonaliaChen) +- Input + - Corregido estilo show-word-count en el-form (#15359 by @lvjiaxuan) + - Corregido el icono de borrar que no estaba centrado (#15354 by @YiiGuxing) +- Calendar + - Corregido d穩a de la semana no correcto cuando el d穩a es domingo (#15399 by @qingdengyue) + - Corregido error de desaparici籀n de octubre (#15394 by @qingdengyue) +- Tabs + - Correcci籀n de la pesta簽a b獺sica anidada en el error de relleno de la pesta簽a de la tarjeta (#15461 by @SimonaliaChen) +- Tag + - Corregido problema de propagaci籀n de stop (#15150 by @infjer) +- Form + - Corregido el error de grupo de entrada dentro de la altura del elemento de formulario (#15457 by @SimonaliaChen) + - Solucionado el problema de resetFields (15181 by @luckyCao) +- Tooltip + - Corregido tabindex personalizado no funcionaba (#15619 by @SimonaliaChen ) +- Link + - Arreglada la clase de estilo del icono de enlace (#15752 by @iamkun) +- Select + - Revertir el valor establecido a nulo cuando se borra (#15447 by @iamkun) +- Loading + - Corregido dom no cambia cuando el estado de carga cambia r獺pidamente (#15123 by @FAKER-A) +- Switch + - Etiqueta con el evento de repetici籀n del interruptor (#15178 by @FAKER-A) +- Slider + - Arreglado el problema de estilo al hacer clic en la barra deslizante (#15561 by @luckyCao) +- Radio + - Solucionado el problema 14808 (#14809 by @OverTree) +- Form + - Solucionado el problema de resetFields (15181 by @luckyCao) +- Tarea + - Se actualizaron las dependencias y se corrigi籀 el error de demostraci籀n (#15324 by ziyoung) + - Type + - Corregida la definici籀n del tipo de carga (#15635 by @iamkun) + - Corregido tipo Icono (#15634 by @iamkun) + - Corregida la definici籀n del tipo de enlace (#15402 by @iamkun) + +#### Optimizaci籀n + +- Cascader + - Refractorizaci籀n (#15611 by @SimonaliaChen) +- Tarea + - Actualizaci籀n hacer nueva l籀gica de componentes (by @iamkun) +- Documentaci籀n + - Renombrar variable en docs (#15185 by @liupl) + - Corregido el atributo type de imagen y el valor por defecto (#15423 by @haoranyu) + - Corregido error en la doc de form (#15228 by @SHERlocked93) + +### 2.8.2 + +*2019-04-25* + +#### Correcci籀n de errores + +- Icon + - Actualizado icon (#15272 by @iamkun) +- Docs + - Arreglada la documentacion de Form e Input (#15273 by @ziyoung) + +### 2.8.1 + +*2019-04-25* + +#### Correcci籀n de errores + +- Icon + - Actualizado el icono de cascader y select (#15264 by @SimonaliaChen) + - Actualizado icon (#15258 #15268 by @iamkun) + +#### Optimizaci籀n + +- Chore + - Actualizado build script (#15267 by @ziyoung) +- Docs + - Arreglado el color underline de link (#15265 by @iamkun) +- Other + - Arreglada la migracion de la configuracion no compatible con camel case props y eventos (#15260 by @SimonaliaChen) + +### 2.8.0 + +*2019-04-25* + +#### Nuevas caracter穩sticas + +- Divider + - Agregado el componente Divider (#15055 by @island205) +- Rate + - Agregados colores personalizados y clases de iconos pasando un objeto (#15051 by @SimonaliaChen) +- Link + - Agregado componente Link (#15052 by @iamkun) +- Calendar + - Agregado el componente Calendar (#14908 by @ziyoung) +- Icon + - Agregado Icon (#15214 by @iamkun) +- Alert + - Agregado tema dark (#15041 by @island205) +- Image + - Agregado componente image (#15117 by @SimonaliaChen) +- Collapse + - CollapseItem puede ser disabled (#15076 by @ziyoung) +- Carousel + - Agregado atributo direction y soporte para la direccion vertical (#15122 by @ziyoung) +- Pagination + - Agregado atributo hide-on-single-page (#15096 by @ziyoung) +- Slider + - Agregado atributo marks (#15133 by @luckyCao) +- Input + - Agregado attributo show-word-count (#15075 by @luckyCao) +- InputNumber + - Agregado atributo step-strictly (#15050 by @luckyCao) +- Tooltip, Dropdown, Popover + - Soporte para el atributo tabindex (#15167 by @ziyoung) + +#### Correcci籀n de errores + +- Notification + - Arreglado el word break del titulo (#15008 by @iamkun) +- Form + - Arreglado que cuando se cambiaban las reglas en el-form no funcionaba (#14985 by @luckyCao) + - Arreglado el estilo del label (#14969 by @ziyoung) + - Los FormItem requeridos muestran astericos cuando el label es auto (#15144 by @ziyoung) +- Pagination + - Arreglado que el slot no se actualizaba (#14711 by @lucyhao) +- Table + - Arreglado un bug del load en el modo lazy (#15101 by @ziyoung) + - Arreglado el ancho de la celda cuando colspan es mayor que 1 (#15196 by @ziyoung) + - Mejora en el rendimiento (#14868 by @ziyoung) + - No se emiten disparadores del evento sort-change durante la inicializacion (#14625 by @PeanutWatson) + - Igual comportamiento para height y max-height (#14660 by @arthurdenner) +- Dialog + - Arreglado que el cuerpo del dialog quiebre las palabras correctamente en las palabras largas (#15027 by @iamkun) +- Alert + - Actualizada la definicion de type (#15186 by @ziyoung) +- Tabs + - Solucionado el problema por el que el rechazo de la promesa estaba afectando a la aplicaci籀n (#14816 by @ffxsam) + - Rerender cuando hay cambios en el slot (#15238 by @ziyoung) +- Message + - Actualizada la definicion de type (#14968 by @agoni1212) +- Select + - Solucionado el error cuando value es undefined o null (#15022 by @luckyCao) +- Tree + - Eliminar el nodo actual despues de removido (#14604 by @sinchang) + - Mejora en el rendimiento (#14881 by @ChenZhuoSteve) +- Dropdown + - Estilo arreglado (#14907 by @doing123) +- Slider + - Correcci籀n de un fallo en el teclado a11y (#14792 by @erezsob) +- Menu + - El valor de ActiveIndex ser獺 nulo si el defaultIndex no existe (#14074 by @hoythan) +- Directive + - RepeatClick: usa Date.now() en lugar de new Date() (#14776 by @pavelmash) +- Upload + - Arreglado el estilo para mostrar imagenes transparentes (#15039 by @iamkun) +- Theme + - Agregado zero border (#15256 by @iamkun) + +#### Optimizaci籀n + +- Tareas + - Actualizado changelog zh-cn (#14965 by @iamkun) + + - Ocultar la descripcion de la demo cuando esta vacia (#15014 by @ziyoung) + + - Muestra la info dev del server por defecto @iamkun) + + - Arreglado un error del changelog v2.6.0 (#15026 by @iamkun) + + - Actualizado build config (#14821 by @abc3660170) + + - Agregado hmr (#15221 by @SimonaliaChen) + + - Uso de sourcemap en entorno dev (#15087 by @ibufu) Docs + + - Cambio de nombre de variable en docs (#14602 #15003 #15094 #15105 by @liupl) + + - Arreglado un error en la documentacion de upload (#15023 by @iamkun) + + - Actualizada la documentacion del custom validator del Form (#15040 by @iamkun) + + - Actualizada la documentacion de Tabs de como mostrar tabs verticales (#15053 by @iamkun) + + - Uso del dominio eleme.cn (#15139 by @ziyoung) + + - Arreglado el nombre de la ruta de im獺genes (#15194 by @iamkun) + + - Eliminada la traducci籀n duplicada en franc矇s (#15207 by @iamkun) + + + +#### Breaking changes + +- Rate + - Arreglado Fix decimal display support in disabled mode (#15089 by @haoranyu) +- Select + - Se usa la opcion placeholder del label para poner el placeholder en el modo filter (#14989 by @ibufu) + +### 2.7.2 + +*2019-04-03* + +#### Correcci籀n de errores + +- Form + - Arreglado el estilo auto `label-width` (#14955 by @ziyoung) + +#### Optimizaci籀n +- Docs + - Arreglado un error de link de una imagen (#14957 by @iamkun) +- Chore + - Arreglado un error de mkdir en el deploy (#14952 by @iamkun) + +### 2.7.1 + +*2019-04-03* + +#### Correcci籀n de errores + +- Select + - Se asigna null a value cuando se limpia (#14322 by @aaronfulkerson) +- Input + - Actualiza los valores dependientes en el DOM cuando el tipo cambia (#14889 by @wacky6) +- Table + - Hacer que defaultExpandAll funcione cuando exista una columna expandida (#14935 by @ziyoung) +- Dialog + - El color de fondo puede ser configurado (#14939 by @ziyoung) +- Form + - `label-width` soporta auto width (#14944 by @ziyoung) + +#### Optimizaci籀n +- Docs + - Actualizaci籀n de la documentaci籀n en espa簽ol (#14913 by @Gonzalo2310) + - Agregada documentaci籀n en franc矇s para el nuevo componente (#14924 by @ziyoung) + - Documentaci籀n de los Tabs optimizada (#14938 by @ziyoung) + +### 2.7.0 + +*2019-03-28* + +#### Nuevas caracter穩sticas + +- Table + - Agregado soporte de datos con estructura tree (#14632 by @ziyoung) + +#### Correcci籀n de errores + +- Tabs + - Uso de color primario como boxShadow color (#14558 by @Richard-Choooou) + - Renderizaci籀n cuando cambia la etiqueta (#14496 by @akki-jat) +- Table + - El pie de p獺gina sigue la alineaci籀n de las celdas del body (#14730 by @ziyoung) +- NavMenu + - Se ha corregido que al hacer click en el el-submenu se disparaba childMenu nuevamente (#14443 by @PanJiaChen) +- Dropdown + - Compatible con la nueva sintaxis de v-slot en V 2.6 (#14832 by @ziyoung) +- ColorPicker + - Corregido el manejo de error de string en hex color (#14793 by @iamkun) +- Tree + - Revertido pr #13349 (#14847 by @ziyoung) +- Tooltip + - Muestra cuando el valor inicial es verdadero (#14826 by @ziyoung) +- Docs + - Actualizaci籀n de documentos de cascader (#14442 by @panhezeng) +- Style + - Correcci籀n de la media query en sm-only, md-only, lg-only (#14611 by @sinchang) + +#### Optimizaci籀n + +- Chore + - A簽adido descripci籀n de la p獺gina web (#14802 by @iamkun) + +### 2.6.3 + +*2019-03-21* + +#### Correcci籀n de errores + +- Correcci籀n del estilo de demostraci籀n de Cascader (#14789 by @ziyoung) +- Eliminaci籀n de la operaci籀n DOM innecesaria (#14788 by @ziyoung) +- Correcci籀n del valor predeterminado del DST de DatePicker (#14562 by @wacky6) + +### 2.6.2 + +*2019-03-21* + +#### Nuevas caracter穩sticas + +- DatePicker + - A簽adido monthrange para el atributo type (#14487 by @zxyRealm) +- i18n + - A簽adido Locale Croata (#14360 by @danijelh) +- Docs + - Actualizaci籀n del documento en franc矇s para 2.6.1 y correcci籀n de errores tipogr獺ficos (#14555 by @smalesys) + - Actualizaci籀n de la traducci籀n al franc矇s (#14643 by @smalesys) + +#### Correcci籀n de errores + +- Input + - Corregida regresi籀n (#14572 by @wacky6) +- DatePicker + - Correcci籀n del c獺lculo del primer d穩a de la semana (#14523 by @sinchang) + - Corregido el formato de valor del selector de semana (#13754 by @wacky6) +- Steps + - Corregida issue #14502 (#14596 by @sinchang) + - Arreglado estilo con tema simple (#14610 by @sinchang) +- Docs + - Renombrada variable en documentos de Table (#14587 by @likwotsing) + - A簽adido 穩ndice de b繳squeda en franc矇s (#14565 by @iamkun) + - Correcci籀n del estilo de p獺gina TimePicker (#14579 by @ziyoung) + - Renombrada variable en Upload docs (#14593 by @liupl) + - Actualizaci籀n de los documentos del Form async validator (#14694 by @iamkun) + - Solucionado el error de tooltip doc (#14748 by @iamkun) + - Corregido error tipogr獺fico (#14751 by @2bj) + - Corregido los elementos de control de resaltado para Webkit touch (#14703 by @VladG0r) + + +#### Optimizaci籀n + +- Chore + - Actualizaci籀n del script de construcci籀n de ci (#14600 by @ziyoung) + - Actualizaci籀n ga tracking (#14560 por @iamkun) + - A簽adido m獺s evento ga (#14633 by @iamkun) + - Actualizaci籀n del grupo de discusi籀n (#14741 por @iamkun) + - Actualizaci籀n de los deps y conf de las pruebas (#14735 by @wacky6) + - Actualizaci籀n gulp (#14745 by @ziyoung) + - Uso de codepen para mostrar la demo y corregir el error doc (#14747 por @ziyoung) + +### 2.6.1 + +*2019-03-03* + +#### Correcci籀n de errores + +- **Don't specify node version** (by @iamkun in #14546) +- Correcci籀n del directorio doc en `deloy-faas.sh` (by @ziyoung in #14553) +- Arreglado el estilo de date en changelog para 2.6.0 (by @island205 in #14547) +- Corregido error tipogr獺fico en doc (by @wack6 in #14552) + +### 2.6.0 + +*2019-03-01* + +#### Nuevas caracter穩sticas +- Timeline + - Agregado componente timeline (by @jikkai in #14248) +- DropdownItem + - A簽adida la prop icon a `el-dropdown-item` (by @gabrielboliveira in #14088) +- Input + - A簽adida la prop show-password (by @phshy0607 in #13966) +- Select + - A簽adido el slot `empty` (by @elfman in #13785) +- Autocomplete + - A簽adida la prop highlight-first-item (by @YamenSharaf in #14269) +- I18n + - Locale Armenio creado (by @hamletbarsamyan in #14214) +- Docs + - Traducci籀n al franc矇s (by @smalesys in #12153, #14418, #14434) + +#### Optimizaci籀n +- Alert + - Actualizada la descripci籀n de Alert (by @iamkun in #14488) +- Input + - Actualizado input password (by @iamkun in #14480) +- InputNumber + - Removido parseFloat innecesario (by @JuniorTour in #14172) +- Menu + - A簽adido soporte para `el-menu-item` sin 穩ndice (by @georgyfarniev in #13298) +- Table + - Eliminadas algunas operaciones DOM html (by @elfman in #13643) +- Upload + - Optimizado el c籀digo (by @elfman in #13973) +- Popup + - Optimizado el c籀digo (by @KAionro in #14413) +- Docs + - Se han agregado m獺s detalles sobre c籀mo ejecutar el modo de play para contribuir (by @island205 in #14355) + - Warn input como componente de control. (by @wacky6 in #14463) + - Actualizacion de la documentacion de Table (by @luguokong in #14329) + - Actualizacion de la documentacion de input (by @iamkun in #14437) + - Actualizacion de la documentacion de custom-theme (by @wangguohao in #14297) + - Se ha hecho que el icono cambie de estilo en hover (by @tuxinghuan in #14295) +- Build + - Minimizaci籀n de css y js para la doc del sitio de Element (by @iamkun in #14430) + - Aceleraci籀n de webpack (by @hetech in #14484) + - Uso de cli para seleccionar la versi籀n de lanzamiento (by @hetech in #14354) +- Instalaci籀n de stale para el manejo de issues (by @island205 in #14392) + +#### Correcci籀n de errores +- Menu + - Corregido el error de focus del submen繳 cuando se cambiaba la pesta簽a del navegador (by @liupl in #13976) +- MessageBox + - Corregida la definicion de type (by @NateScarlet in #14278) +- ScrollBar + - Prevenido el clic del bot籀n derecho en la miniatura (by @xifeiwu in #14196) +- Switch + - Activaci籀n de la validaci籀n de formularios si el valor cambia (by @hetech in #14426) +- Table + - Se ha convertido el m矇todo toggleAllSelection en un m矇todo de instancia (by @letanure in #14075) +- Tabs & Dropdown + - Estilo arreglado (by @hetech in #14452) +- Tree + - Los tips de texto vac穩o son diferentes de las tablas (by @ColinCll in #14331) +- Docs + - Corregido el error de formato de la documentacion de DatetimePicker (by @iamkun in #14290) + - Problema de ortograf穩a en la documentaci籀n de datepicker (by @helmut in #14481) + - Arreglado estilo doc de paginaci籀n (by @liuchuzhang in #14451) + +#### Breaking changes +- Table + - Cambiar el orden de los par獺metros enviados en los eventos de las filas (by @jikkai in #12086) + +### 2.5.4 + +*2019-02-01* + +#### Correcci籀n de errores + +- Build: Se ha solucionado el problema de configuraci籀n de babel que provocaba que el efecto de transicion de collpase se rompiera (por @island205 en #14282) + +### 2.5.3 + +*2019-01-31* + +#### Optimizaci籀n + +- Optimizaci籀n del c籀digo de Message (por @vok123 en #14029) +- Retirada de gh-pages (por @ziyoung en #14266) +- A簽adido enlace IssueHunt (por @island205 en #14261) + +#### Correcci籀n de errores + +- Corregido el error del m籀dulo UMD en el lado del servidor (por @island205 en #14242) +- Corregido el estilo activo de TabBar (por @iamkun en #14240) +- Corregido el error de c籀digo de demo de la tabla (por @xunmeng en #14253) + + +### 2.5.2 + +*2019-01-27* + +#### Optimizaci籀n +- Docs: + - Actualizacion ChangeLog ES 2.5.1 (by @Gonzalo2310 in #14231) + +#### Correcci籀n de errores +- Build: + - Eliminar comentarios no borrados en el m籀dulo umd `lib/index.js` (por @island205 en #14233) + - Corregido el error de exportaci籀n disparado en el m籀dulo commonjs usado en nuxt.js (por @island205 en #14232) + - Correcci籀n de problemas de compilaci籀n de 2.5.1 (por @iamkun en #14228) + +### 2.5.1 + +*2019-01-26* + +#### Optimizaci籀n +- DatePicker: resalta el mes y a簽o actual (por @Debiancc en #14211) +- Actualizacion del changelog 2.5.0 (por @wacky6 en #14217) + +#### Correcci籀n de errores +- Arreglado el problema de exportaci籀n generado por la actualizaci籀n de webpack (por @island205 en #14220) +- Guardados los documentos 2.4.11 y la nueva subcarpeta para 2.5+ (por @iamkun en #14222) + +### 2.5.0 + +*2019-01-25* + +#### Correcci籀n de errores +- Autocompletar + - Corregida la 繳ltima l穩nea del men繳 desplegable que comenzaba recortada (#13597) (por @ziyoung) + - Arreglada la popper arrow que faltaba (#13762) (por @liuchuzhang) +- Carrusel + - Contador de limpieza cuando el componente es destruido (#13820) (por @elfman) +- Cascader + - Retirada de los props computados obsoletos (#13737) (por @iamkun) + - Se corrigi籀 la definici籀n de tipo de las opci籀nes de Cascader en TypeScript (#13613) (por @NateScarlet) + - Corregido icono que cubre el texto (#13596) (por @ziyoung) +- Checkbox + - Refinado el estilo (por @PanJiaChen) +- DatePicker + - A簽ade el `key` en v-for de TimeSpinner (#13547) (por @Ende93) + - Corregido el resaltado de la semana en el l穩mite del a簽o (#13883) (por @suyi91) +- Input + - Corregida la referencia del nodo DOM del textarea (#13803) (por @laomu1988 @island205) +- Pagination + - El valor de entrada no ser獺 menor que 1 (#13727) (por @elfman) +- Popover + - Correcci籀n de problemas de popover con el disparador de hover (#13104) (por @goldengecko) + - Corregido el fallo de memoria de instancia de popper (#13988) (por @qpxtWhite) +- Radio + - Refinado el estilo (por @ohhoney1) +- Table + - Mejorada la ordenaci籀n de tablas al hacer clic en la flecha de ordenaci籀n (#12890) (por @ohhoney1) + - Solucionado el problema de alineaci籀n vertical de texto vac穩o en IE10+ (#13638) (por @imzjjy) + - Corregida la documentaci籀n del tipo de 穩ndice (#13628) (por @ilovefafa) + - Correcci籀n del problema de visualizaci籀n de `show-summary` cuando el encabezado multinivel tiene el attr fixed (#13914) (por @luckyCao) +- Tabs + - Corregido error de autodesplazamiento (#13696) (por @iamkun) + - Obtener la tab correcta a trav矇s del nombre de tab (#13705) (por @iamkun) + - Uso de paneName en lugar de name para determinar el estilo del panel (#13733) (por @iamkun) +- Tree + - Corregido que `showCheckbox` prop en `Tree` no puede afectar a los hijos `tree-node` (por @KidneyFlower) + - Actualizado documento y archivo de definici籀n (#13540) (por @ziyoung) +- Upload + - Agregada la prop `url` para subir el archivo cuando `list-type` cambia (#13771) (por @elfman) +- Slider + - Correcci籀n de la sangr穩a del c籀digo fuente (#13955) (por @wacky6) +- I18n + - A簽adidas las traducciones de catal獺n que faltaban (por @jaumesala) + - A簽adidas las traducci籀nes de ruso que faltaban (#13658) (por @justlp) + - Correcci籀n de las traducciones al fin矇s (#14137) (por @jenkrisu) +- Doc + - Actualizaci籀n del documento 2.4.11 (#13522) (por @Gonzalo2310) +- Otros + - Eliminar scripts innecesarios (por @ziyoung) + - Corregido el error de anchor link (#13753) (por @iamkun) + - Correcci籀n de la capitalizaci籀n inconsistente en la documentaci籀n (por @wonderjar) + - A簽adido c籀digo qr del grupo de chat DingDing al readme (by @iamkun in #13957) + - A簽adido logs de hilo a .gitignore (#13922) (por @mimimi) + - Eliminada la cuota de patrocinadores (#14156) (por @island205) + - Actualizado readme qr code src (#13960) (por @iamkun) + - Actualizado enlace CDN, corregido error tipogr獺fico (por @ziyoung) + +### 2.4.11 + +*2018-11-21* + +- Revertido pr #13296. Arreglado que al hacer clic fuera del Men繳 causaba que el Submen繳 colapsara, #13478 +- Ajustados los media query breakpoints de las pantallas peque簽as (xs), #13468 (por @alekoshen712) + +### 2.4.10 + +*2018-11-16* + +- Se corrigio que se necesitaban varios clics en Select para mostrar la lista desplegable, #13268 +- El icono de limpiado para el input no se muestraba cuando Form estaba deshabilitado, #13208 +- Ajustados los estilos de Select, Progress, Autocomplete, Tooltip, Collaspe, TimePicker, #13188 (by @porcelainHeart) #13210 #13266 #13257 #13290 #13347 (by @PanJiaChen) +- Se agreg籀 el atributo `loop` al componente carrusel, #13217 +- Cuando los datos de Table cambian, la l穩nea resaltada permanecer獺, #13200 +- Table header scoped slot puede recibir par獺metros, #13263 +- El m矇todo `clearFilter` de la tabla soporta argumentos, #13176 +- El tooltip ya no se crea cuando no hay contenido en la celda de Table, #13152 (por @rongxingsun) +- El contenido del input del panel ColorPicker se muestra correctamente, #13278 +- ColorPicker ya no activa la validaci籀n de formularios al arrastrar, #13299 +- InputNumber se le ha a簽adido el m矇todo `select`, #13286 (por @st-sloth) +- Autocompletar agreg籀 el evento `clear`, #12171(by arthurdenner) #13326 +- Puede cerrar Men繳 haciendo clic fuera del Men繳, #13296 +- El m矇todo `validateField` de Form puede recibir argumentos, #13319 +- Cascader a簽adi籀 el evento `visible-change`, #13415 +- DatePicker agreg籀 slot para separador de rango, #13272 (por @milworm) +- Tree a簽ade las propiedades `iconClass` y `currentNodeKey`, #13337 #13197 (por @isnifer) +- Progress permite texto en el atributo `status` #13198 (por @ali-master) +- Corregidas las `defaultCheckedKeys` de Tree que causaba un error, #13349 (por @dive2Pro) + + +### 2.4.9 + +*2018-10-26* + +- El par獺metro de Form's `clearValidate` soporta cadenas, #12990 (by @codinglobster) +- Se agreg籀 el atributo `type` para Badge, #12991 +- Ser puede usar scoped-slot para personalizar el encabezado de la columna de Table #13012 (por @ivanseidel) +- Arreglado que el input box de Select no se podia escrbir en IE, #13034 (by @GaliMU) +- La opci籀n Seleccionar no se cerraba cuando el espacio era insuficiente, #12329 (by @akki-jat) +- Cuando se expande la lista desplegable de Seleccionar, el icono de flecha tambi矇n se mostrar獺 correctamente, #12353 (by @firesh) +- Arreglado que el atributo size de Select no funcionaba, #13070 +- Select multiple values pueden ser limpiado en lote, #13049 (by @ZSkycat) +- Arreglado el 繳ltimo TabNav que no se pod穩a borrar, #13039 +- Arreglado que la etiqueta del TabNav no se mostraba correctamente, #13178 +- A簽adido title slot para Alert, #13082 (by @Kingwl) +- Corregido un problema por el cual el contenido del tooltip en Table era incorrecto, #13159 (by @elfman) +- Optimizada la animaci籀n de Upload cuando el archivo es eliminado, #12987 +- Ajustado el estilo de InputNumber cuando no se muestra el bot籀n de control, #13052 + +### 2.4.8 + +- No se muestra el contorno cuando Switch est獺 enfocado, #12771 +- Arreglado el estilo del Dropdown en ButtonGroup, #12819 (por @bluejfox) +- A簽adido evento opened para Dialog, #12828 +- Corregido el orden incorrecto de visualizaci籀n de TabNav, #12846 +- Corregido el problema de que Tabs no se desplazaba a la pesta簽a seleccionada, #12948 +- Corregido el problema de que el identificador no se mostraba cuando se arrastraba el Tree node, #12854 +- El par獺metro validar evento de Form contiene el mensaje de validaci籀n, #12860 (por @YamenSharaf) +- Se ha corregido el DatePicker que no verificaba la validez de la hora de entrada del usuario, #12898 +- Arreglado el problema de que el atributo `render-header` del encabezado de Table no funcionaba, #12914 + +### 2.4.7 + +*2018-09-14* + +- Corregido que DatePicker no activaba la validaci籀n del Form, #12328 #12348 +- Corregidos el lanzamiento de errores del DatePicker en modo m繳ltiple, #12347 +- Corregida la posici籀n incorrecta del spinner del DatePicker, #12415 (por @rang-ali) +- Se ha corregido el llenado autom獺tico del input del DatePicker, #12521 (por @abdallanayer) +- Corregida el input no resaltada en Cascader, #12341 +- Corregido el orden incorrecto de Tabpane, #12346 +- Corregida la posici籀n incorrecta del cursor de ColorPicker, #12376 (por @cnwhy) +- Corregido el estilo del Submen繳, #2457 +- Corregido el resaltado despu矇s de seleccionar el Submen繳, #12479 +- Corregidos los valores incorrectos seleccionados por Cascader, #12508 (por @huangjinqiang) +- Corregido el valor incorrecto del input de Paginaci籀n, #12525 +- Se ha corregido el orden en que la paginaci籀n desencadena los eventos, #12530 +- Corregido que no se mostraba el Table Filter, #12539 +- Corregido Tree que era incapaz de borrar nodos, #12684 +- Corregida la altura de los Select Input que cambiaba en modo simple, #12719 +- Arreglado el estilo de la etiqueta FormItem en Form anidado, #12748 +- A簽adido el atributo `autocomplete` para Input, obsoleto `auto-complete`, #12514 (por @axetroy) +- A簽adido el slots-scope de Form para mostrar la informaci籀n de validaci籀n, #12715 (por @YamenSharaf) + +### 2.4.6 + +*2018-08-09* + +- Arreglada la tabla que no mostraba el 穩cono del filtro cuando a `filter` se les asignaba un array vac穩o, #12165 +- Arreglado Menu que no guardaba el estado activo cuando cambiaba `collapse` #12178 (por @elfman) +- Se ha corregido que Cascader no escapaba a los caracteres especiales para Regexp, #12248 +- Se ha corregido que el RadioBot籀n deshabilitado mostraba la sombra de la caja cuando se hac穩a clic, #12262 +- Arreglado el efecto de la tecla de flecha en Select cuando el valor por defecto es `undefined`,#12322 +- Corregida la funci籀n de consulta de Select not debounced en modo multi, #12181 +- Corregida que la palabra clave de consulta de Select desaparec穩a en modo multi, #12304 +- Corregido el ancho incorrecto de Dialog cuando se muestra a pantalla completa, #12203 +- Corregida la visualizaci籀n incorrecta de Main en IE, #12237 +- Corregido el trigger de Input con dos validaciones de Form, #12260 +- Arreglado el a簽adir un nuevo nodo de 獺rbol que causaba que los nodos desaparecieran, #12256 +- Arreglado el nodo Tree no se borraba despu矇s de arrastrar, #12279 +- Popover corregido porque no era visible cuando InputNumber no enfocaba, #12284 +- A簽adido el atributo `popper-append-to-body` para Autocompletar, #12241 +- A簽adido el modificador `sync` para el atributo `page-size` de Pagination, #12281 + +### 2.4.5 + +*2018-07-26* + +- Se ha corregido en Table que `class-name` no funcionaba para las columnas `expand`, #12006 +- Se ha a簽adido el m矇todo `toggleAllSelection` para Table, #12047 +- Corregida la posici籀n incorrecta del `suffix slot` cuando Input contiene Select, #12108 +- Corregido que el `line-height` de Option no se establecia, #12120 +- Corregido que TimeSelect con valor por defecto `null` no podia ser asignado despu矇s de ejecutar `resetField`, #12010 +- Arreglado el evento `keydown` que cuando no era una tecla de flecha no funciona en Tree, #12008 +- Corregido nodo padre checked en modo lazy, #12106 +- A簽adido el par獺metro `includeHalfChecked` para getCheckedNodes de Tree, #12014 + +### 2.4.4 + +*2018-07-13* + +- Corregido que se disparaba la validacion del Select despu矇s de reajustar el formulario, #11837 +- Corregida la posici籀n incorrecta del slot Input `suffix` cuando se usaba el slot `suffix` con el slot `append` , #11951 +- Corregido el clearable Input que muestraba el icono de borrado cuando era readonly, #11967 +- Arreglado el nodo Tree checked cuando estaba disabled, #11847 +- Corregido que `default-checked-keys` no funcionaba en Tree, #11971 +- Corregido que el `empty-text` no era visible cuando el nodo Tree se filtraba, #11971 +- Arreglada la posici籀n de texto vac穩o sobredimensionado en Table, #11965 +- Corregido que la fila de la tabla no se modificado el resaltado cuando `current-row-key` era asignada a null, #11866 +- Arreglado que mostraba el filtro del dropdown cuando los filtros eran un array vac穩o, #11864 +- Corregido que el cambio de label de Radio no detenia propagacion de eventos, #11912 + +### 2.4.3 + +*2018-07-03* + +- Corregido `allow-drop` que no funcionaba correctamente cuando los nodos de 獺rbol tenian una altura personalizada, #11797 +- Ahora puede pasar un par獺metro al m矇todo `clearValidate` de Form, especificando qu矇 resultados de validaci籀n de `FormItems` necesita borrar, #11821 +- A簽adido el atributo `distinguishCancelAndClose` para MessageBox, #11831 + +### 2.4.2 + +*2018-06-26* + +- Ahora el `class-name` y el `label-class-name` de la tabla son reactivos, #11626 +- Arreglado que Table seguia resaltando la fila en la que se hab穩a hecho clic cuando `highlight-current-row` era `false`, #11646 +- Corregido un error de estilo de ButtonGroup cuando s籀lo habia un bot籀n `round` o `circle`, #11605 +- Arreglado estilo del tama簽o de p獺gina del Select de Pagination, #11622 +- Corregido un error del m矇todo `open` de los Men繳s cuando se cambiaba din獺micamente `collapse`, #11646 +- A簽adidos los par獺metros `activeName` y `oldActiveName` al gancho before-leave de Tabs, #11713 +- Arreglado el focus en Cascader despu矇s de hacer clic fuera, #11588 +- Arreglado que Cascader no se cerraba cuando se hacia clic en la opci籀n estando `change-on-select` como `true`, #11623 +- Ahora la actualizaci籀n del valor de Select program獺ticamente activar獺 la validaci籀n de formulario, #11672 + +### 2.4.1 + +*2018-06-08* + +- Removida la declaraci籀n duplicada de type en Autocompletar, #11388 +- Corregido el estilo de flecha en el dropdown de Select en FireFox cuando se anidaba en el formulario, #11427 +- Corregido que el 穩cono `clear` de Select seguia apareciendo cuando el valor inicial era `null`, #11460 +- Arreglado que cuando el radio estaba `disabled` mostraba el box-shadow al hacer click, #11462 +- A簽adido el atributo `iconClass` para MessageBox, #11499 +- A簽adido el atributo `stretch` para Tabs, #11476 +- Arreglado el problema de orden de renderizado de TabPane cuando Tabs es `lazy`, #11461 +- Arreglado que Table no retenia la fila actual de resaltados cuando se expandia, #11464 +- Arreglado que focusing state cuando `before-leave` devolvia una promesa resuelta, #11386 +- Arreglado que Popover deshabilitado seguia creando poppers, #11426 +- Arreglado el bucle sin fin de Tree cuando se a簽adia un nuevo nodo en modo `lazy`, #11430 (por @wangjingf) +- A簽adido el evento `closed` para Dialog, #11490 + +### 2.4.0 Fullerene + +*2018-05-28* + +#### Nuevas caracter穩sticas +- Generalidades + - La herramienta de desarrollo y el empaquetador se cambiaron a webpack nativo, #11216 + - Ahora puede configurar globalmente el z-index inicial de los popups, #11257 +- Autocomplete + - A簽adido el atributo `hide-loading`, #11260 +- Button + - Ahora se puede usar el atributo `size` en los botones circulares para controlar sus tama簽os, #11275 +- InputNumber + - A簽adido el atributo `precision`, #11281 +- Tabs + - A簽adido el atributo `before-leave`, #11259 + - A簽adido el atributo `lazy`, #11167嚗y @Kingwl嚗� +- Table + - A簽adido el m矇todo `sort` para ordenar manualmente la tabla, #11311 + +#### Correcci籀n de errores +- Input + - Se ha corregido un problema que provocaba que se volviera a procesar al utilizar el IME chino para introducir texto r獺pidamente, #11235 (por @STLighter). +- Popover + - Corregido el error de la consola cuando el elemento disparador es Radio o Checkbox, #11265 +- Breadcrumb + - Arreglado el atributo `to` que no soportaba la actualizaci籀n din獺mica, #11286 +- Upload + - Corregido el error de la consola cuando se resolvia el Archivo en la Promesa devuelta del m矇todo `beforeUpload`, #11297 (por @qusiba) +- Tooltip + - Solucionado que la flecha no se posicionaba correctamente cuando el contenido estaba vac穩o, #11335 +- Autocompletar + - Corregido que las sugerencias de entrada eran incorrectas despu矇s de eliminar la palabra clave r獺pidamente, #11323 +- ColorPicker + - Corregido el evento `active-change` que se disparaba incorrectamente cuando el men繳 desplegable del picker estaba cerrado, #11304 +- Table + - Corregido el error de estilo del panel de filtro cuando se sobredimensionaba, #11314 + - Corregida que la fila seleccionada actualmente no se retenia cuando se ordenaba la tabla, #11348 +- CheckBox + - Arreglado que cuando el checkbox era 繳nico no soportaba validaci籀n, #11271 +- Radio + - Arreglado que el Radio desactivado seguia estando seleccionada cuando se pulsaba la tecla espaciadora, #11303 +- MessageBox + - Corregida la clase `el-popup-parent--hidden` que no se eliminaba al abrir MessageBox sucesivamente, #11371 + +### 2.3.9 + +*2018-05-18* + +- Corregido que cuando los datos de origen no tenian el campo especificado por el atributo `prop` de una TableColumn, se produc穩a un error al moverse el rat籀n dentro de las celdas de esa columna, #11137. +- El atributo `lockScroll` de los componentes pop-up ya no a簽ade un inline style al elemento padre, sino que a簽ade un nombre de clase, #1111114. +- Arreglado el icono de Progreso que no se mostraba cuando su `status` era `exception`, #11172 +- El atributo `disabled` no funcionaba en la lista de resultados del filtro de Cascader, #11185 +- Se ha corregido un problema por el que la fila expandida de la Tabla no se pod穩a contraer si los datos de origen se actualizaban despu矇s de su expansi籀n, #11186. +- `setCurrentKey` de Tree ahora acepta `null` como par獺metro para cancelar el nodo actualmente resaltado, #11205 + +### 2.3.8 + +*2018-05-11* + +- Corregido que el panel DatePicker saltaba al mes actual despu矇s de escoger una fecha en un mes diferente cuando el tipo era `dates`, #10973 +- Arreglado que el `clearable Input` segu穩a mostrando el icono de borrado cuando era s籀lo de lectura, #10912 +- Arreglado que al cerrar el panel DatePicker sin modificar el valor se desencadenaba incorrectamente el evento `change`, #11017 +- Arreglado que la navegaci籀n por el teclado no funcionaba correctamente cuando Select tenia opciones agrupadas, #11058 +- Agregado el `slot named` `prefix` para Select, #11063 +- Agregado el metodo `clearValidate` para FormItem, #11076 +- Agregado el atributo `checkOnClickNode` para Tree, #11111 + +### 2.3.7 + +*2018-04-29* + +- Corregido que Table no actualizaba el ancho de encabezado cuando la barra de desplazamiento desaparecia debido al filtrado, #10834 +- Corregido input borrable que mostraba el icono de borrado cuando su valor inicial era `nulo`, #10912 +- Corregido el disparador incorrecto del evento `active-change` despu矇s de cambiar el valor enlazado de ColorPicker program獺ticamente, #10903 (por @zhangbobell) +- Corregido filterable Select que causaba un bucle infinito al navegar por las opciones usando el teclado si todas las opciones est獺ban deshabilitadas, #10945 + +### 2.3.6 + +*2018-04-21* + +- Corregido el comportamiento incorrecto del callback `allow-drop` de Tree cuando se usaba el par獺metro `type`, #10821 +- Ahora puede introducir correctamente las palabras clave en filterable Single Select en IE11, #10822 +- Corregido Single Select activaba incorrectamente el evento `blur` despu矇s de hacer clic en una opci籀n, #10822 + +### 2.3.5 + +*2018-04-20* + +- Arreglado los incorrectos realces en el panel de DatePicker cuando `type` es week, #10712 +- Arreglado que InputNumber comenzaba vacio cuando el valor inicial era 0, #10714 +- Agregado el atributo `automatic-dropdown` para Select, #10042 (by @Seebiscuit) +- Arreglado que el valor del Rate pasaba a `disabled` cuando se comenzaba a actualizar con las teclas de navegacion, #10726 (by @Richard-Choooou) +- Ahora el atributo `type` de DatePicker's puede ser `'dates'`, donde puede elegir varias fechas en un solo picker, #10650 (by @Mini256) +- Agregados los eventos `prev-click` y `next-click` para Pagination, #10755 +- Agregado el atributo `pager-count` para Pagination, #10493 (by @chongjohn716) +- Agregado `type` como 3rd parametro del atributo `allow-drop` de Tree, #10792 +- Ahora usamos ResizeObserver para detectar el redimensionamiento de elementos DOM, #10779 + +### 2.3.4 + +*2018-04-12* + +- Eliminado el atributo duplicado `showTimeout` en SubMenu's en la declaracion TypeScript, #10566 (by @kimond) +- Ahora se puede personalizar los datos de los items de Transfer usando scoped slot, #10577 +- Arreglado que los click de los botones `next` y `prev` en Pagination se deshabilitaban cuando se disparaba el evento `current-change`, #10628 +- Arreglado que Textarea mostraba `undefined` en SSR cuando el valor no era asignado, #10630 +- Arreglado que se deshabilitaba el estilo del TabItem cuando `type` era border-card, #10640 +- Agregado `$index` como cuarto parametro en el atributo de las columnas de Table `formatter` , #10645 +- Arreglado que CheckboxButton no se exportaba en la declaracion de TypeScript, #10666 + +### 2.3.3 + +*2018-04-04* + +- Agregar atributo `shadow` para Card, #10418 (by @YunYouJun) +- Se ha corregido el error de ocultar Badge cuando `value` es `0`, #10470 +- Arreglados algunos bugs del draggable Tree, #10474 #10494 +- Agregado `placement` para Autocomplete, #10475 +- Ahora el atributo `default-time` tambi矇n funciona en un rango que no es el rango DateTimePicker, #10321 (by @RickMacTurk) +- Eliminado el contorno azul de TabItem despu矇s de que el navegador se desdibuja o se minimiza, #10503 +- Agregado el atributo `popper-append-to-body` para SubMenu, #10515 +- Eliminado el feedback visual cuando se desplaza sobre non-link BreadcrumbItem, #10551 +- Se ha corregido el evento `change` de InputNumber para garantizar que el valor de ligado del componente se actualiza en el control de eventos, #10553 + +### 2.3.2 + +*2018-03-29* + +- Arreglada una regresi籀n de Autocompletar, #10442 + +### 2.3.1 + +*2018-03-29* + +- Se ha corregido una regresi籀n por la que el `type` de input no se transmitia al elemento de entrada nativo, #10415 +- Agregado el metodo `blur` para Select, #10416 + +### 2.3.0 Diamond + +*2018-03-28* + +#### Nuevas caracter穩sticas +- Table + - Ahora `formatter` de TableColumn puede ser actualizado din獺micamente, #10184 (by @elfman) + - Agregado el atributo `select-on-indeterminate`, #9924 (by @syn-zeta) +- Menu + - Agregado el atributo `collapse-transition`, #8809 (by @limichange) +- Input + - Agregado el metodo `select` , #10229 + - Agregado el metodo `blur`, #10356 +- ColorPicker + - Agregado el atributo `predefine`, #10170 (by @elfman) +- Tree + - Agregados los atributos `draggable`, `allow-drop` y `allow-drag`, y los eventos `node-drag-start`, `node-drag-enter`, `node-drag-leave`, `node-drag-over`, `node-drag-end` y `node-drop`, #9251 #10372 (by @elfman) +- Form + - El metodo `validate` ahora acepta un segundo parametro, que contiene informaci籀n de los 穩tems del formulario que no superaron la validaci籀n, #10279 + - Agregado el evento `validate`, #10351 +- Progress + - Agregado el atributo `color`, #10352 (by @YunYouJun) +- Button + - Agregado el atributo `circle`, #10359 (by @YunYouJun) + +#### Bug's arreglados +- Form + - Solucionado: Label del FormItem no se alineaba adecuadamente con Input mixto, #10189 +- Menu + - Ahora collapsed Menu s籀lo mostrar獺 el Tooltip cuando el slot `title` de MenuItem est矇 configurado, #10193 (by @PanJiaChen) +- Pagination + - Corregido el evento `current-change` que se disparaba err籀neamente sin interacci籀n del usuario, #10247 +- DatePicker + - Ahora la fecha y la hora en el panel desplegable est獺n correctamente formateadas seg繳n el atributo `format`, #10174嚗y @remizovvv嚗� +- Upload + - Solucionado el atributo `accept` no trabajaba cuando `drag` era true, #10278 + +### 2.2.2 + +*2018-03-14* + +- Agregado el evento `clear` para Input, #9988 (by @blackmiaool) +- Ahora la entrada manual de ColorPicker soporta los modos `hsl`, `hsv` y `rgb`, #9991 +- Arreglado DatePicker no desencadenaba el evento `change` cuando se borraba su valor inicial, #9986 +- Ahora la clase de iconos relacionadas con los atributos de Rate soporta actualizaciones dinamicas, #10003 +- Arreglado Table que con columnas `fixed` no actualizaban correctamente su altura si se fijaba `max-height`, #10034 +- Ahora DatePicker en modo rango admite la selecci籀n inversa (haciendo clic en la fecha final y, a continuaci籀n, haciendo clic en la fecha de inicio), #8156 (by @earlymeme) +- Agregado el atributo `disabled` para Pagination, #10006 +- Agregados los eventos `after-enter` y ` after-leave` para Popover, #10047 +- Arreglado Select no disparaba validaci籀n cuando el usuario seleccionaba una opci籀n despu矇s de ejecutar `resetFields` de Form, #10105 +- Arreglado anchos incorrectos de columnas fijas de Table en algunos casos, #10130 +- Corregido MessageBox heredaba el atributo `title` de su instancia anterior cuando se llamaba sin `title`, #10126 (by @Pochodaydayup) +- Agregado el atributo `input-size` para Slider, #10154 +- Agregados los eventos `left-check-change` y `right-check-change` para Transfer, #10156 + +### 2.2.1 + +*2018-03-02* + +- Corregido Aside, Header y Footer que se contraia en algunos layout, #9812 +- Corregido Table con un atributo `height` no renderizaba en SSR, #9876 +- Corregido Table con fila expandible no calculaba la altura cuando la fila era expandida, #9484 +- Corregido que cuando se escribia la fecha de forma manual en DateTimePicker no se disparaba el evento `change`, #9913 +- Corregido que Select mostraba sus opciones cuando se hacia click con el bot籀n derecho del mouse en el Input, #9894 (by @openks) +- Agregado el atributo `tooltip-class` para Slider, #9957 +- Ahora Select permanecera enfocado despues de la selecci籀n, #9857 (by @Seebiscuit) +- Agregado el atributo `target-order` para Transfer, #9960 + +### 2.2.0 Graphite + +*2018-02-12* + +#### New features +- Menu + - Agregados los atributos `popper-class` y `disabled` para SubMenu, #9604 #9771 + - Menu Horizontal ahora soporta SubMenu multi-capas, #9741 +- Tree + - Agregado el evento `node-contextmenu`, #9678 + - Ahora se puede personalizar el template del nodo usando scoped slot, #9686 + - Agregados los metodos `getNode`, `remove`, `append`, `insertBefore`, `insertAfter`, `getCheckedKeys`, `getHalfCheckedNodes`, `getHalfCheckedKeys` y el evento `check`, #9718 #9730 +- Transfer + - Agregado el metodo `clearQuery`, #9753 +- Select + - Agregado el atributo `popper-append-to-body`, #9782 + +#### Bug fixes +- Table + - Corregido el icono de expansi籀n de una fila expandible que al hacer click activaba el evento `row-click`, #9654 + - Corregido el layout que no se actualizaba cuando el ancho de columna era cambiado por el usuario arrastrando, #9668 + - Corregido problema de estilo cuando la fila de resumen coexistia con columnas fijas, #9667 +- Container + + - Corregido componentes del Container que no se estiraban en IE11, #9655 +- Loading + + - Corregido Loading no se mostraba cuando el valor de `v-loading` era cambiado a true en el `hook` `mounted`, #9722 +- Switch + - Corregido se disparaban los dos eventos nativos de click cuando se hacia click en el Switch, #9760 + + + +### 2.1.0 Charcoal + +*2018-01-31* + +#### New features +- Cascader + - Agregados los eventos `focus` y `blur`, #9184 (by @viewweiwu) +- Table + - El `filter-method` ahora tiene un tercer par獺metro `column`, #9196 (by @liyanlong) +- DatePicker + - Agregados los atributos `prefix-icon` y `clear-icon`, #9237 (by @AdamSGit) + - Agregado el atributo `default-time`, #9094 (by @nighca) + - `value-format` ahora soporta `timestamp`, #9319 (by @wacky6) +- InputNumber + - Ahora el valor vinculado puede ser `undefined`, #9361 +- Select + - Agregado el atributo `auto-complete`, #9388 +- Form + - Agregado el atributo `disabled`, #9529 + - Agregado el atributo `validateOnRuleChange`, #8141 +- Notification + - Agregado el metodo `closeAll`, #9514 + +#### Bug fixes +- InputNumber + - Arreglado el reseteo del valor cuando tiene punto decimal, #9116 +- Dropdown + - Arreglado el dropdown menu que tenia un posicionamiento incorrecto cuando la p獺gina s籀lo tiene una barra de desplazamiento horizontal en algunos navegadores, #9138 (by @banzhuanmei) +- Table + - Corregido un error en el c獺lculo del n繳mero de columnas fijas despu矇s de que los datos de la columna cambian, #9188嚗y @kolesoffac嚗� + - Corregido el borde de la 繳ltima columna de la cabecera agrupada que no se visualizaba correctamente., #9326 + - Corregido el posicionamiento incorrecto del header de la tabla en Safari, #9327 + - Corregido fila expandida colapsaba cuando cambiaban los datos de la tabla, #9462 + - Corregido renders m繳ltiples innecesarios en algunas condiciones, #9426 + - Corregido un error de calculo en el ancho de la columna cuando `width` cambiaba en TableColumn, #9426 +- Loading + - Corregido que en algunas ocasiones el loading no se ocultaba correctamente, #9313 +- DatePicker + - Corregido el metodo `focus` que no funcionaba en modo `range`, #9437 + - Corregido si se hacia clic en el bot籀n "now" seguia seleccionando la fecha actual aunque estuviera desactivado, #9470 (by @wacky6) + - Corregido fijaci籀n de fechas al navegar, #9577 (by @wacky6) +- Steps + - Corregido error de estilos en IE 11, #9454 + +#### Breaking changes +- Menu + - El men繳 desplegable en modo `collapse` ahora se agrega directamente al `body`, de modo que es visible cuando est獺 anidado en Aside, #9263 +- Table + - Ahora, al marcar los checkboxes en la Tabla de selecci籀n m繳ltiple no se activa el evento `row-click`, #9467 +- Loading + - El `z-index` de la m獺scara de carga non-fullscreen se cambia a 2000. El `z-index` de la m獺scara de carga fullscreen se actualiza din獺micamente con los componentes emergentes, #9522 +- Dropdown + - Los atributos `show-timeout` y `hide-timeout` ahora solo trabajan si se dispara `hover`, #9573 + +### 2.0.11 + +*2018-01-08* + +- Corregido el problema de color del borde del Select cuando est獺 el slot `prepend` o `append` del Input, #9089 +- Corregido el par獺metro `remove-tag` de Select, #9090 +- A簽adido los atributos `show-timeout` y `hide-timeout` para SubMenu, #8934 (por @HugoLew) +- Corregido el estilo de Tooltip de `show-overflow-tooltip` que faltaba cuando Table era importada bajo demanda, #9130 +- Se ha corregido el mal funcionamiento de ordenaci籀n de la columna de Table despues que `clearSort` era ejecutado en esa columna, #9100 (por @zEmily) +- El fichero de configuraci籀n i18n para el checo se renombra de `cz` a `cs-CZ`, #9164 + +### 2.0.10 + +*2017-12-29* + +- Corregido el calculo incorrecto de la altura m獺xima de Table cuando fixed column y summary row coexisten, #9026 +- Solucionado el estilo de color que no lo compilaba para textos vac穩os en Table, #9028 +- Ahora DatePicker s籀lo emite el evento `change` cuando el valor cambia verdaderamente, #9029 (by @remizovvv) +- A簽adido atributo `tabindex` para Input, #9041 (by @dicklwm) + +### 2.0.9���� + +*2017-12-24* + +- A簽adida la funci籀n de enganche (hook) `before-remove` para Upload, #8788 (by @firesh) +- Arreglado el valor inicial de error que no funcionaba para FormItem, #8840 +- Ahora la directiva Loading soporta nombre de clase personalizado asignando el atributo `element-loading-custom-class`, #8826 (por @earlymeme) +- Arreglado CarouselItem que se pon穩a invisible cuando los datos eran actualizados asincr籀nicamente, #8921 +- A簽adido el atributo `renderAfterExpand` para Tree, #8972 + +### 2.0.8 + +*2017-12-12* + +- Agregada la documentacion en espa簽ol +- Arreglado `show-timeout` de Dropdown que no funcionaba cuando se disparaba el click, #8734 (por @presidenten) +- Arreglado el tiempo de validacion del Form cuando se disparaba el blur, #8776 +- Arreglado el evento de perdida de foco (blur) del DatePicker por rangos, #8784 +- `format` de TimePicker ahora soporta AM/PM, #8620 (por @firesh) + +### 2.0.7 + +*2017-11-29* + +- Solucionado el estilo disabled en el texto de button, #8570 + +### 2.0.6 + +*2017-11-29* + +- Corregido error de estilo de los iconos de ordenaci籀n de Table, #8405 +- Corregido activacion para Popover cuando `trigger` es manual, #8467 +- A簽adidos los atributos `prefix-icon` y `suffix-icon` para Autocomplete, #8446 (por @liyanlong) +- A簽adido el atributo `separator` para Cascader, #8501 +- A簽adido atributo `clearable` para Input, #8509 (por @lbogdan) +- A簽adido atributo `background` para Pagination, #8553 + +### 2.0.5 + +*2017-11-17* + +- Solucionado regresion en 2.0.4 de Popover, Tree, Breadcrumb and Cascader, #8188 #8217 #8283 +- Solucionado Fuga de memoria de la directiva clickoutside, #8168 #8225 (por @badpunman @STLighter) +- Solucionada la altura en multiple Select cuando se borra su valor, #8317 (por @luciy) +- A簽adido el atributo `collapse-tags` para multiple Select para reemplazar las tags con una l穩nea de texto, #8190 +- Solucionado el alto consumo de CPU causado por Table cuando esta oculta, #8351 +- Ahora puede usar el m矇todo `doLayout` de Table para actualizar su dise簽o, #8351 + +### 2.0.4 + +*2017-11-10* + +- Accesibilidad mejorada para Cascader, Dropdown, Message, Notification, Popover, Tooltip y Tree +- Arreglado el cambio de tama簽o del Container cuando el ancho de la vista disminuye, #8042 +- Arreglado Tree's `updateKeyChildren` borraba incorrectamente los nodos hijos, #8100 +- Arreglado la altura de los bordes de CheckboxBot籀n's cuando esta anidado en un Form, #8100 +- Arreglado error de an獺lisis de los Menu's para los colores personalizados, #8153 (por @zhouyixiang) + +### 2.0.3 + +*2017-11-03* + +- Solucionado atributos `editable` and `readonly` de DatePicker de los rangos, #7922 +- Corregido error de estilo de los Tabs anidados, #7941 +- Corregido error de estilo del 繳ltimo Step de Steps verticales, #7980 +- Corregido el tiempo de activaci籀n del evento `current-change` para Pagination, #7995 +- Corregido Tooltip no registrado en el Menu, #7995 + +### 2.0.2 + +*2017-10-31* + +- Ahora haciendo clic con el bot籀n derecho del rat籀n en los botones de InputNumber no cambiar獺 su valor, #7817 +- El metodo `validate` de Form ahora puede esperar por validaciones as穩ncronas antes de ejecutar su devoluci籀n de llamada, #7774 (por @Allenice) +- Corregido la selecci籀n de rango de DatePicker no funcionaba en los navegadores Chromium 53-57, #7838 +- Corregido la perdida de previsualizaci籀n e iconos de eliminar de Upload cuando su `list-type` es picture-card, #7857 +- A簽adido el atributo `sort-by` para TableColumn, #7828 (por @wangfengming) +- Corregido que a veces DatePicker muestra un n繳mero de a簽o incorrecto al seleccionar la primera semana en modo week, #7860 (por @hh23485) +- Corregido error de estilo de icono de Step vertical, #7891 +- El 獺rea hot para las flechas de nodo en Tree se expandia, #7891 + +### 2.0.1 + +*2017-10-28* + +- Corregido error de estilo de RadioButton y CheckboxButton, #7793 +- Corregido TimePicker no responde al desplazamiento del rat籀n en algunas condiciones, #7811 +- Corregido estilos incompletos de algunos componentes cuando se importan bajo demanda, #7811 + +### 2.0.0 Carbon + +*2017-10-27* + +#### New features + +- General + - Un nuevo tema: `theme-chalk` + - Se ha mejorado la accesibilidad de los siguientes componentes: Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload + - A簽adido tipograf穩as TypeScript + - Todos los iconos existentes son redise簽ados. Se han a簽adido algunos iconos nuevos + - A簽adida una serie de clases de utilidades basadas en puntos de ruptura que ocultan elementos cuando el tama簽o del viewport cumple ciertas condiciones + - Componentes de dise簽o a簽adidos: Container, Header, Aside, Main, Footer. + - Ahora puede configurar los tama簽os de componentes a nivel global. Al importar Element, puede a簽adir un objeto de configuraci籀n global con un prop `size` para configurar tama簽os predeterminados para todos los componentes. +- Button + - Atributo `round` a簽adido. Se usa para botones de esquinas redondas #6643 +- TimeSelect + - Ahora puede ser navegado por `Up` y `Down`, y presionando `Enter` selecciona la hora #6023 +- TimePicker + - Ahora puede ser navegado por `Up` y `Down`, y presionando `Enter` selecciona la hora #6050 + - A簽adido `start-placeholder` y `end-placeholder`. Son placeholder's para las dos casillas de input en modo range #7169 + - A簽adido el atributo `arrow-control` para hacer girar el tiempo con las flechas #7438 +- Tree + - Ahora los nodos hijo no se renderizan antes de la primera expansi籀n #6257 + - A簽adido el atributo `check-descendants`. Determina si los nodos hijo se seleccionan al seleccionar su nodo padre en modo `lazy` #6235 +- Tag + - Atributo `size` a簽adido #7203 +- Datepicker + - Ahora `timeFormat` puede dar formato al TimePicker cuando type est獺 configurado en `datetimerange` #6052 + - A簽adido `start-placeholder` y `end-placeholder`. Son placeholder's para las dos casillas de input en modo range #7169 + - Atributo `value-format` a簽adido para personalizar el formato del valor enlazado, #7367 + - A簽adido el atributo `unlink-panels` para desacoplar los dos paneles de fechas al seleccionar un rango. +- MessageBox + - A簽adido el atributo `closeOnHashChange` #6043 + - Atributo `center` agregado para que el contenido pueda ser centrado #7029 + - A簽adido atributo `roundButton` para mostrar Botones redondeados #7029 + - A簽adido atributo `dangerouslyUseHTMLString`. Cuando est獺 configurado en true, el mensaje ser獺 analizado como cadena HTML<sup>*</sup> #6043 + - A簽adido atributo `inputType` para asignar el tipo para el input interno, #7651 +- Dialog + - A簽adidos los atributos `width`, `fullscreen`, `append-to-body`. Ahora Dialog puede ser anidado + - Atributo `center` agregado para que el contenido pueda ser centrado #7042 + - A簽adidos `focus-after-closed`, `focus-after-open` para mejorar la accesibilidad #6511 +- ColorPicker + - Ahora puede escribir colores en el input #6167 + - A簽adidos atributos `size` y `disabled` #7026 + - A簽adido atributo `popper-class` #7351 +- Message + - Ahora el color de los iconos puede ser sustituido por CSS #6207 + - A簽adido atributo `dangerouslyUseHTMLString`. Cuando est獺 configurado en true, el mensaje ser獺 analizado como cadena HTML<sup>*</sup> #6207 + - Atributo `center` agregado para que el contenido pueda ser centrado #6875 +- Notification + - A簽adido atributo `position` para configurar donde aparece Notification #6231 + - A簽adido atributo `dangerouslyUseHTMLString` . Cuando est獺 configurado en true, el mensaje ser獺 analizado como cadena HTML<sup>*</sup> #6231 + - A簽adido el atributo `showClose` para ocultar el bot籀n de cierre #6402 +- Rate + - A簽adido el atributo `show-score` para determinar si la puntuaci籀n actual se muestra #6295 +- Tabs + - A簽adido el atributo `tab-position` #6096 +- Radio + - A簽adidos los atributos `border` y `size` #6690 +- Checkbox + - A簽adidos los atributos `border` y `size` #6690 +- Alert + - Atributo `center` agregado para que el contenido pueda ser centrado #6876 +- Menu + - A簽adidos los atributos `background-color`, `text-color` y `active-text-color` #7064 + - A簽adidos los methods `open` and `close` para abrir y cerrar los SubMenu con programaci籀n, #7412 +- Form + - A簽adido el atributo `inline-message` para determinar si el mensaje de validaci籀n se muestra inline #7032 + - A簽adido el atributo `status-icon` para mostrar un icono de retroalimentaci籀n cuando se valida #7032 + - Form y FormItem ahora tienen un atributo `size`. Los componentes internos heredar獺n este tama簽o si no se especifica en ellos mismos, #7428 + - M矇todo `validate` devolver獺 ahora una promesa si se omite la llamada de retorno, #7405 + - A簽adido m矇todo `clearValidate` para limpiar los resultados de las validaciones de todos los form items, #7623 +- Input + - A簽adido slots con nombres `suffix` y `prefix` y atributos `suffixIcon` y `prefixIcon` para a簽adir contenido dentro del input #7032 +- Breadcrumb + - A簽adido el atributo `separator-class` para dar soporte a los iconos como separadores de items #7203 +- Steps + - A簽adido atributo `simple` para activar Steps de estilo sencillo #7274 +- Pagination + - A簽adidos los atributos `prev-text` y `next-text` para personalizar los textos de la p獺gina anterior y de la p獺gina siguiente #7005 +- Loading + - Ahora usted puede personalizar el 穩cono del spinner y el color de fondo con los props `spinner` y `background` , #7390 +- Autocomplete + - A簽adido atributo `debounce`, #7413 +- Upload + - A簽adidos los atributos `limit` and `on-exceed` para limitar la cantidad de archivos, #7405 +- DateTimePicker + - A簽adido el atributo `time-arrow-control` para activar `arrow-control` del TimePicker anidado, #7438 +- Layout + - A簽adido un nuevo breakpoint `xl` para viewport m獺s ancho que 1920px +- Table + - A簽adido el atributo `span-method` para combinar celdas + - A簽adido el m矇todo `clearSort` para borrar la clasificaci籀n program獺ticamente + - A簽adido el m矇todo `clearFilter` para limpiar el filtro de forma program獺tica + - Para las filas ampliables, cuando se ampl穩a una fila, se a簽adir獺 una clase `.expanded` a su lista de clases, para que pueda personalizar su estilo. + - Atributo de `size` a簽adido + - A簽adido el m矇todo `toggleRowExpansion` para expandir o contraer filas expandibles program獺ticamente. + - A簽adido el atributo `cell-class-name` para asignar el nombre de la clase para las celdas + - A簽adido atributo `cell-style` para dar estilo a las celdas + - A簽adido atributo `header-row-class-name` para asignar el nombre de clase para las filas de encabezado. + - A簽adido un atributo `header-row-style` para el estilo de encabezado + - A簽adido el atributo `header-cell-class-name` para asignar el nombre de la clase para las celdas de encabezado. + - A簽adido el atributo `header-cell-style` a las celdas de encabezado de estilo + - El atributo prop de TableColumn ahora acepta las notaciones `object[key]` + - Atributo de `index` a簽adido para TableColumn para personalizar 穩ndices de filas +- Select + - A簽adido el atributo `reserve-keyword` para reservar la palabra clave de b繳squeda actual despu矇s de seleccionar una opci籀n. + +#### Bug fixes + +- DatePicker + - Arreglado `v-model` que devolvia el segundo d穩a de la semana seleccionada en modo week #6038 + - Arreglado el primer input comenzaba borrado con el type `daterange` #6021 +- DateTimePicker + - Arreglado DateTimePicker y TimePicker que se afectaban entre s穩 cuando se seleccionaban #6090 + - Arreglado la hora y el segundo podian estar m獺s all獺 del l穩mite al seleccionar el tiempo #6076 +- TimePicker + - Arreglado `v-model` que no se actualizaba correctamente cuando no tenia el foco #6023 +- Dialog + - Arreglado textos que tenian bordes borrosos al abrir y cerrar dropdowns anidados #6088 +- Select + - Rendimiento mejorado. Ahora Vue dev-tool no se bloquear獺 cuando un gran n繳mero de Selects sean destruidos #6151 +- Table + - Corregido un bug de Table permanec穩a oculto cuando su elemento padre tenia el atributo `display: none` + - Arreglado Table ahora amplia su ancho cuando el elemento padre tiene `display: flex` + - Arreglado un bug que correg穩a las columnas de una tabla con slot con nombre `append` que desaparecia cuando los datos eran recuperados din獺micamente. + - Arreglado el atributo `expand-row-keys` que no funcionan con el valor inicial + - Fallo del filtro corregido al actualizar los datos + - Se ha corregido un error de c獺lculo de la disposici籀n de columnas fijas con cabeceras agrupadas. + - Corregido un error de `max-height` din獺mico + - Corregidos algunos errores de c獺lculo de estilo + +#### Breaking changes + +- General + - Eliminado `theme-default` + - Compatible con Vue 2.5.2+ e IE 10+ + - Evento `change` de componentes del formulario y evento `current-change` de Pagination ahora s籀lo se activa en la interacci籀n del usuario. + - El atributo `size` del bot籀n y los componentes del formulario aceptan ahora los tama簽os `medium`, `small` y `mini`. + - Para facilitar el uso de iconos de terceros, los atributos `icon` de Button y Steps y los atributos `prefix-icon` y `suffix-icon` del input ahora requieren un nombre de clase completo. +- Dialog + - Atributo `size` eliminado. Ahora el tama簽o de Dialog se puede configurar con `width` y `fullscreen` + - Ahora la visibilidad del Di獺logo no puede ser controlada por `v-model` +- Rate + - `text-template` a sido renombrado a `score-template` +- Dropdown + - `menu-align` a sido renombrado a `placement`. Ahora soporta m獺s posiciones +- Transfer + - `footer-format` a sido renombrado a `format` +- Switch + - Los atributos que comienzan con `on*` ser獺n analizados en eventos en JSX, haciendo que todos los atributos `on*` de Switch no puedan trabajar en JSX. Por lo tanto, los atributos `on*` se renombran a `active-*`, y por consiguiente los atributos `off-*` se renombran a `inactivado-*`. Este cambio afecta a los siguientes atributos: `on-icon-class`, `off-icon-class`, `on-text`, `off-text`, `on-color`, `off-color`, `on-value`, `off-value`. + - Los atributos `active-text` y `inactive-text` ahora no tienen valores por defecto. +- Tag + - El atributo type acepta ahora `success`, `info`, `warning` y `danger` +- Menu + - Atributo `theme` eliminado. El color de Menu se puede configurar utilizando `background-color`, `text-color` y `active-text-color` +- Input + - Atributo `icon` eliminado. Ahora el icono del sufijo puede configurarse usando el atributo `suffix-icon` o el slot con nombre `suffix`. + - Eliminado el atributo `on-icon-click` y el evento `click`. Ahora para a簽adir el manejador de clics en los iconos, por favor use los slots con nombre. + - El evento `change` se comporta ahora como el nativo, que se activa s籀lo en la perdida del foco o presionando enter. Si necesita responder a las entradas de usuario en tiempo real, puede utilizar el evento `input`. +- Autocomplete + - Atributo `custom-item` eliminado. Ahora la plantilla de sugerencias del input se puede personalizar utilizando `scoped slot` + - Atributo `props` eliminado. Ahora puede utilizar el atributo `value-key` para designar el nombre de la clave del objeto de sugerencia del input para su visualizaci籀n. +- Steps + - Atributo `center` eliminado + - Ahora Steps llenara su contenedor padre por defecto +- DatePicker + - Los par獺metros del evento `change` de DatePicker son ahora el valor vinculante en s穩 mismo. Su formato es controlado por `value-format` +- Table + - Soporte eliminado para personalizar la plantilla de columnas mediante `inline-template` + - `sort-method` ahora se alinea con `Array.sort`. Deber穩a devolver un n繳mero en lugar de un booleano + - El slot `append` se desplazo fuera del elemento `tbody` para evitar m繳ltiples renderizados. + - Evento `expand` se renombro a `expand-change` + - Los parametros de los m矇todos `row-class-name` y `row-style` son ahora un objeto + +# # + +<i><sup>*</sup> El procesamiento din獺mico de HTML arbitrario en su sitio web puede ser muy peligroso porque puede conducir f獺cilmente a [ataques XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Por lo tanto, cuando `dangerouslyUseHTMLString` est獺 encendido, por favor aseg繳rese de que el contenido de `message` es confiable, y **nunca** asigne el `message` al contenido proporcionado por el usuario.</i>`` \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/CHANGELOG.fr-FR.md b/PAMapp/local_modules/element-ui/CHANGELOG.fr-FR.md new file mode 100644 index 0000000..13efa33 --- /dev/null +++ b/PAMapp/local_modules/element-ui/CHANGELOG.fr-FR.md @@ -0,0 +1,2065 @@ +## Changelog + +### 2.15.13 + +*2023-02-12* + +#### Bug fixes +- Docs + - Fix Statistic docs (#22383 by @JUST-Limbo) + - Fix Input docs (#22093 by @lm312) + - Fix en-US docs (#22268 #22269 #22270 by @Hazel-Lin) + - Fix Pagination docs (#22288 by @xujintai123) + - Fix: Links docs (#22370 by @itmier) +- Statistics + - fix slot display bug (#22375 by @webvs2) +- Chore + - missing web-type after publishing (#22271 by @loosheng) +#### Optimization +- InputNumber + - Fix touch one click trigger twice on the window touch pad (#22185 by @mrsai) +- Image + - Add initialIndex prop (#22346 by @inkroom) +- Statistics + - Updated countdown feature to localize lodash Closes (#22260 by @webvs2) + - Update code and doc (#22276 by @webvs2) +- Other + - fix web-types type props (#22281 by @whzxc) + +### 2.15.12 + +*2022-11-16* + +#### Bug fixes +- Statistic嚗� + - Fixed the thousandth bit bug (#22252 by @webvs2) +- Other + - Fix 2.15.11 element-theme-chalk publish fail bug + +### 2.15.11 + +*2022-11-15* + +#### Bug fixes +- Docs + - Fix Radio docs (#22178 by @bchen1029) + - Fix Progress docs +#### Optimization +- I18n + - Update translation of Malaysian (#22185 by @z4q) + - Update translation of Norwegian (#22145 by @Barsnes) +- Progress + - Add defineBackColor and textColor prop (#22089 by @lm312) +- Statistics + - Add new component Statistics (#22159 by @webvs2) +- Other + - Add Web Types to improve code assistance in WebStorm IDE and other JetBrains IDEs (#22135 by @piotrtomiak) + +### 2.15.10 + +*2022-09-13* + +#### Bug fixes + +- DatePicker + - Fix props placement error (#21908 by @lqzhgood) +- Loading + - Fix sticky DOM error (#22087 by @zzjjhh001) +- Docs + - Fix Popover docs (#22083 by @lm312) + - Fix Skeleton docs (#22092 by @lm312) + - Fix DatePicker docs (#21970 by @guojiongwei) +- Tree: + - fix lazy-load default check problem (#21934 by @kiss-yu) + +#### Optimization + +- I18n + - Add translation of Sinhalese (#21936 by @sayuri-gi) + - Update translation of Spanish (#21924 by @jcardus) + - Add translation of Malaysian (#22028 by @iorange0411) + - Update translation of Swahili (#21904 by @Cholowao) +- Utils + - update date-util.js (#22099 by @Due07) +- DatePicker + - add months And years type (#21918 by @akiko123456) + +### 2.15.9 + +*2022-06-02* + +#### Bug fixes + +- Table + - Fix Tabl-header shake bug (#21863 by @bofeng) + - Fix when partial import show `el-checkbox not imported` error (#21828 by @bobohuochai) +- FormItem + - Fix change rules verification not reset bug (#21892 by @bofeng) +- Cascader + - Fix change options unexpect error (#21759 by @louiebb) +- Docs + - Fix Popover docs (#21843 by @lod61) + - Fix Calendar docs (#21814 by @GoJam11) + - Fix TimePicker docs (#21803 by @Alanscut) + - Fix DatePicker docs (#21877 by @Nirvanaiu) +- Other + - Fix codepen display bug (#21863 by @bofeng) + +#### Optimization + +- I18n + - Add translation of Swahili (#21895 by @quilltouch) +- Chore + - Use launch-editor-middleware in dev environment (#21633 by @polemices) +- DatePicker & Cascader + - Optimize the dropdown animation direction (#21806 by @XivLaw) +- Tooltip + - Optimize `getFirstElement` code (#21886 by @zhankang) +- Input + - Optimize scss code (#21558 by @cheese-git) + +### 2.15.8 + +*2022-04-12* + +#### Bug fixes + +- Drawer + - Fix appendToBody failure problem (#21264 by @cs1707) +- Switch + - Fix toggling value problem(#19473 by @EdwinBetanc0urt) +- Docs + - Fix input docs (#21723 by @justforuse) + - Fix DatePicker docs (#21663 by @justforuse) + - Fix Skeleton docs (#21601 by @yanwydxf) +- Others + - Fix vue version (#21736 by @ckvv) + +#### Optimization + +- I18n + - add translation of Azerbaijani (#21012 by @ricardotondello) + - update translation of Slovenian (#21729 by @patik123) + - update translation of Slovak (#21711 by @sjaustirni ) + - add translation of Icelandic (#21709 by @aronhr) + - add translation of Bengali (#21485 by @llwwtt) + +#### Others + +- Due to compatibility considerations, the PR on node-sass (#21019 by @linxsbox) of 2.15.7 release has been withdrawn and will be published in an appropriate version after re-evaluation. + +### 2.15.7 + +*2021-11-18* + +#### Bug fixes + +- Select + - fix click icon triggering dropdown (#21314 by @dennyak47) + - fix keydown event when composition (#21336 by @bchen1029) +- Badge + - fix type class when is-dot (#21308 by @adaex) +- Form + - validate method reject error info (#21374 by @cs1707) +- Table + - fix resizeObserver loop limit exceeded (#21255 by @tomieric) + - fix toggleAllSelection bug when table is empty (#21456 by @cs1707) + - optimize performance (#21330 by @cs1707) +- Button + - fix disabled priority (#21375 by @cs1707) +- Descriptions + - fix label slot bug (#21462 by @cs1707) +- SASS + - replace node-sass with dart-sass (#21019 by @linxsbox) +- Docs + - fix skeleton typos (#21408 by @zhhbstudio) + +### 2.15.6 + +*2021-09-02* + +#### Bug fixes + +- Cascader + - fix a bug that makes the browser jitter in zoom mode (#21207 by @cs1707) + - optimize performance (#21231 by @cs1707) +- Select + - fix long text overflow in multiple mode (#21237 by @cs1707) +- Dropdown + - add disabled property (#21235 by @mshioda) +- Radio + - fix checked state when browser go back (#21250 by @cs1707) +- Descriptions + - fix type declaration (#21265 by @adaex) + - avoid table style conflict (#21254 by @adaex) +- Drawer + - fix append to body (#21264 by @cs1707) +- Local + - fix italian mistake (#21012 by @ricardotondello) + +### 2.15.5 + +*2021-08-04* + +#### Bug fixes + +- Select + - fix resetInputHeight (#21201 by @cs1707) + +### 2.15.4 + +*2021-08-03* + +#### New features + +- Descriptions + - add description component (#21129 by @cs1707) +- Result + - add result component (#21171 by @cs1707) + +#### Bug fixes + +- Utils + - fix isScroll (#21098 by @canvascat) +- Translation + - update it.js (#21133 by @bliberi) +- RadioGroup + - fix RadioGroup used in component causes exception #17908 (#20783 by @lceric) +- Message + - fix message[type] (#21088 by @cs1707) +- Carousel + - reset the timer when setActiveItem method is called (#20846 by @Nekojita1) +- Cascader + - fix emitPath (#21185 by @cs1707) +- Select + - fix select filterable bug (#17494 by @profore) + - fix a bug that makes the browser jitter in zoom mode (#21197 by @cs1707) +- Tree + - fix insertChild (#21194 by @cs1707) + +### 2.15.3 + +*2021-06-29* + +#### New features + +- Skeleton + - add skeleton component (#21038 by @cs1707) +- Empty + - add empty component (#21080 by @cs1707) + +#### Bug fixes + +- Local + - fix week translations for hr locale (#21040 by @cs1707) +- Table + - fix lazy load data (#21041 by @cs1707) +- Docs + - fix form hide-required-asterisk description (#21045 by @cs1707) +- Drawer: + - fix destroy (#20715 by @zj9495) +- Row + - fix align top (#20963 by @cs1707) +- Select + - fix the bug when the value is Boolean (#21052 by @cs1707) +- Calendar + - fix first-day-of-week (#21057 by @cs1707) +- Utils + - fix isScroll (#21065 by @cs1707) + - fix(utils.dom by @fw6) +- TypeScript + - add CascaderPanel export type (#21070 by @qige2016) + - add spinner.d.ts (#21090 by @qige2016) + +### 2.15.2 + +*2021-05-28* + +#### Bug fixes + +- Image + - fix z-index and keydown event add stopPropagation (#20859 by @cs1707) +- Input + - fix show password cursor (#20870 by @cs1707) + - fix show password icon in edge (#20902 by @cs1707) +- Carousel + - fix interval and scale bug (#20931 by @cs1707) +- Cascader + - fix delete tag bug (#20939 by @cs1707) +- Drawer + - add overflow auto (#20948 by @cs1707) +- Others + - fix isFunction (#20912 by @cs1707) + +### 2.15.1 + +*2021-02-23* + +#### Bug fixes + +- Drawer + - bugfix (by @cs1707) +- Image + - fix incorrect image object fit ratio in IE (#19583 by @charlie0228) +- Cascader + - fix cascader panel active path (#20730 by @cs1707) +- Calendar + - fix calendar component i18n bug (#20758 by @iamkun) +- ColorPicker + - fix bugs (by @UxieVerity) + +#### Optimization + +- Doc + - update Axure resource v2.1.0 (by @iamkun) + +### 2.15.0 + +*2021-01-15* + +#### Bug fixes + +- Select + - Fix placeholder i18n bug (#17644 by @nzh63) +- Popconfirm + - Popconfirm i18n bug by @iamkun +- Drawer + - Fix focus bug (#20626 by @cs1707) +- Image + - Preview optimization (#20652 by @cs1707) + +#### Optimization + +- Doc + - Fix typo in french translation of datetime-picker.md (#20543 by @lonk) + - Add format attribute description to the progress component (#20641 by @cs1707) + +### 2.14.1 + +*2020-11-11* + +#### Bug fixes + +- Popover + - Compatible with Vue 2.6 new v-slot syntax (#20424 by @iamkun) + +#### Optimization + +- I18n + - Update Arabic translation (#20202 by @elkattan) + - Update Uighur translation (#20177 by @IlhamTahir) + +### 2.14.0 + +*2020-10-29* + +#### Breaking changes + +- Popconfirm + - Rename event name to `confirm`, `cancel` (#20240 by @hugiron) + +#### Bug fixes + +- Progress + - Fix attribute error (#19985 by @Caaalabash) + +#### Optimization + +- I18n + - Update Russian translation (#19451 by @yangirov) + - Update Khmer translation (#20077 by @Sovai) + - Update Ukrainian translation (#20344 by @MammutAlex) + +### 2.13.2 + +*2020-05-18* + +#### Bug fixes + +- Autocomplete + - Fix change event bug (#19200 by @sxzz) +- Image + - Update error status (#19194 by @lhx6538665) + +#### Optimization + +- I18n + - Update ru-RU popconfirm translation (#19220 by @Opppex) + - Update vi translation (#19244 by @quangln2810) + - Update Catalan and Spanish translations (#19296 by @Ismaaa) + - Update Indonesia translation (#19320) by @therour) + - Update Brazilian Portuguese translation (#19374 by @diegomengarda) + + +### 2.13.1 + +*2020-04-13* + +#### New features +- Autocomplete + - Add change event (#17913 by @sxzz) + +#### Bug fixes + +- Autocomplete + - Fix suggestion error when textarea (#18478 by @Roojay) +- Carousel + - Fix console typo bug (#18264 by @IceFox) +- Image + - Fix preview dose not show when preview list not contain src issue (#18975) (#19130 by @luckyCao) + - Fix shortcut key not work at second time issue (#18983) (#19156 by @luckyCao) + - Don't show image-viewer when preview is false (#18967 by @inooNgt) +- Transfer + - Fix incorrect line-height of el-transfer's first list item when it was used with el-form-item (#18917 by @Hanx) +- InputNumber + - Correctly compute inputNumberDisabled (#18439 by @ashuser-pendo) +- Chore + - Remove index intro (#19155 by @iamkun) +- Doc + - Popconfirm doc update (#18324 by @iamkun) + - Fix step-strictly docs typo (#18705 by @dream2023) + - Fix a type error in document of steps component (#17555 by @haoranyu) + +### 2.13.0 + +*2019-11-26* + +#### New features + +- Popconfirm + - Add popconfirm component (#17548 by @iamkun) + +#### Bug fixes + +- BackTop + - Use cubic bezier scrolling (by @lon) +- DatePicker + - Fix bug of only select min date of date range problem (#17191 by @smk0621) +- Select + - Fix select test cases (by @msidolphin) +- Tree + - Add font-size for the style of tree empty-text (#17094 by @spengjie) +- Table + - Column header can be costumed (#17291 by @ziyoung) + - Update table header cell style (#17284 by @ziyoung) + - Fix table header height after filter (#17348 by @ziyoung) + - Fixed row-style with display not work (#17002 by @a631807682) + - Fix header table not display (#17341 by @ziyoung) +- Calendar + - Import el-button and el-button-group (#17376 by @masongzhi) +- MessageBox + - Fix icon position error (#17410 by @nullptru) +- TimePicker + - Set the selection range after scrolling up or down (#16868 by @mattheyan) +- Message + - Fix close instace offsetHeight嚗�#17564嚗� (#17852 by @gzwgq222) +- Form + - Callback of validateField should be optional (#17314 by @CarterLi) +- Cascader + - Fix TypeScript 3.7 compatibility (#17881 by @CarterLi) +- Menu + - Fix router NavigationDuplicated error when using vue-router@^3.1.0 (#17269 by @iamkun) +- Dropdown + - Update type file (#17550 by @iamkun) +- Progress + - Add strokeLinecap prop (#17552 by @iamkun) +- InfiniteScroll + - Skip trigger event on invisible element (#17553 by @iamkun) +- Image + - Perfect picture preview behavior (#16985 by @luckyCao) + - Fix shield the page when preview big image (#16796 by @luckyCao) +- Drawer + - Bugfix drawer-append-to-body-not-working (#16953 by @JeremyWuuuuu) +- Select + - Fix tag show value or empty issue (17199 by @luckyCao) +- Scrollbar + - Fix FireFox scroll bar width (#18091 by @iamkun) + +#### Optimization + +- I18n + - Update sv-SE.js (#17926 by @FOLLGAD) + - Update avatar component fr doc (#17762 by @blombard) +- Docs + - Fix time-select typo (#17250 by @wacky6) + - Fix Drawer attribute accepted value typo in es (#17122 by @haoranyu) + - Update Spanish changelog 2.12.0 (#17364 by @Gonzalo2310) + - Fix Changelog typo (#17874 by @renlixin) + - Fix Loading demo (#17862 by @MBearo) + - Add input event in input Events Table (#18061 by @zhouxinyong) + - Delete Input repeat change event (#18085 by @zhouxinyong) + +### 2.12.0 + +*2019-08-29* + +#### New features + +- Popover + - Add close-delay prop (#16671 by @LachlanStuart) +- Theme + - Add Chrome Extension: Element Theme Extension (#16686 by @iamkun) +- Icon + - Add font-display to @font-face declaration (#16805 by @iamfaizalandyka) + +#### Bug fixes + +- Carousel + - Fix onChange emit value (#16705 by @iamkun) +- Notification + - Fix modifying incoming option object (#16704 by @iamkun) +- DatePicker + - Add className for picker option (#16632 by @iamkun) +- DateTimePicker + - Fix time-spinner not scroll to right position (#16854 by @jesse-li) +- Table + - Prevent click handler after drag (#16850 by @ziyoung) + - Fix chrome crash when set thead css display to none (#16956 by @luckyCao) + - Fix wrong empty block height (#16861 by @ziyoung) + - Not throw error when calling toggleExpansion (#16304 by @yyjjqq94) + - Not trigger sort-change event when mounted (#17113 by @a631807682) + - Fix setCurrentRow unable to clear highlight row (#16879 by @ziyoung) + - Fix expand-row-keys not work when data is loaded asynchronously (#16899 by @ziyoung) + - set toggleAllSelection as instance property (#17137 by @ziyoung) +- Tree + - Fix distance between label and checkbox (#16799 by @Hazlank) +- Tabs + - Fix incorrect TabItem's position (#16520 by @victorting) + - Fix activated tab is out of visual range bug (#17033 by @nullptru) +- Calendar + - Fix weekdays i18n issue (#16772 by @ubitoffee) + - fix locale error by (#17208 by @iamkun) +- Cascader + - Fix CascaderPanel display error (#16716 by @zhangHongEn) + - Fix disable status and close button issue (#16224 by @yyjjqq94) +- Input + - Fix Korean composition event (#15069 by @MoonHyuk) + - Fix click event of clear button not trigger when using v-loading (#16576 by @a631807682) +- Select + - Not toggle dropdown when filtering (#17205 by @luckyCao) +- Transfer + - Fix style error (#17206 by @iamkun) +- Dialog + - update sass var (#16365 by @haoranyu) +- RadioGroup + - Not produce invalid HTML in table if "is" attribute is specify (#17070 by @nullptru) +- Divider + - Support custom classes (#17078 by @island205) + +#### Optimization + +- Checkbox + - Improve screen reader experience (#16575 by @tylertrotter) +- Docs + - Update changelog (#16773 by @SimonaliaChen) + - Update contributing guide (#14800 by @sinchang) + - Fix typo in Drawer docs (#16848 by @winkay) + - Update custom theme (#16983 by @iamkun) + - Add Esperanto translation (#16955 by @maxkoryukov) + - Update input-number document about change event (#16316 by @luckyCao) + - Update spanish doc 2.11.1 (#16961 by @Gonzalo2310) +- I18n + - Remove translation of 'year' in catalan language as in the other languages (#14722 by @oscaralbareda) + - Update spanish changelog 2.10.0 and 2.10.1 (#16548 by @Gonzalo2310) + - Update ar.js (#16653 by @l3op) +- Test + - Correct spelling error (#16672 by @boomler) + - Refactor unit test to use data-uri (#16847 by @a631807682) +- Types + - Fix httprequest type (#16633 by @luckyCao) + +### 2.11.1 + +*2019-07-26* + +#### Bug fixes + +- Image + - Fix Image component SSR compatibility (#16737 by @luckyCao) +- Chore + - Update dart-sass compatibility (#16744 by @LewisChennnnn) + +### 2.11.0 + +*2019-07-25* + +#### New features + +- Drawer + - Add drawer component (#16577 by @JeremyWuuuuu) + +#### Bug fixes + +- Checkbox + - Enhance css selector (#16006 by @Hazlank) +- Tree + - Make el-tree generic (#15934 by @JeremyWuuuuu) + - Set isCurrent prop to False (#15870 by @kkkisme) +- Dropdown + - Fix split-button caret default color (#15931 by @JuniorTour) +- Cascader + - Fix level 1 children is empty update problem (#16399 by @luckyCao) + - Add sets default values when lazy is true (#16420 by @luckyCao) + - Fix display errors when node value is duplicate (#15935 by @junyiz) + - Expose getCheckedNodes and fix options change bug (#16709 by @SimonaliaChen) +- Calendar + - Display correct header when range is specified (#16354 by @ziyoung) +- Submenu + - Fix prop append-to-body (#16289 by @a631807682) +- Table + - Fix tree table when updating data (#16481 by @island205) +- Select + - Fix memory leak issue (#16463 by @island205) +- InfiniteScroll + - Update naming & doc (#16698 by @iamkun) +- Avatar + - Fix image not center vertically issue (#16489 by @luckyCao) +- Dialog + - Add destroyOnClose attribute (#16455 by @ziyoung) +- Image + - Add big Image preview feature (#16333 by @luckyCao) + +#### Optimization + +- Docs + - Fix dropdown demo (#16193 by @webxmsj) + - Fix typo in table documents (#15971 by @howiefh) +- I18n + - Update translation of Thai language (#16689 by @ponkrit) +- Chore + - Update theme base api (#16607 by @iamkun) + - Add form theme token (#16699 by @iamkun) + - Mark ali inner user's access (#16609 by @iamkun) + - Fix doc anchor bug (#16692 by @iamkun) + +### 2.10.1 + +*2019-07-02* + +#### Bug fixes + +- Table + - Fix sort icon (#15439 by @bezany) + - Fix layout breaks when append slot exists (#16332 by @ziyoung) + - Fix showOverflowTooltip not reactive (#16295 by @a631807682) + - Register scrollbar in filter-panel (#16246 by @ziyoung) +- Chore + - Fix 2.9 docs (#16233 by @ziyoung) + - Fix index page theme intro english css style issue (#16254 by @iamkun) + +#### Optimization + +- Tag + - Compatible with IE (#16334 by @ziyoung) +- Chore + - Update Dingtalk Group QR image (#16236 by @iamkun) +- Doc + - Update online theme roller doc (#16244 by @iamkun) + +### 2.10.0 + +*2019-06-25* + +#### New features + +- I18n + - Added Uzbek language (#15796 by @ogabek96) +- Calendar + - Add first-day-of-week attribute (#16047 by @ziyoung) +- Avatar + - Add avatar component (#16144 by @luckyCao) +- Upload: + - Add capability to customize thumbnail template (#13192 by @victorzhuk) + +#### Bug fixes + +- Tree + - Not highlight tree node when currentKey is null (#15668 by @yyjjqq94) + - Fix issue #15538 caused by two Tree sharing the same data. (#15615 by @VanMess) +- Upload + - Update the parameter `fileList` type (#15716 by @underfin) +- Table + - Fix loading icon not display (#15868 by @ziyoung) + - Fix background color of complex table when hovering (#15504 by @cnlon) + - Fix current-row-key and select event bug (#15983 by @ziyoung) + - Height accepts more units (#16013 by @ziyoung) + - Fix reserve-selection not work (#16135 by @ziyoung) +- Docs + - Fix Divider attribute type in zh-cn (#15889 by @haoranyu) +- Menu + - Fixed submenu hidden bug after adding popper-append-to-body (#15391 by @PanJiaChen) +- Select + - Fix initialInputHeight (#15989 by @yyjjqq94) + - Fix default-first-option behavior when typing Chinese (#15431 by @VanMess) + - fix double import problem (#16215 by @lengband) +- Message + - Add type def for offset option (#16027 by @matjaz) +- Timeline + - Fix reverse broken (#16091 by @ziyoung) +- Slider + - Fix #15545 by adding explains about "input" event in Chinese (#15588 by @VanMess) +- InfiniteScroll + - Update package name (#16125 by @iamkun) +- MessageBox + - Fix�� distinguishCancelAndClose action not same as docs bug (#15438 by @qingdengyue) +- PopupManager + - Fix z-index cannot be rewritten at first using (#15738 by @luckyCao) +- Docs + - Delete an incorrect closing html tag and empty block code (#16194 by @Alexeykhr) +- Chore + - Update test api host (#15807 by @iamkun) + +#### Optimization + +- Tree + - Modify loop conditions to improve performance (#15699 by @KingJeason) +- Theme + - Refine GA track & Update footer link forward to online theme roller (#16007 by @island205) +- Badge + - Update badge prop check (#16198 by @iamkun) +- Avatar + - Update theme config var (#16202 by @luckyCao) +- I18n + - Update pt-br.js (#15776 by @gigioSouza) + - Update Farsi translation (#15881 by @pamenary) +- Docs + - Add missing components in quickstart (#16063 by @pape2016) + - Update french translation (#16208 by @blombard) + - Add description $slots.default (#15444 by @Alexeykhr) + - Update Spanish Doc 2.9.1 (#15840 by @Gonzalo2310) + - Fix spelling mistakes in fr (#15837 by @blombard) + - Update changelog 2.9.2 Spanish (#16185 by @Gonzalo2310) + +#### Breaking changes + +- Form + - Remove success status (#16159 by @ziyoung) + +### 2.9.2 + +*2019-06-21* + +#### Correction de bugs + +- Chore + - Correction du fichier de d矇finitions TS (#15805 by @NateScarlet) + +### 2.9.1 + +*2019-05-30* + +#### Nouvelles fonctionnalit矇s + +- Table + - les 矇v矇nements tree-props嚗efault-expand-all, expand-row-keys, toggle-row-expansion method and expand-change sont pris en charge dans Tree Table (#15709 by @ziyoung) + +#### Correction de bugs + +- Table + - Correction de quelques bugs (#15709 by @ziyoung) +- Theme + - Mise �� jour de l'h繫te api (#15784 by @iamkun) + +#### Optimisation + +- Chore + - Mise �� jour de InfiniteScroll type (#15794 by @iamkun) + +### 2.9.0 + +*2019-05-30* + +#### Nouvelles fonctionnalit矇s + +- Backtop + - Ajout du composant Backtop (#15541 by @iamkun) +- PageHeader + - Ajout du composant PageHeader (#15714 by @ziyoung) +- InfiniteScroll + - Ajout de la directive InfiniteScroll (#15567 by @iamkun) +- Cascader + - Ajouter plusieurs mode et filter-method (#15611 by @SimonaliaChen) +- Message + - Affichage en mode pile (#15639 by @island205) +- Tag + - Ajout d'un effet de prop (#15725 by @SimonaliaChen) +- Tabs + - Aligner le titre �� gauche lorsque le type est carte (#15695 by @luckyCao) +- DatePicker + - Supporte les cha簾nes de caract癡res litt矇rales (#15525 by island205) +- Image + - Ajout du support pour les attributs de transmission et listeners (#15578 by @VanMess) +- Theme + - Ajout d'un popup en arri癡re plan (#15412 by @iamkun) +- Chore + - Mise �� jour de la nouvelle page d'index 2.9.0 (#15682 by @iamkun) + +#### Correction de bugs + +- Table + - Correction du comportement de sort-change lorsque la condition de tri est nulle (#15012 by @joelxr) +- Image + - Correction de la compatibilit矇 ssr et object-fit (#15346 by @SimonaliaChen) +- Input + - Correction du style de show-word-count dans el-form (#15359 by @lvjiaxuan) + - Correction de l'ic繫ne d'erreur pas centr矇e (#15354 by @YiiGuxing) +- Calendar + - Correction du mauvais jour de la semaine quand le jour est dimanche (#15399 by @qingdengyue) + - Correction du bug de disparition d'octobre (#15394 by @qingdengyue) +- Tabs + - Correction de l'onglet de base imbriqu矇 dans l'erreur de remplissage de card (#15461 by @SimonaliaChen) +- Tag + - Correction du probl癡me de propagation d'arr礙t (#15150 by @infjer) +- Form + - Correction de input-group dans l'erreur de hauteur de form-item (#15457 by @SimonaliaChen) + - R矇solution de l'issue de resetFields (15181 by @luckyCao) +- Tooltip + - Correction de tabindex personnalis矇 ne fonctionnant pas (#15619 by @SimonaliaChen ) +- Link + - Correction de la classe de style d'ic繫ne (#15752 by @iamkun) +- Select + - Revert d矇finit la valeur �� null une fois effac矇e (#15447 by @iamkun) +- Loading + - R矇solution du probl癡me de mise �� jour de dom lorsque l'矇tat de chargement change rapidement (#15123 by @FAKER-A) +- Switch + - Label avec les 矇v矇nements r矇currents el-switch (#15178 by @FAKER-A) +- Slider + - Correction d'un probl癡me de style lorsque la barre de d矇filement est cliqu矇e (#15561 by @luckyCao) +- Radio + - R矇solution de l'issue 14808 (#14809 by @OverTree) +- Form + - R矇solution du probl癡me de resetFields (15181 by @luckyCao) +- Chore + - Mise �� jour des d矇pendances et corrige le bug de d矇monstration (#15324 by ziyoung) +- Type + - Correction du type de chargement (#15635 by @iamkun) + - Correction du type d'ic繫ne (#15634 by @iamkun) + - Fixe la d矇finition du type de lien (#15402 by @iamkun) + +#### Optimisation + +- Cascader + - Refactor (#15611 by @SimonaliaChen) +- Chore + - Mise �� jour de la logique du nouveau composant (by @iamkun) +- Docs + - Renommage de variables dans la documentation (#15185 by @liupl) + - Correction du type d'attribut d'image et de la valeur par d矇faut (#15423 by @haoranyu) + - Correction d'un bug de formulaire (#15228 by @SHERlocked93) + +### 2.8.2 + +*2019-04-25* + +#### Corrections de bugs + +- Icon + - Mise �� jour (#15272 par @iamkun) +- Docs + - Correction du style de Form et Input (#15273 par @ziyoung) + +### 2.8.1 + +*2019-04-25* + +#### Corrections de bugs + +- Icon + - Mise �� jour de l'ic繫ne du cascadeur et du select (#15264 par @SimonaliaChen) + - Mise �� jour (#15258 #15268 par @iamkun) + +#### Optimisation + +- Chore + - Mise �� jour du script de build (#15267 par @ziyoung) +- Docs + - Correction de la couleur de souslignage d'un lien (#15265 par @iamkun) +- Autre + - Correction d'une configuration de migration non compatible avec les propri矇t矇s et 矇v癡nements en camelCase (#15260 par @SimonaliaChen) + +### 2.8.0 + +*2019-04-25* + +#### Nouvelles fonctionnalit矇s + +- Divider + - Ajout du composant divider (#15055 par @island205) +- Rate + - Ajout des couleurs et des classes d'ic繫nes personnalis矇es en passant un objet (#15051 par @SimonaliaChen) +- Link + - Ajout du composant Link (#15052 par @iamkun) +- Calendar + - Ajout du composant calendar (#14908 by @ziyoung) +- Icon + - Ajout d'une ic繫ne (#15214 par @iamkun) +- Alert + - Ajout d'un th癡me sombre (#15041 par @island205) +- Image + - Ajout du composant image (#15117 par @SimonaliaChen) +- Collapse + - CollapseItem peut 礙tre d矇sactiv矇 (#15076 par @ziyoung) +- Carousel + - Ajout d'un attribut de direction et support de la direction verticale (#15122 by @ziyoung) +- Pagination + - Ajout d'un attribut cach矇 sur une seule page (#15096 par @ziyoung) +- Slider + - Ajout des marqueurs (#15133 par @luckyCao) +- Input + - Ajout de l'attribut show-word-count (#15075 par @luckyCao) +- InputNumber + - Ajout de l'attribut step-strictly (#15050 par @luckyCao) +- Tooltip, Dropdown, Popover + - Support de l'attribut tabindex (#15167 by @ziyoung) + +#### Corrections de bugs + +- Notification + - Correction du word-break du titre (#15008 par @iamkun) +- Form + - Correction d'une erreur dans les r癡gles de validation (#14985 par @luckyCao) + - Correction du style du label (#14969 par @ziyoung) + - Les FormItem requis affiche un ast矇risque lorsque le label est auto (#15144 by @ziyoung) +- Pagination + - Fix du slot non mis �� jour (#14711 par @lucyhao) +- Table + - Correction d'un bug de chargement en mode lazy (#15101 by @ziyoung) + - Correction de la largeur des cellules lorsque colspan est sup矇rieur �� 1 (#15196 by @ziyoung) + - Am矇lioration des performances (#14868 by @ziyoung) + - Ne pas 矇mettre de d矇clencheurs de changement de tri pendant l'initialisation (#14625 by @PeanutWatson) + - Comportement 矇gal pour height et max-height (#14660 by @arthurdenner) +- Dialog + - Correction de la casse des longs mots (#15027 par @iamkun) +- Alert + - Mise �� jour (#15186 par @ziyoung) +- Tabs + - Correction d'un probl癡me o羅 le rejet d'une promesse touchait l'application (#14816 par @ffxsam) + - Rerendu lors d'un changement de slots (#1523238 by @ziyoung) +- Message + - Mise �� jour (#14968 par @agoni121212) +- Select + - Correction d'une erreur lorsque la valeur est ind矇finie ou nulle (#15022 par @luckyCao) +- Tree + - D矇truire le noeud courant apr癡s sa suppression (#14604 par @sinchang) + - Am矇lioration des performances (#14881 par @ChenZhuoSteve) +- Dropdown + - Correction de style (#14907 par @doing123) +- Slider + - Correction d'un bug clavier a11y cass矇 (#14792 by @erezsob) +- Menu + - La valeur ActiveIndex sera nulle si defaultIndex n'existe pas (#14074 par @hoythan) +- Directive + - RepeatClick : utilisation de Date.now() au lieu de Date() (#14776 par @pavelmash) +- Upload + - Correction du style d'affichage des images transparentes (#15039 par @iamkun) +- Th癡me + - Ajout d'une bordure (#1525256 par @iamkun) + +#### Optimisation + +- Chore + - Mise �� jour du changelog zh-cn (#14965 par @iamkun) + - Masquer la description de la d矇mo quand elle est vide (#15014 par @ziyoung) + - Afficher les informations du serveur de d矇veloppement par d矇faut par @iamkun) + - Correction d'une erreur de changelog 2.6.0 (#15026 par @iamkun) + - Mise �� jour de la configuration de compilation (#14821 par @abc3660170) + - Ajout d'hmr (#15221 par @SimonaliaChen) + - Utilisation de sourcemap dans l'environnement dev (#15087 par @ibufu) +Docs + - Renommage de la variable dans docs (#14602 #15003 #15094 #15105 par @liupl) + - Correction d'une erreur de t矇l矇chargement de doc (#15023 par @iamkun) + - Mise �� jour du validateur de formulaire personnalis矇 doc (#15040 par @iamkun) + - Mise �� jour des onglets docs pour afficher les onglets verticaux (#15053 par @iamkun) + - Utiliser eleme.cn comme domaine (#15139 par @ziyoung) + - Correction du nom de route Image (#15194 par @iamkun) + - Suppression de la traduction en double (#15207 par @iamkun) + +#### Breaking changes + +- Rate + - Correction du support de l'affichage d矇cimal en mode d矇sactiv矇 (#15089 par @haoranyu) +- Select + - Utiliser le label de l'option pour r矇gler le placeholder en mode filtre (#14989 par @ibufu) + +### 2.7.2 + +*2019-04-03* + +#### Corrections de bugs + +- Form + - Correction du style de `label-width` auto (#14955 par @ziyoung) + +#### Optimisation +- Docs + - Correction d'une erreur de lien img (#14957 par @iamkun) +- Chore + - Correction d'une erreur de d矇ploiement mkdir (#14952 par @iamkun) + +### 2.7.1 + +*2019-04-03* + +#### Corrections de bugs + +- Select + - D矇finir la valeur �� null lorsqu'elle est effac矇e (#14322 par @aaronfulkerson) +- Input + - Mise �� jour des valeurs d矇pendantes du DOM lors d'un changement de type (#14889 par @wacky6) +- Table + - Faire fonctionner `defaultExpandAll' lorsqu'une colonne 矇tendue existe (#14935 par @ziyoung) +- Dialog + - Couleur d'arri癡re-plan configurable (#14939 par @ziyoung) +- Form + - `label-width` supporte la largeur automatique (#14944 by @ziyoung) + +#### Optimisation +- Docs + - Mise �� jour de la documentation en espagnol (#14913 par @Gonzalo2310) + - Ajout d'un document en fran癟ais pour le nouveau composant (#14924 by @ziyoung) + - Optimiser la documentation des onglets (#14938 by @ziyoung) + +### 2.7.0 + +*2019-03-28* + +#### Nouvelles fonctionnalit矇s + +- Table + - Ajout du support de l'arborescence des donn矇es (#14632 by @ziyoung) + +#### Corrections de bugs + +- Tabs + - Utilise la couleur primaire comme couleur de l'ombre (#14558 par @Richard-Choooou) + - Rerendu lorsque label change (#14496 par @akki-jat) +- Table + - Le pied de page suit l'alignement des cellules du corps (#14730 by @ziyoung) +- NavMenu + - Correction d'un bug de clic sur el-submenu (#14443 par @PanJiaChen) +- Dropdown + - Compatible avec la nouvelle syntaxe v-slot 2.6 (#14832 by @ziyoung) +- ColorPicker + - Correction d'une erreur de couleur hexad矇cimale (#14793 par @iamkun) +- Tree + - Revert pr #13349 (#14847 par @ziyoung) +- Tooltip + - Affichage lorsque la valeur initiale est vraie (#14826 by @ziyoung) +- Docs + - Mise �� jour de la documentation du cascader (#14442 par @panhezeng) +- Style + - Correction des media queries dans sm-only, md-only, lg-only (#14611 by @sinchang) + +#### Optimisation + +- Chore + - Ajouter la description de la page web (#14802 par @iamkun) + +### 2.6.3 + +*2019-03-21* + +#### Corrections de bugs + +- Correction du style de la d矇mo de Cascader (#14789 par @ziyoung) +- Suppression des op矇rations DOM inutiles (#14788 by @ziyoung) +- Correction DatePicker valeur par d矇faut DST (#14562 par @wacky6) + +### 2.6.2 + +*2019-03-21* + +##### Nouvelles fonctionnalit矇s + +- DatePicker + - Ajout d'une plage de mois pour l'attribut type (#14487 par @zxyRealm) +- i18n + - Ajout de la locale croate (#14360 par @danijelh) + +##### Corrections de bugs + +- Input + - Correction d'un r矇gression (#14572 par @wacky6) +- DatePicker + - Correction du calcul du premier jour de la semaine (#14523 par @sinchang) + - Correction du format de valeur du s矇lecteur de semaine (#13754 par @wacky6) +- Steps + - Correction du probl癡me #14502 (#14596 par @sinchang) + - Correction du style avec le th癡me simple (#14610 par @sinchang) +- Docs + - Mise �� jour de la doc fran癟aise pour la 2.6.1 et correction de fautes de frappe (#1455555 par @smalesys) + - Renommage d'une variable dans la documentation de la table (#14587 par @likwotsing) + - Ajout de l'index de recherche en fran癟ais (#14565 par @iamkun) + - Correction du style de la page TimePicker (#14579 par @ziyoung) + - Renommage d'une variable dans la page Upload (#14593 par @liupl) + - Mise �� jour de la traduction fran癟aise (#14643 par @smalesys) + - Mise �� jour de la documentation du validateur de formulaire asynchrone (#14694 par @iamkun) + - Correction d'une erreur de doc tooltip (#14748 par @iamkun) + - Correction d'une coquille (#14751 par @2bj) + - Correction de la surbrillance pour Webkit touch (#14703 by @VladG0r) + +##### Optimisation + +- T璽che + - Mise �� jour du script de build dans le ci (#14600 par @ziyoung) + - Mise �� jour du tracking ga (#14560 par @iamkun) + - Ajout d'un 矇v矇nement ga suppl矇mentaire (#14633 par @iamkun) + - Mise �� jour du groupe de discussion (#14741 par @iamkun) + - Mise �� jour des deps de test et conf (#14735 par @wacky6) + - Mise �� jour de Gulp (#14745 by @ziyoung) + - Utilisez le codepen pour afficher les d矇mos et correction d'une erreur de doc (#14747 by @ziyoung) + +### 2.6.1 + +*2019-03-03* + +#### Corrections de bugs + +- **Ne pas sp矇cifier la version de node** (par @iamkun dans #14546) +- Correction du r矇pertoire doc dans `deloy-faas.sh` (par @ziyoung dans #14553) +- Correction d'un probl癡me de style de date dans le changelog de la 2.6.0 (par @island205 dans #14547) +- Correction d'une typo dans la doc (par @wack6 dans #14552) + +### 2.6.0 + +*2019-03-01* + +#### Nouvelles fonctionnalit矇s +- Timeline + - Ajout d'un composant timeline (par @jikkai dans #14248) +- DropdownItem + - Ajout de la propri矇t矇 `icon` �� `el-dropdown-item` (par @gabrielboliveira dans #14088) +- Input + - Ajout de propri矇t矇s pour afficher les mots de passe (par @phshy0607 dans #13966) +- Select + - Ajout du slot `empty` (par @elfman au #13785) +- Autocomplete + - Ajout de la propri矇t矇 `highlight-first-item` (par @YamenSharaf dans #14269) +- I18n + - Cr矇ation de la locale Arm矇nienne (par @hamletbarsamyan dans #14214) +- Docs + - Traduction fran癟aise (par @smalesys dans #12153, #14418, #14434) + +#### Optimisation +- Alert + - Mise �� jour de la classe du slot par d矇faut de la description de Alert (par @iamkun dans #14488) +- Input + - Mise �� jour de l'input de type password (par @iamkun dans #14480) +- InputNumber + - Retrait d'un parseFloat inutile (par @JuniorTour au #14172) +- Menu + - Ajout du support de `el-menu-item` sans index (par @georgyfarniev dans #13298) +- Table + - Suppression de certaines op矇rations du DOM (par @elfman dans #13643) +- Upload + - Optimisation du code (par @elfman dans #13973) +- Popup + - Optimisation du code (par @KAionro dans #14413) +- Docs + - Ajout de d矇tails sur la fa癟on d'ex矇cuter le mode play pour les contributeurs (par @island205 dans #14355) + - Ajout d'un avertissement concernant Input (par @wacky6 dans #14463) + - Mise �� jour de la doc de Table (par @luguokong dans #14329) + - Mise �� jour de la doc d'Input (par @iamkun dans #14437) + - Mise �� jour de la doc sur le th癡me (par @wangguohaohao dans #14297) + - Le style de l'ic繫ne change lorsque vous passez dessus (par @tuxinghuan dans #14295) +- Build + - Minification du CSS et du JS pour le site d'Element (par @iamkun dans #14430) + - Acc矇l矇ration de webpack (par @hetech dans #14484) + - Utilisation du cli pour s矇lectionner la version de publication (par @hetech dans #14354) +- Installation de stale pour la gestion des issues (par @island205 dans #14392) + +#### Corrections de bugs +- Menu + - Correction d'un bug de focus des sous-menus lors du changement d'onglet du navigateur (par @liupl dans #13976) +- MessageBox + - Correction de la d矇finition du type (par @NateScarlet dans #14278) +- ScrollBar + - Emp礙che le clic droit sur le bouton du pouce (par @xifeiwu dans #14196) +- Switch + - D矇clenchement de la validation du formulaire si la valeur change (par @hetech dans #14426) +- Table + - La m矇thode toggleAllSelection est maintenant une m矇thode d'instance (par @letanure dans #14075) +- Tabs & Dropdown + - Correction du style (par @hetech dans #14452) +- Tree + - Les tips sont diff矇rents des tableaux (par @ColinCll dans #14331) +- Docs + - Correction d'une erreur de doc du DatetimePicker (par @iamkun dans #14290) + - Probl癡me d'orthographe dans la documentation du DatePicker (par @helmut dans #14481) + - Correction du style de la doc de Pagination(par @liuchuzhang dans #14451) + +#### Breaking changes +- Table + - Fix params order of row events (by @jikkai in #12086) + +### 2.5.4 + +*2019-02-01* + +#### Corrections de bugs + +- Build: Correction d'un probl癡me de configuration de babel qui cassait la transition collapse (par @island205 dans #14282) + +### 2.5.3 + +*2019-01-31* + +#### Optimisation + +- Optimisation du code de Message (par @vok123 dans #14029) +- Suppression des gh-pages (par @ziyoung dans #14266) +- Ajout du lien IssueHunt (par @island205 dans #14261) + +#### Corrections de bugs + +- Correction d'une erreur du module UMD c繫t矇 serveur (par @island205 dans #14242) +- Correction du style du TabBar actif (par @iamkun dans #14240) +- Correction d'une erreur de code dans la d矇mo de Table (par @xunmeng dans #14253) + +### 2.5.2 + +*2019-01-27* + +#### Optimisation +- Docs: + - Mise �� jour du ChangeLog ES 2.5.1 (par @Gonzalo2310 dans #14231) + +#### Corrections de bugs +- Build: + - Suppression des commentaires non supprim矇s dans le module umd `lib/index.js` (par @island205 dans #14233) + - Correction d'une erreur d'exportation dans le module commonjs utilis矇 dans nuxt.js (par @island205 dans #14232) + - Correction des probl癡mes de build 2.5.1 (par @iamkun dans #14228) + +### 2.5.1 + +*2019-01-26* + +#### Optimisation +- DatePicker: surbrillance du mois et de l'ann矇e courants (par @Debiancc dans #14211) +- Mise �� jour du changelog 2.5.0 (par @wacky6 dans #14217) + +#### Corrections de bugs +- Correction d'un probl癡me d'exportation due par la mise �� jour du webpack (par @island205 dans #14220) +- Conservation de la docs 2.4.11 && nouveau sous-dossier pour 2.5+ (par @iamkun dans #14222) + +### 2.5.0 + +*2019-01-25* + +#### Nouvelles fonctionnalit矇s +- DatePicker + - Ajout de l'attribut `validate-event` (par @ziyoung dans #13531) +- DateTimePicker + - `pickerOptions` supporte l'option `selectableRange` (par @eeeeeeeeeeeason) +- Tag + - Ajout de l'矇v矇nement `click` (par @licdream dans #14106) +- I18n + - Support de la langue kirghize (par @zzjframework dans #14174) + +#### Optimisation +- Mise �� niveau vers webpack@4 (par @jikkai dans #14173) +- Input + - Simplification de l'impl矇mentation, suivant un flux de donn矇es �� sens unique. Correction de plusieurs bugs li矇s. (par @wacky6 dans #13471) +- Mise �� jour du fichier Axure avec de nouveaux composants (par @ziyoung dans #13773) + +#### Corrections de bugs +- Autocomplete + - Correction de la derni癡re ligne du menu d矇roulant qui 矇tait coup矇e (#13597) (par @ziyoung) + - Correction d'une fl癡che de popper manquante (#13762) (par @liuchuzhang) +- Carrousel + - Nettoyage du timer lorsque le composant est d矇truit (#13820) (par @elfman) +- Cascader + - Suppression de la propri矇t矇 obsol癡te des props calcul矇es (#13737) (par @iamkun) + - Correction de la d矇finition du type CascaderOption dans TypeScript (#13613) (par @NateScarlet) + - Correction de l'ic繫ne couvrant le texte (#13596) (par @ziyoung) +- Checkbox + - Refonte du style (par @PanJiaChen) +- DatePicker + - Ajout d'un `key` de v-for manquant dans TimeSpinner (#13547) (par @Ende93) + - Correction du surlignage de la semaine dans la bordure de l'ann矇e (#13883) (par @suyi91) +- Input + - Correction de la r矇f矇rence de textarea dans le DOM (#13803) (par @laomu1988 @island205) +- Pagination + - La valeur d'entr矇e ne sera pas inf矇rieure �� 1 (#13727) (par @elfman) +- Popover + - Correction d'un probl癡me de popover avec le d矇clencheur de hover (#13104) (par @goldengecko) + - Correction d'une fuite de m矇moire de l'instance popper (#13988) (par @qpxtWhite) +- Radio + - Refonte du style (par @ohhhoney1) +- Table + - Am矇lioration du tri des tables en cliquant sur la fl癡che de tri (#12890) (par @ohhoney1) + - Correction d'un probl癡me d'alignement vertical du texte vide sur IE10+ (#13638) (par @imzjy) + - Correction de la documentation sur le type d'index (#13628) (par @ilovefafafa) + - Correction du probl癡me d'affichage `show-summary` lorsque le header multi-niveaux est fixe (#13914) (par @luckyCao) +- Tabs + - Correction d'un bug de d矇filement automatique (#13696) (par @iamkun) + - Obtenir l'onglet correct par le nom de l'onglet (#13705) (par @iamkun) + - Utilisez paneName au lieu de name pour d矇terminer le style du panneau (#13733) (par @iamkun) +- Tree + - Correction de la propri矇t矇 `showCheckbox` sur `Tree` qui ne pouvait pas affecter leurs `tree-node` enfants(par @KidneyFlower) + - Mise �� jour des fichiers de doc et de d矇finition (#13540) (par @ziyoung) +- Upload + - Ajout de le propri矇t矇 `url` au fichier upload矇 lorsque `list-type` est modifi矇 (#13771) (par @elfman) +- Slider + - Correction de l'indentation du code source (#13955) (par @wacky6) +- I18n + - Ajout des traductions manquantes en catalan (par @jaumesala) + - Ajout de la traduction russe manquante (#13658) (par @justlp) + - Correction des traductions en finnois (#14137) (par @jenkrisu) +- Doc + - Mise �� jour de la documentation espagnol depuis la 2.4.11 (#13522) (par @Gonzalo2310) +- Autres + - Suppression d'un script inutile (par @ziyoung) + - Correction des ancres (#13753) (par @iamkun) + - Correction de l'incoh矇rence des majuscules dans la documentation (par @wonderjar) + - Ajout du QR code du chat DingDing au readme (#13957) (par @iamkun) + - Ajout des logs yarn au .gitignore (#13922) (par @mimimi) + - Suppression du sponsor duotai (#14156) (par @island205) + - Mise �� jour du QR code dans le readme (#13960) (par @iamkun) + - Mise �� jour du lien CDN, correction d'une typo (par @ziyoung) + +### 2.4.11 + +*2018-11-21* + +- Revert pr #13296. Correction d'un clic sur Menu externe causant l'effondrement du SubMenu, #13478 +- Ajustement des points de rupture media query sur petit 矇cran (xs), #13468 (par @alekoshen712) + +### 2.4.10 + +*2018-11-16* + +- Correction des clics multiples sur Select pour afficher la liste d矇roulante, #13268 +- L'ic繫ne d'effacement des champs n'est pas affich矇e lorsque Form est d矇sactiv矇, #13208 +- Ajustement des styles de Select, Progress, Autocomplete, Tooltip, Collaspe, TimePicker, #13188 (par @porcelainHeart) #13210 #13266 #13266 #13257 #13290 #13347 (par @PanJiaChen) +- Ajout de l'attribut `loop` dans le composant Carrousel, #13217 +- Lorsque les donn矇es de Table changent, la ligne en surbrillance reste, #13200 +- Le slot du header de Table peut recevoir des param癡tres, #13263 +- La m矇thode `clearFilter` de Table peut recevoir des arguments, #13176 +- La bulle d'aide n'est plus cr矇矇e lorsqu'il n'y a pas de contenu dans la cellule de Table, #13152 (par @rongxingsun) +- Le contenu de la zone de saisie du panneau ColorPicker peut 礙tre affich矇 correctement, #13278 +- ColorPicker ne d矇clenche plus la validation des formulaires lors du glisser-d矇poser, #13299 +- InputNumber: ajout de la m矇thode `select`, #13286 (par @st-sloth) +- AutoComplete: ajout de l'矇v矇nement `clear`, #12171(par arthurdenner) #13326 +- Vous pouvez fermer Menu en cliquant �� l'ext矇rieur, #13296 +- La m矇thode `validateField` du formulaire peut recevoir des arguments, #13319 +- Cascader: ajout de l'矇v矇nement `visible-change`, #13415 +- DatePicker: a ajout d'un slot pour les s矇parateurs d'intervalle, #13272 (par @milworm) +- Tree: ajout des propri矇t矇s `iconClass` et `currentNodeKey`, #13337 #13197 (par @isnifer) +- Progress: ajout du texte de statut #13198 (par @ali-master) +- Correction de `defaultCheckedKeys` de Tree, #13349 (par @dive2Pro) + +### 2.4.9 + +*2018-10-26* + +- Le param癡tre `clearValidate` de Form supporte les strings #12990 (par @codinglobster) +- Ajout de l'attribut `type` pour Badge, #12991 +- Les utilisateurs peuvent utiliser scoped-slot pour personnaliser l'en-t礙te de colonne de Table #13012 (par @ivanseidel) +- Correction du champ de Select incapable d'entrer du texte sous IE, #13034 (par @GaliMU) +- Les options Select ne s'enroule pas lorsque l'espace est suffisant, #12329 (par @akki-jat) +- Lorsque la liste d矇roulante de Select est ouverte, l'ic繫ne de la fl癡che s'affichera 矇galement correctement, #12353 (par @firesh) +- Correction de l'attribut de taille de Select qui ne fonctionnait pas, #13070 +- La s矇lection de plusieurs valeurs peut aussi 礙tre effac矇e, #13049 (par @ZSkycat) +- Correction du dernier TabNav qui ne pouvait pas 礙tre supprim矇, #13039 +- Correction d'un probl癡me d'affichage du label TabNav, #13178 +- Ajout d'un slot de titre pour Alert, #13082 (par @Kingwl) +- Correction d'un probl癡me o羅 le contenu de l'infobulle de Table 矇tait incorrect, #13159 (par @elfman) +- Optimisation de l'animation de Upload lorsque le fichier est supprim矇, #12987 +- Style ajust矇 pour InputNumber lorsque le bouton de commande n'est pas affich矇, #13052 + +### 2.4.8 + +- Ne pas afficher le contour lorsque le Switch est focus, #12771 +- Correction du style de Dropdown dans ButtonGroup, #12819 (par @bluejfox) +- Ajout d'un 矇v矇nement d'ouverture pour Dialog, #12828 +- Correction de l'ordre d'affichage incorrect de TabNav, #12846 +- Correction d'un probl癡me qui emp礙chait les Tabs de d矇filer jusqu'�� l'onglet s矇lectionn矇, #12948 +- Correction d'un probl癡me de l'identificateur qui ne s'affiche pas lorsque le noeud de Tree est gliss矇, #12854 +- Le param癡tre de l'矇v矇nement validation du formulaire contient le message de validation #12860 (par @YamenSharaf). +- Correction de DatePicker pour ne pas v矇rifier la validit矇 du temps d'entr矇e de l'utilisateur, #12898 +- Correction d'un probl癡me avec l'attribut `render-header` de l'en-t礙te de table qui ne fonctionnait pas, #12914 + +### 2.4.7 + +*2018-09-14* + +- Correction de DatePicker ne d矇clenchant pas la validation du formulaire, #12328 #12348 +- Correction des erreurs lanc矇es par DatePicker en mode multiple, #12347 +- Correction d'une position incorrecte du spinner de DatePicker, #12415 (par @rang-ali) +- Correction du remplissage automatique de la zone de saisie de DatePicker, #12521 (par @abdallanayer) +- Correction du champ non-subrillant dans Cascader, #12341 +- Correction d'un mauvais ordre de Tabpane, #12346 +- Correction d'une position incorrecte du curseur ColorPicker, #12376 (par @cnwhy) +- Correction du style de SubMenu, #2457 +- Correction de la surbrillance apr癡s la s矇lection de SubMenu, #12479 +- Correction des valeurs incorrectes s矇lectionn矇es par Cascader, #12508 (par @huangjinqiang) +- Correction d'une valeur incorrecte dans le champ d'entr矇e Pagination, #12525 +- Correction de l'ordre dans lequel la Pagination d矇clenche les 矇v矇nements, #12530 +- Correction des filtres de table non-affich矇s, #12539 +- Correction de l'arbre incapable de supprimer des n�ds, #12684 +- Correction de la hauteur de Select Input changeant en mode simple, #12719 +- Correction d'un style du label de FormItem sous forme imbriqu矇e, #12748 +- Ajout de l'attribut `autocomplete` pour Input, `auto-complete` devenant obsol癡te, #12514 (par @axetroy) +- Ajout des slots-scope pour Form pour afficher les informations de validation, #12715 (par @YamenSharaf) + +### 2.4.6 + +*2018-08-09* + +- Correction de Table n'affichant pas l'ic繫ne de filtre lorsque `filters` est un tableau vide, #12165 +- Correction de Menu ne sauvegardant pas l'矇tat actif lorsque `collapse` change, #12178 (par @elfman) +- Correction du Cascader n'矇chappant pas les caract癡res sp矇ciaux poue les Regexp, #12248 +- Correction d'un bouton Radio d矇sactiv矇 affichant l'ombre d'une case lorsqu'on clique dessus, #12262 +- Correction de arrow key qui n'a pas d'effet lorsque la valeur par d矇faut est `undefined`, #12322 +- Correction de la fonction de requ礙te de Select non-stabilis矇e en mode multi, #12181 +- Correction du mot-cl矇 de la requ礙te Select disparaissant en mode multi, #12304 +- Correction d'une largeur incorrecte de Dialog lorsqu'il est affich矇 en plein 矇cran, #12203 +- Correction de l'affichage incorrect de Main sur IE, #12237 +- Correction de Input d矇clenchant deux validations de formulaire, #12260 +- Correction de l'ajout d'un nouveau n�d d'arborescence provoquant la disparition des n�ds, #12256 +- Correction d'un n�d d'arborescence non supprim矇 apr癡s avoir gliss矇, #12279 +- Correction du Popover non-visible quand InputNumber a le focus, #12284 +- Ajout de l'attribut `popper-append-to-body` pour Autocomplete, #12241 +- Ajout du support du modificateur `sync` pour l'attribut `page-size` de Pagination, #12281 + +### 2.4.5 + +*2018-07-26* + +- Correction du r矇glage de Table `class-name` qui ne fonctionne pas pour les colonnes `expand`, #12006 +- Ajout de la m矇thode `toggleAllSelection` pour Table, #12047 +- Correction d'une mauvaise position du slot de suffixe lorsque Input contient Select, #12108 +- Correction de `line-height` de l'option impossible �� r矇gler, #12120 +- Correction de TimeSelect avec la valeur par d矇faut `null` ne pouvant 礙tre assign矇 apr癡s avoir ex矇cut矇 `resetField`, #12010 +- Correction d'un 矇v矇nement keydown qui n'矇tant pas arrow key ne fonctionne pas dans Tree, #12008 +- Correction d'un n�d parent v矇rifi矇 en mode lazy, #12106 +- Ajout du param癡tre `includeHalfChecked` pour getCheckedNodes de Tree, #12014 + +### 2.4.4 + +*2018-07-13* + +- Correction du d矇clenchement de la validation de Select apr癡s la r矇initialisation du formulaire, #11837 +- Correction d'une mauvaise position du slot `suffix` de Input lorsque le slot `suffixe` est avec le slot `append`, #11951 +- Correction de Input affichant toujours l'ic繫ne clear m礙me en lecture seule, #11967 +- Correction d'un n�d d'arborescence coch矇 lorsqu'il est d矇sactiv矇, #11847 +- Correction des `default-checked-keys` qui ne fonctionnait pas, #11971 +- Correction de `empty-text` non visible lorsque le noeud de Tree est filtr矇, #11971 +- Correction de la position du `empty-text` surdimensionn矇 dans Table, #11965 +- Correction de la surbrillance de la ligne de Table lorsque `current-row-key` est assign矇e �� `null`, #11866 +- Correction de l'affichage de la liste d矇roulante des filtres lorsque `filters` est un tableau vide, #11864 +- Correction du label de Radio qui n'arr礙te pas la propagation des 矇v矇nements, #11912 + +### 2.4.3 + +*2018-07-03* + +- Correction de `allow-drop` qui ne fonctionnait pas correctement lorsque les n�ds de Tree avaient une hauteur personnalis矇e, #11797 +- Maintenant vous pouvez passer un param癡tre �� la m矇thode `clearValidate` du formulaire, en sp矇cifiant quels r矇sultats de validation FormItems doivent 礙tre effac矇s, #11821 +- Ajout de l'attribut `distinguishCancelAndClose` pour MessageBox, #11831 + +### 2.4.2 + +*2018-06-26* + +- Maintenant `class-name` et `label-class-name` de Table sont r矇actifs, #11626 +- Correction de Table qui mettait toujours en surbrillance la ligne cliqu矇e lorsque `highlight-current-row` 矇tait `false`, #11646 +- Correction d'un bug de style de ButtonGroup lorsqu'il n'a qu'un seul bouton `round` ou `circle`, #11605 +- Correction du style du Select de Pagination, #11622 +- Correction de la m矇thode `open` du menu quand `collapse` est dynamiquement chang矇, #11646 +- Ajout des param癡tres `activeName` et `oldActiveName` au hook before-leave de Tabs, #11713 +- Correction de Cascader ayant le focus apr癡s avoir cliqu矇 �� l'ext矇rieur, #11588 +- Correction de Cascader ne se fermant pas quand l'option est cliqu矇e quand `change-on-select` est `true`, #11623 +- La mise �� jour programmatique de la valeur de Select d矇clenchera la validation du formulaire, #11672 + +### 2.4.1 + +*2018-06-08* + +- Suppression du duplicata de la d矇claration de type pour Autocomplete, #11388 +- Correction du style de fl癡che d矇roulante de Select dans FireFox lorsqu'il est imbriqu矇 dans Form, #11427 +- Correction de l'ic繫ne de l'option de Select qui s'affiche toujours lorsque la valeur initiale est `null`, #11460 +- Correction d'un Radio d矇sactiv矇 affichant l'ombre de la bo簾te quand on clique dessus, #11462 +- Ajout de l'attribut `iconClass` pour MessageBox, #11499 +- Ajout de l'attribut `stretch` pour Tabs, #11476 +- Correction d'un probl癡me d'ordre de rendu de TabPane lorsque Tabs est `lazy`, #11461 +- Correction de Table ne conservant pas la surbrillance de la ligne actuelle lors de son ouverture, #11464 +- Correction de l'矇tat de la mise au point lorsque `before-leave` renvoie une promesse r矇solue, #11386 +- Correction de la d矇sactivation du Popover qui cr矇ait encore des poppers, #11426 +- Correction de la boucle sans fin de Tree lorsqu'un nouveau noeud est ajout矇 en mode lazy, #11430 (par @wangjingf) +- Ajout de l'矇v矇nement `closed` pour Dialog, #11490 + +### 2.4.0 Fullerene + +*2018-05-28* + +#### Nouvelles fonctionnalit矇s +- G矇n矇ral + - L'outil de d矇veloppement et le bundler sont bascul矇s vers le webpack natif, #11216 + - Vous pouvez maintenant d矇finir globalement l'index z initial des popups, #11257 +- Autocomplete + - Ajout de l'attribut `hide-loading`, #11260 +- Button + - Vous pouvez maintenant utiliser l'attribut `size` sur les boutons circulaires pour contr繫ler leur taille, #11275 +- InputNumber + - Ajout de l'attribut `precision`, #11281 +- Tabs + - Ajout de l'attribut `before-leave`, #11259 + - Ajout de l'attribut `lazy`, #11167嚗y @Kingwl嚗� +- Table + - Ajout de la m矇thode `sort` pour trier manuellement la table, #11311 + +#### Corrections de bugs +- Input + - Correction d'un probl癡me qui provoquait un re-rendu lors de l'utilisation de l'IME chinois pour saisir rapidement du texte, #11235 (par @STLighter) +- Popover + - Correction de l'erreur de console lorsque l'矇l矇ment d矇clencheur est Radio ou Checkbox, #11265 +- Breadcrumb + - Correction de l'attribut `to` ne supportant pas la mise �� jour dynamique, #11286 +- Upload + - Correction de l'erreur de console lorsqu'un fichier est r矇solu dans la promesse retourn矇e de la m矇thode `beforeUpload`, #11297 (par @qusiba) +- Infobulle + - Correction d'une fl癡che mal positionn矇e lorsque le contenu est vide, #11335 +- Autocomplete + - Correction de suggestions d'entr矇e incorrectes apr癡s la suppression rapide d'un mot-cl矇, #11323 +- ColorPicker + - Correction d'un 矇v矇nement `active-change` se d矇clenchant incorrectement lorsque le menu d矇roulant du picker est ferm矇, #11304 +- Table + - Correction d'une erreur de style du panneau de filtre surdimensionn矇, #11314 + - Correction de la ligne actuellement s矇lectionn矇e qui n'矇tait pas conserv矇e lors du tri de la table, #11348 +- Checkbox + - Correction d'une checkbox unique ne supportant pas la validation, #11271 +- Radio + - Correction du Radio d矇sactiv矇 quand m礙me s矇lectionn矇 en appuyant sur la touche espace, #11303 +- MessageBox + - Correction de la classe `el-popup-parent-hidden` qui n'矇tait pas supprim矇e �� l'ouverture successive de MessageBox, #11371 + +### 2.3.9 + +*2018-05-18* + +- Correction d'une erreur lorsque les donn矇es source n'ont pas le champ sp矇cifi矇 par l'attribut `prop` d'une TableColumn, lorsque la souris se d矇place dans les cellules de cette colonne, #11137 +- L'attribut `lockScroll` des composants popup n'ajoute plus un style en ligne �� l'矇l矇ment parent, mais ajoute un nom de classe, #1111114 +- Correction de l'ic繫ne de Progression qui ne s'affichait pas quand son `status` 矇tait une exception, #11172 +- Correction de l'attribut `d矇sactiv矇` qui ne fonctionnait pas dans la liste des r矇sultats de filtrage du Cascader filtrable, #11185 +- Correction d'un probl癡me o羅 la ligne 矇tendue de la table ne peut pas 礙tre r矇duite si la source de donn矇es est mise �� jour apr癡s son extension, #11186 +- `setCurrentKey` de Tree accepte maintenant `null` comme param癡tre pour annuler le noeud actuellement mis en surbrillance, #11205 + +### 2.3.8 + +*2018-05-11* + +- Correction du saut du panneau DatePicker au mois courant apr癡s avoir choisi une date dans un mois non courant quand `type` est dates, #10973 +- Correction de l'Input effa癟able affichant toujours l'ic繫ne d'effacement en lecture seule, #10912 +- Correction de la fermeture du panneau DatePicker sans changer la valeur d矇clenchant incorrectement l'矇v矇nement `change`, #11017 +- Correction d'un probl癡me de navigation du clavier lorsque Select a regroup矇 les options, #11058 +- Ajout du slot nomm矇 `pr矇fixe` pour Select, #11063 +- Ajout de la m矇thode `clearValidate` pour FormItem, #11076 +- Ajout de l'attribut `checkOnClickNode` pour Tree, #1111111 + +### 2.3.7 + +*2018-04-29* + +- Correction d'une table qui ne mettait pas �� jour ses largeurs de headers lorsque la barre de d矇filement disparaissait �� cause du filtrage, #10834 +- Correction de l'Input effa癟able affichant toujours l'ic繫ne d'effacement lorsque sa valeur initiale est `null`, #10912 +- Correction d'un d矇clencheur incorrect de l'矇v矇nement `active-change` apr癡s avoir chang矇 la valeur li矇e de ColorPicker par programmation, #10903 (par @zhangbobell) +- Correction du Select filtrable qui provoquait une boucle infinie lors de la navigation dans les options �� l'aide du clavier si toutes les options sont d矇sactiv矇es, #10945 + +### 2.3.6 + +*2018-04-21* + +- Correction d'un comportement incorrect du callback `allow-drop` de Tree lorsque le param癡tre `type` est utilis矇, #10821 +- Maintenant vous pouvez entrer correctement les mots-cl矇s dans le Select simple filtrable dans IE11, #10822 +- Correction d'un Select simple d矇clenchant incorrectement un 矇v矇nement `blur` apr癡s avoir cliqu矇 sur une option, #10822 + +### 2.3.5 + +*2018-04-20* + +- Correction d'une surbrillance incorrecte dans le panneau DatePicker lorsque `type` est la semaine, #10712 +- Correction d'un InputNumber vide lorsque sa valeur initiale est 0, #10714 +- Ajout de l'attribut `automatic-dropdown` pour Select, #10042 (par @Seebiscuit) +- Correction de Rate d矇sactiv矇 quand m礙me mis �� jour par les touches de navigation, #10726 (par @Richard-Choooou) +- L'attribut `type` de DatePicker peut 礙tre `dates`, o羅 vous pouvez choisir plusieurs dates dans un s矇lecteur, #10650 (par @Mini256) +- Ajout des 矇v矇nements `prev-click` et `next-click` pour Pagination, #10755 +- Ajout de l'attribut `pager-count` pour Pagination, #10493 (par @chongjohn716) +- Ajout de `type` comme 3癡me param癡tre de l'attribut `allow-drop` de Tree, #10792 +- Nous utilisons maintenant ResizeObserver pour d矇tecter le redimensionnement des 矇l矇ments DOM, #10779 + +### 2.3.4 + +*2018-04-12* + +- Suppression du double de l'attribut `showTimeout` dans la d矇claration TypeScript de SubMenu, #10566 (par @kimond) +- Vous pouvez maintenant personnaliser les 矇l矇ments de Transfert en utilisant le scoped slot, #10577 +- Correction d'un clic sur le bouton pr矇c矇dent d矇sactiv矇 et le bouton suivant de la pagination d矇clenchant toujours l'矇v矇nement `current-current-change`, #10628 +- Correction de Textarea affichant `undefined` dans le SSR lorsque sa valeur n'est pas d矇finie, #10630 +- Correction de la d矇sactivation du style TabItem lorsque `type` est border-card, #10640 +- Ajout de `$index` comme quatri癡me param癡tre du `formatter` de la Table, #10645 +- Correction de CheckboxButton non export矇 dans la d矇claration TypeScript, #10666 + +### 2.3.3 + +*2018-04-04* + +- Ajout de l'attribut `shadow` pour Card, #10418 (par @YunYouJun) +- Correction de Badge masqu矇 lorsque `value` est `0`, #10470 +- Correction de quelques bugs de Tree, #10474 #10494 +- Ajout de `placement` pour Autocomplete, #10475 +- L'attribut `default-time` fonctionne 矇galement dans DateTimePicker, #10321 (par @RickMacTurk) +- Suppression du contour bleu de TabItem apr癡s que le navigateur n'ait plus le focus ou soit minimis矇, #10503 +- Ajout de l'attribut `popper-append-to-body` pour SubMenu, #10515 +- Suppression du feedback visuel lors du survol d'un 矇l矇ment BreadcrumbItem non li矇, #10551 +- Correction de l'矇v矇nement `change` d'InputNumber pour s'assurer que la valeur li矇e du composant est mise �� jour dans le gestionnaire d'矇v矇nements, #10553 + +### 2.3.2 + +*2018-03-29* + +- Correction d'une r矇gression d'Autocomplete, #10442 + +### 2.3.1 + +*2018-03-29* + +- Correction d'une r矇gression de `type` d'Inputqui n'矇tait pas transmis �� l'矇l矇ment natif, #10415 +- Ajout de la m矇thode `blur` pour Select, #10416 + +#### 2.3.0 Diamant + +*2018-03-28* + +#### Nouvelles fonctionnalit矇s +- Table + - Maintenant le `formatter` de TableColumn peut 礙tre mis �� jour dynamiquement, #10184 (par @elfman) + - Ajout de l'attribut `select-on-indeterminate`, #9924 (par @syn-zeta) +- Menu + - Ajout de l'attribut `collapse-transition`, #8809 (par @limichange) +- Input + - Ajout de la m矇thode `select`, #10229 + - Ajout de la m矇thode `blur`, #10356 +- ColorPicker + - Ajout de l'attribut `predefine`, #10170 (par @elfman) +- Tree + - Ajout des attributs `draggable`, `allow-drop` et `allow-drag`, et `node-drag-start`, `node-drag-enter`, `node-drag-leave`, `node-drag-leave`, `node-drag-over`, `node-drag-end` et `node-drop`, #9251 #10372 (par @elfman) +- Form + - La m矇thode `validate` a maintenant un deuxi癡me param癡tre, contenant l'information des 矇l矇ments de formulaire qui ont 矇chou矇 �� la validation, #10279 + - Ajout de l'矇v矇nement `validate`, #10351 +- Progress + - Ajout de l'attribut `color`, #10352 (par @YunYouJun) +- Button + - Ajout de l'attribut `circle`, #10359 (par @YunYouJun) + +#### Corrections de bugs +- Form + - Correction du label de FormItem non align矇 avec l'Input mixte, #10189 +- Menu + - D矇sormais, le menu r矇duit n'affichera la bulle d'aide que lorsque le slot `title` de l'矇l矇ment MenuItem est d矇fini, #10193 (par @PanJiaChen). +- Pagination + - Correction d'un 矇v矇nement `current-current-change` qui se d矇clenchait incorrectement sans interaction de l'utilisateur, #10247 +- DatePicker + - Maintenant, la date et l'heure dans le panneau d矇roulant sont correctement format矇es en fonction de l'attribut `format`, #10174嚗y @remizovvv嚗� +- Upload + - Correction de l'attribut `accept` qui ne fonctionnait pas quand `drag` est vrai, #10278 + +### 2.2.2 + +*2018-03-14* + +- Ajout de l'矇v矇nement `clear` pour Input, #9988 (par @blackmiaool) +- Maintenant la saisie manuelle de ColorPicker supporte les modes `hsl`, `hsv` et `rgb`, #9991 +- Correction de DatePicker ne d矇clenchant pas l'矇v矇nement `change` lorsque sa valeur initiale est effac矇e, #9986 +- Maintenant les attributs li矇s �� la classe d'ic繫nes de Rate supportent les mises �� jour dynamiques, #10003 +- Correction de Table avec des colonnes fixes dont la hauteur n'est pas mise �� jour correctement si `max-height` est r矇gl矇, #10034 +- Maintenant le mode plage de DatePicker supporte la s矇lection inverse (en cliquant sur la date de fin, puis sur la date de d矇but), #8156 (par @earlymeme) +- Ajout de l'attribut `d矇sactiv矇` pour Pagination, #10006 +- Ajout des 矇v矇nements `after-enter` et `after-leave` pour Popover, #10047 +- Correction de Select ne d矇clenchant pas la validation lorsque l'utilisateur s矇lectionne une option apr癡s avoir ex矇cut矇 `resetFields` du formulaire, #10105 +- Correction des largeurs incorrectes des colonnes fixes de Table dans certains cas, #10130 +- Correction de MessageBox h矇ritant de l'attribut `title` de son instance pr矇c矇dente lorsqu'il 矇tait appel矇 sans `title`, #10126 (par @Pochodaydaydayup) +- Ajout de l'attribut `input-size` pour Slider, #10154 +- Ajout des 矇v矇nements `left-check-change` et `right-check-change` pour Transfer, #10156 + +### 2.2.1 + +*2018-03-02* + +- Correction d'un r矇tr矇cissement de Aside, Header et Footer dans certaines mises en page, #9812 +- Correction de Table avec un attribut `height` qui ne rendait pas dans SSR, #9876 +- Correction d'une Table extensible ne calculant pas sa hauteur lorsqu'une rang矇e est agrandie, #9848 +- Correction d'un 矇v矇nement `change` qui ne se d矇clenchait pas lors de la saisie manuelle de la date dans DateTimePicker, #9913 +- Correction de Select affichant ses options lorsque la bo簾te de saisie est cliqu矇e avec le bouton droit de la souris, #9894 (par @openks) +- Ajout de l'attribut `tooltip-class` pour Slider, #9957 +- Maintenant Select garde le focus apr癡s la s矇lection, #9857 (par @Seebiscuit) +- Ajout de l'attribut `target-order` pour Transfer, #9960 + +### 2.2.0 Graphite + +*2018-02-12* + +#### Nouvelles fonctionnalit矇s +- Menu + - Ajout des attributs `popper-class` et `disabled` pour le sous-menu, #9604 #9771 + - Le menu horizontal prend maintenant en charge le sous-menu multicouche, #9741 +- Tree + - Ajout de l'矇v癡nement `node-contextmenu`, #9678 + - Vous pouvez maintenant personnaliser le mod癡le de n�d en utilisant un slot avec port矇e, #9686 + - Ajout des m矇thodes `getNode`, `remove`, `remove`, `append`, `insertBefore`, `insertAfter`, `getCheckedKeys`, `getHalfCheckedNodes`, `getHalfCheckedNodes`, `getHalfCheckedKeys` et de l'矇v矇nement `check`, #9718 #9730 +- Transfer + - Ajout de la m矇thode `clearQuery`, #9753 +- Select + - Ajout de l'attribut `popper-append-to-body`, #9782 + +#### Corrections de bugs +- Table + - Correction d'un clic sur l'ic繫ne d'expansion d'une ligne extensible qui d矇clenche l'矇v矇nement `row-click`, #9654 + - Correction de la mise en page non mise �� jour lorsque la largeur des colonnes est modifi矇e par glisser-d矇poser de l'utilisateur, #9668 + - Correction d'un probl癡me de style lorsque la ligne de r矇sum矇 coexiste avec des colonnes fixes, #9667 +- Container + - Les composants fixes de Container ne s'矇tirent pas dans IE11, #9655 +- Loading + - Correction du chargement n'apparaissant pas lorsque la valeur de `v-loading` est chang矇e en true dans le hook `mounted`, #9722 +- Switch + - Correction de deux 矇v矇nements de clics natifs d矇clench矇s lorsque Switch est cliqu矇, #9760 + +### 2.1.0 Charcoal + +*2018-01-31* + +#### Nouvelles fonctionnalit矇s +- Cascader + - Ajout des 矇v矇nements `focus` et `blur`, #9184 (par @viewweiwu) +- Table + - La m矇thode `filter-method` a maintenant un troisi癡me param癡tre `column`, #9196 (par @liyanlong) +- DatePicker + - Ajout des attributs `prefix-icon` et `clear-icon`, #9237 (par @AdamSGit) + - Ajout de l'attribut `default-time`, #9094 (par @nighca) + - Le format `value-format` supporte maintenant `timestamp`, #9319 (par @wacky6) +- InputNumber + - Maintenant la valeur li矇e peut 礙tre `undefined`, #9361 +- Select + - Ajout矇 l'attribut `auto-complete`, #9388 +- Form + - Ajout de l'attribut `d矇sactiv矇`, #9529 + - Ajout de l'attribut `validateOnRuleChange`, #8141 +- Notification + - Ajout de la m矇thode `closeAll`, #9514 + +#### Corrections de bugs +- InputNumber + - Correstion du reset lors de la saisie du point des nombres d矇cimaux, #9116 +- Dropdown + - Correction du mauvais positionnement du menu d矇roulant lorsque la page n'a qu'une barre de d矇filement horizontale dans certains navigateurs, #9138 (par @banzhuanmei) +- Table + - Correction d'une erreur dans le calcul du nombre de colonnes fixes apr癡s les changements de donn矇es des colonnes, #9188嚗y @kolesoffac嚗� + - Correction de la bordure de la derni癡re colonne de l'en-t礙te group矇 qui n'矇tait pas correctement affich矇e, #9326 + - Correction d'un positionnement incorrect de l'en-t礙te du tableau dans Safari, #9327 + - Correction de la r矇duction des lignes extensibles lorsque les donn矇es de la table changent, #9462 + - Correction de rendus multiples inutiles dans certaines conditions, #9426 + - Correction d'une erreur de calcul de la largeur de colonne lors de la modification de `width` de TableColumn, #9426 +- Loading + - Correction de Loading ne se cachant pas correctement dans certaines conditions, #9313 +- DatePicker + - Correction de la m矇thode `focus` qui ne fonctionnait pas en mode "range", #9437 + - Correction du clic sur le bouton "now" qui s矇lectionnait toujours la date actuelle m礙me si elle 矇tait d矇sactiv矇e, #9470 (par @wacky6) + - Correction d'une date trop serr矇e lors de la navigation, #9577 (par @wacky6) +- Steps + - Correction d'une erreur de style dans IE 11, #9454 + +#### Changements +- Menu + - Le menu contextuel en mode `collapse` s'ajoute maintenant directement �� `body`, de sorte qu'il est visible lorsqu'il est imbriqu矇 dans Aside, #9263 +- Table + - Maintenant, cocher les cases dans la Table multi-s矇lection ne d矇clenche pas l'矇v矇nement `row-click`, #9467 +- Loading + - Le `z-index` du masque de chargement non plein 矇cran est chang矇 �� 2000. Le `z-index` du masque de chargement plein 矇cran se mettra �� jour dynamiquement avec les composants popup, #9522 +- Dropdown + - Les attributs `show-timeout` et `hide-timeout` ne fonctionnent maintenant que lorsque le d矇clencheur est `hover`, #9573 + +### 2.0.11 + +*2018-01-08* + +- Correction d'un probl癡me de couleur de bordure de Select dans les slots `prepend` ou `append` de Input, #9089 +- Correction du param癡tre `remove-tag` de l'矇v矇nement Select, #909090 +- Ajout des attributs `show-timeout` et `hide-timeout` pour le sous-menu, #8934 (par @HugoLew) +- Correction d'un style Tooltip manquant de `show-overflow-tooltip` lors de l'importation de Table sur demande, #9130 +- Correction d'un dysfonctionnement du tri des colonnes de la table apr癡s l'ex矇cution de `clearSort` sur cette colonne, #9100 (par @zEmily) +- Le fichier de configuration i18n pour le tch癡que est renomm矇 de `cz` en `cs-CZ`, #9164 + +### 2.0.10 + +*2017-12-29* + +- Calcul erron矇 de la hauteur du tableau lorsque la colonne fixe et la ligne de somme coexistent, #9026 +- Correction d'un style de couleur non compil矇 du texte vide dans le tableau, #9028 +- Maintenant, DatePicker n'矇met que l'矇v矇nement `change` quand la valeur est vraiment chang矇e, #9029 (par @remizovvvv) +- Ajout de l'attribut `tabindex` pour Input, #9041 (par @dicklwm) + +### 2.0.9���� + +*2017-12-24* + +- Ajout矇 la fonction de hook "avant suppression" pour Upload, #8788 (par @firesh) +- Correction de la valeur initiale de `error` qui ne fonctionnait pas pour FormItem, #8840 +- La directive Loading prend maintenant en charge le nom de classe personnalis矇 gr璽ce �� l'attribut `element-loading-custom-class`, #8826 (par @earlymeme) +- Correction CarouselItem devenant invisible lorsque les donn矇es sont mises �� jour de mani癡re asynchrone, #8921 +- Ajout de l'attribut `renderAfterExpand` pour Tree, #8972 + +### 2.0.8 + +*2017-12-12* + +- Ajout de la documentation en espagnol +- Correction du `show-timeout` de Dropdown qui ne fonctionnait pas quand le d矇clencheur est click, #8734 (par @presidenten) +- Correction du temps de validation des formulaires pour les r癡gles dont le d矇clencheur est blur, #8776 +- Correction d'un 矇v矇nement de blur de DatePicker avec intervalle, #8784 +- L'attribut `format` de TimePicker supporte maintenant AM/PM, #8620 (par @firesh) + +### 2.0.7 + +*2017-11-29* + +- Correction du style du bouton de type texte d矇sactiv矇, #8570 + +### 2.0.6 + +*2017-11-29* + +- Correction d'un bug de style des ic繫nes de tri de la table, #8405 +- Correction du m矇canisme de d矇clenchement de Popover lorsque son `trigger` est manuel, #8467 +- Ajout des attributs `prefix-icon` et `suffix-icon` pour Autocomplete, #8446 (par @liyanlong) +- Ajout de l'attribut `separator` pour Cascader, #8501 +- Ajout de l'attribut `clearable` pour Input, #8509 (par @lbogdan) +- Ajout de l'attribut `background` pour Pagination, #8553 + +### 2.0.5 + +*2017-11-17* + +- Correction de la r矇gression Popover, Tree, Breadcrumb et Cascader dans 2.0.4, #8188 #8217 #8283 +- Correction d'une fuite de m矇moire de la directive `clickoutside`, #8168 #8225 (par @badpunman @STLighter) +- Correction de la hauteur du Select multiple lorsque sa valeur est effac矇e, #8317 (par @luciy) +- Ajout de l'attribut `collapse-tags` pour plusieurs S矇lectionner pour remplacer les balises par une ligne de texte, #8190 +- Correction d'une consommation CPU 矇lev矇e caus矇e par la table cach矇e, #8351 +- Maintenant vous pouvez utiliser la m矇thode `doLayout` de la Table pour mettre �� jour sa disposition, #8351 + +### 2.0.4 + +*2017-11-10* + +- Accessibilit矇 am矇lior矇e pour Cascader, Dropdown, Message, Notification, Popover, Tooltip et Tree. +- Correction du redimensionnement de Container lorsque la largeur de la fen礙tre d'affichage diminue, #8042 +- Correction de la suppression incorrecte de `updateKeyChildren` dans Tree, #8100 +- Correction de la hauteur de la CheckboxButton avec bordure lorsque le bouton est imbriqu矇 dans un formulaire, #8100 +- Correction d'une erreur d'analyse du menu pour les couleurs personnalis矇es, #8153 (par @zhouyixiang) + +### 2.0.3 + +*2017-11-03* + +- Correction des attributs `矇ditable` et `readonly` pour DatePicker avec intervalle, #7922 +- Correction d'une erreur de style des Tabs imbriqu矇s, #7941 +- Correction d'une erreur de style de la derni癡re 矇tape des Steps verticales, #7980 +- Correction de la synchronisation du d矇clenchement de l'矇v矇nement `current-current-change` pour Pagination, #7995 +- Correction d'une infobulle non enregistr矇e dans Menu, #7995 + +### 2.0.2 + +*2017-10-31* + +- Un clic droit sur les boutons de InputNumber ne changera pas sa valeur, #7817 +- La m矇thode `validate` de Form peut maintenant attendre des validations asynchrones avant d'ex矇cuter son callback, #7774 (par @Allenice) +- Correction de la plage de s矇lection de DatePicker ne fonctionnant pas dans les navigateurs Chromium 53-57, #7838 +- Correction des ic繫nes manquantes de pr矇visualisation et de suppression de Upload lorsque son `list-type` est picture-card, #7857 +- Ajout de l'attribut `sort-by` pour TableColumn, #7828 (par @wangfengming) +- Correction de DatePicker affichant parfois un mauvais num矇ro d'ann矇e lors de la s矇lection de la premi癡re semaine en mode semaine, #7860 (par @hhh23485) +- Correction d'une erreur de style d'ic繫ne des Steps verticales, #7891 +- La 'hot area' pour les fl癡ches de n�d dans Tree est 矇tendue, #7891 + +### 2.0.1 + +*2017-10-28* + +- Correction d'une erreur de style de RadioButton et CheckboxButton, #7793 +- Correction de TimePicker qui ne r矇pondait pas au d矇filement de la souris dans certaines conditions, #7811 +- Correction des styles incomplets de certains composants lors de l'importation �� la demande, #7811 + +### 2.0.0 Carbon + +*2017-10-27* + +#### Nouvelles fonctionnalit矇s +- G矇n矇ral + - Un nouveau th癡me : `theme-chalk`. + - L'accessibilit矇 des 矇l矇ments suivants est am矇lior矇e : Alert, AutoComplete, Breadcrumb, Button, Checkbox, Collapse, Input, InputNumber, Menu, Progress, Radio, Rate, Slider, Switch, Upload + - Ajout du typage TypeScript + - Toutes les ic繫nes existantes sont redessin矇es. De nouvelles ic繫nes sont ajout矇es + - Ajout d'une s矇rie de classes bas矇es sur les breakpoints qui masquent les 矇l矇ments lorsque la taille de la fen礙tre remplit certaines conditions + - Ajout des composants de mise en page : Container, Header, Aside, Main, Footer + - Vous pouvez maintenant configurer la taille des composants de mani癡re globale. Lors de l'importation d'un 矇l矇ment, vous pouvez ajouter un objet de configuration global avec une propri矇t矇 `size` pour configurer les tailles par d矇faut pour tous les composants. +- Button + - Ajout de l'attribut `round`. Il est utilis矇 pour les boutons �� coins ronds #6643 +- TimeSelect + - Vous pouvez maintenant naviguer en appuyant sur les touches `Up` et `Down`, et en appuyant sur `Enter` vous s矇lectionnez l'heure #6023. +- TimePicker + - Vous pouvez maintenant naviguer �� l'aide des touches fl矇ch矇es, et en appuyant sur `Entr矇e` vous s矇lectionnez l'heure #6050. + - Ajout de `start-placeholder` et de `end-placeholder`. Ce sont des placeholders pour les deux champs en mode intervalle #7169 + - Ajout de l'attribut `farrow-control` pour faire tourner le temps avec les fl癡ches #7438 +- Tree + - Maintenant les noeuds enfants ne font pas de rendu avant la premi癡re ouverture #6257 + - Ajout de l'attribut `check-descendants`. Il d矇termine si les n�ds enfants sont v矇rifi矇s lors du contr繫le de leur n�d parent en mode `lazy` #6235 +- Tag + - Ajout矇 l'attribut `size` #7203 +- Datepicker + - Maintenant `timeFormat` peut formater le TimePicker quand le type est r矇gl矇 sur `datetimerange` #6052 + - Ajout de `start-placeholder` et de `end-placeholder`. Ce sont des placeholders pour les deux champs en mode intervalle #7169 + - Ajout de l'attribut `value-format` pour personnaliser le format de la valeur li矇e, #7367 + - Ajout de l'attribut `unlink-panels` pour dissocier les deux panneaux de date lors de la s矇lection d'une plage de dates +- MessageBox + - Ajout de l'attribut `closeOnHashChange` #6043 + - Ajout de l'attribut `center` pour que le contenu puisse 礙tre centr矇 #7029 + - Ajout de l'attribut `roundButton` pour afficher les boutons ronds #7029 + - Ajout de l'attribut `dangerouslyUseHTMLString`. Lorsqu'il est r矇gl矇 sur `true`, `message` sera interpr矇t矇 comme une cha簾ne HTML<sup>\*</sup> #6043 + - Ajout de l'attribut `inputType` pour assigner le type de l'input int矇rieur, #7651 +- Dialog + - Ajout des attributs `width`�fullscreen`�append-to-body`. La bo簾te de dialogue peut maintenant 礙tre imbriqu矇e + - Ajout de l'attribut `center` pour que le contenu puisse 礙tre centr矇 #7042 + - Ajout de `focus-after-closed`�focus-after-open` pour am矇liorer l'accessibilit矇 #6511 +- ColorPicker + - Maintenant vous pouvez taper les couleurs dans le champ de saisie #6167 + - Ajout des attributs `size` et `disabled` #7026 + - Ajout de l'attribut `popper-class` #7351 +- Message + - Maintenant la couleur des ic繫nes peut 礙tre modifi矇e par CSS #6207 + - Ajout de l'attribut `dangerouslyUseHTMLString`. Lorsqu'il est r矇gl矇 sur `true`, `message` sera interpr矇t矇 comme une cha簾ne HTML<sup>\*</sup> #6207 + - Ajout de l'attribut `center` pour que le contenu puisse 礙tre centr矇 #6875 +- Notification + - Ajout de l'attribut `position` pour configurer o羅 Notification appara簾t #6231 + - Ajout de l'attribut `dangerouslyUseHTMLString`. Lorsqu'il est r矇gl矇 sur `true`, `message` sera interpr矇t矇 comme une cha簾ne HTML<sup>\*</sup> #6231 + - Ajout de l'attribut `showClose` pour cacher le bouton de fermeture #6402 +- Rate + - Ajout de l'attribut `show-score` pour d矇terminer si le score actuel est affich矇 #6295 +- Tabs + - Ajout de l'attribut `tab-position` #6096 +- Radio + - Ajout des attributs `border` et `size` #6690 +- Checkbox + - Ajout des attributs `border` et `size` #6690 +- Alert + - Ajout de l'attribut `center` pour que le contenu puisse 礙tre centr矇 #6876 +- Menu + - Ajout des attributs `background-color`, `text-color` et `active-text-color` #7064 + - Ajout des m矇thodes `open` et `close` pour ouvrir et fermer les sous-menus par programmation, #7412 +- Form + - Ajout de l'attribut `inline-message` pour d矇terminer si le message de validation est affich矇 en ligne #7032 + - Ajout de l'attribut `status-icon` pour afficher une ic繫ne de feedback apr癡s validation #7032 + - Form et FormItem ont maintenant un attribut `size`. Les composants internes h矇riteront de cette taille s'ils ne sont pas sp矇cifi矇s sur eux-m礙mes, #7428 + - La m矇thode `validate` retournera maintenant une promesse si le rappel est omis, #7405 + - Ajout de la m矇thode `clearValidate` pour la validation des r矇sultats pour tous les 矇l矇ments de formulaire, #7623 +- Input + - Ajout des attributs `suffixe` et `pr矇fixe` des slots nomm矇s, `suffixIcon` et `prefixIcon` pour ajouter du contenu dans la zone de saisie #7032 +- Breadcrumb + - Ajout de l'attribut `separator-class` pour supporter les ic繫nes comme s矇parateurs d'矇l矇ments #7203 +- Steps + - Ajout de l'attribut `simple` pour activer les 矇tapes de style simple #7274 +- Pagination + - Ajout des attributs `prev-text` et `next-text` pour personnaliser les textes des pages pr矇c矇dente et suivante #7005 +- Loading + - Maintenant vous pouvez personnaliser l'ic繫ne et la couleur de fond avec les propri矇t矇s `spinner` et `background` #7390 +- Autocomplete + - Ajout de l'attribut `debounce`, #7413 +- Upload + - Ajout des attributs `limit` et `on-exceed` pour limiter le nombre de fichiers, #7405 +- DateTimePicker + - Ajout de l'attribut `time-arrow-control` pour activer `arrow-control` du TimePicker imbriqu矇, #743838 +- Layout + - Ajout d'un nouveau point d'arr礙t `xl` pour les fen礙tres plus larges que 1920px +- Table + - Ajout de l'attribut `span-method` pour la fusion de cellules + - Ajout de la m矇thode `clearSort` pour effacer le tri par programmation + - Ajout de la m矇thode `clearFilter` pour effacer le filtre par programmation + - Pour les lignes extensibles, lorsqu'une ligne est 矇tendue, une classe `.expanded` sera ajout矇e �� sa liste de classes, afin que vous puissiez personnaliser son style + - Ajout de l'attribut `size` + - Ajout de la m矇thode `toggleRowExpansionRowExpansion` pour ouvrir ou r矇duire les lignes extensibles par programmation + - Ajout de l'attribut `cell-class-name` pour assigner un nom de classe aux cellules + - Ajout de l'attribut `cell-style` pour le style des cellules + - Ajout de l'attribut `header-row-class-name` pour assigner un nom de classe aux lignes d'en-t礙te + - Ajout de l'attribut `header-row-style` pour le style d'en-t礙te + - Ajout de l'attribut `header-cell-class-name` pour assigner un nom de classe aux cellules d'en-t礙te + - Ajout de l'attribut `header-cell-style` pour le style des cellules d'en-t礙te + - L'attribut `prop` de la tableColumn accepte maintenant les notations `object[key]` + - Ajout de l'attribut `index` pour TableColumn pour personnaliser les index de lignes +- Select + - Ajout de l'attribut `reserve-keyword` pour r矇server le mot-cl矇 de la recherche courante apr癡s avoir s矇lectionn矇 une option. + +#### Corrections de bugs +- DatePicker + - Correction de `v-model` retournant le deuxi癡me jour de la semaine s矇lectionn矇e en mode semaine #6038 + - Correction de la premi癡re entr矇e effac矇e dans le type `daterange` #6021 +- DateTimePicker + - Correction de DateTimePicker et TimePicker s'affectant l'un l'autre lors de la s矇lection #6090 + - Correction de l'heure et de la seconde qui peuvent 礙tre au-del�� de la limite en s矇lectionnant l'heure #6076 +- TimePicker + - Correction de `v-model` qui ne se mettait pas �� jour correctement lors du blur #6023 +- Dialog + - Correction des textes ayant des bords flous lors de l'ouverture et de la fermeture des listes d矇roulantes imbriqu矇es #6088 +- Select + - Performances am矇lior矇es. Maintenant Vue dev-tool ne crashera pas quand un grand nombre de Select sont d矇truits #6151 +- Table + - Correction d'un bug ou la table reste masqu矇e lorsque son 矇l矇ment parent appara簾t depuis `display : none` + - Correction de l'extension de la largeur de la table lorsque l'矇l矇ment parent a `display : flex` + - Correction d'un bug qui corrigeait le fait que les colonnes d'une table avec l'emplacement `append` disparaissaient lorsque les donn矇es 矇taient r矇cup矇r矇es dynamiquement + - Correction de l'attribut `expand-row-keys` qui ne fonctionnait pas avec la valeur initiale + - Correction d'une d矇faillance du filtre lors de la mise �� jour de `data` + - Correction d'une erreur de calcul dans la mise en page des colonnes fixes avec en-t礙tes group矇s + - Correction d'un bug dynamique de `max-height` + - Correction de quelques erreurs de calcul de style + +#### Breaking changes +- G矇n矇ral + - Suppression de `theme-default`. + - Compatible avec Vue 2.5.2+ et IE 10+ + - L'矇v矇nement `change` des composants de formulaire et l'矇v矇nement `current-current-change` de la pagination ne se d矇clenchent plus que lors de l'interaction de l'utilisateur + - L'attribut `size` de Button et les composants de formulaire acceptent maintenant `medium`, `small` et `mini` + - Pour faciliter l'utilisation d'ic繫nes tierces, les attributs `icon` du bouton et des 矇tapes, `prefix-icon` et `suffix-icon` d'Input n矇cessitent maintenant un nom de classe complet +- Dialog + - Suppression de l'attribut `taille`. Maintenant la taille de Dialog peut 礙tre configur矇e par `width` et `fullscreen` + - Maintenant la visibilit矇 de Dialog ne peut plus 礙tre contr繫l矇e par `v-model` +- Rate + - Le `text-template` est renomm矇 `score-template` +- Dropdown + - `menu-align` est renomm矇 en `placement`. Maintenant il supporte plus de positions +- Transfert + - le `footer-format` est renomm矇 en `format` +- Switch + - Les attributs commen癟ant par `on-**` seront analys矇s pour les 矇v矇nements dans JSX, ce qui rend tous les attributs `on-*` de Switch incapable de fonctionner en JSX. Ainsi, les attributs `on-**` sont renomm矇s en `active-*`, et par cons矇quent les attributs `off-*` sont renomm矇s en `inactive-*`. Cette modification affecte les attributs suivants: `on-icon-class`, `off-icon-class`, `on-text`, `off-text`, `off-text`, `on-color`, `off-color`, `on-value`, `off-value` + - Les attributs `active-text` et `inactive-text` n'ont plus de valeurs par d矇faut +- Tag + - L'attribut `type` accepte maintenant `success`, `info`, ` warning` et `danger` +- Menu + - Suppression de l'attribut `theme`. La couleur du menu peut 礙tre configur矇e en utilisant `background-color`, `text-color` et `active-text-color` +- Input + - Suppression de l'attribut `icon`. L'ic繫ne du suffixe peut maintenant 礙tre configur矇e �� l'aide de l'attribut `suffix-icon` ou du slot `suffix-icon` + - Suppression de l'attribut `on-icon-click` et de l'矇v矇nement `click`. Maintenant pour ajouter le gestionnaire de clic sur les ic繫nes, veuillez utiliser les slots nomm矇s + - L'矇v矇nement `change` se comporte maintenant comme dans l'input natif, qui ne se d矇clenche qu'en cas de blur ou en appuyant sur Entr矇e. Si vous avez besoin de r矇pondre �� l'entr矇e de l'utilisateur en temps r矇el, vous pouvez utiliser l'矇v矇nement `input` +- Autocomplete + - Suppression de l'attribut `custom-item`. Le template de suggestions d'entr矇e peut maintenant 礙tre personnalis矇 en utilisant `scoped slot`. + - Suppression de l'attribut `props`. Vous pouvez maintenant utiliser l'attribut `value-key` pour d矇signer le nom de cl矇 de l'objet de suggestion d'entr矇e pour l'affichage. +- Steps + - Suppression de l'attribut `center` + - Maintenant le Steps va remplir son conteneur parent par d矇faut +- DatePicker + - Le param癡tre de l'矇v矇nement `change` de DatePicker est maintenant la valeur li矇e elle-m礙me. Son format est contr繫l矇 par `value-format` +- Table + - Suppression de la prise en charge de la personnalisation du mod癡le de colonne �� l'aide de `inline-template` + - `sort-method` s'aligne maintenant avec `Array.sort`. Il devrait retourner un nombre au lieu d'un bool矇en + - L'emplacement `append` est d矇plac矇 �� l'ext矇rieur de l'矇l矇ment `tbody` pour 矇viter les rendus multiples + - L'矇v矇nement `expand` est renomm矇 en `expand-change` + - Les param癡tres de la m矇thode `row-class-name` et `row-style` sont maintenant un objet + +## +<i><sup>*</sup> Rendre du HTML arbitraire de fa癟on dynamique sur votre site Web peut 礙tre tr癡s dangereux car cela peut facilement mener �des attaques XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Donc quand `dangerouslyUseHTMLString' est activ矇, assurez-vous que le contenu du `message' est fiable, et **ne jamais** assigner `message` au contenu fourni par l'utilisateur.</i>. diff --git a/PAMapp/local_modules/element-ui/CHANGELOG.zh-CN.md b/PAMapp/local_modules/element-ui/CHANGELOG.zh-CN.md new file mode 100644 index 0000000..3bd8b65 --- /dev/null +++ b/PAMapp/local_modules/element-ui/CHANGELOG.zh-CN.md @@ -0,0 +1,2065 @@ +## ���敹� + +### 2.15.13 + +*2023-02-12* + +#### Bug 靽桀�� +- Docs + - 靽桀�� Statistic ���� (#22383 by @JUST-Limbo) + - 靽桀�� Input ���� (#22093 by @lm312) + - 靽桀�� en-US ���� (#22268 #22269 #22270 by @Hazel-Lin) + - 靽桀�� Pagination ���� (#22288 by @xujintai123) + - 靽桀�� Links ���� (#22370 by @itmier) +- Statistics + - 靽桀�� slot �蝷粹憸� (#22375 by @webvs2) +- Chore + - 靽桀�� web-type ��辣銝W仃�憸� (#22271 by @loosheng) +#### 隡�� +- InputNumber + - windows閫行撅����� (#22185 by @mrsai) +- Image + - �憓� initialIndex 撅�� (#22346 by @inkroom) +- Statistics + - countdown ��扳� (#22260 by @webvs2) + - 隞������oc�� (#22276 by @webvs2) +- �隞� + - web-type隞������ (#22281 by @whzxc) + +### 2.15.12 + +*2022-11-16* + +#### Bug 靽桀�� +- Statistics + - 靽格 ����� �憸� (#22252 by @webvs2) +- �隞� + - 靽桀�� 2.15.11��element-theme-chalk������� �憸� + +### 2.15.11 + +*2022-11-15* + +#### Bug 靽桀�� +- Docs + - 靽桀�� Radio ���� (#22178 by @bchen1029) + - 靽桀�� Progress ���� +#### 隡�� +- I18n + - �� 撽祆镼蹂�祗 蝧餉�� (#22185 by @z4q) + - �� �憡祗 蝧餉�� (#22145 by @Barsnes) +- Progress + - �憓� defineBackColor ��� textColor 撅�� (#22089 by @lm312) +- Statistics + - �憓�辣 Statistics (#22159 by @webvs2) +- Other + - �餈ebStorm IDE��隞etBrains IDE銝剔�誨��葬� (#22135 by @piotrtomiak) + +### 2.15.10 + +*2022-09-13* + +#### Bug 靽桀�� + +- DatePicker + - 靽桀�� props placement ���縑� �憸� (#21908 by @lqzhgood) +- Loading + - 靽桀�� 雿輻 Loading ��OM���� sticky憭望�� �憸� (#22087 by @zzjjhh001) +- Docs + - 靽桀�� Popover ���� (#22083 by @lm312) + - 靽桀�� Skeleton ���� (#22092 by @lm312) + - 靽桀�� DatePicker ���� (#21970 by @guojiongwei) +- Tree + - 靽桀�� ���蝸暺恕�葉 �憸� (#21934 by @kiss-yu) + +#### 隡�� + +- I18n + - �憓� �隡賜�祗 蝧餉�� (#21936 by @sayuri-gi) + - �� 镼輻��祗 蝧餉�� (#21924 by @jcardus) + - �憓� 撽祆镼蹂�祗 蝧餉�� (#22028 by @iorange0411) + - �� ��撣�祗 蝧餉�� (#21904 by @Cholowao) +- Utils + - �� date-util.js (#22099 by @Due07) +- DatePicker + - �憓� months ��� years 蝐餃�� (#21918 by @akiko123456) + +### 2.15.9 + +*2022-06-02* + +#### Bug 靽桀�� + +- Table + - 銵典仍��靽桀�� (#21863 by @bofeng) + - ���撘� `el-checkbox not imported` 靽桀�� (#21828 by @bobohuochai) +- FormItem + - 靽桀�� rules ��銝� null ��撉��蔭 �憸� (#21892 by @bofeng) +- Cascader + - 靽桀�� �� options ���秤���縑� �憸� (#21759 by @louiebb) +- Docs + - 靽桀�� Popover ���� (#21843 by @lod61) + - 靽桀�� Calendar ���� (#21814 by @GoJam11) + - 靽桀�� TimePicker ���� (#21803 by @Alanscut) + - 靽桀�� DatePicker ���� (#21877 by @Nirvanaiu) +- �隞� + - 摰�蝥踵�內��靽桀�� (#21863 by @bofeng) + +#### 隡�� + +- I18n + - �憓� ��撣�祗 蝧餉�� (#21895 by @quilltouch) +- Chore + - ��撘����隞� devTools 撌亙頝唾蓮皞誨��� (#21633 by @polemices) +- DatePicker & Cascader + - 撘寧������ (#21806 by @XivLaw) +- Tooltip + - 隡�� `getFirstElement` 隞���� (#21886 by @zhankang) +- Input + - 隡�� scss 隞���� (#21558 by @cheese-git) + +### 2.15.8 + +*2022-04-12* + +#### Bug 靽桀�� + +- Drawer + - 靽桀�� appendToBody 憭望�憸� (#21264 by @cs1707) +- Switch + - 靽桀�� toggling value �憸�(#19473 by @EdwinBetanc0urt) +- Docs + - 靽桀�� input ���� (#21723 by @justforuse) + - 靽桀�� DatePicker ���� (#21663 by @justforuse) + - 靽桀�� Skeleton ���� (#21601 by @yanwydxf) +- �隞� + - 靽桀�� vue ��(#21736 by @ckvv) + +#### 隡�� + +- I18n + - �憓� �憛��祗 蝧餉�� (#21012 by @ricardotondello) + - �� �瘣�側鈭祗 蝧餉�� (#21729 by @patik123) + - �� �瘣��祗 蝧餉�� (#21711 by @sjaustirni ) + - �憓� �撗祗 ��蕃霂� (#21709 by @aronhr) + - �憓� 摮��� 霂剔�蕃霂� (#21485 by @llwwtt) + +#### �隞� + +- ��摰寞�扯������2.15.7�鈭ode-sass���(#21019 by @linxsbox)嚗�霂摯�����賒����銝瑪 + +### 2.15.7 + +*2021-11-18* + +#### Bug 靽桀�� + +- Select + - 靽桀�� filter 璅∪��������閫血����� bug (#21314 by @dennyak47) + - 靽桀�� composition 璅∪��� keydown 鈭辣 (#21336 by @bchen1029) +- Badge + - 靽桀�� is-dot class (#21308 by @adaex) +- Form + - validate �瘜���秤靽⊥ (#21374 by @cs1707) +- Table + - 靽桀�� resizeObserver loop limit exceeded (#21255 by @tomieric) + - 靽桀�� toggleAllSelection (#21456 by @cs1707) + - 隡�� table �扯 (#21330 by @cs1707) +- Button + - 靽桀�� disabled 隡�漣 (#21375 by @cs1707) +- Descriptions + - 靽桀�� label slot bug (#21462 by @cs1707) +- SASS + - node-sass ��銝� dart-sass (#21019 by @linxsbox) +- Docs + - 靽桀�� skeleton ���� (#21408 by @zhhbstudio) + +### 2.15.6 + +*2021-09-02* + +#### Bug 靽桀�� + +- Cascader + - 靽桀���蝻拇璅∪������ bug (#21207 by @cs1707) + - 隡��扯 (#21231 by @cs1707) +- Select + - 靽桀���芋撘���滯���� bug (#21237 by @cs1707) +- Dropdown + - 憓�� disabled 撅�� (#21235 by @mshioda) +- Radio + - 靽桀���餈������� bug (#21250 by @cs1707) +- Descriptions + - 靽桀�掩����� (#21265 by @adaex) + - 靽桀��”�蝏辣瘛瑞�撘蝒�憸� (#21254 by @adaex) +- Drawer + - 靽桀�� append-to-body (#21264 by @cs1707) +- Local + - 靽桀�� italian 蝧餉��秤 (#21012 by @ricardotondello) + +### 2.15.5 + +*2021-08-04* + +#### Bug 靽桀�� + +- Select + - 靽桀�� resetInputHeight ����� bug (#21201 by @cs1707) + +### 2.15.4 + +*2021-08-03* + +#### ���� + +- Descriptions + - �憓� Descriptions 蝏辣 (#21129 by @cs1707) +- Result + - �憓� Result 蝏辣 (#21171 by @cs1707) + +#### Bug 靽桀�� + +- Utils + - 靽桀�� isScroll (#21098 by @canvascat) +- Translation + - �� it.js (#21133 by @bliberi) +- RadioGroup + - 靽桀�� RadioGroup 銝� component �摰寧�� bug (#20783 by @lceric) +- Message + - 靽桀�� message[type] (#21088 by @cs1707) +- Carousel + - 靽桀�� setActiveItem ��蔭霈⊥ (#20846 by @Nekojita1) +- Cascader + - 靽桀�� emitPath (#21185 by @cs1707) +- Select + - 靽桀�� filterable bug (#17494 by @profore) + - 靽桀���蝻拇璅∪������ bug (#21197 by @cs1707) +- Tree + - 靽桀�� insertChild (#21194 by @cs1707) + +### 2.15.3 + +*2021-06-29* +#### ���� + +- Skeleton + - �憓� Skeleton 蝏辣 (#21038 by @cs1707) +- Empty + - �憓� Empty 蝏辣 (#21080 by @cs1707) + +#### Bug 靽桀�� + +- Local + - 靽桀�� hr 霂剛� week 蝧餉�� (#21040 by @cs1707) +- Table + - 靽桀�� lazy load data (#21041 by @cs1707) +- Docs + - 靽格 form 蝏辣 hide-required-asterisk ��膩 (#21045 by @cs1707) +- Drawer: + - 靽桀�� destroy (#20715 by @zj9495) +- Row + - 靽桀�� align top (#20963 by @cs1707) +- Select + - 靽桀�� value 銝� Boolean 蝐餃��ug (#21052 by @cs1707) +- Calendar + - 靽桀�� first-day-of-week (#21057 by @cs1707) +- Utils + - 靽桀�� fix isScroll (#21065 by @cs1707) + - 靽桀�� (utils.dom by @fw6) +- TypeScript + - 憓�� CascaderPanel 蝐餃�紡� (#21070 by @qige2016) + - 憓�� spinner.d.ts (#21090 by @qige2016) + +### 2.15.2 + +*2021-05-28* + +#### Bug 靽桀�� + +- Image + - 靽桀�� z-index 憓�� keydown 鈭辣 瘛餃�� stopPropagation (#20859 by @cs1707) +- Input + - 靽桀�� password cursor 撅內 (#20870 by @cs1707) + - 靽桀�� password icon � edge 銝��內 (#20902 by @cs1707) +- Carousel + - 靽桀�� interval ��� scale bug (#20931 by @cs1707) +- Cascader + - 靽桀�� delete tag bug (#20939 by @cs1707) +- Drawer + - ���� overflow auto (#20948 by @cs1707) +- �隞� + - 靽桀�� isFunction (#20912 by @cs1707) + +### 2.15.1 + +*2021-02-23* + +#### Bug 靽桀�� + +- Drawer + - 靽桀�� Drawer bug (by @cs1707) +- Image + - 靽桀�� image object fit ratio � IE 銝�� bug (#19583 by @charlie0228) +- Cascader + - 靽桀�� cascader panel active path (#20730 by @cs1707) +- Calendar + - 靽桀�� calendar ����� bug (#20758 by @iamkun) +- ColorPicker + - 靽桀�� bugs (by @UxieVerity) + +#### 隡�� + +- Doc + - �� Axure 霈曇恣韏�� v2.1.0 (by @iamkun) + +### 2.15.0 + +*2021-01-15* + +#### Bug 靽桀�� + +- Select + - 靽桀�� placeholder ����� bug (#17644 by @nzh63) +- Popconfirm + - 靽桀�� Popconfirm ����� bug by @iamkun +- Drawer + - 靽桀�� focus bug (#20626 by @cs1707) +- Image + - �������� (#20652 by @cs1707) + +#### 隡�� + +- Doc + - ��瘜祗��﹝ datetime-picker.md (#20543 by @lonk) + - �� Progress 蝏辣��﹝ (#20641 by @cs1707) + +### 2.14.1 + +*2020-11-11* + +#### Bug 靽桀�� + +- Popover + - �摰� Vue 2.6 � v-slot 霂剜�� (#20424 by @iamkun) + +#### 隡�� + +- I18n + - �����摩霂剔蕃霂� (#20202 by @elkattan) + - ��蝏游撠祗蝧餉�� (#20177 by @IlhamTahir) + +### 2.14.0 + +*2020-10-29* + +#### ��摰寞�扳� + +- Popconfirm + - 鈭辣��妍靽格銝� `confirm`, `cancel` (#20240 by @hugiron) + +#### Bug 靽桀�� + +- Progress + - 靽桀����秤��憸� (#19985 by @Caaalabash) + +#### 隡�� + +- I18n + - ��靽祗蝧餉�� (#19451 by @yangirov) + - ��擃�祗蝧餉�� (#20077 by @Sovai) + - ��銋�霂剔蕃霂� (#20344 by @MammutAlex) + +### 2.13.2 + +*2020-05-18* + +#### Bug 靽桀�� + +- Autocomplete + - 靽桀�� 'change event' ��秤 (#19200 by @sxzz) +- Image + - ����秤��� (#19194 by @lhx6538665) + +#### 隡�� + +- I18n + - �� ru-RU popconfirm 蝧餉�� (#19220 by @Opppex) + - �� vi 蝧餉�� (#19244 by @quangln2810) + - �� Catalan ��� Spanish 蝧餉�� (#19296 by @Ismaaa) + - �� Indonesia 蝧餉�� (#19320) by @therour) + - �� Brazilian Portuguese 蝧餉�� (#19374 by @diegomengarda) + + +### 2.13.1 + +*2020-04-13* + +#### ���� +- Autocomplete + - 瘛餃�� change 鈭辣 (#17913 by @sxzz) + +#### Bug 靽桀�� + +- Autocomplete + - 靽桀�掩��蛹 textarea �撱箄悅��秤�憸� (#18478 by @Roojay) +- Carousel + - 靽桀�� console.warn ������秤 (#18264 by @IceFox) +- Image + - 靽桀��� preview-src-list 撅�找�� src ������之�撅內銝箇征��憸� (#18975) (#19130 by @luckyCao) + - 靽桀�洵鈭活�����敹急�憭望�憸� (#18983) (#19156 by @luckyCao) + - 靽桀�� preview-src-list 銝箇征��������� body 瘛餃�� overflow: scroll ��憸� (#18967 by @inooNgt) +- Transfer + - 靽桀��� Form 蝏辣銝�韏瑚蝙����秤����憸� (#18917 by @Hanx) +- InputNumber + - 甇�蝖株恣蝞� inputNumberDisabled (#18439 by @ashuser-pendo) +- Chore + - ��擐△���� (#19155 by @iamkun) +- Doc + - �� Popconfirm ��﹝ (#18324 by @iamkun) + - 靽桀�� step-strictly ��﹝���憸� (#18705 by @dream2023) + - 靽桀�� Steps 蝏辣��﹝�憸� (#17555 by @haoranyu) + +### 2.13.0 + +*2019-11-26* + +#### ���� + +- Popconfirm + - �憓� Popconfirm 蝏辣 (#17548 by @iamkun) + +#### Bug fixes + +- BackTop + - 撟單��腹�� (by @lon) +- DatePicker + - 靽桀����撠���� bug (#17191 by @smk0621) +- Select + - 靽桀���靘� (by @msidolphin) +- Tree + - 憓�� font-size �撘� (#17094 by @spengjie) +- Table + - 憭湧��摰�� (#17291 by @ziyoung) + - ��憭湧�撘� (#17284 by @ziyoung) + - 靽桀��� filter 銋��漲�憸� (#17348 by @ziyoung) + - 靽桀�� row-style 憭望��� bug (#17002 by @a631807682) + - 靽桀�仍�瘨仃��� bug (#17341 by @ziyoung) +- Calendar + - 撖澆 el-button ��� el-button-group (#17376 by @masongzhi) +- MessageBox + - 靽桀�銵其�蔭 (#17410 by @nullptru) +- TimePicker + - 皛��挽蝵格迤蝖桃��蔭 (#16868 by @mattheyan) +- Message + - 靽桀����� offsetHeight嚗�#17564嚗� (#17852 by @gzwgq222) +- Form + - ValidateField �����蛹��★ (#17314 by @CarterLi) +- Cascader + - 靽桀�� TypeScript 3.7 ��摰寥憸� (#17881 by @CarterLi) +- Menu + - 靽桀�� NavigationDuplicated � vue-router@^3.1.0 ����� (#17269 by @iamkun) +- Dropdown + - ��蝐餃��辣 (#17550 by @iamkun) +- Progress + - 憓�� strokeLinecap 撅�� (#17552 by @iamkun) +- InfiniteScroll + - 頝唾��閫��圻��� (#17553 by @iamkun) +- Image + - 隡��雿�� (#16985 by @luckyCao) + - 隡�之����內�憸� (#16796 by @luckyCao) +- Drawer + - 靽桀�� drawer-append-to-body 憭望��� bug (#16953 by @JeremyWuuuuu) +- Select + - 靽桀�征 tag ��� bug (17199 by @luckyCao) +- Scrollbar + - 靽桀�� FireFox ������� bug (#18091 by @iamkun) + +#### Optimization + +- I18n + - �� sv-SE.js (#17926 by @FOLLGAD) + - �� avatar 蝏辣瘜祗��﹝ (#17762 by @blombard) +- Docs + - 靽桀�� time-select ��﹝��秤 (#17250 by @wacky6) + - 靽桀�� Drawer ��﹝��秤 (#17122 by @haoranyu) + - �� Spanish changelog 2.12.0 (#17364 by @Gonzalo2310) + - 靽桀�� Changelog ��﹝��秤 (#17874 by @renlixin) + - 靽桀�� Loading 蝷箔�� (#17862 by @MBearo) + - 憓�� input event ����﹝ (#18061 by @zhouxinyong) + - 蝘駁 Input repeat change event ����﹝ (#18085 by @zhouxinyong) + +### 2.12.0 + +*2019-08-29* + +#### ���� + +- Popover + - 瘛餃�� close-delay 撅�� (#16671 by @LachlanStuart) +- Theme + - 憓�� Chrome ��辣: Element Theme Extension (#16686 by @iamkun) +- Icon + - ���� font-display 撅�抒��蔭 (#16805 by @iamfaizalandyka) + +#### Bug fixes + +- Table + - �銵典仍����甇� click 鈭辣��圻��� (#16850 by @ziyoung) + - 靽桀�”憭� display 銝� none ����撏拇��憸� (#16956 by @luckyCao) + - 靽桀�瓷�����銵冽擃漲�憸� (#16861 by @ziyoung) + - 靚 toggleExpansion 銝��撘虜 (#16304 by @yyjjqq94) + - ��蝸�銝�圻��� sort-change 鈭辣 (#17113 by @a631807682) + - 靽桀�� setCurrentRow �瘜����憸� (#16879 by @ziyoung) + - 靽桀���撘郊��蝸�嚗xpand-row-keys 銝���憸� (#16899 by @ziyoung) + - ��� toggleAllSelection 霈曄蔭銝� Table 蝷箔����� (#17137 by @ziyoung) +- Tree + - 靽桀�����������氖 (#16799 by @Hazlank) +- Tabs + - 靽桀�� TabItem 雿蔭銝迤蝖桃�憸� (#16520 by @victorting) + - 靽桀��漁��� Tab 銝�閫��憸� (#17033 by @nullptru) +- Calendar + - 靽桀����蝷粹憸� (#16772 by @ubitoffee) + - 靽桀�憭誘���蝷粹憸� (#17208 by @iamkun) +- Cascader + - 靽桀�� CascaderPanel ��蝷粹憸� (#16716 by @zhangHongEn) + - 蝳�������銝蝷� (#16224 by @yyjjqq94) +- Input + - 靽桀�霂剛��憸� (#15069 by @MoonHyuk) + - 閫血�������鈭辣 (#16576 by @a631807682) +- Select + - 餈誘�嚗�韏瑚���� (#17205 by @luckyCao) +- Transfer + - 靽桀�撘憸� (#17206 by @iamkun) +- Dialog + - 瘛餃�� SCSS ���� (#16365 by @haoranyu) +- RadioGroup + - is ���嚗�漣������ HTML ��挾 (#17070 by @nullptru) +- Divider + - ���摰�掩 (#17078 by @island205) +- Carousel + - 靽桀�� change ��圻��� (#16705 by @iamkun) +- Notification + - 銝耨�隡��� option (#16704 by @iamkun) +- DatePicker + - 蝏� picker-option 瘛餃�� className 撅�� (#16632 by @iamkun) +- DateTimePicker + - 靽桀���皛���憸� (#16854 by @jesse-li) + +#### Optimization + +- Checkbox + - ���霈輸�� (#16575 by @tylertrotter) +- Docs + - �� changelog (#16773 by @SimonaliaChen) + - ��韐∠���� (#14800 by @sinchang) + - 靽桀�� Drawer ��﹝銝剔����秤 (#16848 by @winkay) + - ���摰�蜓憸� (#16983 by @iamkun) + - �憓� Esperanto 蝧餉�� (#16955 by @maxkoryukov) + - �� input-number ��﹝ (#16316 by @luckyCao) + - �� Spanish ��﹝ (#16961 #16548 by @Gonzalo2310) +- I18n + - ����陸蝵側鈭祗蝧餉�� (#14722 by @oscaralbareda) + - �����摩霂剔蕃霂� (#16653 by @l3op) +- Test + - 靽桀����秤 (#16672 by @boomler) + - 隡�� image ������� (#16847 by @a631807682) +- Types + - 靽桀�� httprequest ��掩��� (#16633 by @luckyCao) + +### 2.11.1 + +*2019-07-26* + +#### Bug 靽桀�� + +- Image + - 靽桀�� Image 蝏辣 SSR �摰寞�� (#16737 by @luckyCao) +- Chore + - �� dart-sass ��摰寞�� (#16744 by @LewisChennnnn) + +### 2.11.0 + +*2019-07-25* + +#### ���� + +- Drawer + - �憓撅�辣 (#16577 by @JeremyWuuuuu) + +#### Bug 靽桀�� + +- Checkbox + - 靽桀�� CSS �撘憸� (#16006 by @Hazlank) +- Tree + - ��蝐餃���蛹瘜掩��� (#15934 by @JeremyWuuuuu) + - 靽桀�挽蝵株� isCurrent ��蛹 false ��憸� (#15870 by @kkkisme) +- Dropdown + - �� split-button 暺恕憸 (#15931 by @JuniorTour) +- Cascader + - 靽桀��蝥扯����憸� (#16399 by @luckyCao) + - ���蝸�霈暸�恕�� (#16420 by @luckyCao) + - 靽桀����潮����蝷粹憸� (#15935 by @junyiz) + - 撖孵�� getCheckedNodes ��耨憭� options ����蔣���葉��憸� (#16709 by @SimonaliaChen) +- Calendar + - ���蝷箸迤蝖桃�� header ���餉�� (#16354 by @ziyoung) +- Submenu + - 靽桀�� append-to-body �憸� (#16289 by @a631807682) +- Table + - 靽桀�� tree table �����憸� (#16481 by @island205) +- Select + - 靽桀�����憸� (#16463 by @island205) +- InfiniteScroll + - ������秩��� (#16698 by @iamkun) +- Avatar + - 靽桀�����葉��憸� (#16489 by @luckyCao) +- Dialog + - 憓�� destroyOnClose 撅�� (#16455 by @ziyoung) +- Image + - 憓�之�憸�� (#16333 by @luckyCao) + +#### 隡�� + +- Docs + - 靽桀�� dropdown 蝷箔�� (#16193 by @webxmsj) + - 靽格迤蝚秤 (#15971 by @howiefh) +- I18n + - ��瘜唳�蕃霂� (#16689 by @ponkrit) +- Chore + - ���蝖� API ��� (#16607 by @iamkun) + - 憓�� Form ��蜓憸� token (#16699 by @iamkun) + - ��蝏恣 (#16609 by @iamkun) + - 靽桀��﹝���憸� (#16692 by @iamkun) + +### 2.10.1 + +*2019-07-02* + +#### Bug 靽桀�� + +- Table + - ���� icon �憸耨憭� (#15439 by @bezany) + - 靽桀�� `append` slot 摮�撣����憸� (#16332 by @ziyoung) + - 靽桀�� `showOverflowTooltip` ������憸� (#16295 by @a631807682) + - 靽桀�� `FilterPanel` 銝� `Scrollbar` �瘜典�憸� (#16246 by @ziyoung) +- Chore + - �����嚗耨憭�﹝�憸� (#16233 by @ziyoung) + - 靽桀����△�撘憸� (#16254 by @iamkun) + +#### 隡�� + +- Tag + - �摰� IE (#16334 by @ziyoung) +- Chore + - ������3蝢支�輕��� (#16236 by @iamkun) +- Doc + - ��銝駁�����﹝ (#16244 by @iamkun) + +### 2.10.0 + +*2019-06-25* + +#### ���� + +- I18n + - �������祗 (#15796 by @ogabek96) +- Calendar + - ���� `first-day-of-week` ��蔭 (#16047 by @ziyoung) +- Avatar + - �憓� `Avatar` 蝏辣 (#16144 by @luckyCao) +- Upload: + - ���摰�憬��璅∠�� (#13192 by @victorzhuk) + + +#### Bug 靽桀�� + +- Tree + - 敶� `currentKey` 銝� `null` ����笆������漁 (#15668 by @yyjjqq94) + - 靽桀����鈭急���憸� #15538 (#15615 by @VanMess) +- Upload + - �� `fileList` ��掩����� (#15716 by @underfin) +- Table + - 靽桀��蝸 icon 銝蝷箇�憸� (#15868 by @ziyoung) + - 靽桀���”�銝� hover 銵���憸� (#15504 by @cnlon) + - 靽桀�� `current-row-key` ���鈭辣��憸� (#15983 by @ziyoung) + - `height` 撅�扳��憭��� (#16013 by @ziyoung) + - 靽桀�� `reserve-selection` ����憸� (#16135 by @ziyoung) +- Menu + - 靽桀�� `popper-append-to-body` 霈曄蔭��������韏瑞�憸� (#15391 by @PanJiaChen) +- Select + - 靽桀�� `initialInputHeight` �憸� (#15989 by @yyjjqq94) + - 靽桀��銝剜� `default-first-option` ���蛹�憸� (#15431 by @VanMess) + - `import` ���� (#16215 by @lengband) +- Message + - 蝐餃���葉瘛餃�� `offset` 撅�� (#16027 by @matjaz) +- Timeline + - 靽桀���憸� (#16091 by @ziyoung) +- Slider + - 銵亙�� `input` 鈭辣��﹝ (#15588 by @VanMess) +- InfiniteScroll + - ������ (#16125 by @iamkun) +- MessageBox + - 靽桀�� `distinguishCancelAndClose` 銵蛹銝�﹝銝泵��憸� (#15438 by @qingdengyue) +- PopupManager + - 靽桀������ `z-index` ��憸� (#15738 by @luckyCao) +- Docs + - ��銝����捆 (#16194 by @Alexeykhr) + - �甇� `Divider` 撅�抒掩��� (#15889 by @haoranyu) +- Chore + - ��瘚�� API ��� (#15807 by @iamkun) + +#### 隡�� + +- Tree + -隡�儐��扯 (#15699 by @KingJeason) +- Theme + - �� GA ��嚗耨�憿萄������銝駁��� (#16007 by @island205) +- Badge + - ��蝐餃���� (#16198 by @iamkun) +- Avatar + - ��銝駁����蔭 (#16202 by @luckyCao) +- I18n + - ������祗 (#15776 by @gigioSouza) + - ��瘜X霂� (#15881 by @pamenary) +- Docs + - 銵亙����﹝銝剔��辣��” (#16063 by @pape2016) + - ��瘜祗��﹝ (#16208 by @blombard) + - 銝� `Alert` 瘛餃�� 暺恕��局��﹝ (#15444 by @Alexeykhr) + - ��镼輻��祗��﹝ (#15840 by @Gonzalo2310) + - ��瘜祗��﹝銝剔����秤 (#15837 by @blombard) + - �� 2.9.2 镼輻���﹝ (#16185 by @Gonzalo2310) + +#### ��摰寞�扳� + +- Form + - 蝘駁颲獢����� (#16159 by @ziyoung) + +### 2.9.2 + +*2019-06-21* + +#### Bug 靽桀�� + +- Chore + - 靽桀�� TS 摰��辣 (#15805 by @NateScarlet) + +### 2.9.1 + +*2019-05-30* + +#### ���� + +- Table + - Tree Table ���� tree-props嚗efault-expand-all嚗xpand-row-keys 撅��, toggle-row-expansion �瘜�xpand-change 鈭辣 (#15709 by @ziyoung) + +#### Bug 靽桀�� + +- Table + - 靽桀���鈭憸� (#15709 by @ziyoung) +- Theme + - �������� (#15784 by @iamkun) + +#### 隡�� + +- Chore + - �� InfiniteScroll 蝏辣摰��辣 (#15794 by @iamkun) + +### 2.9.0 + +*2019-05-30* + +#### ���� + +- Backtop + - �憓� Backtop 蝏辣 (#15541 by @iamkun) +- PageHeader + - �憓� PageHeader 蝏辣 (#15714 by @ziyoung) +- InfiniteScroll + - �憓� InfiniteScroll ��誘 (#15567 by @iamkun) +- Cascader + - �憓��芋撘�� filter-method �瘜� (#15611 by @SimonaliaChen) +- Message + - 靽⊥靘活撅內 (#15639 by @island205) +- Tag + - �憓� effect 撅�� (#15725 by @SimonaliaChen) +- Tabs + - ���芋撘���椰撖寥�� (#15695 by @luckyCao) +- DatePicker + - ����泵銝脣虜��� (#15525 by island205) +- Image + - ���� attrs ��� listeners (#15578 by @VanMess) +- Theme + - �憓� popup ����蔭 (#15412 by @iamkun) +- Chore + - ����﹝擐△ (#15682 by @iamkun) + +#### Bug 靽桀�� + +- Table + - 靽桀���隞嗡蛹蝛箸����憸� (#15012 by @joelxr) +- Image + - 靽桀�� ssr �憸�� object-fit ��摰寞�� (#15346 by @SimonaliaChen) +- Input + - 靽桀�� show-word-count �撘憸� (#15359 by @lvjiaxuan) + - 靽桀�����撘� (#15354 by @YiiGuxing) +- Calendar + - 靽桀����內��秤 (#15399 by @qingdengyue) + - 靽桀����內�憸� (#15394 by @qingdengyue) +- Tabs + - 靽桀�� padding �憸� (#15461 by @SimonaliaChen) +- Tag + - 靽桀�甇W�部�憸� (#15150 by @infjer) +- Form + - 靽桀�� form-item ���漲��秤 (#15457 by @SimonaliaChen) + - 靽桀�� resetFields �憸� (15181 by @luckyCao) +- Tooltip + - 靽桀�摰�� tabindex 銝��憸� (#15619 by @SimonaliaChen) +- Link + - 靽桀���� class �憸� (#15752 by @iamkun) +- Select + - �����嚗挽蝵� value 銝� null ��耨� (#15447 by @iamkun) +- Loading + - 靽桀�� Dom 銝���憸� (#15123 by @FAKER-A) +- Switch + - 靽桀��辣���圻��憸� (#15178 by @FAKER-A) +- Slider + - 靽桀����撘憸� (#15561 by @luckyCao) +- Radio + - 靽桀�� value 銝���憸� (#14809 by @OverTree) +- Form + - 靽桀�� resetFields �憸� (15181 by @luckyCao) +- Chore + - ��靘�� (#15324 by ziyoung) +- Type + - 靽桀�� Loading 摰��辣 (#15635 by @iamkun) + - 靽桀�� Icon 摰��辣 (#15634 by @iamkun) + - 靽桀�� Link 摰��辣 (#15402 by @iamkun) + +#### 隡�� + +- Cascader + - ���� (#15611 by @SimonaliaChen) +- Chore + - ���撱箇�辣��� (by @iamkun) +- Docs + - ������﹝���� (#15185 by @liupl) + - �� Image 蝏辣��﹝ (#15423 by @haoranyu) + - 靽桀�� Form 蝏辣��﹝��秤 (#15228 by @SHERlocked93) + +### 2.8.2 + +*2019-04-25* + +#### Bug 靽桀�� + +- Icon + - �� icon (#15272 by @iamkun) +- ��﹝ + - 靽桀�� Form 銝� Input ��﹝�撘� (#15273 by @ziyoung) + +### 2.8.1 + +*2019-04-25* + +#### Bug 靽桀�� + +- Icon + - �� Select 銝� Cascader ��� icon (#15264 by @SimonaliaChen) + - �� icon (#15258 by @iamkun) + +#### 隡�� + +- Chore + - ����遣�� (#15267 by @ziyoung) +- Docs + - 靽桀�� link ��撘� (#15265 by @iamkun) +- �隞� + - migrating ��蔭�摰寥彼撜啣�妍 (#15260 by @SimonaliaChen) + +### 2.8.0 + +*2019-04-25* + +#### ���� + +- Divider + - �憓� Divider 蝏辣 (#15055 by @island205) +- Rate + - �����笆鞊∟摰�� colors 銝� icon-classes 撅�� (#15051 by @SimonaliaChen) +- Link + - �憓� Link 蝏辣 (#15052 by @iamkun) +- Calendar + - �憓� Calendar 蝏辣 (#14908 by @ziyoung) +- Icon + - �憓��� (#15214 by @iamkun) +- Alert + - �憓�弗��漲銝駁�� (#15041 by @island205) +- Image + - �憓� Image 蝏辣 (#15117 by @SimonaliaChen) +- Collapse + - CollapseItem ���� (#15076 by @ziyoung) +- Carousel + - �憓� direction 撅�改�������� (#15122 by @ziyoung) +- Pagination + - �憓� hide-on-single-page 撅�� (#15096 by @ziyoung) +- Slider + - �憓� marks 撅�� (#15133 by @luckyCao) +- Input + - �憓� show-word-count 撅�� (#15075 by @luckyCao) +- InputNumber + - �憓� step-strictly 撅�� (#15050 by @luckyCao) +- Tooltip, Dropdown, Popover + - �憓� tabindex 撅�� (#15167 by @ziyoung) + +#### Bug 靽桀�� + +- Notification + - 靽桀����銵�憸� (#15008 by @iamkun) +- Form + - 靽桀��”��撉������憸� (#14985 by @luckyCao) + - 靽桀�� label ��撘� (#14969 by @ziyoung) + - 敶� required 銝� true �嚗蝷箸� (#15144 by @ziyoung) +- Pagination + - 靽桀�� slot �����憸� (#14711 by @lucyhao) +- Table + - 靽桀���蝸���蝸����� bug (#15101 by @ziyoung) + - ���僎����嚗耨憭����捐摨西恣蝞�迤蝖桃�憸� (#15196 by @ziyoung) + - ���”����扯 (#14868 by @ziyoung) + - ����銝�圻��� sort-change 鈭辣 (#14625 by @PeanutWatson) + - 霈� height 銝� max-height 撅�抒��蛹靽��� (#14660 by @arthurdenner) +- Dialog + - 靽桀��捆銝銵�憸� (#15027 by @iamkun) +- Alert + - �� typescript 摰��辣 (#15186 by @ziyoung) +- Tabs + - Fix issue where Promise rejection was hitting application (#14816 by @ffxsam) + - slot ���嚗�皜脫�� (#15238 by @ziyoung) +- Message + - 靽桀�� typescript 摰��辣 (#14968 by @agoni1212) +- Select + - 靽桀��� value 銝� undefined ���� null ����� (#15022 by @luckyCao) +- Tree + - 敶��鋡怠�����葉���銋�砲�� (#14604 by @sinchang) + - ����扯 (#14881 by @ChenZhuoSteve) +- Dropdown + - 靽桀�撘� (#14907 by @doing123) +- Slider + - 靽桀�霈輸�折憸� (#14792 by @erezsob) +- Menu + - 憒�� defaultIndex 銝�嚗ctiveIndex 摨砲銝箇征 (#14074 by @hoythan) +- Directive + - RepeatClick: 雿輻 Date.now ����扯 (#14776 by @pavelmash) +- Upload + - 靽桀�� Upload ���憸 (#15039 by @iamkun) +- Theme + - 瘛餃������� (#15256 by @iamkun) + +#### 隡�� + +- Chore + - ��銝剜�� changelog (#14965 by @iamkun) + - 敶� demo ��膩銝箇征�嚗��蝷� (#15014 by @ziyoung) + - �蝷� DevServer ��縑� (#15028 by @iamkun) + - 靽桀�� 2.6 changelog ��� bug (#15026 by @iamkun) + - ����遣�� (#14821 by @abc3660170) + - �甈∪�������� (#15221 by @SimonaliaChen) + - ��撘���嚗�蝸 sourcemap (#15087 by @ibufu) +Docs + - ����� demo 銝剔���� (#14602 #15003 #15094 #15105 by @liupl) + - 靽桀�� upload ��﹝銝剔��秤 (#15023 by @iamkun) + - �� Form ��﹝ (#15040 by @iamkun) + - �� Tabs ��﹝ (#15053 by @iamkun) + - 雿輻 eleme.cn 雿蛹����� (#15139 by @ziyoung) + - 靽桀�� Image 蝏辣��楝���� (#15194 by @iamkun) + - ��憭���祗蝧餉�� (#15207 by @iamkun) + +#### ��摰寞�扳� + +- Rate + - 蝳��銝�蝷箏�� (#15089 by @haoranyu) +- Select + - 餈誘��銝�laceholder 銝粹�葉�★��� label (#14989 by @ibufu) + +### 2.7.2 + +*2019-04-03* + +#### 靽桀�� + +- Form + - 靽桀�� `label-width` 銝� `auto` ��撘� (#14955 by @ziyoung) + +#### 隡�� +- Docs + - 靽桀��﹝�������秤 (#14957 by @iamkun) +- Chore + - 靽桀��� mkdir 撘虜 (#14952 by @iamkun) + +### 2.7.1 + +*2019-04-03* + +#### 靽桀�� + +- Select + - 皜征�霈曄蔭 value 銝� null (#14322 by @aaronfulkerson) +- Input + - 敶掩������ DOM (#14889 by @wacky6) +- Table + - 靽桀������� `defaultExpandAll` ���蛹 (#14935 by @ziyoung) +- Dialog + - �隞亥挽蝵株�� (#14939 by @ziyoung) +- Form + - `label-width` ����摰賢漲 (#14944 by @ziyoung) + +#### 隡�� +- Docs + - ��镼輻��祗��﹝ (#14913 by @Gonzalo2310) + - �憓�辣������祗��﹝ (#14924 by @ziyoung) + - �� Tabs ��﹝ (#14938 by @ziyoung) + +### 2.7.0 + +*2019-03-28* + +#### ���� + +- Table + - 憓�笆��耦蝏������� (#14632 by @ziyoung) + +#### 靽桀�� + +- Tabs + - �敶望撘蝙��撅�銝駁� (#14558 by @Richard-Choooou) + - 敶� label ���閫血�� (#14496 by @akki-jat) +- Table + - Table footer 銝� body ��笆朣�� (#14730 by @ziyoung) +- NavMenu + - 靽桀�� el-submenu 憭活閫血�� childMenu �憸� (#14443 by @PanJiaChen) +- Dropdown + - �摰� Vue 2.6 � v-slot 霂剜�� (#14832 by @ziyoung) +- ColorPicker + - 靽桀��餈憸摮泵銝脰圾��憸� (#14793 by @iamkun) +- Tree + - �憭� pr #13349 (#14847 by @ziyoung) +- Tooltip + - 敶���潔蛹 true �暺恕�蝷� (#14826 by @ziyoung) +- Docs + - �� Cascader ��﹝ (#14442 by @panhezeng) +- Style + - 靽桀���霂� sm-only, md-only, lg-only �憸� (#14611 by @sinchang) + +#### 隡�� + +- Chore + - 憓��△��膩靽⊥ (#14802 by @iamkun) + +### 2.6.3 + +*2019-03-21* + +#### 靽桀�� + +- 靽桀�� Cascader ��﹝憿萇�撘� (#14789 by @ziyoung) +- 蝘駁 Cascader 銝剖���� DOM ���� (#14788 by @ziyoung) +- DateRange ����誘� (#14562 by @wacky6) + +### 2.6.2 + +*2019-03-21* + +#### ���� + +- DatePicker + - ���� monthrange 蝐餃�� (#14487 by @zxyRealm) +- i18n + - 瘛餃�� Croatian 霂剛���� (#14360 by @danijelh) +- Docs + - �� 2.6.1 瘜祗��﹝嚗耨憭�秤 (#14555 by @smalesys) + - ��瘜祗蝧餉�� (#14643 by @smalesys) + +#### 靽桀�� + +- Input + - Fix regression (#14572 by @wacky6) +- DatePicker + - 靽桀�� first-day-of-week ��恣蝞� (#14523 by @sinchang) + - 靽桀�� WeekPicker value-format ��憸� (#13754 by @wacky6) +- Steps + - 靽桀�� #14502 (#14596 by @sinchang) + - 靽桀����芋撘��撘� (#14610 by @sinchang) +- Docs + - ����� Table ��﹝銝剔���� (#14587 by @likwotsing) + - 瘛餃��祗��﹝蝝W�� (#14565 by @iamkun) + - 靽桀�� TimePicker ��﹝憿萇�撘� (#14579 by @ziyoung) + - ����� Upload ��﹝銝剔���� (#14593 by @liupl) + - � Form ��﹝銝� 瘛餃��� async-validator ��﹝ (#14694 by @iamkun) + - 靽桀�� Tooltip ��﹝��� bug (#14748 by @iamkun) + - 靽桀��秤 (#14751 by @2bj) + - 靽桀�� Switch �蝘餃蝡� Webkit 瘚����漁�憸� (#14703 by @VladG0r) + +#### 隡�� + +- Chore: + - �� ci ��遣�� (#14600 by @ziyoung) + - ��靚瑟��恣 (#14560 by @iamkun) + - 瘛餃�憭健甇�恣鈭辣 (#14633 by @iamkun) + - ����予蝏縑� (#14741 by @iamkun) + - ��漣瘚���� (#14735 by @wacky6) + - ��漣 gulp (#14745 by @ziyoung) + - 雿輻 codepen �蝷� demo嚗耨憭�﹝銝剔��秤 (#14747 by @ziyoung) + +### 2.6.1 + +*2019-03-03* + +#### 靽桀�� + +- **銝���� node ��** (by @iamkun in #14546) +- 靚 `deloy-faas.sh` 銝剔��﹝�敶� (by @ziyoung in #14553) +- 靚 2.6.0 銝� changelog ���撘� (by @island205 in #14547) +- 靽桀����秤 (by @wack6 in #14552) + +### 2.6.0 + +*2019-03-01* + +#### ���� +- Timeline + - 瘛餃�� Timeline 蝏辣 (by @jikkai in #14248) +- DropdownItem + - `el-dropdown-item` ���溶��� icon (by @gabrielboliveira in #14088) +- Input + - 瘛餃�� `show-password` 撅�改����蔭�蝷箏��� (by @phshy0607 in #13966) +- Select + - 瘛餃�� slot `empty` (by @elfman in #13785) +- Autocomplete + - 瘛餃�� `highlight-first-item` 撅�改����暺恕蝒�蝷箄���揣撱箄悅銝剔�洵銝�憿� (by @YamenSharaf in #14269) +- I18n + - 瘛餃���側鈭祗���� (by @hamletbarsamyan in #14214) +- Docs + - �憓�祗��﹝ (by @smalesys in #12153, #14418, #14434) + +#### 隡�� +- Alert + - 蝏辣撖寥��� slot 隡��� description 銋�暺恕�撘掩 (by @iamkun in #14488) +- InputNumber + -蝘駁憭��� `parseFloat` (by @JuniorTour in #14172) +- Menu + - ���� `el-menu-item` 銝溶��� index (by @georgyfarniev in #13298) +- Table + - 蝘駁����� DOM ���� (by @elfman in #13643) +- Upload + - 隞������ (by @elfman in #13973) +- Popup + - 蝘駁��隞���� (by @KAionro in #14413) +- Docs + - 瘛餃�憭�﹝霂湔���插�隞���� (by @island205 in #14355) + - 瘛餃�� `el-input` ���蝏辣��郎蝷� (by @wacky6 in #14463) + - 隡�� Table ���﹝ (by @luguokong in #14329) + - �� Input ��﹝ (by @iamkun in #14437) + - 隡�摰�蜓憸�﹝ (by @wangguohao in #14297) + - 銝� Icon ��﹝瘛餃�� hover ���� (by @tuxinghuan in #14295) +- Build + - ��憬 Element ��﹝蝡�� JS ��� CSS ��辣 (by @iamkun in #14430) + - 隡�� Webpack ����漲嚗��6�����1���� (by @hetech in #14484) + - 瘛餃�� CLI 撌亙嚗���� (by @hetech in #14354) +- 雿輻 Stale �蝞∠��嚗���1撟湛��� Issue ��� PR (by @island205 in #14392) + +#### �憸耨憭� +- Menu + - 靽桀�����倌��撘絲��� focus �憸� (by @liupl in #13976) +- MessageBox + - 靽桀�� TS 摰�� (by @NateScarlet in #14278) +- ScrollBar + - 靽桀��曌��撖潸����憸� (by @xifeiwu in #14196) +- Switch + - 瘛餃�� `validate-event` 撅�改�挽蝵格��� Switch ����閫血�”���撉� (by @hetech in #14426) +- Table + - 靽桀��� Table 摰�鈭� `toggleAllSelection` �瘜�������憸� (by @letanure in #14075) +- Tabs & Dropdown + - 靽桀�撘憸� (by @hetech in #14452) +- Tree + - 銝� Table 蝏�����撘� (by @ColinCll in #14331) +- Docs + - 靽桀�� DatetimePicker ��﹝�憸� (by @iamkun in #14290) + - 靽桀�� DatePicker ��﹝���憸� (by @helmut in #14481) + - 靽桀��△蝏辣��﹝�撘憸� (by @liuchuzhang in #14451) + +#### ��摰寞�扳� +- Table + - 靽桀�� row 鈭辣���憿箏�� (by @jikkai in #12086) + +### 2.5.4 + +*2019-02-01* + +#### 靽桀�� + +- ��遣: 靽桀�� `.babelrc` ��蔭�憸��紡� Tree 蝑�辣瘝⊥�� (by @island205 in #14282) + +### 2.5.3 + +*2019-01-31* + +#### 隡�� + +- 隡�� Message ��誨��� (by @vok123 in #14029) +- 蝘駁 gh-pages (by @ziyoung in #14266) +- 瘛餃�� IssueHunt ��� (by @island205 in #14261) + +#### 靽桀�� + +- 靽桀�� UMD �����蝡航�����憸� (by @island205 in #14242) +- 靽桀�� Tabbar 擃漁���撘� (by @iamkun in #14240) +- 靽桀�� Table 蝷箔�誨����秤 (by @xunmeng in #14253) + +### 2.5.2 + +*2019-01-27* + +#### 隡�� +- ��﹝: + - 2.5.1 ��镼輻��祗��﹝�� (by @Gonzalo2310 in #14231) + +#### 靽桀�� +- ��遣: + - �� umd 璅∪�� `lib/index.js` 銝剜瘝⊥��釣��� (by @island205 in #14233) + - 靽桀�� nuxt.js 銝剖鈭� `export` ��摮���� (by @island205 in #14232) + - 靽桀���� 2.5.1 餈�葉���秤 (by @iamkun in #14228) + +### 2.5.1 + +*2019-01-26* + +#### 隡�� +- DatePicker嚗溶����僑擃漁��撘�y @Debiancc in #14211嚗� +- �� 2.5.0 changelog 嚗y @wacky6 in #14217嚗� + + +#### 靽桀�� +- 靽桀��漣 Webpack 4 鈭抒��憸������ `import` 蝏辣嚗ELEMENT.locale()` 靚�����y @island205 in #14220嚗� +- �憭� 2.4.11 ��﹝ (by @iamkun in #14222) + + +### 2.5.0 + +*2019-01-25* + +#### ���� +- DatePicker + - �憓� `validate-event` 撅�� (by @ziyoung in #13531) +- DateTimePicker + - `pickerOptions` ���� `selectableRange` �★ (by @eeeeeeeason) +- Tag + - �憓� `click` 鈭辣 (by @licdream in #14106) +- I18n + - �憓� �撠��祗 (Kyrgyz) (by @zzjframework in #14174) + +#### 隡�� +- ��漣� webpack@4 (by @jikkai in #14173) +- Input + - 蝞����摰嚗敺芸���瘚�耨憭撟脩� Bug (by @wacky6 in #13471) +- �� Axure ��辣嚗��蝏辣 (by @ziyoung in #13773) + +#### 靽桀�� +- Autocomplete + - 靽格迤銝������銵蝷箔����憸� (by @ziyoung in #13597) + - 靽格迤銝��悌憭� (by @liuchuzhang in #13762) +- Carousel + - 蝏辣��瘥���� Timer (by @elfman in #13820) +- Cascader + - 蝘駁撌脣���恣蝞��抒�� cache 撅�� (by @iamkun in #13737) + - 靽格迤 TypeScript 銝� CascaderOption 蝐餃���� (by @NateScarlet in #13613) + - 靽格迤��������憸� (by @ziyoung in #13596) +- Checkbox + - �餈蝷箸撘� (by @PanJiaChen) +- DatePicker + - 靽格迤 TimeSpinner 銝剔撩憭梁�� v-for `key` 撅�� (by @Ende93 in #13547) + - 靽格迤����頝典僑����漁銵蛹 (by @suyi91 in #13883) +- Input + - 靽桀�� textarea ���� DOM ��撘 (by @laomu1988 @island205 in #13803) +- Pagination + - 颲獢��潔����� 1 (by @elfman in #13727) +- Popover + - 靽格迤 hover ��圻���蛹 (by @goldengecko in #13104) + - 靽格迤撘孵獢������ (by @qpxtWhite in #13988) +- Radio + - �餈蝷箸撘� (by @ohhoney1) +- Table + - �餈����悌憭湔���蛹 (by @ohhoney1 in #12890) + - 靽格迤 IE10+ 銝� ������ ��內���撣� (by @imzjy in #13638) + - 靽格迤��﹝銝� `index` ��掩��秩��� (by @ilovefafa in #13628) + - 靽格迤憭漣銵典仍雿輻 `fixed` 撅�扳嚗”撠曉�恣銵�蝷箸撘� (by @luckyCao in #13914) +- Tabs + - 靽格迤��皛 (by @iamkun in #13696) + - �����妍���� (by @iamkun in #13705) + - 雿輻 `paneName` 霈∠���撘� (by @iamkun in #13733) +- Tree + - 靽格迤 `showCheckbox` 銝敶勗�����憸� (by @KidneyFlower) + - ����﹝��� TypeScript 摰�� (by @ziyoung in #13540) +- Upload + - `list-type` ���嚗��� `url` 撅�� (by @elfman in #13771) +- Slider + - 靽格迤皞誨��憬餈� (by @wacky6 in #13955) +- I18n + - 銵亙��陸蝵側鈭祗 (Catalan) 蝧餉�� (by @jaumesala) + - 銵亙��祗 (Russian) 蝧餉�� (by @justlp in #13658) + - 銵亙��霂� (Finnish) 蝧餉�� (by @jenkrisu in #14137) +- Doc + - ��镼輻��祗��﹝� 2.4.11 (by @Gonzalo2310 in #13522) +- �摰� + - 蝘駁憭���遣�� (by @ziyoung) + - 靽格迤��﹝頞� (by @iamkun in #13753) + - 靽格迤��﹝銝凋�����之撠�� (by @wonderjar) + - 憓���黎���輕��� (by @iamkun in #13957) + - .gitignore 憓�� yarn �敹�辣 (by @mimimi in #13922) + - 蝘駁韏��� 憭�� (by @island205 in #14156) + - Update readme qr code src (by @iamkun in #13960) + - �� CDN ��嚗耨甇���摮� (by @ziyoung) + +### 2.4.11 + +*2018-11-21* + +- ��� pr #13296嚗耨憭� Menu 憭撖潸 Submenu �韏瑞�憸��#13478 +- 靚撠���s嚗��霂X�嚗�#13468 嚗y @alekoshen712嚗� + +### 2.4.10 + +*2018-11-16* + +- 靽桀��活�� Select ��蝷箔���”��憸��#13268 +- Form 蝳�銝蝷� Input ��� clear �����#13208 +- 靚 Select嚗rogress嚗utocomplete嚗ooltip嚗ollaspe嚗imePicker ��撘��#13188 (by @porcelainHeart) #13210 #13266 #13257 #13290 #13347 (by @PanJiaChen) +- Carousel 蝏辣�憓� `loop` 撅�改��#13217 +- Table ��� data ���嚗�漁銵�誧蝏凋����#13200 +- Table ��� header slot �隞交���嚗�#13263 +- Table ��� `clearFilter` �瘜���嚗�#13176 +- Table �����瓷���捆�銝��遣 Tooltip嚗�#13152 (by @rongxingsun) +- ColorPicker �����獢�捆�隞交迤撣豢蝷箔���#13278 +- ����嚗olorPicker 銝�圻��”��撉��#13299 +- InputNumber �憓� `select` �瘜��#13286 (by @st-sloth) +- Autocomplete �憓� `clear` 鈭辣嚗�#12171(by arthurdenner) #13326 +- �隞仿��� Menu 憭��� Menu嚗�#13296 +- Form ��� `validateField` �瘜隞交���嚗�#13319 +- Cascader �憓� `visible-change` 鈭辣嚗�#13415 +- DatePicker �憓� range-separator slot嚗� #13272 (by @milworm) +- Tree �憓� `iconClass` 銝� `currentNodeKey` 撅�改��#13337 #13197 (by @isnifer) +- Progress ��� `status` 瘛餃��� text #13198 (by @ali-master) +- 靽桀�� Tree ��� `defaultCheckedKeys` 撖潸�蝷箇��秤嚗�#13349 (by @dive2Pro) + +### 2.4.9 + +*2018-10-26* + +- Form 蝏辣 clearValidate �瘜�����泵銝莎��#12990 嚗y @codinglobster嚗� +- Badge �憓� type 撅�改��#12991 +- ���隞乩蝙� scoped-slot ��摰�”憭湛��#13012嚗y @ivanseidel嚗� +- 靽桀�� IE 銝� Select 颲獢�颲��憸��#13034嚗y @GaliMU嚗� +- Select 憭�嚗�★銝銵��#12329 嚗y @akki-jat嚗� +- Select 銝��”撅����悌憭游���隞交迤蝖格蝷綽��#12353嚗y @firesh嚗� +- 靽桀�� Select ��� size 撅�找����憸��#13070 +- 憭��隞交� Select 撌脤�葉���潘��#13049嚗y @ZSkycat嚗� +- 靽桀�����銝� TabNav 銝����憸��#13039 +- 靽桀�� TabNav 銝� label �蝷箔�迤蝖桃�憸��#13178 +- Alert �憓� title slot嚗�#13082嚗y @Kingwl嚗� +- 靽桀�� Table 銝剔�� tooltip ��捆銝迤蝖桃�憸��#13159嚗y @elfman嚗� +- 隡�� Upload ��辣��”������嚗�#12987 +- 敶� InputNumber ����銝蝷箸嚗�鈭器頝��#13052 + +### 2.4.8 + +- Switch ���銝蝷箄蔭撱��#12771 +- 靽桀�� Dropdown � ButtonGroup 銝剜撘憸��#12819 嚗y @bluejfox嚗� +- Dialog �憓� opened 鈭辣嚗�#12828 +- 靽桀�� TabNav �蝷粹◇摨�迤蝖桃�憸��#12846 +- 靽桀�� Tabs 瘝⊥����葉 tab ��憸��#12948 +- 靽桀�� Tree ���������泵銝蝷箇�憸��#12854 +- Form ��� validate 鈭辣��銝剖�鈭撉�縑�嚗�#12860 嚗y @YamenSharaf嚗� +- 靽桀�� DatePicker 瘝⊥�撉�颲�������折憸��#12898 +- 靽桀�� Table 銵典仍��� `render-header`撅�找����憸��#12914 + +### 2.4.7 + +*2018-09-14* + +- 靽桀�� DatePicker �閫血�”���撉�憸��#12328嚗�#12348 +- 靽桀�� DatePicker 憭�����憸��#12347 +- 靽桀�� DatePicker ���� spinner 雿蔭銝迤蝖桃�憸��#12415 嚗y @rang-ali嚗� +- 靽桀�� Datepicker 颲獢�憛怠��憸��#12521 嚗y @abdallanayer嚗� +- 靽桀�� Cascader 銝� Input �擃漁��憸��#12341 +- 靽桀�� Tabpane 憿箏��迤蝖桃�憸��#12346 +- 靽桀�� ColorPicker ������蔭銝迤蝖桃�憸��#12376 嚗y @cnwhy嚗� +- 靚 Submenu ��撘��#12457 +- 靽桀�� Submenu �葉��瓷���漁��憸��#12479 +- 靽桀�� Cascader ��潔�迤蝖桃�憸��#12508 嚗y @huangjinqiang嚗� +- 靽桀�� Pagination 颲獢�潔�迤蝖桃�憸��#12525 +- 靚 Pagination 閫血��辣��◇摨��#12530 +- 靽桀�� Table ��� filter 銝蝷箇�憸��#12539 +- 靽桀�� Tree ��������憸��#12684 +- 靽桀�� Select ���� Input 擃漲����憸��#12719 +- 靽桀�� Form �撋� label �蝷箔�迤蝖桃�憸��#12748 +- �憓� Input ��� autocomplete 撅�改���� auto-complete 撅�改��#12514 嚗y @axetroy嚗� +- �憓� Form ��� slot-scope 撅內銵典�撉縑�嚗�#12715 嚗y @YamenSharaf嚗� + +### 2.4.6 + +*2018-08-09* + +- 靽桀�� Table ��� filter ����潔蛹蝛箸蝏銝蝷箇�����憸��#12165 +- 靽桀�� Menu ��� `collapse` �銝�����瘣餌��憸��#12178 (by @elfman) +- 靽桀�� Cascader �頧砌�畾�泵��憸��#12248 +- 靽桀����� RadioButton �����蝷� box-shadow ��憸��#12262 +- 靽桀�� Select ����潔蛹 `undefined` ����憭望��憸��#12322 +- 靽桀�� Select 憭�颲���摮�仃��憸��#12304 +- 靽桀�� Select 憭��霂W�瘝⊥����憸��#12181 +- 靽桀�� Dialog ��撅蝷箸摰賢漲銝迤蝖桃�憸��#12203 +- 靽桀�� Main � IE 銝�蝷箔�迤蝖桃�憸��#12237 +- 靽桀�� Input 閫血�舅甈∟”��撉�憸��#12260 +- 靽桀�� Tree ����蝸�瘛餃��撖潸��瘨仃��憸��#12256 +- 靽桀�� Tree ������������憸��#12279 +- 靽桀�� Popover � InputNumber ���銝蝷箇�憸��#12284 +- 瘛餃�� Autocomplete ��� popper-append-to-body 撅�改��#12241 +- 瘛餃�� Pagination ��� `page-size` 撅�� `sync` 靽桅弘蝚衣�����#12281 + +### 2.4.5 + +*2018-07-26* + +- 靽桀�� Table 霈曄蔭 `class-name` 撖� `expand` ������憸��#12006 +- �憓� Table ��� `toggleAllSelection` �瘜��#12047 +- 靽桀�� Input �� Select �嚗uffix ��局雿蔭�蝷箔�迤蝖桃�憸��#12108 +- 靽桀�� Option ��� `line-height` ���挽蝵桃�憸��#12120 +- 靽桀����潔蛹 `null` ��� TimeSelect ��銵� `resetField` �������潛�憸��#12010 +- 靽桀�� Tree 蝏辣銝凋�����隞亙�� keydown 鈭辣��憸��#12008 +- 靽桀�� Tree ����蝸��銝�葉�����憸��#12106 +- Tree ��� `getCheckedNodes` �瘜憓� `includeHalfChecked` ��嚗�#12014 + +### 2.4.4 + +*2018-07-13* + +- 靽桀��蔭銵典��圻��� Select 蝏辣�撉憸��#11837 +- 靽桀�� Input 蝏辣 `suffix` 銝� `append` �摮�撘�僚�憸��#11951 +- 靽桀�皜征��霂� Input 隞�蝷箸�征����憸��#11967 +- 靽桀�� Tree ��蝳�隞隞仿�葉��憸��#11847 +- 靽桀�� Tree `default-checked-keys` 撅�找����憸��#11971 +- 靽桀�� Tree �餈誘���銝� `empty-text` 銝蝷箇�憸��#11971 +- 靽桀�� Table ��� `empty-text` 餈����蔭�撘憸��#11965 +- 靽桀�� Table ��� `current-row-key` 霈曄蔭銝� `null` �擃漁銵����憸��#11866 +- 靽桀��� `filters` 銝箇征�蝏�蝷箄�誘�銝��”��憸��#11864 +- 靽桀�� Radio ��� label 銝甇V�辣��部��憸��#11912 + +### 2.4.3 + +*2018-07-03* + +- 靽桀��摰�� Tree ��擃漲�嚗allow-drop` 銝甇�撣詨極雿�憸��#11797 +- �� Form ��� `clearValidate` �瘜�����嚗���閬�征�撉���� FormItem嚗�#11821 +- �憓� MessageBox ��� `distinguishCancelAndClose` 撅�改��#11831 + +### 2.4.2 + +*2018-06-26* + +- 靽桀�� Table ��� `class-name` ��� `label-class-name` 撅�找�������憸��#11626 +- 靽桀�� Table � `highlight-current-row` 銝� `false` ���銵��圻���漁��憸��#11691 #11563 +- 靽桀�� ButtonGroup 銝剖���銝� `round` ��� `circle` ��� Button ���撘�秤嚗�#11605 +- 靽桀�����銝� Pagination ��������撘�秤嚗�#11622 +- 靽桀�� Menu ��� `collapse` 撅�批�����蝙� `open` �瘜�憸��#11646 +- Tabs ��� `before-leave` �摮溶���� `activeName` ��� `oldActiveName` ��嚗�#11713 +- 靽桀�� Cascader �������憸��#11588 +- 靽桀�� Cascader � `change-on-select` �����★銝���憸��#11623 +- ����誨����� Select ���澆��圻��”��撉��� Input 銵蛹銝��嚗�#11672 + +### 2.4.1 + +*2018-06-08* + +- 蝘駁 Autocomplete ����掩��ㄟ����#11388 +- 靽桀��� Form ���� Select � FireFox 瘚�銝凋��悌憭湧���憸��#11427 +- 靽桀�� Select �����潔蛹 `null` �隞�蝷箸�����憸��#11460 +- 靽桀����� Radio �����蝷� box-shadow ��憸��#11462 +- �憓� MessageBox ��� `iconClass` 撅�改��#11499 +- �憓� Tabs ��� `stretch` 撅�改��#11476 +- 靽桀�� Tabs 撘�� `lazy` �皜脫�◇摨�虜��憸��#11461 +- 靽桀�� Table 撅�銵������葉銵撘�憸��#11464 +- 靽桀�� Tabs 靚 `before-leave` 撟嗉��� Promise ����abs 隡� focus ���憸��#11386 +- 靽桀�� Popover 蝳����遣撘孵獢�憸��#11426 +- 靽桀�� Tree ����蝸���溶��������儐���憸��#11430 嚗y @wangjingf嚗� +- �憓� Dialog ��� `closed` 鈭辣嚗�#11490 + +### 2.4.0 Fullerene + +*2018-05-28* + +#### ���� +- 蝏澆�� + - 雿輻���� webpack 雿蛹��遣����極�嚗�#11216 + - �隞亙撅���蔭撘孵撅���� z-index嚗�#11257 +- Autocomplete + - �憓� `hide-loading` 撅�改��#11260 +- Button + - ����耦��銋����� `size` 撅�扳��撠箏站鈭��#11275 +- InputNumber + - �憓� `precision` 撅�改��#11281 +- Tabs + - �憓� `before-leave` �摮��#11259 + - �憓� `lazy` 撅�改��#11167嚗y @Kingwl嚗� +- Table + - �憓� `sort` �瘜���������#11311 + +#### 靽桀�� +- Input + - 靽桀�蝙�銝剜��瘜翰�����隡紡�閫��皜脫��憸��#11235嚗y @STLighter嚗� +- Popover + - 靽桀��圻����蛹 Radio ��� Checkbox ��������憸��#11265 +- Breadcrumb + - 靽桀�� `to` 撅�找�������憸��#11286 +- Upload + - 靽桀� `beforeUpload` �瘜���� Promise 銝� resolve 銝�銝� File ��������憸��#11297嚗y @qusiba嚗� +- Tooltip + - 靽桀��捆銝箇征�蝞剖仍����憸��#11335 +- Autocomplete + - 靽桀�敹恍����揣��捆���撱箄悅銝迤蝖桃�憸��#11323 +- ColorPicker + - 靽桀�����閫血�� `active-change` 鈭辣��憸��#11304 +- Table + - 靽桀����”餈撖潸�撘���憸��#11314 + - 靽桀����紡����迤撣豢蝷粹�葉銵撘�憸��#11348 +- Checkbox + - 靽桀��葵 Checkbox 銝��”�����憸��#11271 +- Radio + - 靽桀���征��隞仿�葉鋡怎���� Radio ��憸��#11303 +- MessageBox + - 靽桀��賒���銝支葵 MessageBox � `el-popup-parent--hidden` ���宏���憸��#11371 + +### 2.3.9 + +*2018-05-18* + +- 靽桀��� TableColumn ��� `prop` 撅�扳����挾���皞葉銝��嚗��宏�霂亙���隡���憸��#11137 +- 撘孵蝐餌�辣��� `lockScroll` 撅�找��蛹����溶����撘��瘛餃�摨掩����#11114 +- 靽桀�� Progress � `status` 銝� exception �����蝷箇�憸��#11172 +- 靽桀���揣��� Cascader �颲��霂���★��� `disabled` 撅�批仃���憸��#11185 +- 靽桀�撅���� Table �撅����銵����皞���砲銵��韏瑞�憸��#11186 +- Tree ��� `setCurrentKey` �瘜��� `null`嚗������漁���嚗�#11205 + +### 2.3.8 + +*2018-05-11* + +- 靽桀�� `type` 銝� dates ��� DatePicker �������������隡歲頧祈敶���憸��#10973 +- 靽桀�皜征��霂� Input 隞�蝷箸�征����憸��#10912 +- 靽桀������ DatePicker ������潛��銝�銝��隞�圻��� `change` 鈭辣��憸��#11017 +- 靽桀�� Select ������★�銝甇�蝖桅����紡���憸��#11058 +- �憓� Select ��� `prefix` ���� slot嚗�#11063 +- �憓� FormItem ��� `clearValidate` �瘜��#11076 +- �憓� Tree ��� `checkOnClickNode` 撅�改��#11111 + +### 2.3.7 + +*2018-04-29* + +- 靽桀�� Table ��鈭���蝙������瘨仃��”憭游��捐摨行������憸��#10834 +- 靽桀�皜征��� Input �����潔蛹 `null` �隞�蝷箸�征����憸��#10912 +- 靽桀���誨����� ColorPicker �����澆��秤�閫血�� `active-change` 鈭辣��憸��#10903嚗y @zhangbobell嚗� +- 靽桀���揣��� Select �憭�★��◤蝳�嚗����紡�隡����儐���憸��#10945 + +### 2.3.6 + +*2018-04-21* + +- 靽桀�� Tree ��� `allow-drop` ���雿輻 `type` ������秤銵蛹嚗�#10821 +- 靽桀���揣����� Select � IE11 銝剜�����揣��霂�憸��#10822 +- 靽桀���� Select �雿輻曌��葉��葵�★���秤�閫血�� `blur` 鈭辣��憸��#10822 + +### 2.3.5 + +*2018-04-20* + +- 靽桀�� DatePicker ��� `type` 銝� week �����秤擃漁��憸��#10712 +- 靽桀�� InputNumber ����潔蛹 0 �颲獢蛹蝛箇�憸��#10714 +- �憓� Select ��� `automatic-dropdown` 撅�改��#10042嚗y @Seebiscuit嚗� +- 靽桀�� `disabled` ��� Rate 隞����椰������辣�潛�憸��#10726嚗y @Richard-Choooou嚗� +- �� DatePicker ��� `type` 撅�批隞交� `'dates'`嚗鈭�憭葵�����#10650嚗y @Mini256嚗� +- �憓� Pagination ��� `prev-click` ��� `next-click` 鈭辣嚗�#10755 +- �憓� Pagination ��� `pager-count` 撅�改��#10493嚗y @chongjohn716嚗� +- �憓� `type` 雿蛹 Tree ��� `allow-drop` 撅�批���洵銝葵��嚗�#10792 +- �� ResizeObserver 撖孵���偕撖詨��������#10779 + +### 2.3.4 + +*2018-04-12* + +- �� SubMenu � TypeScript 蝐餃�ㄟ��葉����� `showTimeout` 撅�改��#10566嚗y @kimond嚗� +- �� Transfer ��憿寧�葡������� scoped slot �摰���#10577 +- 靽桀�� Pagination 蝳����憿萸���憿菜�隞�圻��� `current-change` 鈭辣��憸��#10628 +- 靽桀�蝏��潛�� Textarea � SSR 銝凋�蝷� `undefined` ��憸��#10630 +- 靽桀�� `type` 銝� border-card ��� Tabs 銝剛◤蝳��倌憿寧�撘��#10640 +- �憓� `$index` 雿蛹 Table ��� `formatter` 撅�批���洵��葵��嚗�#10645 +- 靽桀�� TypeScript 蝐餃�ㄟ��撖澆 CheckboxButton ��憸��#10666 + +### 2.3.3 + +*2018-04-04* + +- �憓� Card ��� `shadow` 撅�改��#10418嚗y @YunYouJun嚗� +- 靽桀�� Badge � `value` 撅�找蛹 `0` �銝蝷箔���憸��#10470 +- 靽桀�� Tree ��������憸��#10474 #10494 +- �憓� Autocomplete ��� `placement` 撅�改��#10475 +- �� `default-time` 撅�找��鈭������ DateTimePicker 鈭��#10321嚗y @RickMacTurk嚗� +- 靽桀�� TabItem �瘚�憭梁��������颲寞��憸��#10503 +- �憓� SubMenu ��� `popper-append-to-body` 撅�改��#10515 +- �������� BreadcrumbItem � hover �銝���������#10551 +- 靚 InputNumber `change` 鈭辣��圻���嚗蝙敺���葉�憭�������辣蝏��潘��#10553 + +### 2.3.2 + +*2018-03-29* + +- 靽桀�� Autocomplete ����憸��#10442 + +### 2.3.1 + +*2018-03-29* + +- 靽桀�� Input ��� `type` 撅�扳隡����� input ����憸��#10415 +- �憓� Select ��� `blur` �瘜��#10416 + +### 2.3.0 Diamond + +*2018-03-28* + +#### ���� +- Table + - �� TableColumn ��� `formatter` 撅�批隞交�����#10184嚗y @elfman嚗� + - �憓� `select-on-indeterminate` 撅�改��#9924嚗y @syn-zeta嚗� +- Menu + - �憓� `collapse-transition` 撅�改��#8809嚗y @limichange嚗� +- Input + - �憓� `select` �瘜��#10229 + - �憓� `blur` �瘜��#10356 +- ColorPicker + - �憓� `predefine` 撅�改��#10170嚗y @elfman嚗� +- Tree + - �憓� `draggable`�allow-drop` ��� `allow-drag` 撅�改�誑��� `node-drag-start`�node-drag-enter`�node-drag-leave`�node-drag-over`�node-drag-end` ��� `node-drop` 鈭辣嚗�#9251 #10372嚗y @elfman嚗� +- Form + - `validate` �瘜憓洵鈭葵��嚗����甈⊥撉�”��★靽⊥嚗�#10279 + - �憓� `validate` 鈭辣嚗�#10351 +- Progress + - �憓� `color` 撅�改��#10352嚗y @YunYouJun嚗� +- Button + - �憓� `circle` 撅�改��#10359嚗y @YunYouJun嚗� + +#### 靽桀�� +- Form + - 靽桀������� Input �嚗ormItem ��倌銝�獢撖寥��憸��#10189 +- Menu + - ���������★隞隡 `title` slot ���蝷� Tooltip嚗�#10193嚗y @PanJiaChen嚗� +- Pagination + - 靽桀�� `current-change` ������鈭支���秤閫血��憸��#10247 +- DatePicker + - ���������銝��銝剔��潸憭迤蝖桀隞� `format` 撅�找葉���笆摨撘���#10174嚗y @remizovvv嚗� +- Upload + - ����銝���銝 `accept` 撅�扯�����辣嚗�#10278 + +### 2.2.2 + +*2018-03-14* + +- �憓� Input ��� `clear` 鈭辣嚗�#9988嚗y @blackmiaool嚗� +- �� ColorPicker ���颲���� `hsl`�hsv` ��� `rgb` �撘���#9991 +- 靽桀�� DatePicker �皜����潭銝圻��� `change` 鈭辣��憸��#9986 +- �� Rate ����掩��撅�扳����鈭��#10003 +- 靽桀���摰��� Table �霈曄蔭 `max-height` 撅�批��銝����撣�擃漲��憸��#10034 +- �� DatePicker �����������������憪�����#8156嚗y @earlymeme嚗� +- �憓� Pagination ��� `disabled` 撅�改��#10006 +- �憓� Popover ��� `after-enter` ��� `after-leave` 鈭辣嚗�#10047 +- 靽桀��蔭銵典����蝚砌�甈⊥��� Select ���潭銝圻��撉�憸��#10105 +- 靽桀�� Table ��摰�����銝捐摨虫�迤蝖桃�憸��#10130 +- 靽桀�� MessageBox �隡 `title` �嚗����� MessageBox 隡誧�銝�銝芸���� `title` 撅�抒�憸��#10126嚗y @Pochodaydayup嚗� +- �憓� Slider ��� `input-size` 撅�改��#10154 +- �憓� Transfer ��� `left-check-change` ��� `right-check-change` 鈭辣嚗�#10156 + +### 2.2.1 + +*2018-03-02* + +- 靽桀�� Aside�eader ��� Footer ������銝剛◤��憬��憸��#9812 +- 靽桀�挽蝵桐�� `height` 撅�抒�� Table ���蝡舀葡������蝸��憸��#9876 +- 靽桀�撅���� Table �撅����銵��漲���霈∠��憸��#9848 +- 靽桀� DateTimePicker 銝剜�颲�����甇�蝖株圻��� `change` 鈭辣��憸��#9913 +- 靽桀������ Select ���獢����★��憸��#9894嚗y @openks嚗� +- �憓� Slider ��� `tooltip-class` 撅�改��#9957 +- ����� Select ��葉�★���憭�� focus ����#9857嚗y @Seebiscuit嚗� +- �憓� Transfer ��� `target-order` 撅�改��#9960 + +### 2.2.0 Graphite + +*2018-02-12* + +#### ���� +- Menu + - SubMenu �憓� `popper-class` ��� `disabled` 撅�改��#9604 #9771 + - ��瘞游像璅∪���� Menu ����漣 SubMenu 鈭��#9741 +- Tree + - �憓� `node-contextmenu` 鈭辣嚗�#9678 + - ���隞乩蝙� scoped slot �摰�����芋�鈭��#9686 + - �憓� `getNode`�remove`�append`�insertBefore`�insertAfter`�getCheckedKeys`�getHalfCheckedNodes`�getHalfCheckedKeys` �瘜�� `check` 鈭辣嚗�#9718 #9730 +- Transfer + - �憓� `clearQuery` �瘜��#9753 +- Select + - �憓� `popper-append-to-body` 撅�改��#9782 + +#### 靽桀�� +- Table + - 靽桀���撅�銵�������圻��� `row-click` 鈭辣��憸��#9654 + - 靽桀����銝�������捐�����瘝⊥��郊����憸��#9668 + - 靽桀��恣銵�摰�僎摮��撘憸��#9667 +- Container + - 靽桀���蝏辣� IE11 銝剜���憛怠��蝛粹��憸��#9655 +- Loading + - 靽桀� `mounted` 銝凋耨� `v-loading` ���潔蛹 true �銝甇�蝖格蝷� Loading ��憸��#9722 +- Switch + - 靽桀���隡圻��舅甈∪��� click 鈭辣��憸��#9760 + +### 2.1.0 Charcoal + +*2018-01-31* + +#### ���� +- Cascader + - �憓� `focus` ��� `blur` 鈭辣嚗�#9184嚗y @viewweiwu嚗� +- Table + - `filter-method` �瘜�蝚砌�葵�� `column`嚗�#9196嚗y @liyanlong嚗� +- DatePicker + - �憓� `prefix-icon` ��� `clear-icon` 撅�改��#9237嚗y @AdamSGit嚗� + - �憓� `default-time` 撅�改��#9094嚗y @nighca嚗� + - `value-format` 撅�批��笆 `timestamp` ������#9319嚗y @wacky6嚗� +- InputNumber + - 蝏辣蝏�����潭��� `undefined`嚗�#9361 +- Select + - �憓� `auto-complete` 撅�改��#9388 +- Form + - �憓� `disabled` 撅�改��#9529 + - �憓� `validateOnRuleChange` 撅�改��#8141 +- Notificaition + - �憓� `closeAll` �瘜��#9514 + +#### 靽桀�� +- InputNumber + - 靽桀����撠��鋡恍�蔭��憸��#9116 +- Dropdown + - 靽桀��△�隞�偌撟單���嚗����銝������秤��憸��#9138嚗y @banzhuanmei嚗� +- Table + - 靽桀�蒂��摰��� Table ��������摰��葵�霈∠��秤��憸��#9188嚗y @kolesoffac嚗� + - 靽桀��漣銵典仍��������器獢�甇�蝖格蝷箇�憸��#9326 + - 靽桀� Safari 瘚�銝剛”憭湧���憸��#9327 + - 靽桀�蒂����銵�”��撅����銵���”�����雿� `row-key` �潔��嚗砲銵���韏瑞�憸��#9462 + - 靽桀�銝�鈭�銝�����活皜脫�憸��#9426 + - 靽桀����� TableColumn ��� `width` 撅�扳嚗摰賢漲霈∠��秤��憸��#9426 +- Loading + - 靽桀����銝� Loading 銝鋡急迤蝖桅���憸��#9313 +- DatePicker + - 靽桀�� `focus` �瘜��������憸��#9437 + - 靽桀�����憭��������嚗���銝��迨���隞�葉������憸��#9470嚗y @wacky6嚗� + - 靽桀�������銝剝�葉憭拇颲���遢�嚗�����銝�銝芣��憸��#9577嚗y @wacky6嚗� +- Steps + - 靽桀� IE 11 銝剔�撘憸��#9454 + +#### ��摰寞�扳� +- Menu + - `collapse` ����撕�����隡�� body ����耨憭雿�� Aside ��撘孵����閫�憸��#9263 +- Table + - ����”���� checkbox �銝��閫血�� `row-click` 鈭辣嚗�#9467 +- Loading + - ��撅� Loading �蝵拙��� `z-index` 靽格銝� 2000嚗撅� Loading �蝵拙��� `z-index` �潔��△�銝�撕�蝏辣���嚗�#9522 +- Dropdown + - `show-timeout` ��� `hide-timeout` 撅�抒�隞 trigger 銝� `hover` ������#9573 + +### 2.0.11 + +*2018-01-08* + +- 靽桀�� Input ��� `prepend` ��� `append` slot 銝� Select ��器獢���秤嚗�#9089 +- 靽桀�� Select ��� `remove-tag` 鈭辣��銝�﹝銝泵��憸��#9090 +- �憓� SubMenu ��� `show-timeout` ��� `hide-timeout` 撅�改��#8934嚗y @HugoLew嚗� +- 靽桀���撘 Table � `show-overflow-tooltip` ��� Tooltip �撘腺憭梁�憸��#9130 +- 靽桀�� Table ��銵� `clearSort` ���撖孵���������迤撣豢���憸��#9100嚗y @zEmily嚗� +- ���祗��� i18n ��蔭��辣� `cz` ����蛹 `cs-CZ`嚗�#9164 + +### 2.0.10 + +*2017-12-29* + +- 靽桀��� Table ��摰���恣銵僎摮���漲霈∠��秤��憸��#9026 +- 靽桀��� Table �撘� SCSS ��辣��秤蝻��憸��#9028 +- �� DatePicker ��� `change` 鈭辣�隡 `value` ��迤�����圻����#9029嚗y @remizovvv嚗� +- �憓� Input ��� `tabindex` 撅�改��#9041嚗y @dicklwm嚗� + +### 2.0.9���� + +*2017-12-24* + +- �憓� Upload ��� `before-remove` �摮瘜��#8788嚗y @firesh嚗� +- 靽桀�� FormItem ��� `error` 撅�批���潭���憸��#8840 +- ���誘靚��� Loading �����誑 `element-loading-custom-class` 撅�抒�撘挽蝵株摰�掩����#8826嚗y @earlymeme嚗� +- 靽桀�� CarouselItem 銝箏�郊���鋡恍���憸��#8921 +- �憓� Tree ��� `renderAfterExpand` 撅�改��#8972 + +### 2.0.8 + +*2017-12-12* + +- �憓正���祗��﹝ +- 靽桀�� `show-timeout` 撖寧�閫血��� Dropdown ����憸��#8734嚗y @presidenten嚗� +- 靽桀�� Form 撖嫣�� `trigger` 銝� blur ��撉��圻�����秤��憸��#8776 +- 靽桀�� DatePicker ����� blur 鈭辣閫血����秤��憸��#8784 +- TimePicker ��� `format` �憓笆 AM/PM ������#8620嚗y @firesh嚗� + +### 2.0.7 + +*2017-11-29* + +- 靽桀��������撘憸��#8570 + +### 2.0.6 + +*2017-11-29* + +- 靽桀�� Table ������撘憸��#8405 +- 靽桀�� `trigger` 銝� manual ��� Popover ��圻��憸��#8467 +- �憓� Autocomplete ��� `prefix-icon` ��� `suffix-icon` 撅�改��#8446嚗y @liyanlong嚗� +- �憓� Cascader ��� `separator` 撅�改��#8501 +- �憓� Input ��� `clearable` 撅�改��#8509嚗y @lbogdan嚗� +- �憓� Pagination ��� `background` 撅�改��#8553 + +### 2.0.5 + +*2017-11-17* + +- 靽桀��葵��撘��� Popover�ree�readcrumb�ascader ��� bug嚗�#8188 #8217 #8283 +- 靽桀�� clickoutside ��誘������憸��#8168 #8225嚗y @badpunman @STLighter嚗� +- 靽桀��恕撠箏站����� Select �皜征�★���獢�漲銝�����憸��#8317嚗y @luciy嚗� +- �憓� Select ��� `collapse-tags` 撅�改�鈭憭�隞交��誨� Tag嚗���辣擃漲���之嚗�#8190 +- 靽桀�◤����� Table 隡��� CPU ����賒憓��憸��#8351 +- 撘�� Table ��� `doLayout` �瘜�鈭�霈∠�� Table ����嚗�#8351 + +### 2.0.4 + +*2017-11-10* + +- ���� Cascader�ropdown�essage�otification�opover�ooltip�ree ��霈輸�� +- 靽桀������ Container ����郊���摰賢漲��憸��#8042 +- 靽桀�� Tree ��� `updateKeyChildren` ���摮�����蛹��秤嚗�#8100 +- 靽桀�蒂��器獢�� CheckboxButton � Form 銝剝�漲��秤��憸��#8100 +- 靽桀�� Menu �閫���摰������秤嚗�#8153嚗y @zhouyixiang嚗� + +### 2.0.3 + +*2017-11-03* + +- 靽桀������ DatePicker `editable` ��� `readonly` 撅�扳��迤撣詨極雿�憸��#7922 +- 靽桀����� Tabs ��撘�秤嚗�#7941 +- 靽桀�熊��� Steps 銝剜����銝� Step ��撘�秤嚗�#7980 +- 靽桀�� Pagination ��� `current-change` 鈭辣閫血����秤��憸��#7995 +- 靽桀�鈭� Menu 雿輻鈭瘜典��� Tooltip ������撘�����憸��#7995 + +### 2.0.2 + +*2017-10-31* + +- � InputNumber �����銝�曌��銝�圻���潛�����#7817 +- Form ��� `validate` �瘜��憭迤蝖桀�撘郊�撉���銵�����#7774嚗y @Allenice嚗� +- 靽桀�� DatePicker �������銝� Chromium 53-57 ����銝剜��蝙���憸��#7838 +- 靽桀�� `list-type` 銝� picture-card ��� Upload 憸������腺憭梁�憸��#7857 +- �憓� TableColumn ��� `sort-by` 撅�改��#7828嚗y @wangfengming嚗� +- 靽桀�璅∪���� DatePicker ����僑蝚砌����隡蝷箔蛹���撟渡洵銝����憸��#7860嚗y @hh23485嚗� +- 靽桀��璅∪��� Steps 銝剖��捐摨衣�撘�秤嚗�#7891 +- 憓之鈭� Tree 銝剖��蝞剖仍�����嚗�#7891 + +### 2.0.1 + +*2017-10-28* + +- 靽桀�� RadioButton ��� CheckboxButton ��撘憸��#7793 +- 靽桀�� TimePicker �����銝�����憸��#7811 +- 靽桀����辣����撘��撘����憸��#7811 + +### 2.0.0 Carbon + +*2017-10-27* + +#### ���� +- 蝏澆�� + - �憓� `theme-chalk` 銝駁�� + - 憓撩隞乩��辣��霈輸�改�lert�utoComplete�readcrumb�utton�heckbox�ollapse�nput�nputNumber�enu�rogress�adio�ate�lider�witch ��� Upload + - �憓��蝏辣 Container�eader�side�ain ��� Footer + - �憓� TypeScript 蝐餃�ㄟ��� + - ���������僎�憓������ + - �憓��蝟餃�鈭���極�蝐鳴�鈭��撠箏站皛∟雲銝�摰隞嗆������ + - �憓撅���蔭蝏辣撠箏站����撘 Element �嚗�蔭 `size` 摮挾�隞交������辣���恕撠箏站 +- Button + - �憓� `round` 撅�改�鈭��� #6643 +- TimeSelect + - �隞亦 `Up`�Down` 撖潸嚗 `Enter` �葉�� #6023 +- TimePicker + - �隞亦���撖潸嚗 `Enter` �葉�� #6050 + - �憓� `start-placeholder` ��� `end-placeholder`嚗鈭挽蝵株���銝支葵颲獢���泵 #7169 + - �憓� `arrow-control` 撅�改���銝�蝘漱鈭耦撘��#7438 +- Tree + - 摮��擐活鋡怠��銋����葡��� #6257 + - �憓� `check-descendants` 撅�改�挽蝵� `lazy` 璅∪�����嚗�摰撅��銝芸��� #6235 +- Tag + - �憓� `size` 撅�� #7203 +- Datepicker + - type 銝� `datetimerange` ��隞乩蝙� `timeFormat` �撘���� #6052 + - �憓� `start-placeholder` ��� `end-placeholder`嚗鈭挽蝵株���銝支葵颲獢���泵 #7169 + - �憓� `value-format` 撅�改���笆蝏��潛�撘��摰���#7367 + - �憓� `unlink-panels` 撅�改�鈭���������舅銝芣���銋��� +- MessageBox + - �憓� `closeOnHashChange` 撅�� #6043 + - �憓� `center` 撅�改����葉撣� #7029 + - �憓� `roundButton` 撅�改�蝙敺���銝箏��� #7029 + - �憓� `dangerouslyUseHTMLString` 撅�改�蝙敺� `message` ���� HTML 摮泵銝�<sup>*</sup> #6043 + - �憓� `inputType` 撅�改������颲獢�掩����#7651 +- Dialog + - �憓� `width`�fullscreen`�append-to-body` 撅�改�����蝙� + - �憓� `center` 撅�改����葉撣� #7042 + - �憓� `focus-after-closed`�focus-after-open`撅�改������挪� #6511 +- ColorPicker + - 憓��颲��潛���� #6167 + - �憓� `size` 撅�改�鈭�蝏辣��之撠� #7026 + - �憓� `disabled` 撅�改�鈭�蝏辣 #7026 + - �憓� `popper-class` 撅�改��#7351 +- Message + - �����蝙� icon 隞������������� CSS 靽格����� #6207 + - �憓� `dangerouslyUseHTMLString` 撅�改�蝙敺� `message` 撅�扳��� HTML 摮泵銝�<sup>*</sup> #6207 + - �憓� `center` 撅�改����葉撣� #6875 +- Notification + - �憓� `position` 撅�改�鈭�蔭 Notification �����蔭 #6231 + - �憓� `dangerouslyUseHTMLString` 撅�改�蝙敺� `message` 撅�扳��� HTML 摮泵銝�<sup>*</sup> #6231 + - �憓� `showClose` 撅�改�鈭����� #6402 +- Rate + - �憓� `show-score` 撅�改������靘扳蝷箏��� #6295 +- Tabs + - �憓� `tab-position` 撅�改���★����捆�蝷箇�����椰���葵���� #6096 +- Radio + - 憓�� `border` 撅�批�� `size` 撅�� #6690 +- Checkbox + - 憓�� `border` 撅�批�� `size` 撅�� #6690 +- Alert + - �憓� `center` 撅�改����葉撣� #6876 +- Menu + - �憓� `background-color`�text-color` ��� `active-text-color` 撅�改���鈭挽蝵株�����������������瘣餉������ #7064 + - �憓� `open` ��� `close` �瘜���������� SubMenu嚗�#7412 +- Form + - �憓� `inline-message` 撅�改�挽蝵桀�撉縑�隡誑銵�撘蝷� #7032 + - �憓� `status-icon` 撅�改�鈭颲獢葉�蝷箸撉������� #7032 + - Form ��� FormItem �憓� `size` 撅�改�鈭�銵典���辣��偕撖賂��#7428 + - `validate` �瘜銝� callback ���銝��� promise嚗�#7405 + - �憓� `clearValidate` �瘜�鈭�征����”��★����縑�嚗�#7623 +- Input + - �憓� `suffix`�prefix` ��� slot嚗誑��� `suffixIcon`�prefixIcon` 撅�改�鈭��獢�憓��蔭���蔭��捆 #7032 +- Breadcrumb + - �憓� `separator-class` 撅�改�雿輻����蛹���泵 #7203 +- Steps + - �憓� `simple` 撅�改�鈭��蝞�瘣���郊撉斗 #7274 +- Pagination + - �憓� `prev-text` ��� `next-text` 撅�改�鈭摰���憿萄���憿萇�� #7005 +- Loading + - ��蔭撖寡情�憓� `spinner` ��� `background` 摮挾嚗��摰��蝸������嚗�#7390 +- Autocomplete + - �憓� `debounce` 撅�改��#7413 +- Upload + - �憓� `limit` ��� `on-exceed` 撅�改���笆銝��辣��葵�餈��嚗�#7405 +- DateTimePicker + - �憓� `time-arrow-control` 撅�改�鈭��������� `arrow-control`嚗�#7438 +- Layout + - �憓� `xl`嚗�鈭捐摨血之鈭� 1920px ��� +- Table + - �憓� `span-method` 撅�改�鈭�僎銵��� + - �憓� `clearSort` �瘜�鈭�征����� + - �憓� `clearFilter` �瘜�鈭�征餈誘��� + - 撖嫣�撅�銵��砲銵���隡敺�銝� `.expanded` 蝐餃��靘輯摰�撘� + - �憓� `size` 撅�改�鈭�銵冽撠箏站 + - �憓� `toggleRowExpansion` �瘜�鈭�撅����銵� + - �憓� `cell-class-name` 撅�改�鈭������掩��� + - �憓� `cell-style` 撅�改�鈭������撘� + - �憓� `header-row-class-name` 撅�改�鈭��”憭渲��掩��� + - �憓� `header-row-style` 撅�改�鈭��”憭渲��撘� + - �憓� `header-cell-class-name` 撅�改�鈭��”憭游����掩��� + - �憓� `header-cell-style` 撅�改�鈭��”憭游����撘� + - TableColumn ��� `prop` 撅�扳��� `object[key]` �撘� + - TableColumn �憓� `index` 撅�改�鈭摰�揣撘�� +- Select + - �憓� `reserve-keyword` 撅�改�鈭���葵�★��������揣��霂� + +#### 靽桀�� +- DatePicker + - ����嚗v-model` 蝏���砲�蝚砌�予��憸� #6038 + - � `daterange` 蝐餃�葉嚗洵銝�甈∠��隡◤皜征��憸� #6021 +- DateTimePicker + - ��� TimePicker �鈭蔣���憸� #6090 + - ���撠���頞����憸� #6076 +- TimePicker + - 憭勗������迤蝖格��� `v-model` �潛�憸� #6023 +- Dialog + - 敶�����嚗���������隡�������憸� #6088 +- Select + - ����扯嚗耨憭�辣��瘥��撖潸 Vue dev-tool �甇餌�憸� #6151 +- Table + - 靽桀�� Table ������� `display: none` ���隞�隡���憸� + - 靽桀�� Table �����蛹 `display: flex` �������捐摨阡���之��憸� + - 靽桀�� `append` ���� slot ��摰�僎摮嚗���”���隡紡��摰��仃��憸� + - 靽桀�� `expand-row-keys` 撅�批������憸� + - 靽桀�� `data` ���餈誘�隞嗅仃���憸� + - 靽桀��漣銵典仍��摰����霈∠��秤��憸� + - 靽桀�� `max-height` ������憭�憸� + - 靽桀��鈭撘��恣蝞�秤 + +#### ��摰寞�扳� +- 蝏澆�� + - 蝘駁 `theme-default` + - ��雿摰� Vue 2.5.2 ��� IE 10 + - 銵典��辣��� `change` 鈭辣��� Pagination ��� `current-change` 鈭辣��隞���鈭支�� + - Button ��”���辣��� `size` 撅�抒������ `medium`�small` ��� `mini` + - 銝箔�靘蹂蝙�蝚砌�����utton ��� `icon` 撅�扼�nput ��� `prefix-icon` ��� `suffix-icon` 撅�扼�teps ��� `icon` 撅�抒���閬�摰����掩��� +- Dialog + - 蝘駁 `size` 撅�扼�� Dialog ��偕撖貊 `width` ��� `fullscreen` �� + - 蝘駁��� `v-model` �� Dialog �蝷箏����� +- Rate + - `text-template` 撅�扳��蛹 `score-template` +- Dropdown + - `menu-align` 撅�批�銝� `placement`嚗��憭雿��� +- Transfer + - `footer-format` 撅�扳��蛹 `format` +- Switch + - �鈭� `on-*` 撅�批 JSX 銝凋�◤霂銝箔�辣嚗紡� Switch ����� `on-*` 撅�批 JSX 銝剜��迤撣詨極雿��隞� `on-*` 撅�扳��蛹 `active-*`嚗笆摨嚗off-*` 撅�扳��蛹 `inactive-*`��敶勗����扳��on-icon-class`�off-icon-class`�on-text`�off-text`�on-color`�off-color`�on-value`�off-value` + - `active-text` ��� `inactive-text` 撅�找����恕�� +- Tag + - `type` 撅�抒����� `success`�info`�warning` ��� `danger` ��葵�� +- Menu + - 蝘駁 `theme` 撅�扼����� `background-color`�text-color` ��� `active-text-color` 撅�扯�����摰�� +- Input + - 蝘駁 `icon` 撅�扼����� `suffix-icon` 撅�扳��� `suffix` ���� slot ���撠暸���� + - 蝘駁 `on-icon-click` 撅�批�� `click` 鈭辣��憒��閬蛹颲獢葉����溶���鈭辣嚗窈隞亙��� slot ��撘溶����� + - `change` 鈭辣��隞颲獢仃����������膠�閫血������ input ���������閬��������嚗隞乩蝙� `input` 鈭辣 +- Autocomplete + - 蝘駁 `custom-item` 撅�扼����� `scoped slot` �摰��撱箄悅��”憿寧��捆 + - 蝘駁 `props` 撅�改��雿輻 `value-key` 撅�扳���撱箄悅撖寡情銝剔鈭蝷箇���� +- Steps + - 蝘駁 `center` 撅�� + - ��甇仿炊�撠�恕��說�摰孵 +- DatePicker + - `change` 鈭辣����銝箇�辣�����潘�撘 `value-format` �� +- Table + - 蝘駁��� `inline-template` �摰��芋���� + - `sort-method` ����� `Array.sort` 靽������餉�������銝芣摮� + - 撠� `append` slot 蝘餉 `tbody` ���誑憭�誑靽��鋡急葡���甈� + - `expand` 鈭辣���蛹 `expand-change`嚗誑靽�� API �������� + - `row-class-name` ��� `row-style` ������銝箏笆鞊∴�誑靽�� API ������ + +## +<i><sup>*</sup> �蝵���葡��遙��� HTML ���虜������蛹摰寞�紡� [XSS ��](https://en.wikipedia.org/wiki/Cross-site_scripting)��迨霂瑕 `dangerouslyUseHTMLString` ������銝�&靽� `message` ���捆��靽∠���**瘞貉����**撠���漱���捆韏�潛�� `message` 撅�扼��</i> diff --git a/PAMapp/local_modules/element-ui/LICENSE b/PAMapp/local_modules/element-ui/LICENSE new file mode 100644 index 0000000..cf66100 --- /dev/null +++ b/PAMapp/local_modules/element-ui/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016-present ElemeFE + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/PAMapp/local_modules/element-ui/README.md b/PAMapp/local_modules/element-ui/README.md new file mode 100644 index 0000000..1cdf1f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/README.md @@ -0,0 +1,146 @@ +<p align="center"> + <img src="https://cdn.rawgit.com/ElemeFE/element/dev/element_logo.svg"> +</p> + +<p align="center"> + <a href="https://travis-ci.org/ElemeFE/element"> + <img src="https://travis-ci.org/ElemeFE/element.svg?branch=master"> + </a> + <a href="https://coveralls.io/github/ElemeFE/element?branch=master"> + <img src="https://coveralls.io/repos/github/ElemeFE/element/badge.svg?branch=master"> + </a> + <a href="https://cdnjs.com/libraries/element-ui"> + <img src="https://img.shields.io/cdnjs/v/element-ui.svg"> + </a> + <a href="https://www.npmjs.org/package/element-ui"> + <img src="https://img.shields.io/npm/v/element-ui.svg"> + </a> + <a href="https://npmcharts.com/compare/element-ui?minimal=true"> + <img src="http://img.shields.io/npm/dm/element-ui.svg"> + </a> + <br> + <a href="http://img.badgesize.io/https://unpkg.com/element-ui/lib/index.js?compression=gzip&label=gzip%20size:%20JS"> + <img src="http://img.badgesize.io/https://unpkg.com/element-ui/lib/index.js?compression=gzip&label=gzip%20size:%20JS"> + </a> + <a href="http://img.badgesize.io/https://unpkg.com/element-ui/lib/theme-chalk/index.css?compression=gzip&label=gzip%20size:%20CSS"> + <img src="http://img.badgesize.io/https://unpkg.com/element-ui/lib/theme-chalk/index.css?compression=gzip&label=gzip%20size:%20CSS"> + </a> + <a href="#backers"> + <img src="https://opencollective.com/element/backers/badge.svg"> + </a> + <a href="#sponsors"> + <img src="https://opencollective.com/element/sponsors/badge.svg"> + </a> + <a href="LICENSE"> + <img src="https://img.shields.io/badge/License-MIT-yellow.svg"> + </a> +</p> + +> A Vue.js 2.0 UI Toolkit for Web. + +Element will stay with Vue 2.x + +For Vue 3.0, we recommend using [Element Plus](https://github.com/element-plus/element-plus)(Element Plus is a community develop project) + +## Links +- Homepage and documentation + - [International users](http://element.eleme.io/#/en-US) + - [Chinese users](http://element.eleme.io/#/zh-CN) + - [Spanish users](http://element.eleme.io/#/es) + - [French users](http://element.eleme.io/#/fr-FR) +- [awesome-element](https://github.com/ElementUI/awesome-element) +- [FAQ](./FAQ.md) +- [Vue.js 3.0 migration](https://github.com/element-plus/element-plus) +- [Customize theme](http://element.eleme.io/#/en-US/component/custom-theme) +- [Preview and generate theme online](https://elementui.github.io/theme-chalk-preview) +- [Element for React](https://github.com/elemefe/element-react) +- [Element for Angular](https://github.com/ElemeFE/element-angular) +- [Atom helper](https://github.com/ElemeFE/element-helper) +- [Visual Studio Code helper](https://github.com/ElemeFE/vscode-element-helper) +- Starter kit + - [element-starter](https://github.com/ElementUI/element-starter) + - [element-in-laravel-starter](https://github.com/ElementUI/element-in-laravel-starter) +- [Design resources](https://github.com/ElementUI/Resources) +- Gitter + - [International users](https://gitter.im/element-en/Lobby) + - [Chinese users](https://gitter.im/ElemeFE/element) + +## Install +```shell +npm install element-ui -S +``` + +## Quick Start +``` javascript +import Vue from 'vue' +import Element from 'element-ui' + +Vue.use(Element) + +// or +import { + Select, + Button + // ... +} from 'element-ui' + +Vue.component(Select.name, Select) +Vue.component(Button.name, Button) +``` +For more information, please refer to [Quick Start](http://element.eleme.io/#/en-US/component/quickstart) in our documentation. + +## Browser Support +Modern browsers and Internet Explorer 10+. + +## Development +Skip this part if you just want to use Element. + +For those who are interested in contributing to Element, please refer to our contributing guide ([銝剜�(https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.zh-CN.md) | [English](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.en-US.md) | [Espa簽ol](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.es.md) | [Fran癟ais](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.fr-FR.md)) to see how to run this project. + +## Changelog +Detailed changes for each release are documented in the [release notes](https://github.com/ElemeFE/element/releases). + +## FAQ +We have collected some [frequently asked questions](https://github.com/ElemeFE/element/blob/master/FAQ.md). Before reporting an issue, please search if the FAQ has the answer to your problem. + +## Contribution +Please make sure to read the contributing guide ([銝剜�(https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.zh-CN.md) | [English](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.en-US.md) | [Espa簽ol](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.es.md) | [Fran癟ais](https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.fr-FR.md)) before making a pull request. + +## Special Thanks +English documentation is brought to you by SwiftGG Translation Team: +- [raychenfj](https://github.com/raychenfj) +- [kevin](http://thekevin.cn/) +- [�撠�(https://github.com/zengxiaotao) +- [皝曆���(https://github.com/wanzaiwanger) +- [BlooDLine](http://www.ibloodline.com/) +- [����(https://chenmingjia.github.io/) +- [���憌(http://mpc6.com/) +- [璇](http://numbbbbb.com) +- [Changing](https://github.com/sunzhuo11) +- [mmoaay](https://github.com/mmoaay) + +Spanish documentation is made possible by these community developers: +- [adavie1](https://github.com/adavie1) +- [carmencitaqiu](https://github.com/carmencitaqiu) +- [coderdiaz](https://github.com/coderdiaz) +- [fedegar33](https://github.com/fedegar33) +- [Gonzalo2310](https://github.com/Gonzalo2310) +- [lesterbx](https://github.com/lesterbx) +- [ProgramerGuy](https://github.com/ProgramerGuy) +- [SantiagoGdaR](https://github.com/SantiagoGdaR) +- [sigfriedCub1990](https://github.com/sigfriedCub1990) +- [thechosenjuan](https://github.com/thechosenjuan) + +French documentation is made possible by these community developers: +- [smalesys](https://github.com/smalesys) +- [blombard](https://github.com/blombard) + +## Join Discussion Group + +Scan the QR code using [Dingtalk App](https://www.dingtalk.com/) to join in discussion group : + +<img alt="Join Discusion Group" src="https://user-images.githubusercontent.com/17680888/93177882-0ae92d80-f766-11ea-870d-3fa2d7f06454.png" width="300"> + + +## LICENSE +[MIT](LICENSE) diff --git a/PAMapp/local_modules/element-ui/lib/alert.js b/PAMapp/local_modules/element-ui/lib/alert.js new file mode 100644 index 0000000..314a5a4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/alert.js @@ -0,0 +1,419 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 102); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 102: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=template&id=6e53341b& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-alert-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-alert", + class: [ + _vm.typeClass, + _vm.center ? "is-center" : "", + "is-" + _vm.effect + ], + attrs: { role: "alert" } + }, + [ + _vm.showIcon + ? _c("i", { + staticClass: "el-alert__icon", + class: [_vm.iconClass, _vm.isBigIcon] + }) + : _vm._e(), + _c("div", { staticClass: "el-alert__content" }, [ + _vm.title || _vm.$slots.title + ? _c( + "span", + { staticClass: "el-alert__title", class: [_vm.isBoldTitle] }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ) + : _vm._e(), + _vm.$slots.default && !_vm.description + ? _c( + "p", + { staticClass: "el-alert__description" }, + [_vm._t("default")], + 2 + ) + : _vm._e(), + _vm.description && !_vm.$slots.default + ? _c("p", { staticClass: "el-alert__description" }, [ + _vm._v(_vm._s(_vm.description)) + ]) + : _vm._e(), + _c( + "i", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.closable, + expression: "closable" + } + ], + staticClass: "el-alert__closebtn", + class: { + "is-customed": _vm.closeText !== "", + "el-icon-close": _vm.closeText === "" + }, + on: { + click: function($event) { + _vm.close() + } + } + }, + [_vm._v(_vm._s(_vm.closeText))] + ) + ]) + ] + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=template&id=6e53341b& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var TYPE_CLASSES_MAP = { + 'success': 'el-icon-success', + 'warning': 'el-icon-warning', + 'error': 'el-icon-error' +}; +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElAlert', + + props: { + title: { + type: String, + default: '' + }, + description: { + type: String, + default: '' + }, + type: { + type: String, + default: 'info' + }, + closable: { + type: Boolean, + default: true + }, + closeText: { + type: String, + default: '' + }, + showIcon: Boolean, + center: Boolean, + effect: { + type: String, + default: 'light', + validator: function validator(value) { + return ['light', 'dark'].indexOf(value) !== -1; + } + } + }, + + data: function data() { + return { + visible: true + }; + }, + + + methods: { + close: function close() { + this.visible = false; + this.$emit('close'); + } + }, + + computed: { + typeClass: function typeClass() { + return 'el-alert--' + this.type; + }, + iconClass: function iconClass() { + return TYPE_CLASSES_MAP[this.type] || 'el-icon-info'; + }, + isBigIcon: function isBigIcon() { + return this.description || this.$slots.default ? 'is-big' : ''; + }, + isBoldTitle: function isBoldTitle() { + return this.description || this.$slots.default ? 'is-bold' : ''; + } + } +}); +// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/alert/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/alert/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/alert/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var packages_alert = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/aside.js b/PAMapp/local_modules/element-ui/lib/aside.js new file mode 100644 index 0000000..03cc8eb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/aside.js @@ -0,0 +1,276 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 118); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 118: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=template&id=03411dbf& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "aside", + { staticClass: "el-aside", style: { width: _vm.width } }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=template&id=03411dbf& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElAside', + + componentName: 'ElAside', + + props: { + width: { + type: String, + default: '300px' + } + } +}); +// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/aside/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/aside/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/aside/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var aside = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/autocomplete.js b/PAMapp/local_modules/element-ui/lib/autocomplete.js new file mode 100644 index 0000000..0092536 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/autocomplete.js @@ -0,0 +1,952 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 65); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 19: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), + +/***/ 22: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/focus"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 65: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.close, + expression: "close" + } + ], + staticClass: "el-autocomplete", + attrs: { + "aria-haspopup": "listbox", + role: "combobox", + "aria-expanded": _vm.suggestionVisible, + "aria-owns": _vm.id + } + }, + [ + _c( + "el-input", + _vm._b( + { + ref: "input", + on: { + input: _vm.handleInput, + change: _vm.handleChange, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + clear: _vm.handleClear + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.preventDefault() + _vm.highlight(_vm.highlightedIndex - 1) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + _vm.highlight(_vm.highlightedIndex + 1) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.handleKeyEnter($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + return _vm.close($event) + } + ] + } + }, + "el-input", + [_vm.$props, _vm.$attrs], + false + ), + [ + _vm.$slots.prepend + ? _c("template", { slot: "prepend" }, [_vm._t("prepend")], 2) + : _vm._e(), + _vm.$slots.append + ? _c("template", { slot: "append" }, [_vm._t("append")], 2) + : _vm._e(), + _vm.$slots.prefix + ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) + : _vm._e(), + _vm.$slots.suffix + ? _c("template", { slot: "suffix" }, [_vm._t("suffix")], 2) + : _vm._e() + ], + 2 + ), + _c( + "el-autocomplete-suggestions", + { + ref: "suggestions", + class: [_vm.popperClass ? _vm.popperClass : ""], + attrs: { + "visible-arrow": "", + "popper-options": _vm.popperOptions, + "append-to-body": _vm.popperAppendToBody, + placement: _vm.placement, + id: _vm.id + } + }, + _vm._l(_vm.suggestions, function(item, index) { + return _c( + "li", + { + key: index, + class: { highlighted: _vm.highlightedIndex === index }, + attrs: { + id: _vm.id + "-item-" + index, + role: "option", + "aria-selected": _vm.highlightedIndex === index + }, + on: { + click: function($event) { + _vm.select(item) + } + } + }, + [ + _vm._t( + "default", + [ + _vm._v("\n " + _vm._s(item[_vm.valueKey]) + "\n ") + ], + { item: item } + ) + ], + 2 + ) + }), + 0 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& +var autocomplete_suggestionsvue_type_template_id_cd10dcf0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-autocomplete-suggestion el-popper", + class: { + "is-loading": !_vm.parent.hideLoading && _vm.parent.loading + }, + style: { width: _vm.dropdownWidth }, + attrs: { role: "region" } + }, + [ + _c( + "el-scrollbar", + { + attrs: { + tag: "ul", + "wrap-class": "el-autocomplete-suggestion__wrap", + "view-class": "el-autocomplete-suggestion__list" + } + }, + [ + !_vm.parent.hideLoading && _vm.parent.loading + ? _c("li", [_c("i", { staticClass: "el-icon-loading" })]) + : _vm._t("default") + ], + 2 + ) + ], + 1 + ) + ] + ) +} +var autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns = [] +autocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var autocomplete_suggestionsvue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + mixins: [vue_popper_default.a, emitter_default.a], + + componentName: 'ElAutocompleteSuggestions', + + data: function data() { + return { + parent: this.$parent, + dropdownWidth: '' + }; + }, + + + props: { + options: { + default: function _default() { + return { + gpuAcceleration: false + }; + } + }, + id: String + }, + + methods: { + select: function select(item) { + this.dispatch('ElAutocomplete', 'item-click', item); + } + }, + + updated: function updated() { + var _this = this; + + this.$nextTick(function (_) { + _this.popperJS && _this.updatePopper(); + }); + }, + mounted: function mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$refs.input.$refs.input || this.$parent.$refs.input.$refs.textarea; + this.referenceList = this.$el.querySelector('.el-autocomplete-suggestion__list'); + this.referenceList.setAttribute('role', 'listbox'); + this.referenceList.setAttribute('id', this.id); + }, + created: function created() { + var _this2 = this; + + this.$on('visible', function (val, inputWidth) { + _this2.dropdownWidth = inputWidth + 'px'; + _this2.showPopper = val; + }); + } +}); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& + /* harmony default export */ var src_autocomplete_suggestionsvue_type_script_lang_js_ = (autocomplete_suggestionsvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_autocomplete_suggestionsvue_type_script_lang_js_, + autocomplete_suggestionsvue_type_template_id_cd10dcf0_render, + autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/autocomplete/src/autocomplete-suggestions.vue" +/* harmony default export */ var autocomplete_suggestions = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/focus" +var focus_ = __webpack_require__(22); +var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var autocompletevue_type_script_lang_js_ = ({ + name: 'ElAutocomplete', + + mixins: [emitter_default.a, focus_default()('input'), migrating_default.a], + + inheritAttrs: false, + + componentName: 'ElAutocomplete', + + components: { + ElInput: input_default.a, + ElAutocompleteSuggestions: autocomplete_suggestions + }, + + directives: { Clickoutside: clickoutside_default.a }, + + props: { + valueKey: { + type: String, + default: 'value' + }, + popperClass: String, + popperOptions: Object, + placeholder: String, + clearable: { + type: Boolean, + default: false + }, + disabled: Boolean, + name: String, + size: String, + value: String, + maxlength: Number, + minlength: Number, + autofocus: Boolean, + fetchSuggestions: Function, + triggerOnFocus: { + type: Boolean, + default: true + }, + customItem: String, + selectWhenUnmatched: { + type: Boolean, + default: false + }, + prefixIcon: String, + suffixIcon: String, + label: String, + debounce: { + type: Number, + default: 300 + }, + placement: { + type: String, + default: 'bottom-start' + }, + hideLoading: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + }, + highlightFirstItem: { + type: Boolean, + default: false + } + }, + data: function data() { + return { + activated: false, + suggestions: [], + loading: false, + highlightedIndex: -1, + suggestionDisabled: false + }; + }, + + computed: { + suggestionVisible: function suggestionVisible() { + var suggestions = this.suggestions; + var isValidData = Array.isArray(suggestions) && suggestions.length > 0; + return (isValidData || this.loading) && this.activated; + }, + id: function id() { + return 'el-autocomplete-' + Object(util_["generateId"])(); + } + }, + watch: { + suggestionVisible: function suggestionVisible(val) { + var $input = this.getInput(); + if ($input) { + this.broadcast('ElAutocompleteSuggestions', 'visible', [val, $input.offsetWidth]); + } + } + }, + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'custom-item': 'custom-item is removed, use scoped slot instead.', + 'props': 'props is removed, use value-key instead.' + } + }; + }, + getData: function getData(queryString) { + var _this = this; + + if (this.suggestionDisabled) { + return; + } + this.loading = true; + this.fetchSuggestions(queryString, function (suggestions) { + _this.loading = false; + if (_this.suggestionDisabled) { + return; + } + if (Array.isArray(suggestions)) { + _this.suggestions = suggestions; + _this.highlightedIndex = _this.highlightFirstItem ? 0 : -1; + } else { + console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array'); + } + }); + }, + handleInput: function handleInput(value) { + this.$emit('input', value); + this.suggestionDisabled = false; + if (!this.triggerOnFocus && !value) { + this.suggestionDisabled = true; + this.suggestions = []; + return; + } + this.debouncedGetData(value); + }, + handleChange: function handleChange(value) { + this.$emit('change', value); + }, + handleFocus: function handleFocus(event) { + this.activated = true; + this.$emit('focus', event); + if (this.triggerOnFocus) { + this.debouncedGetData(this.value); + } + }, + handleBlur: function handleBlur(event) { + this.$emit('blur', event); + }, + handleClear: function handleClear() { + this.activated = false; + this.$emit('clear'); + }, + close: function close(e) { + this.activated = false; + }, + handleKeyEnter: function handleKeyEnter(e) { + var _this2 = this; + + if (this.suggestionVisible && this.highlightedIndex >= 0 && this.highlightedIndex < this.suggestions.length) { + e.preventDefault(); + this.select(this.suggestions[this.highlightedIndex]); + } else if (this.selectWhenUnmatched) { + this.$emit('select', { value: this.value }); + this.$nextTick(function (_) { + _this2.suggestions = []; + _this2.highlightedIndex = -1; + }); + } + }, + select: function select(item) { + var _this3 = this; + + this.$emit('input', item[this.valueKey]); + this.$emit('select', item); + this.$nextTick(function (_) { + _this3.suggestions = []; + _this3.highlightedIndex = -1; + }); + }, + highlight: function highlight(index) { + if (!this.suggestionVisible || this.loading) { + return; + } + if (index < 0) { + this.highlightedIndex = -1; + return; + } + if (index >= this.suggestions.length) { + index = this.suggestions.length - 1; + } + var suggestion = this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap'); + var suggestionList = suggestion.querySelectorAll('.el-autocomplete-suggestion__list li'); + + var highlightItem = suggestionList[index]; + var scrollTop = suggestion.scrollTop; + var offsetTop = highlightItem.offsetTop; + + if (offsetTop + highlightItem.scrollHeight > scrollTop + suggestion.clientHeight) { + suggestion.scrollTop += highlightItem.scrollHeight; + } + if (offsetTop < scrollTop) { + suggestion.scrollTop -= highlightItem.scrollHeight; + } + this.highlightedIndex = index; + var $input = this.getInput(); + $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); + }, + getInput: function getInput() { + return this.$refs.input.getInput(); + } + }, + mounted: function mounted() { + var _this4 = this; + + this.debouncedGetData = debounce_default()(this.debounce, this.getData); + this.$on('item-click', function (item) { + _this4.select(item); + }); + var $input = this.getInput(); + $input.setAttribute('role', 'textbox'); + $input.setAttribute('aria-autocomplete', 'list'); + $input.setAttribute('aria-controls', 'id'); + $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); + }, + beforeDestroy: function beforeDestroy() { + this.$refs.suggestions.$destroy(); + } +}); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& + /* harmony default export */ var src_autocompletevue_type_script_lang_js_ = (autocompletevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue + + + + + +/* normalize component */ + +var autocomplete_component = Object(componentNormalizer["a" /* default */])( + src_autocompletevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var autocomplete_api; } +autocomplete_component.options.__file = "packages/autocomplete/src/autocomplete.vue" +/* harmony default export */ var autocomplete = (autocomplete_component.exports); +// CONCATENATED MODULE: ./packages/autocomplete/index.js + + +/* istanbul ignore next */ +autocomplete.install = function (Vue) { + Vue.component(autocomplete.name, autocomplete); +}; + +/* harmony default export */ var packages_autocomplete = __webpack_exports__["default"] = (autocomplete); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/avatar.js b/PAMapp/local_modules/element-ui/lib/avatar.js new file mode 100644 index 0000000..348f328 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/avatar.js @@ -0,0 +1,362 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 135); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 135: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/avatar/src/main.vue?vue&type=script&lang=js& + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElAvatar', + + props: { + size: { + type: [Number, String], + validator: function validator(val) { + if (typeof val === 'string') { + return ['large', 'medium', 'small'].includes(val); + } + return typeof val === 'number'; + } + }, + shape: { + type: String, + default: 'circle', + validator: function validator(val) { + return ['circle', 'square'].includes(val); + } + }, + icon: String, + src: String, + alt: String, + srcSet: String, + error: Function, + fit: { + type: String, + default: 'cover' + } + }, + + data: function data() { + return { + isImageExist: true + }; + }, + + + computed: { + avatarClass: function avatarClass() { + var size = this.size, + icon = this.icon, + shape = this.shape; + + var classList = ['el-avatar']; + + if (size && typeof size === 'string') { + classList.push('el-avatar--' + size); + } + + if (icon) { + classList.push('el-avatar--icon'); + } + + if (shape) { + classList.push('el-avatar--' + shape); + } + + return classList.join(' '); + } + }, + + methods: { + handleError: function handleError() { + var error = this.error; + + var errorFlag = error ? error() : undefined; + if (errorFlag !== false) { + this.isImageExist = false; + } + }, + renderAvatar: function renderAvatar() { + var h = this.$createElement; + var icon = this.icon, + src = this.src, + alt = this.alt, + isImageExist = this.isImageExist, + srcSet = this.srcSet, + fit = this.fit; + + + if (isImageExist && src) { + return h('img', { + attrs: { + src: src, + + alt: alt, + srcSet: srcSet + }, + on: { + 'error': this.handleError + }, + style: { 'object-fit': fit } }); + } + + if (icon) { + return h('i', { 'class': icon }); + } + + return this.$slots.default; + } + }, + + render: function render() { + var h = arguments[0]; + var avatarClass = this.avatarClass, + size = this.size; + + + var sizeStyle = typeof size === 'number' ? { + height: size + 'px', + width: size + 'px', + lineHeight: size + 'px' + } : {}; + + return h( + 'span', + { 'class': avatarClass, style: sizeStyle }, + [this.renderAvatar()] + ); + } +}); +// CONCATENATED MODULE: ./packages/avatar/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/avatar/src/main.vue +var render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/avatar/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/avatar/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var avatar = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/backtop.js b/PAMapp/local_modules/element-ui/lib/backtop.js new file mode 100644 index 0000000..293f5cc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/backtop.js @@ -0,0 +1,401 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 124); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 124: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-fade-in" } }, [ + _vm.visible + ? _c( + "div", + { + staticClass: "el-backtop", + style: { + right: _vm.styleRight, + bottom: _vm.styleBottom + }, + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClick($event) + } + } + }, + [ + _vm._t("default", [_c("el-icon", { attrs: { name: "caret-top" } })]) + ], + 2 + ) + : _vm._e() + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9& + +// EXTERNAL MODULE: external "throttle-debounce/throttle" +var throttle_ = __webpack_require__(25); +var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +var cubic = function cubic(value) { + return Math.pow(value, 3); +}; +var easeInOutCubic = function easeInOutCubic(value) { + return value < 0.5 ? cubic(value * 2) / 2 : 1 - cubic((1 - value) * 2) / 2; +}; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElBacktop', + + props: { + visibilityHeight: { + type: Number, + default: 200 + }, + target: [String], + right: { + type: Number, + default: 40 + }, + bottom: { + type: Number, + default: 40 + } + }, + + data: function data() { + return { + el: null, + container: null, + visible: false + }; + }, + + + computed: { + styleBottom: function styleBottom() { + return this.bottom + 'px'; + }, + styleRight: function styleRight() { + return this.right + 'px'; + } + }, + + mounted: function mounted() { + this.init(); + this.throttledScrollHandler = throttle_default()(300, this.onScroll); + this.container.addEventListener('scroll', this.throttledScrollHandler); + }, + + + methods: { + init: function init() { + this.container = document; + this.el = document.documentElement; + if (this.target) { + this.el = document.querySelector(this.target); + if (!this.el) { + throw new Error('target is not existed: ' + this.target); + } + this.container = this.el; + } + }, + onScroll: function onScroll() { + var scrollTop = this.el.scrollTop; + this.visible = scrollTop >= this.visibilityHeight; + }, + handleClick: function handleClick(e) { + this.scrollToTop(); + this.$emit('click', e); + }, + scrollToTop: function scrollToTop() { + var el = this.el; + var beginTime = Date.now(); + var beginValue = el.scrollTop; + var rAF = window.requestAnimationFrame || function (func) { + return setTimeout(func, 16); + }; + var frameFunc = function frameFunc() { + var progress = (Date.now() - beginTime) / 500; + if (progress < 1) { + el.scrollTop = beginValue * (1 - easeInOutCubic(progress)); + rAF(frameFunc); + } else { + el.scrollTop = 0; + } + }; + rAF(frameFunc); + } + }, + + beforeDestroy: function beforeDestroy() { + this.container.removeEventListener('scroll', this.throttledScrollHandler); + } +}); +// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/backtop/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/backtop/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/backtop/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var backtop = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 25: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/throttle"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/badge.js b/PAMapp/local_modules/element-ui/lib/badge.js new file mode 100644 index 0000000..404f54c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/badge.js @@ -0,0 +1,333 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 106); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 106: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=template&id=7ccb6598& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-badge" }, + [ + _vm._t("default"), + _c("transition", { attrs: { name: "el-zoom-in-center" } }, [ + _c("sup", { + directives: [ + { + name: "show", + rawName: "v-show", + value: + !_vm.hidden && (_vm.content || _vm.content === 0 || _vm.isDot), + expression: "!hidden && (content || content === 0 || isDot)" + } + ], + staticClass: "el-badge__content", + class: [ + _vm.type ? "el-badge__content--" + _vm.type : null, + { + "is-fixed": _vm.$slots.default, + "is-dot": _vm.isDot + } + ], + domProps: { textContent: _vm._s(_vm.content) } + }) + ]) + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=template&id=7ccb6598& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElBadge', + + props: { + value: [String, Number], + max: Number, + isDot: Boolean, + hidden: Boolean, + type: { + type: String, + validator: function validator(val) { + return ['primary', 'success', 'warning', 'info', 'danger'].indexOf(val) > -1; + } + } + }, + + computed: { + content: function content() { + if (this.isDot) return; + + var value = this.value; + var max = this.max; + + if (typeof value === 'number' && typeof max === 'number') { + return max < value ? max + '+' : value; + } + + return value; + } + } +}); +// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/badge/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/badge/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/badge/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var badge = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/breadcrumb-item.js b/PAMapp/local_modules/element-ui/lib/breadcrumb-item.js new file mode 100644 index 0000000..7a5f457 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/breadcrumb-item.js @@ -0,0 +1,321 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 99); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 99: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("span", { staticClass: "el-breadcrumb__item" }, [ + _c( + "span", + { + ref: "link", + class: ["el-breadcrumb__inner", _vm.to ? "is-link" : ""], + attrs: { role: "link" } + }, + [_vm._t("default")], + 2 + ), + _vm.separatorClass + ? _c("i", { + staticClass: "el-breadcrumb__separator", + class: _vm.separatorClass + }) + : _c( + "span", + { + staticClass: "el-breadcrumb__separator", + attrs: { role: "presentation" } + }, + [_vm._v(_vm._s(_vm.separator))] + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var breadcrumb_itemvue_type_script_lang_js_ = ({ + name: 'ElBreadcrumbItem', + props: { + to: {}, + replace: Boolean + }, + data: function data() { + return { + separator: '', + separatorClass: '' + }; + }, + + + inject: ['elBreadcrumb'], + + mounted: function mounted() { + var _this = this; + + this.separator = this.elBreadcrumb.separator; + this.separatorClass = this.elBreadcrumb.separatorClass; + var link = this.$refs.link; + link.setAttribute('role', 'link'); + link.addEventListener('click', function (_) { + var to = _this.to, + $router = _this.$router; + + if (!to || !$router) return; + _this.replace ? $router.replace(to) : $router.push(to); + }); + } +}); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_breadcrumb_itemvue_type_script_lang_js_ = (breadcrumb_itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_breadcrumb_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/breadcrumb/src/breadcrumb-item.vue" +/* harmony default export */ var breadcrumb_item = (component.exports); +// CONCATENATED MODULE: ./packages/breadcrumb-item/index.js + + +/* istanbul ignore next */ +breadcrumb_item.install = function (Vue) { + Vue.component(breadcrumb_item.name, breadcrumb_item); +}; + +/* harmony default export */ var packages_breadcrumb_item = __webpack_exports__["default"] = (breadcrumb_item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/breadcrumb.js b/PAMapp/local_modules/element-ui/lib/breadcrumb.js new file mode 100644 index 0000000..4a852d4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/breadcrumb.js @@ -0,0 +1,292 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 98); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 98: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-breadcrumb", + attrs: { "aria-label": "Breadcrumb", role: "navigation" } + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var breadcrumbvue_type_script_lang_js_ = ({ + name: 'ElBreadcrumb', + + props: { + separator: { + type: String, + default: '/' + }, + separatorClass: { + type: String, + default: '' + } + }, + + provide: function provide() { + return { + elBreadcrumb: this + }; + }, + mounted: function mounted() { + var items = this.$el.querySelectorAll('.el-breadcrumb__item'); + if (items.length) { + items[items.length - 1].setAttribute('aria-current', 'page'); + } + } +}); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js& + /* harmony default export */ var src_breadcrumbvue_type_script_lang_js_ = (breadcrumbvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_breadcrumbvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/breadcrumb/src/breadcrumb.vue" +/* harmony default export */ var breadcrumb = (component.exports); +// CONCATENATED MODULE: ./packages/breadcrumb/index.js + + +/* istanbul ignore next */ +breadcrumb.install = function (Vue) { + Vue.component(breadcrumb.name, breadcrumb); +}; + +/* harmony default export */ var packages_breadcrumb = __webpack_exports__["default"] = (breadcrumb); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/button-group.js b/PAMapp/local_modules/element-ui/lib/button-group.js new file mode 100644 index 0000000..a485d42 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/button-group.js @@ -0,0 +1,261 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 97); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 97: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-button-group" }, [_vm._t("default")], 2) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var button_groupvue_type_script_lang_js_ = ({ + name: 'ElButtonGroup' +}); +// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_button_groupvue_type_script_lang_js_ = (button_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/button/src/button-group.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_button_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/button/src/button-group.vue" +/* harmony default export */ var button_group = (component.exports); +// CONCATENATED MODULE: ./packages/button-group/index.js + + +/* istanbul ignore next */ +button_group.install = function (Vue) { + Vue.component(button_group.name, button_group); +}; + +/* harmony default export */ var packages_button_group = __webpack_exports__["default"] = (button_group); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/button.js b/PAMapp/local_modules/element-ui/lib/button.js new file mode 100644 index 0000000..a56fb27 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/button.js @@ -0,0 +1,356 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 96); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 96: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "button", + { + staticClass: "el-button", + class: [ + _vm.type ? "el-button--" + _vm.type : "", + _vm.buttonSize ? "el-button--" + _vm.buttonSize : "", + { + "is-disabled": _vm.buttonDisabled, + "is-loading": _vm.loading, + "is-plain": _vm.plain, + "is-round": _vm.round, + "is-circle": _vm.circle + } + ], + attrs: { + disabled: _vm.buttonDisabled || _vm.loading, + autofocus: _vm.autofocus, + type: _vm.nativeType + }, + on: { click: _vm.handleClick } + }, + [ + _vm.loading ? _c("i", { staticClass: "el-icon-loading" }) : _vm._e(), + _vm.icon && !_vm.loading ? _c("i", { class: _vm.icon }) : _vm._e(), + _vm.$slots.default ? _c("span", [_vm._t("default")], 2) : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var buttonvue_type_script_lang_js_ = ({ + name: 'ElButton', + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + type: { + type: String, + default: 'default' + }, + size: String, + icon: { + type: String, + default: '' + }, + nativeType: { + type: String, + default: 'button' + }, + loading: Boolean, + disabled: Boolean, + plain: Boolean, + autofocus: Boolean, + round: Boolean, + circle: Boolean + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + buttonSize: function buttonSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + buttonDisabled: function buttonDisabled() { + return this.$options.propsData.hasOwnProperty('disabled') ? this.disabled : (this.elForm || {}).disabled; + } + }, + + methods: { + handleClick: function handleClick(evt) { + this.$emit('click', evt); + } + } +}); +// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/button/src/button.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_buttonvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/button/src/button.vue" +/* harmony default export */ var src_button = (component.exports); +// CONCATENATED MODULE: ./packages/button/index.js + + +/* istanbul ignore next */ +src_button.install = function (Vue) { + Vue.component(src_button.name, src_button); +}; + +/* harmony default export */ var packages_button = __webpack_exports__["default"] = (src_button); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/calendar.js b/PAMapp/local_modules/element-ui/lib/calendar.js new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/calendar.js @@ -0,0 +1,935 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 71); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date-util"); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 24: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date"); + +/***/ }), + +/***/ 36: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button-group"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 71: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=template&id=6d9756be& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-calendar" }, [ + _c("div", { staticClass: "el-calendar__header" }, [ + _c("div", { staticClass: "el-calendar__title" }, [ + _vm._v("\n " + _vm._s(_vm.i18nDate) + "\n ") + ]), + _vm.validatedRange.length === 0 + ? _c( + "div", + { staticClass: "el-calendar__button-group" }, + [ + _c( + "el-button-group", + [ + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("prev-month") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.prevMonth")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("today") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.today")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("next-month") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.nextMonth")) + + "\n " + ) + ] + ) + ], + 1 + ) + ], + 1 + ) + : _vm._e() + ]), + _vm.validatedRange.length === 0 + ? _c( + "div", + { key: "no-range", staticClass: "el-calendar__body" }, + [ + _c("date-table", { + attrs: { + date: _vm.date, + "selected-day": _vm.realSelectedDay, + "first-day-of-week": _vm.realFirstDayOfWeek + }, + on: { pick: _vm.pickDay } + }) + ], + 1 + ) + : _c( + "div", + { key: "has-range", staticClass: "el-calendar__body" }, + _vm._l(_vm.validatedRange, function(range, index) { + return _c("date-table", { + key: index, + attrs: { + date: range[0], + "selected-day": _vm.realSelectedDay, + range: range, + "hide-header": index !== 0, + "first-day-of-week": _vm.realFirstDayOfWeek + }, + on: { pick: _vm.pickDay } + }) + }), + 1 + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=template&id=6d9756be& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/date" +var date_ = __webpack_require__(24); +var date_default = /*#__PURE__*/__webpack_require__.n(date_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/button-group" +var button_group_ = __webpack_require__(36); +var button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/date-table.vue?vue&type=script&lang=js& + + + + +/* harmony default export */ var date_tablevue_type_script_lang_js_ = ({ + props: { + selectedDay: String, // formated date yyyy-MM-dd + range: { + type: Array, + validator: function validator(val) { + if (!(val && val.length)) return true; + var start = val[0], + end = val[1]; + + return Object(date_util_["validateRangeInOneMonth"])(start, end); + } + }, + date: Date, + hideHeader: Boolean, + firstDayOfWeek: Number + }, + + inject: ['elCalendar'], + + methods: { + toNestedArr: function toNestedArr(days) { + return Object(date_util_["range"])(days.length / 7).map(function (_, index) { + var start = index * 7; + return days.slice(start, start + 7); + }); + }, + getFormateDate: function getFormateDate(day, type) { + if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) { + throw new Error('invalid day or type'); + } + var prefix = this.curMonthDatePrefix; + if (type === 'prev') { + prefix = this.prevMonthDatePrefix; + } else if (type === 'next') { + prefix = this.nextMonthDatePrefix; + } + day = ('00' + day).slice(-2); + return prefix + '-' + day; + }, + getCellClass: function getCellClass(_ref) { + var text = _ref.text, + type = _ref.type; + + var classes = [type]; + if (type === 'current') { + var date = this.getFormateDate(text, type); + if (date === this.selectedDay) { + classes.push('is-selected'); + } + if (date === this.formatedToday) { + classes.push('is-today'); + } + } + return classes; + }, + pickDay: function pickDay(_ref2) { + var text = _ref2.text, + type = _ref2.type; + + var date = this.getFormateDate(text, type); + this.$emit('pick', date); + }, + cellRenderProxy: function cellRenderProxy(_ref3) { + var text = _ref3.text, + type = _ref3.type; + var h = this.$createElement; + + var render = this.elCalendar.$scopedSlots.dateCell; + if (!render) return h('span', [text]); + + var day = this.getFormateDate(text, type); + var date = new Date(day); + var data = { + isSelected: this.selectedDay === day, + type: type + '-month', + day: day + }; + return render({ date: date, data: data }); + } + }, + + computed: { + WEEK_DAYS: function WEEK_DAYS() { + return Object(date_util_["getI18nSettings"])().dayNames; + }, + prevMonthDatePrefix: function prevMonthDatePrefix() { + var temp = new Date(this.date.getTime()); + temp.setDate(0); + return date_default.a.format(temp, 'yyyy-MM'); + }, + curMonthDatePrefix: function curMonthDatePrefix() { + return date_default.a.format(this.date, 'yyyy-MM'); + }, + nextMonthDatePrefix: function nextMonthDatePrefix() { + var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return date_default.a.format(temp, 'yyyy-MM'); + }, + formatedToday: function formatedToday() { + return this.elCalendar.formatedToday; + }, + isInRange: function isInRange() { + return this.range && this.range.length; + }, + rows: function rows() { + var days = []; + // if range exists, should render days in range. + if (this.isInRange) { + var _range = this.range, + start = _range[0], + end = _range[1]; + + var currentMonthRange = Object(date_util_["range"])(end.getDate() - start.getDate() + 1).map(function (_, index) { + return { + text: start.getDate() + index, + type: 'current' + }; + }); + var remaining = currentMonthRange.length % 7; + remaining = remaining === 0 ? 0 : 7 - remaining; + var nextMonthRange = Object(date_util_["range"])(remaining).map(function (_, index) { + return { + text: index + 1, + type: 'next' + }; + }); + days = currentMonthRange.concat(nextMonthRange); + } else { + var date = this.date; + var firstDay = Object(date_util_["getFirstDayOfMonth"])(date); + firstDay = firstDay === 0 ? 7 : firstDay; + var firstDayOfWeek = typeof this.firstDayOfWeek === 'number' ? this.firstDayOfWeek : 1; + var offset = (7 + firstDay - firstDayOfWeek) % 7; + var prevMonthDays = Object(date_util_["getPrevMonthLastDays"])(date, offset).map(function (day) { + return { + text: day, + type: 'prev' + }; + }); + var currentMonthDays = Object(date_util_["getMonthDays"])(date).map(function (day) { + return { + text: day, + type: 'current' + }; + }); + days = [].concat(prevMonthDays, currentMonthDays); + var nextMonthDays = Object(date_util_["range"])(42 - days.length).map(function (_, index) { + return { + text: index + 1, + type: 'next' + }; + }); + days = days.concat(nextMonthDays); + } + return this.toNestedArr(days); + }, + weekDays: function weekDays() { + var start = this.firstDayOfWeek; + var WEEK_DAYS = this.WEEK_DAYS; + + + if (typeof start !== 'number' || start === 0) { + return WEEK_DAYS.slice(); + } else { + return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0, start)); + } + } + }, + + render: function render() { + var _this = this; + + var h = arguments[0]; + + var thead = this.hideHeader ? null : h('thead', [this.weekDays.map(function (day) { + return h( + 'th', + { key: day }, + [day] + ); + })]); + return h( + 'table', + { + 'class': { + 'el-calendar-table': true, + 'is-range': this.isInRange + }, + attrs: { cellspacing: '0', + cellpadding: '0' } + }, + [thead, h('tbody', [this.rows.map(function (row, index) { + return h( + 'tr', + { + 'class': { + 'el-calendar-table__row': true, + 'el-calendar-table__row--hide-border': index === 0 && _this.hideHeader + }, + key: index }, + [row.map(function (cell, key) { + return h( + 'td', + { key: key, + 'class': _this.getCellClass(cell), + on: { + 'click': _this.pickDay.bind(_this, cell) + } + }, + [h( + 'div', + { 'class': 'el-calendar-day' }, + [_this.cellRenderProxy(cell)] + )] + ); + })] + ); + })])] + ); + } +}); +// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue?vue&type=script&lang=js& + /* harmony default export */ var src_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue +var date_table_render, date_table_staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_date_tablevue_type_script_lang_js_, + date_table_render, + date_table_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/calendar/src/date-table.vue" +/* harmony default export */ var date_table = (component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var validTypes = ['prev-month', 'today', 'next-month']; +var weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; +var oneDay = 86400000; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElCalendar', + + mixins: [locale_default.a], + + components: { + DateTable: date_table, + ElButton: button_default.a, + ElButtonGroup: button_group_default.a + }, + + props: { + value: [Date, String, Number], + range: { + type: Array, + validator: function validator(range) { + if (Array.isArray(range)) { + return range.length === 2 && range.every(function (item) { + return typeof item === 'string' || typeof item === 'number' || item instanceof Date; + }); + } else { + return true; + } + } + }, + firstDayOfWeek: { + type: Number, + default: 1 + } + }, + + provide: function provide() { + return { + elCalendar: this + }; + }, + + + methods: { + pickDay: function pickDay(day) { + this.realSelectedDay = day; + }, + selectDate: function selectDate(type) { + if (validTypes.indexOf(type) === -1) { + throw new Error('invalid type ' + type); + } + var day = ''; + if (type === 'prev-month') { + day = this.prevMonthDatePrefix + '-01'; + } else if (type === 'next-month') { + day = this.nextMonthDatePrefix + '-01'; + } else { + day = this.formatedToday; + } + + if (day === this.formatedDate) return; + this.pickDay(day); + }, + toDate: function toDate(val) { + if (!val) { + throw new Error('invalid val'); + } + return val instanceof Date ? val : new Date(val); + }, + rangeValidator: function rangeValidator(date, isStart) { + var firstDayOfWeek = this.realFirstDayOfWeek; + var expected = isStart ? firstDayOfWeek : firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1; + var message = (isStart ? 'start' : 'end') + ' of range should be ' + weekDays[expected] + '.'; + if (date.getDay() !== expected) { + console.warn('[ElementCalendar]', message, 'Invalid range will be ignored.'); + return false; + } + return true; + } + }, + + computed: { + prevMonthDatePrefix: function prevMonthDatePrefix() { + var temp = new Date(this.date.getTime()); + temp.setDate(0); + return date_default.a.format(temp, 'yyyy-MM'); + }, + curMonthDatePrefix: function curMonthDatePrefix() { + return date_default.a.format(this.date, 'yyyy-MM'); + }, + nextMonthDatePrefix: function nextMonthDatePrefix() { + var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return date_default.a.format(temp, 'yyyy-MM'); + }, + formatedDate: function formatedDate() { + return date_default.a.format(this.date, 'yyyy-MM-dd'); + }, + i18nDate: function i18nDate() { + var year = this.date.getFullYear(); + var month = this.date.getMonth() + 1; + return year + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + month); + }, + formatedToday: function formatedToday() { + return date_default.a.format(this.now, 'yyyy-MM-dd'); + }, + + + realSelectedDay: { + get: function get() { + if (!this.value) return this.selectedDay; + return this.formatedDate; + }, + set: function set(val) { + this.selectedDay = val; + var date = new Date(val); + this.$emit('input', date); + } + }, + + date: function date() { + if (!this.value) { + if (this.realSelectedDay) { + var d = this.selectedDay.split('-'); + return new Date(d[0], d[1] - 1, d[2]); + } else if (this.validatedRange.length) { + return this.validatedRange[0][0]; + } + return this.now; + } else { + return this.toDate(this.value); + } + }, + + + // if range is valid, we get a two-digit array + validatedRange: function validatedRange() { + var _this = this; + + var range = this.range; + if (!range) return []; + range = range.reduce(function (prev, val, index) { + var date = _this.toDate(val); + if (_this.rangeValidator(date, index === 0)) { + prev = prev.concat(date); + } + return prev; + }, []); + if (range.length === 2) { + var _range = range, + start = _range[0], + end = _range[1]; + + if (start > end) { + console.warn('[ElementCalendar]end time should be greater than start time'); + return []; + } + // start time and end time in one month + if (Object(date_util_["validateRangeInOneMonth"])(start, end)) { + return [[start, end]]; + } + var data = []; + var startDay = new Date(start.getFullYear(), start.getMonth() + 1, 1); + var lastDay = this.toDate(startDay.getTime() - oneDay); + if (!Object(date_util_["validateRangeInOneMonth"])(startDay, end)) { + console.warn('[ElementCalendar]start time and end time interval must not exceed two months'); + return []; + } + // 蝚砌�銝芣����� + data.push([start, lastDay]); + // 銝�������嚗�閬恣蝞�銝砲���洵銝�銝芸韏瑕� + var firstDayOfWeek = this.realFirstDayOfWeek; + var nextMontFirstDay = startDay.getDay(); + var interval = 0; + if (nextMontFirstDay !== firstDayOfWeek) { + if (firstDayOfWeek === 0) { + interval = 7 - nextMontFirstDay; + } else { + interval = firstDayOfWeek - nextMontFirstDay; + interval = interval > 0 ? interval : 7 + interval; + } + } + startDay = this.toDate(startDay.getTime() + interval * oneDay); + if (startDay.getDate() < end.getDate()) { + data.push([startDay, end]); + } + return data; + } + return []; + }, + realFirstDayOfWeek: function realFirstDayOfWeek() { + if (this.firstDayOfWeek < 1 || this.firstDayOfWeek > 6) { + return 0; + } + return Math.floor(this.firstDayOfWeek); + } + }, + + data: function data() { + return { + selectedDay: '', + now: new Date() + }; + } +}); +// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/calendar/src/main.vue + + + + + +/* normalize component */ + +var main_component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/calendar/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/calendar/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var calendar = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/card.js b/PAMapp/local_modules/element-ui/lib/card.js new file mode 100644 index 0000000..db637c4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/card.js @@ -0,0 +1,296 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 107); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 107: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=template&id=59a4a40f& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-card", + class: _vm.shadow ? "is-" + _vm.shadow + "-shadow" : "is-always-shadow" + }, + [ + _vm.$slots.header || _vm.header + ? _c( + "div", + { staticClass: "el-card__header" }, + [_vm._t("header", [_vm._v(_vm._s(_vm.header))])], + 2 + ) + : _vm._e(), + _c( + "div", + { staticClass: "el-card__body", style: _vm.bodyStyle }, + [_vm._t("default")], + 2 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=template&id=59a4a40f& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElCard', + props: { + header: {}, + bodyStyle: {}, + shadow: { + type: String + } + } +}); +// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/card/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/card/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/card/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var card = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/carousel-item.js b/PAMapp/local_modules/element-ui/lib/carousel-item.js new file mode 100644 index 0000000..574a315 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/carousel-item.js @@ -0,0 +1,433 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 112); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 112: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=template&id=1801ae19& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.ready, + expression: "ready" + } + ], + staticClass: "el-carousel__item", + class: { + "is-active": _vm.active, + "el-carousel__item--card": _vm.$parent.type === "card", + "is-in-stage": _vm.inStage, + "is-hover": _vm.hover, + "is-animating": _vm.animating + }, + style: _vm.itemStyle, + on: { click: _vm.handleItemClick } + }, + [ + _vm.$parent.type === "card" + ? _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.active, + expression: "!active" + } + ], + staticClass: "el-carousel__mask" + }) + : _vm._e(), + _vm._t("default") + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=template&id=1801ae19& + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +var CARD_SCALE = 0.83; +/* harmony default export */ var itemvue_type_script_lang_js_ = ({ + name: 'ElCarouselItem', + + props: { + name: String, + label: { + type: [String, Number], + default: '' + } + }, + + data: function data() { + return { + hover: false, + translate: 0, + scale: 1, + active: false, + ready: false, + inStage: false, + animating: false + }; + }, + + + methods: { + processIndex: function processIndex(index, activeIndex, length) { + if (activeIndex === 0 && index === length - 1) { + return -1; + } else if (activeIndex === length - 1 && index === 0) { + return length; + } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) { + return length + 1; + } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) { + return -2; + } + return index; + }, + calcCardTranslate: function calcCardTranslate(index, activeIndex) { + var parentWidth = this.$parent.$el.offsetWidth; + if (this.inStage) { + return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4; + } else if (index < activeIndex) { + return -(1 + CARD_SCALE) * parentWidth / 4; + } else { + return (3 + CARD_SCALE) * parentWidth / 4; + } + }, + calcTranslate: function calcTranslate(index, activeIndex, isVertical) { + var distance = this.$parent.$el[isVertical ? 'offsetHeight' : 'offsetWidth']; + return distance * (index - activeIndex); + }, + translateItem: function translateItem(index, activeIndex, oldIndex) { + var parentType = this.$parent.type; + var parentDirection = this.parentDirection; + var length = this.$parent.items.length; + if (parentType !== 'card' && oldIndex !== undefined) { + this.animating = index === activeIndex || index === oldIndex; + } + if (index !== activeIndex && length > 2 && this.$parent.loop) { + index = this.processIndex(index, activeIndex, length); + } + if (parentType === 'card') { + if (parentDirection === 'vertical') { + console.warn('[Element Warn][Carousel]vertical direction is not supported in card mode'); + } + this.inStage = Math.round(Math.abs(index - activeIndex)) <= 1; + this.active = index === activeIndex; + this.translate = this.calcCardTranslate(index, activeIndex); + this.scale = this.active ? 1 : CARD_SCALE; + } else { + this.active = index === activeIndex; + var isVertical = parentDirection === 'vertical'; + this.translate = this.calcTranslate(index, activeIndex, isVertical); + this.scale = 1; + } + this.ready = true; + }, + handleItemClick: function handleItemClick() { + var parent = this.$parent; + if (parent && parent.type === 'card') { + var index = parent.items.indexOf(this); + parent.setActiveItem(index); + } + } + }, + + computed: { + parentDirection: function parentDirection() { + return this.$parent.direction; + }, + itemStyle: function itemStyle() { + var translateType = this.parentDirection === 'vertical' ? 'translateY' : 'translateX'; + var value = translateType + '(' + this.translate + 'px) scale(' + this.scale + ')'; + var style = { + transform: value + }; + return Object(util_["autoprefixer"])(style); + } + }, + + created: function created() { + this.$parent && this.$parent.updateItems(); + }, + destroyed: function destroyed() { + this.$parent && this.$parent.updateItems(); + } +}); +// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_itemvue_type_script_lang_js_ = (itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/carousel/src/item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/carousel/src/item.vue" +/* harmony default export */ var item = (component.exports); +// CONCATENATED MODULE: ./packages/carousel-item/index.js + + +/* istanbul ignore next */ +item.install = function (Vue) { + Vue.component(item.name, item); +}; + +/* harmony default export */ var carousel_item = __webpack_exports__["default"] = (item); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/carousel.js b/PAMapp/local_modules/element-ui/lib/carousel.js new file mode 100644 index 0000000..56321a6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/carousel.js @@ -0,0 +1,706 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 111); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 111: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: _vm.carouselClasses, + on: { + mouseenter: function($event) { + $event.stopPropagation() + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + $event.stopPropagation() + return _vm.handleMouseLeave($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-carousel__container", + style: { height: _vm.height } + }, + [ + _vm.arrowDisplay + ? _c("transition", { attrs: { name: "carousel-arrow-left" } }, [ + _c( + "button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + (_vm.arrow === "always" || _vm.hover) && + (_vm.loop || _vm.activeIndex > 0), + expression: + "(arrow === 'always' || hover) && (loop || activeIndex > 0)" + } + ], + staticClass: "el-carousel__arrow el-carousel__arrow--left", + attrs: { type: "button" }, + on: { + mouseenter: function($event) { + _vm.handleButtonEnter("left") + }, + mouseleave: _vm.handleButtonLeave, + click: function($event) { + $event.stopPropagation() + _vm.throttledArrowClick(_vm.activeIndex - 1) + } + } + }, + [_c("i", { staticClass: "el-icon-arrow-left" })] + ) + ]) + : _vm._e(), + _vm.arrowDisplay + ? _c("transition", { attrs: { name: "carousel-arrow-right" } }, [ + _c( + "button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + (_vm.arrow === "always" || _vm.hover) && + (_vm.loop || _vm.activeIndex < _vm.items.length - 1), + expression: + "(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)" + } + ], + staticClass: "el-carousel__arrow el-carousel__arrow--right", + attrs: { type: "button" }, + on: { + mouseenter: function($event) { + _vm.handleButtonEnter("right") + }, + mouseleave: _vm.handleButtonLeave, + click: function($event) { + $event.stopPropagation() + _vm.throttledArrowClick(_vm.activeIndex + 1) + } + } + }, + [_c("i", { staticClass: "el-icon-arrow-right" })] + ) + ]) + : _vm._e(), + _vm._t("default") + ], + 2 + ), + _vm.indicatorPosition !== "none" + ? _c( + "ul", + { class: _vm.indicatorsClasses }, + _vm._l(_vm.items, function(item, index) { + return _c( + "li", + { + key: index, + class: [ + "el-carousel__indicator", + "el-carousel__indicator--" + _vm.direction, + { "is-active": index === _vm.activeIndex } + ], + on: { + mouseenter: function($event) { + _vm.throttledIndicatorHover(index) + }, + click: function($event) { + $event.stopPropagation() + _vm.handleIndicatorClick(index) + } + } + }, + [ + _c("button", { staticClass: "el-carousel__button" }, [ + _vm.hasLabel + ? _c("span", [_vm._v(_vm._s(item.label))]) + : _vm._e() + ]) + ] + ) + }), + 0 + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482& + +// EXTERNAL MODULE: external "throttle-debounce/throttle" +var throttle_ = __webpack_require__(25); +var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElCarousel', + + props: { + initialIndex: { + type: Number, + default: 0 + }, + height: String, + trigger: { + type: String, + default: 'hover' + }, + autoplay: { + type: Boolean, + default: true + }, + interval: { + type: Number, + default: 3000 + }, + indicatorPosition: String, + indicator: { + type: Boolean, + default: true + }, + arrow: { + type: String, + default: 'hover' + }, + type: String, + loop: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'horizontal', + validator: function validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + } + }, + + data: function data() { + return { + items: [], + activeIndex: -1, + containerWidth: 0, + timer: null, + hover: false + }; + }, + + + computed: { + arrowDisplay: function arrowDisplay() { + return this.arrow !== 'never' && this.direction !== 'vertical'; + }, + hasLabel: function hasLabel() { + return this.items.some(function (item) { + return item.label.toString().length > 0; + }); + }, + carouselClasses: function carouselClasses() { + var classes = ['el-carousel', 'el-carousel--' + this.direction]; + if (this.type === 'card') { + classes.push('el-carousel--card'); + } + return classes; + }, + indicatorsClasses: function indicatorsClasses() { + var classes = ['el-carousel__indicators', 'el-carousel__indicators--' + this.direction]; + if (this.hasLabel) { + classes.push('el-carousel__indicators--labels'); + } + if (this.indicatorPosition === 'outside' || this.type === 'card') { + classes.push('el-carousel__indicators--outside'); + } + return classes; + } + }, + + watch: { + items: function items(val) { + if (val.length > 0) this.setActiveItem(this.initialIndex); + }, + activeIndex: function activeIndex(val, oldVal) { + this.resetItemPosition(oldVal); + if (oldVal > -1) { + this.$emit('change', val, oldVal); + } + }, + autoplay: function autoplay(val) { + val ? this.startTimer() : this.pauseTimer(); + }, + loop: function loop() { + this.setActiveItem(this.activeIndex); + }, + interval: function interval() { + this.pauseTimer(); + this.startTimer(); + } + }, + + methods: { + handleMouseEnter: function handleMouseEnter() { + this.hover = true; + this.pauseTimer(); + }, + handleMouseLeave: function handleMouseLeave() { + this.hover = false; + this.startTimer(); + }, + itemInStage: function itemInStage(item, index) { + var length = this.items.length; + if (index === length - 1 && item.inStage && this.items[0].active || item.inStage && this.items[index + 1] && this.items[index + 1].active) { + return 'left'; + } else if (index === 0 && item.inStage && this.items[length - 1].active || item.inStage && this.items[index - 1] && this.items[index - 1].active) { + return 'right'; + } + return false; + }, + handleButtonEnter: function handleButtonEnter(arrow) { + var _this = this; + + if (this.direction === 'vertical') return; + this.items.forEach(function (item, index) { + if (arrow === _this.itemInStage(item, index)) { + item.hover = true; + } + }); + }, + handleButtonLeave: function handleButtonLeave() { + if (this.direction === 'vertical') return; + this.items.forEach(function (item) { + item.hover = false; + }); + }, + updateItems: function updateItems() { + this.items = this.$children.filter(function (child) { + return child.$options.name === 'ElCarouselItem'; + }); + }, + resetItemPosition: function resetItemPosition(oldIndex) { + var _this2 = this; + + this.items.forEach(function (item, index) { + item.translateItem(index, _this2.activeIndex, oldIndex); + }); + }, + playSlides: function playSlides() { + if (this.activeIndex < this.items.length - 1) { + this.activeIndex++; + } else if (this.loop) { + this.activeIndex = 0; + } + }, + pauseTimer: function pauseTimer() { + if (this.timer) { + clearInterval(this.timer); + this.timer = null; + } + }, + startTimer: function startTimer() { + if (this.interval <= 0 || !this.autoplay || this.timer) return; + this.timer = setInterval(this.playSlides, this.interval); + }, + resetTimer: function resetTimer() { + this.pauseTimer(); + this.startTimer(); + }, + setActiveItem: function setActiveItem(index) { + if (typeof index === 'string') { + var filteredItems = this.items.filter(function (item) { + return item.name === index; + }); + if (filteredItems.length > 0) { + index = this.items.indexOf(filteredItems[0]); + } + } + index = Number(index); + if (isNaN(index) || index !== Math.floor(index)) { + console.warn('[Element Warn][Carousel]index must be an integer.'); + return; + } + var length = this.items.length; + var oldIndex = this.activeIndex; + if (index < 0) { + this.activeIndex = this.loop ? length - 1 : 0; + } else if (index >= length) { + this.activeIndex = this.loop ? 0 : length - 1; + } else { + this.activeIndex = index; + } + if (oldIndex === this.activeIndex) { + this.resetItemPosition(oldIndex); + } + this.resetTimer(); + }, + prev: function prev() { + this.setActiveItem(this.activeIndex - 1); + }, + next: function next() { + this.setActiveItem(this.activeIndex + 1); + }, + handleIndicatorClick: function handleIndicatorClick(index) { + this.activeIndex = index; + }, + handleIndicatorHover: function handleIndicatorHover(index) { + if (this.trigger === 'hover' && index !== this.activeIndex) { + this.activeIndex = index; + } + } + }, + + created: function created() { + var _this3 = this; + + this.throttledArrowClick = throttle_default()(300, true, function (index) { + _this3.setActiveItem(index); + }); + this.throttledIndicatorHover = throttle_default()(300, function (index) { + _this3.handleIndicatorHover(index); + }); + }, + mounted: function mounted() { + var _this4 = this; + + this.updateItems(); + this.$nextTick(function () { + Object(resize_event_["addResizeListener"])(_this4.$el, _this4.resetItemPosition); + if (_this4.initialIndex < _this4.items.length && _this4.initialIndex >= 0) { + _this4.activeIndex = _this4.initialIndex; + } + _this4.startTimer(); + }); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el) Object(resize_event_["removeResizeListener"])(this.$el, this.resetItemPosition); + this.pauseTimer(); + } +}); +// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/carousel/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/carousel/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/carousel/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var carousel = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 16: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), + +/***/ 25: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/throttle"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/cascader-panel.js b/PAMapp/local_modules/element-ui/lib/cascader-panel.js new file mode 100644 index 0000000..f940fb6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/cascader-panel.js @@ -0,0 +1,1563 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 61); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 18: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), + +/***/ 21: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/shared"); + +/***/ }), + +/***/ 26: +/***/ (function(module, exports) { + +module.exports = require("babel-helper-vue-jsx-merge-props"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 31: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scroll-into-view"); + +/***/ }), + +/***/ 41: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/aria-utils"); + +/***/ }), + +/***/ 52: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/radio"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 61: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346& +var cascader_panelvue_type_template_id_34932346_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: ["el-cascader-panel", _vm.border && "is-bordered"], + on: { keydown: _vm.handleKeyDown } + }, + _vm._l(_vm.menus, function(menu, index) { + return _c("cascader-menu", { + key: index, + ref: "menu", + refInFor: true, + attrs: { index: index, nodes: menu } + }) + }), + 1 + ) +} +var staticRenderFns = [] +cascader_panelvue_type_template_id_34932346_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346& + +// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props" +var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26); +var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(18); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// EXTERNAL MODULE: external "element-ui/lib/radio" +var radio_ = __webpack_require__(52); +var radio_default = /*#__PURE__*/__webpack_require__.n(radio_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js& + + + + + + +var stopPropagation = function stopPropagation(e) { + return e.stopPropagation(); +}; + +/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({ + inject: ['panel'], + + components: { + ElCheckbox: checkbox_default.a, + ElRadio: radio_default.a + }, + + props: { + node: { + required: true + }, + nodeId: String + }, + + computed: { + config: function config() { + return this.panel.config; + }, + isLeaf: function isLeaf() { + return this.node.isLeaf; + }, + isDisabled: function isDisabled() { + return this.node.isDisabled; + }, + checkedValue: function checkedValue() { + return this.panel.checkedValue; + }, + isChecked: function isChecked() { + return this.node.isSameNode(this.checkedValue); + }, + inActivePath: function inActivePath() { + return this.isInPath(this.panel.activePath); + }, + inCheckedPath: function inCheckedPath() { + var _this = this; + + if (!this.config.checkStrictly) return false; + + return this.panel.checkedNodePaths.some(function (checkedPath) { + return _this.isInPath(checkedPath); + }); + }, + value: function value() { + return this.node.getValueByOption(); + } + }, + + methods: { + handleExpand: function handleExpand() { + var _this2 = this; + + var panel = this.panel, + node = this.node, + isDisabled = this.isDisabled, + config = this.config; + var multiple = config.multiple, + checkStrictly = config.checkStrictly; + + + if (!checkStrictly && isDisabled || node.loading) return; + + if (config.lazy && !node.loaded) { + panel.lazyLoad(node, function () { + // do not use cached leaf value here, invoke this.isLeaf to get new value. + var isLeaf = _this2.isLeaf; + + + if (!isLeaf) _this2.handleExpand(); + if (multiple) { + // if leaf sync checked state, else clear checked state + var checked = isLeaf ? node.checked : false; + _this2.handleMultiCheckChange(checked); + } + }); + } else { + panel.handleExpand(node); + } + }, + handleCheckChange: function handleCheckChange() { + var panel = this.panel, + value = this.value, + node = this.node; + + panel.handleCheckChange(value); + panel.handleExpand(node); + }, + handleMultiCheckChange: function handleMultiCheckChange(checked) { + this.node.doCheck(checked); + this.panel.calculateMultiCheckedValue(); + }, + isInPath: function isInPath(pathNodes) { + var node = this.node; + + var selectedPathNode = pathNodes[node.level - 1] || {}; + return selectedPathNode.uid === node.uid; + }, + renderPrefix: function renderPrefix(h) { + var isLeaf = this.isLeaf, + isChecked = this.isChecked, + config = this.config; + var checkStrictly = config.checkStrictly, + multiple = config.multiple; + + + if (multiple) { + return this.renderCheckbox(h); + } else if (checkStrictly) { + return this.renderRadio(h); + } else if (isLeaf && isChecked) { + return this.renderCheckIcon(h); + } + + return null; + }, + renderPostfix: function renderPostfix(h) { + var node = this.node, + isLeaf = this.isLeaf; + + + if (node.loading) { + return this.renderLoadingIcon(h); + } else if (!isLeaf) { + return this.renderExpandIcon(h); + } + + return null; + }, + renderCheckbox: function renderCheckbox(h) { + var node = this.node, + config = this.config, + isDisabled = this.isDisabled; + + var events = { + on: { change: this.handleMultiCheckChange }, + nativeOn: {} + }; + + if (config.checkStrictly) { + // when every node is selectable, click event should not trigger expand event. + events.nativeOn.click = stopPropagation; + } + + return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + value: node.checked, + indeterminate: node.indeterminate, + disabled: isDisabled + } + }, events])); + }, + renderRadio: function renderRadio(h) { + var checkedValue = this.checkedValue, + value = this.value, + isDisabled = this.isDisabled; + + // to keep same reference if value cause radio's checked state is calculated by reference comparision; + + if (Object(util_["isEqual"])(value, checkedValue)) { + value = checkedValue; + } + + return h( + 'el-radio', + { + attrs: { + value: checkedValue, + label: value, + disabled: isDisabled + }, + on: { + 'change': this.handleCheckChange + }, + nativeOn: { + 'click': stopPropagation + } + }, + [h('span')] + ); + }, + renderCheckIcon: function renderCheckIcon(h) { + return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' }); + }, + renderLoadingIcon: function renderLoadingIcon(h) { + return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' }); + }, + renderExpandIcon: function renderExpandIcon(h) { + return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' }); + }, + renderContent: function renderContent(h) { + var panel = this.panel, + node = this.node; + + var render = panel.renderLabelFn; + var vnode = render ? render({ node: node, data: node.data }) : null; + + return h( + 'span', + { 'class': 'el-cascader-node__label' }, + [vnode || node.label] + ); + } + }, + + render: function render(h) { + var _this3 = this; + + var inActivePath = this.inActivePath, + inCheckedPath = this.inCheckedPath, + isChecked = this.isChecked, + isLeaf = this.isLeaf, + isDisabled = this.isDisabled, + config = this.config, + nodeId = this.nodeId; + var expandTrigger = config.expandTrigger, + checkStrictly = config.checkStrictly, + multiple = config.multiple; + + var disabled = !checkStrictly && isDisabled; + var events = { on: {} }; + + if (expandTrigger === 'click') { + events.on.click = this.handleExpand; + } else { + events.on.mouseenter = function (e) { + _this3.handleExpand(); + _this3.$emit('expand', e); + }; + events.on.focus = function (e) { + _this3.handleExpand(); + _this3.$emit('expand', e); + }; + } + if (isLeaf && !isDisabled && !checkStrictly && !multiple) { + events.on.click = this.handleCheckChange; + } + + return h( + 'li', + external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + role: 'menuitem', + id: nodeId, + 'aria-expanded': inActivePath, + tabindex: disabled ? null : -1 + }, + 'class': { + 'el-cascader-node': true, + 'is-selectable': checkStrictly, + 'in-active-path': inActivePath, + 'in-checked-path': inCheckedPath, + 'is-active': isChecked, + 'is-disabled': disabled + } + }, events]), + [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)] + ); + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue +var cascader_node_render, cascader_node_staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_cascader_nodevue_type_script_lang_js_, + cascader_node_render, + cascader_node_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/cascader-panel/src/cascader-node.vue" +/* harmony default export */ var cascader_node = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js& + + + + + + + +/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({ + name: 'ElCascaderMenu', + + mixins: [locale_default.a], + + inject: ['panel'], + + components: { + ElScrollbar: scrollbar_default.a, + CascaderNode: cascader_node + }, + + props: { + nodes: { + type: Array, + required: true + }, + index: Number + }, + + data: function data() { + return { + activeNode: null, + hoverTimer: null, + id: Object(util_["generateId"])() + }; + }, + + + computed: { + isEmpty: function isEmpty() { + return !this.nodes.length; + }, + menuId: function menuId() { + return 'cascader-menu-' + this.id + '-' + this.index; + } + }, + + methods: { + handleExpand: function handleExpand(e) { + this.activeNode = e.target; + }, + handleMouseMove: function handleMouseMove(e) { + var activeNode = this.activeNode, + hoverTimer = this.hoverTimer; + var hoverZone = this.$refs.hoverZone; + + + if (!activeNode || !hoverZone) return; + + if (activeNode.contains(e.target)) { + clearTimeout(hoverTimer); + + var _$el$getBoundingClien = this.$el.getBoundingClientRect(), + left = _$el$getBoundingClien.left; + + var startX = e.clientX - left; + var _$el = this.$el, + offsetWidth = _$el.offsetWidth, + offsetHeight = _$el.offsetHeight; + + var top = activeNode.offsetTop; + var bottom = top + activeNode.offsetHeight; + + hoverZone.innerHTML = '\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + top + ' L' + offsetWidth + ' 0 V' + top + ' Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + bottom + ' L' + offsetWidth + ' ' + offsetHeight + ' V' + bottom + ' Z" />\n '; + } else if (!hoverTimer) { + this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold); + } + }, + clearHoverZone: function clearHoverZone() { + var hoverZone = this.$refs.hoverZone; + + if (!hoverZone) return; + hoverZone.innerHTML = ''; + }, + renderEmptyText: function renderEmptyText(h) { + return h( + 'div', + { 'class': 'el-cascader-menu__empty-text' }, + [this.t('el.cascader.noData')] + ); + }, + renderNodeList: function renderNodeList(h) { + var menuId = this.menuId; + var isHoverMenu = this.panel.isHoverMenu; + + var events = { on: {} }; + + if (isHoverMenu) { + events.on.expand = this.handleExpand; + } + + var nodes = this.nodes.map(function (node, index) { + var hasChildren = node.hasChildren; + + return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{ + key: node.uid, + attrs: { node: node, + 'node-id': menuId + '-' + index, + 'aria-haspopup': hasChildren, + 'aria-owns': hasChildren ? menuId : null + } + }, events])); + }); + + return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]); + } + }, + + render: function render(h) { + var isEmpty = this.isEmpty, + menuId = this.menuId; + + var events = { nativeOn: {} }; + + // optimize hover to expand experience (#8010) + if (this.panel.isHoverMenu) { + events.nativeOn.mousemove = this.handleMouseMove; + // events.nativeOn.mouseleave = this.clearHoverZone; + } + + return h( + 'el-scrollbar', + external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + tag: 'ul', + role: 'menu', + id: menuId, + + 'wrap-class': 'el-cascader-menu__wrap', + 'view-class': { + 'el-cascader-menu__list': true, + 'is-empty': isEmpty + } + }, + 'class': 'el-cascader-menu' }, events]), + [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)] + ); + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue +var cascader_menu_render, cascader_menu_staticRenderFns + + + + +/* normalize component */ + +var cascader_menu_component = Object(componentNormalizer["a" /* default */])( + src_cascader_menuvue_type_script_lang_js_, + cascader_menu_render, + cascader_menu_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_menu_api; } +cascader_menu_component.options.__file = "packages/cascader-panel/src/cascader-menu.vue" +/* harmony default export */ var cascader_menu = (cascader_menu_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/shared" +var shared_ = __webpack_require__(21); + +// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var uid = 0; + +var node_Node = function () { + function Node(data, config, parentNode) { + _classCallCheck(this, Node); + + this.data = data; + this.config = config; + this.parent = parentNode || null; + this.level = !this.parent ? 1 : this.parent.level + 1; + this.uid = uid++; + + this.initState(); + this.initChildren(); + } + + Node.prototype.initState = function initState() { + var _config = this.config, + valueKey = _config.value, + labelKey = _config.label; + + + this.value = this.data[valueKey]; + this.label = this.data[labelKey]; + this.pathNodes = this.calculatePathNodes(); + this.path = this.pathNodes.map(function (node) { + return node.value; + }); + this.pathLabels = this.pathNodes.map(function (node) { + return node.label; + }); + + // lazy load + this.loading = false; + this.loaded = false; + }; + + Node.prototype.initChildren = function initChildren() { + var _this = this; + + var config = this.config; + + var childrenKey = config.children; + var childrenData = this.data[childrenKey]; + this.hasChildren = Array.isArray(childrenData); + this.children = (childrenData || []).map(function (child) { + return new Node(child, config, _this); + }); + }; + + Node.prototype.calculatePathNodes = function calculatePathNodes() { + var nodes = [this]; + var parent = this.parent; + + while (parent) { + nodes.unshift(parent); + parent = parent.parent; + } + + return nodes; + }; + + Node.prototype.getPath = function getPath() { + return this.path; + }; + + Node.prototype.getValue = function getValue() { + return this.value; + }; + + Node.prototype.getValueByOption = function getValueByOption() { + return this.config.emitPath ? this.getPath() : this.getValue(); + }; + + Node.prototype.getText = function getText(allLevels, separator) { + return allLevels ? this.pathLabels.join(separator) : this.label; + }; + + Node.prototype.isSameNode = function isSameNode(checkedValue) { + var value = this.getValueByOption(); + return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) { + return Object(util_["isEqual"])(val, value); + }) : Object(util_["isEqual"])(checkedValue, value); + }; + + Node.prototype.broadcast = function broadcast(event) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var handlerName = 'onParent' + Object(util_["capitalize"])(event); + + this.children.forEach(function (child) { + if (child) { + // bottom up + child.broadcast.apply(child, [event].concat(args)); + child[handlerName] && child[handlerName].apply(child, args); + } + }); + }; + + Node.prototype.emit = function emit(event) { + var parent = this.parent; + + var handlerName = 'onChild' + Object(util_["capitalize"])(event); + if (parent) { + for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + parent[handlerName] && parent[handlerName].apply(parent, args); + parent.emit.apply(parent, [event].concat(args)); + } + }; + + Node.prototype.onParentCheck = function onParentCheck(checked) { + if (!this.isDisabled) { + this.setCheckState(checked); + } + }; + + Node.prototype.onChildCheck = function onChildCheck() { + var children = this.children; + + var validChildren = children.filter(function (child) { + return !child.isDisabled; + }); + var checked = validChildren.length ? validChildren.every(function (child) { + return child.checked; + }) : false; + + this.setCheckState(checked); + }; + + Node.prototype.setCheckState = function setCheckState(checked) { + var totalNum = this.children.length; + var checkedNum = this.children.reduce(function (c, p) { + var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0; + return c + num; + }, 0); + + this.checked = checked; + this.indeterminate = checkedNum !== totalNum && checkedNum > 0; + }; + + Node.prototype.syncCheckState = function syncCheckState(checkedValue) { + var value = this.getValueByOption(); + var checked = this.isSameNode(checkedValue, value); + + this.doCheck(checked); + }; + + Node.prototype.doCheck = function doCheck(checked) { + if (this.checked !== checked) { + if (this.config.checkStrictly) { + this.checked = checked; + } else { + // bottom up to unify the calculation of the indeterminate state + this.broadcast('check', checked); + this.setCheckState(checked); + this.emit('check'); + } + } + }; + + _createClass(Node, [{ + key: 'isDisabled', + get: function get() { + var data = this.data, + parent = this.parent, + config = this.config; + + var disabledKey = config.disabled; + var checkStrictly = config.checkStrictly; + + return data[disabledKey] || !checkStrictly && parent && parent.isDisabled; + } + }, { + key: 'isLeaf', + get: function get() { + var data = this.data, + loaded = this.loaded, + hasChildren = this.hasChildren, + children = this.children; + var _config2 = this.config, + lazy = _config2.lazy, + leafKey = _config2.leaf; + + if (lazy) { + var isLeaf = Object(shared_["isDef"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false; + this.hasChildren = !isLeaf; + return isLeaf; + } + return !hasChildren; + } + }]); + + return Node; +}(); + +/* harmony default export */ var src_node = (node_Node); +// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js +function store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var flatNodes = function flatNodes(data, leafOnly) { + return data.reduce(function (res, node) { + if (node.isLeaf) { + res.push(node); + } else { + !leafOnly && res.push(node); + res = res.concat(flatNodes(node.children, leafOnly)); + } + return res; + }, []); +}; + +var store_Store = function () { + function Store(data, config) { + store_classCallCheck(this, Store); + + this.config = config; + this.initNodes(data); + } + + Store.prototype.initNodes = function initNodes(data) { + var _this = this; + + data = Object(util_["coerceTruthyValueToArray"])(data); + this.nodes = data.map(function (nodeData) { + return new src_node(nodeData, _this.config); + }); + this.flattedNodes = this.getFlattedNodes(false, false); + this.leafNodes = this.getFlattedNodes(true, false); + }; + + Store.prototype.appendNode = function appendNode(nodeData, parentNode) { + var node = new src_node(nodeData, this.config, parentNode); + var children = parentNode ? parentNode.children : this.nodes; + + children.push(node); + }; + + Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) { + var _this2 = this; + + nodeDataList = Object(util_["coerceTruthyValueToArray"])(nodeDataList); + nodeDataList.forEach(function (nodeData) { + return _this2.appendNode(nodeData, parentNode); + }); + }; + + Store.prototype.getNodes = function getNodes() { + return this.nodes; + }; + + Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) { + var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes; + return cached ? cachedNodes : flatNodes(this.nodes, leafOnly); + }; + + Store.prototype.getNodeByValue = function getNodeByValue(value) { + var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) { + return Object(util_["valueEquals"])(node.path, value) || node.value === value; + }); + return nodes && nodes.length ? nodes[0] : null; + }; + + return Store; +}(); + +/* harmony default export */ var src_store = (store_Store); +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/aria-utils" +var aria_utils_ = __webpack_require__(41); +var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view" +var scroll_into_view_ = __webpack_require__(31); +var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js& +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var KeyCode = aria_utils_default.a.keys; + +var DefaultProps = { + expandTrigger: 'click', // or hover + multiple: false, + checkStrictly: false, // whether all nodes can be selected + emitPath: true, // wether to emit an array of all levels value in which node is located + lazy: false, + lazyLoad: util_["noop"], + value: 'value', + label: 'label', + children: 'children', + leaf: 'leaf', + disabled: 'disabled', + hoverThreshold: 500 +}; + +var cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) { + return !el.getAttribute('aria-owns'); +}; + +var getSibling = function getSibling(el, distance) { + var parentNode = el.parentNode; + + if (parentNode) { + var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex="-1"]'); + var index = Array.prototype.indexOf.call(siblings, el); + return siblings[index + distance] || null; + } + return null; +}; + +var getMenuIndex = function getMenuIndex(el, distance) { + if (!el) return; + var pieces = el.id.split('-'); + return Number(pieces[pieces.length - 2]); +}; + +var focusNode = function focusNode(el) { + if (!el) return; + el.focus(); + !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click(); +}; + +var checkNode = function checkNode(el) { + if (!el) return; + + var input = el.querySelector('input'); + if (input) { + input.click(); + } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) { + el.click(); + } +}; + +/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({ + name: 'ElCascaderPanel', + + components: { + CascaderMenu: cascader_menu + }, + + props: { + value: {}, + options: Array, + props: Object, + border: { + type: Boolean, + default: true + }, + renderLabel: Function + }, + + provide: function provide() { + return { + panel: this + }; + }, + data: function data() { + return { + checkedValue: null, + checkedNodePaths: [], + store: [], + menus: [], + activePath: [], + loadCount: 0 + }; + }, + + + computed: { + config: function config() { + return merge_default()(_extends({}, DefaultProps), this.props || {}); + }, + multiple: function multiple() { + return this.config.multiple; + }, + checkStrictly: function checkStrictly() { + return this.config.checkStrictly; + }, + leafOnly: function leafOnly() { + return !this.checkStrictly; + }, + isHoverMenu: function isHoverMenu() { + return this.config.expandTrigger === 'hover'; + }, + renderLabelFn: function renderLabelFn() { + return this.renderLabel || this.$scopedSlots.default; + } + }, + + watch: { + value: function value() { + this.syncCheckedValue(); + this.checkStrictly && this.calculateCheckedNodePaths(); + }, + + options: { + handler: function handler() { + this.initStore(); + }, + immediate: true, + deep: true + }, + checkedValue: function checkedValue(val) { + if (!Object(util_["isEqual"])(val, this.value)) { + this.checkStrictly && this.calculateCheckedNodePaths(); + this.$emit('input', val); + this.$emit('change', val); + } + } + }, + + mounted: function mounted() { + if (!this.isEmptyValue(this.value)) { + this.syncCheckedValue(); + } + }, + + + methods: { + initStore: function initStore() { + var config = this.config, + options = this.options; + + if (config.lazy && Object(util_["isEmpty"])(options)) { + this.lazyLoad(); + } else { + this.store = new src_store(options, config); + this.menus = [this.store.getNodes()]; + this.syncMenuState(); + } + }, + syncCheckedValue: function syncCheckedValue() { + var value = this.value, + checkedValue = this.checkedValue; + + if (!Object(util_["isEqual"])(value, checkedValue)) { + this.activePath = []; + this.checkedValue = value; + this.syncMenuState(); + } + }, + syncMenuState: function syncMenuState() { + var multiple = this.multiple, + checkStrictly = this.checkStrictly; + + this.syncActivePath(); + multiple && this.syncMultiCheckState(); + checkStrictly && this.calculateCheckedNodePaths(); + this.$nextTick(this.scrollIntoView); + }, + syncMultiCheckState: function syncMultiCheckState() { + var _this = this; + + var nodes = this.getFlattedNodes(this.leafOnly); + + nodes.forEach(function (node) { + node.syncCheckState(_this.checkedValue); + }); + }, + isEmptyValue: function isEmptyValue(val) { + var multiple = this.multiple, + config = this.config; + var emitPath = config.emitPath; + + if (multiple || emitPath) { + return Object(util_["isEmpty"])(val); + } + return false; + }, + syncActivePath: function syncActivePath() { + var _this2 = this; + + var store = this.store, + multiple = this.multiple, + activePath = this.activePath, + checkedValue = this.checkedValue; + + + if (!Object(util_["isEmpty"])(activePath)) { + var nodes = activePath.map(function (node) { + return _this2.getNodeByValue(node.getValue()); + }); + this.expandNodes(nodes); + } else if (!this.isEmptyValue(checkedValue)) { + var value = multiple ? checkedValue[0] : checkedValue; + var checkedNode = this.getNodeByValue(value) || {}; + var _nodes = (checkedNode.pathNodes || []).slice(0, -1); + this.expandNodes(_nodes); + } else { + this.activePath = []; + this.menus = [store.getNodes()]; + } + }, + expandNodes: function expandNodes(nodes) { + var _this3 = this; + + nodes.forEach(function (node) { + return _this3.handleExpand(node, true /* silent */); + }); + }, + calculateCheckedNodePaths: function calculateCheckedNodePaths() { + var _this4 = this; + + var checkedValue = this.checkedValue, + multiple = this.multiple; + + var checkedValues = multiple ? Object(util_["coerceTruthyValueToArray"])(checkedValue) : [checkedValue]; + this.checkedNodePaths = checkedValues.map(function (v) { + var checkedNode = _this4.getNodeByValue(v); + return checkedNode ? checkedNode.pathNodes : []; + }); + }, + handleKeyDown: function handleKeyDown(e) { + var target = e.target, + keyCode = e.keyCode; + + + switch (keyCode) { + case KeyCode.up: + var prev = getSibling(target, -1); + focusNode(prev); + break; + case KeyCode.down: + var next = getSibling(target, 1); + focusNode(next); + break; + case KeyCode.left: + var preMenu = this.$refs.menu[getMenuIndex(target) - 1]; + if (preMenu) { + var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]'); + focusNode(expandedNode); + } + break; + case KeyCode.right: + var nextMenu = this.$refs.menu[getMenuIndex(target) + 1]; + if (nextMenu) { + var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]'); + focusNode(firstNode); + } + break; + case KeyCode.enter: + checkNode(target); + break; + case KeyCode.esc: + case KeyCode.tab: + this.$emit('close'); + break; + default: + return; + } + }, + handleExpand: function handleExpand(node, silent) { + var activePath = this.activePath; + var level = node.level; + + var path = activePath.slice(0, level - 1); + var menus = this.menus.slice(0, level); + + if (!node.isLeaf) { + path.push(node); + menus.push(node.children); + } + + this.activePath = path; + this.menus = menus; + + if (!silent) { + var pathValues = path.map(function (node) { + return node.getValue(); + }); + var activePathValues = activePath.map(function (node) { + return node.getValue(); + }); + if (!Object(util_["valueEquals"])(pathValues, activePathValues)) { + this.$emit('active-item-change', pathValues); // Deprecated + this.$emit('expand-change', pathValues); + } + } + }, + handleCheckChange: function handleCheckChange(value) { + this.checkedValue = value; + }, + lazyLoad: function lazyLoad(node, onFullfiled) { + var _this5 = this; + + var config = this.config; + + if (!node) { + node = node || { root: true, level: 0 }; + this.store = new src_store([], config); + this.menus = [this.store.getNodes()]; + } + node.loading = true; + var resolve = function resolve(dataList) { + var parent = node.root ? null : node; + dataList && dataList.length && _this5.store.appendNodes(dataList, parent); + node.loading = false; + node.loaded = true; + + // dispose default value on lazy load mode + if (Array.isArray(_this5.checkedValue)) { + var nodeValue = _this5.checkedValue[_this5.loadCount++]; + var valueKey = _this5.config.value; + var leafKey = _this5.config.leaf; + + if (Array.isArray(dataList) && dataList.filter(function (item) { + return item[valueKey] === nodeValue; + }).length > 0) { + var checkedNode = _this5.store.getNodeByValue(nodeValue); + + if (!checkedNode.data[leafKey]) { + _this5.lazyLoad(checkedNode, function () { + _this5.handleExpand(checkedNode); + }); + } + + if (_this5.loadCount === _this5.checkedValue.length) { + _this5.$parent.computePresentText(); + } + } + } + + onFullfiled && onFullfiled(dataList); + }; + config.lazyLoad(node, resolve); + }, + + + /** + * public methods + */ + calculateMultiCheckedValue: function calculateMultiCheckedValue() { + this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) { + return node.getValueByOption(); + }); + }, + scrollIntoView: function scrollIntoView() { + if (this.$isServer) return; + + var menus = this.$refs.menu || []; + menus.forEach(function (menu) { + var menuElement = menu.$el; + if (menuElement) { + var container = menuElement.querySelector('.el-scrollbar__wrap'); + var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path'); + scroll_into_view_default()(container, activeNode); + } + }); + }, + getNodeByValue: function getNodeByValue(val) { + return this.store.getNodeByValue(val); + }, + getFlattedNodes: function getFlattedNodes(leafOnly) { + var cached = !this.config.lazy; + return this.store.getFlattedNodes(leafOnly, cached); + }, + getCheckedNodes: function getCheckedNodes(leafOnly) { + var checkedValue = this.checkedValue, + multiple = this.multiple; + + if (multiple) { + var nodes = this.getFlattedNodes(leafOnly); + return nodes.filter(function (node) { + return node.checked; + }); + } else { + return this.isEmptyValue(checkedValue) ? [] : [this.getNodeByValue(checkedValue)]; + } + }, + clearCheckedNodes: function clearCheckedNodes() { + var config = this.config, + leafOnly = this.leafOnly; + var multiple = config.multiple, + emitPath = config.emitPath; + + if (multiple) { + this.getCheckedNodes(leafOnly).filter(function (node) { + return !node.isDisabled; + }).forEach(function (node) { + return node.doCheck(false); + }); + this.calculateMultiCheckedValue(); + } else { + this.checkedValue = emitPath ? [] : null; + } + } + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue + + + + + +/* normalize component */ + +var cascader_panel_component = Object(componentNormalizer["a" /* default */])( + src_cascader_panelvue_type_script_lang_js_, + cascader_panelvue_type_template_id_34932346_render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_panel_api; } +cascader_panel_component.options.__file = "packages/cascader-panel/src/cascader-panel.vue" +/* harmony default export */ var cascader_panel = (cascader_panel_component.exports); +// CONCATENATED MODULE: ./packages/cascader-panel/index.js + + +/* istanbul ignore next */ +cascader_panel.install = function (Vue) { + Vue.component(cascader_panel.name, cascader_panel); +}; + +/* harmony default export */ var packages_cascader_panel = __webpack_exports__["default"] = (cascader_panel); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/cascader.js b/PAMapp/local_modules/element-ui/lib/cascader.js new file mode 100644 index 0000000..0bdccb2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/cascader.js @@ -0,0 +1,1436 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 115); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 115: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: function() { + return _vm.toggleDropDownVisible(false) + }, + expression: "() => toggleDropDownVisible(false)" + } + ], + ref: "reference", + class: [ + "el-cascader", + _vm.realSize && "el-cascader--" + _vm.realSize, + { "is-disabled": _vm.isDisabled } + ], + on: { + mouseenter: function($event) { + _vm.inputHover = true + }, + mouseleave: function($event) { + _vm.inputHover = false + }, + click: function() { + return _vm.toggleDropDownVisible(_vm.readonly ? undefined : true) + }, + keydown: _vm.handleKeyDown + } + }, + [ + _c( + "el-input", + { + ref: "input", + class: { "is-focus": _vm.dropDownVisible }, + attrs: { + size: _vm.realSize, + placeholder: _vm.placeholder, + readonly: _vm.readonly, + disabled: _vm.isDisabled, + "validate-event": false + }, + on: { + focus: _vm.handleFocus, + blur: _vm.handleBlur, + input: _vm.handleInput + }, + model: { + value: _vm.multiple ? _vm.presentText : _vm.inputValue, + callback: function($$v) { + _vm.multiple ? _vm.presentText : (_vm.inputValue = $$v) + }, + expression: "multiple ? presentText : inputValue" + } + }, + [ + _c("template", { slot: "suffix" }, [ + _vm.clearBtnVisible + ? _c("i", { + key: "clear", + staticClass: "el-input__icon el-icon-circle-close", + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClear($event) + } + } + }) + : _c("i", { + key: "arrow-down", + class: [ + "el-input__icon", + "el-icon-arrow-down", + _vm.dropDownVisible && "is-reverse" + ], + on: { + click: function($event) { + $event.stopPropagation() + _vm.toggleDropDownVisible() + } + } + }) + ]) + ], + 2 + ), + _vm.multiple + ? _c( + "div", + { staticClass: "el-cascader__tags" }, + [ + _vm._l(_vm.presentTags, function(tag) { + return _c( + "el-tag", + { + key: tag.key, + attrs: { + type: "info", + size: _vm.tagSize, + hit: tag.hitState, + closable: tag.closable, + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag(tag) + } + } + }, + [_c("span", [_vm._v(_vm._s(tag.text))])] + ) + }), + _vm.filterable && !_vm.isDisabled + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.inputValue, + expression: "inputValue", + modifiers: { trim: true } + } + ], + staticClass: "el-cascader__search-input", + attrs: { + type: "text", + placeholder: _vm.presentTags.length ? "" : _vm.placeholder + }, + domProps: { value: _vm.inputValue }, + on: { + input: [ + function($event) { + if ($event.target.composing) { + return + } + _vm.inputValue = $event.target.value.trim() + }, + function(e) { + return _vm.handleInput(_vm.inputValue, e) + } + ], + click: function($event) { + $event.stopPropagation() + _vm.toggleDropDownVisible(true) + }, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "delete", + [8, 46], + $event.key, + ["Backspace", "Delete", "Del"] + ) + ) { + return null + } + return _vm.handleDelete($event) + }, + blur: function($event) { + _vm.$forceUpdate() + } + } + }) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { "after-leave": _vm.handleDropdownLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.dropDownVisible, + expression: "dropDownVisible" + } + ], + ref: "popper", + class: ["el-popper", "el-cascader__dropdown", _vm.popperClass] + }, + [ + _c("el-cascader-panel", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.filtering, + expression: "!filtering" + } + ], + ref: "panel", + attrs: { + options: _vm.options, + props: _vm.config, + border: false, + "render-label": _vm.$scopedSlots.default + }, + on: { + "expand-change": _vm.handleExpandChange, + close: function($event) { + _vm.toggleDropDownVisible(false) + } + }, + model: { + value: _vm.checkedValue, + callback: function($$v) { + _vm.checkedValue = $$v + }, + expression: "checkedValue" + } + }), + _vm.filterable + ? _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.filtering, + expression: "filtering" + } + ], + ref: "suggestionPanel", + staticClass: "el-cascader__suggestion-panel", + attrs: { + tag: "ul", + "view-class": "el-cascader__suggestion-list" + }, + nativeOn: { + keydown: function($event) { + return _vm.handleSuggestionKeyDown($event) + } + } + }, + [ + _vm.suggestions.length + ? _vm._l(_vm.suggestions, function(item, index) { + return _c( + "li", + { + key: item.uid, + class: [ + "el-cascader__suggestion-item", + item.checked && "is-checked" + ], + attrs: { tabindex: -1 }, + on: { + click: function($event) { + _vm.handleSuggestionClick(index) + } + } + }, + [ + _c("span", [_vm._v(_vm._s(item.text))]), + item.checked + ? _c("i", { staticClass: "el-icon-check" }) + : _vm._e() + ] + ) + }) + : _vm._t("empty", [ + _c( + "li", + { staticClass: "el-cascader__empty-text" }, + [_vm._v(_vm._s(_vm.t("el.cascader.noMatch")))] + ) + ]) + ], + 2 + ) + : _vm._e() + ], + 1 + ) + ] + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/tag" +var tag_ = __webpack_require__(38); +var tag_default = /*#__PURE__*/__webpack_require__.n(tag_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: external "element-ui/lib/cascader-panel" +var cascader_panel_ = __webpack_require__(51); +var cascader_panel_default = /*#__PURE__*/__webpack_require__.n(cascader_panel_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/aria-utils" +var aria_utils_ = __webpack_require__(41); +var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_); + +// EXTERNAL MODULE: external "element-ui/lib/locale" +var lib_locale_ = __webpack_require__(20); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// EXTERNAL MODULE: external "element-ui/lib/utils/shared" +var shared_ = __webpack_require__(21); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + + + + + +var KeyCode = aria_utils_default.a.keys; + +var MigratingProps = { + expandTrigger: { + newProp: 'expandTrigger', + type: String + }, + changeOnSelect: { + newProp: 'checkStrictly', + type: Boolean + }, + hoverThreshold: { + newProp: 'hoverThreshold', + type: Number + } +}; + +var PopperMixin = { + props: { + placement: { + type: String, + default: 'bottom-start' + }, + appendToBody: vue_popper_default.a.props.appendToBody, + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: vue_popper_default.a.props.arrowOffset, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + popperOptions: vue_popper_default.a.props.popperOptions, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: vue_popper_default.a.data, + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var InputSizeMap = { + medium: 36, + small: 32, + mini: 28 +}; + +/* harmony default export */ var cascadervue_type_script_lang_js_ = ({ + name: 'ElCascader', + + directives: { Clickoutside: clickoutside_default.a }, + + mixins: [PopperMixin, emitter_default.a, locale_default.a, migrating_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + components: { + ElInput: input_default.a, + ElTag: tag_default.a, + ElScrollbar: scrollbar_default.a, + ElCascaderPanel: cascader_panel_default.a + }, + + props: { + value: {}, + options: Array, + props: Object, + size: String, + placeholder: { + type: String, + default: function _default() { + return Object(lib_locale_["t"])('el.cascader.placeholder'); + } + }, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + filterMethod: Function, + separator: { + type: String, + default: ' / ' + }, + showAllLevels: { + type: Boolean, + default: true + }, + collapseTags: Boolean, + debounce: { + type: Number, + default: 300 + }, + beforeFilter: { + type: Function, + default: function _default() { + return function () {}; + } + }, + popperClass: String + }, + + data: function data() { + return { + dropDownVisible: false, + checkedValue: this.value, + inputHover: false, + inputValue: null, + presentText: null, + presentTags: [], + checkedNodes: [], + filtering: false, + suggestions: [], + inputInitialHeight: 0, + pressDeleteCount: 0 + }; + }, + + + computed: { + realSize: function realSize() { + var _elFormItemSize = (this.elFormItem || {}).elFormItemSize; + return this.size || _elFormItemSize || (this.$ELEMENT || {}).size; + }, + tagSize: function tagSize() { + return ['small', 'mini'].indexOf(this.realSize) > -1 ? 'mini' : 'small'; + }, + isDisabled: function isDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + config: function config() { + var config = this.props || {}; + var $attrs = this.$attrs; + + + Object.keys(MigratingProps).forEach(function (oldProp) { + var _MigratingProps$oldPr = MigratingProps[oldProp], + newProp = _MigratingProps$oldPr.newProp, + type = _MigratingProps$oldPr.type; + + var oldValue = $attrs[oldProp] || $attrs[Object(util_["kebabCase"])(oldProp)]; + if (Object(shared_["isDef"])(oldProp) && !Object(shared_["isDef"])(config[newProp])) { + if (type === Boolean && oldValue === '') { + oldValue = true; + } + config[newProp] = oldValue; + } + }); + + return config; + }, + multiple: function multiple() { + return this.config.multiple; + }, + leafOnly: function leafOnly() { + return !this.config.checkStrictly; + }, + readonly: function readonly() { + return !this.filterable || this.multiple; + }, + clearBtnVisible: function clearBtnVisible() { + if (!this.clearable || this.isDisabled || this.filtering || !this.inputHover) { + return false; + } + + return this.multiple ? !!this.checkedNodes.filter(function (node) { + return !node.isDisabled; + }).length : !!this.presentText; + }, + panel: function panel() { + return this.$refs.panel; + } + }, + + watch: { + disabled: function disabled() { + this.computePresentContent(); + }, + value: function value(val) { + if (!Object(util_["isEqual"])(val, this.checkedValue)) { + this.checkedValue = val; + this.computePresentContent(); + } + }, + checkedValue: function checkedValue(val) { + var value = this.value, + dropDownVisible = this.dropDownVisible; + var _config = this.config, + checkStrictly = _config.checkStrictly, + multiple = _config.multiple; + + + if (!Object(util_["isEqual"])(val, value) || Object(types_["isUndefined"])(value)) { + this.computePresentContent(); + // hide dropdown when single mode + if (!multiple && !checkStrictly && dropDownVisible) { + this.toggleDropDownVisible(false); + } + + this.$emit('input', val); + this.$emit('change', val); + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + + options: { + handler: function handler() { + this.$nextTick(this.computePresentContent); + }, + deep: true + }, + presentText: function presentText(val) { + this.inputValue = val; + }, + presentTags: function presentTags(val, oldVal) { + if (this.multiple && (val.length || oldVal.length)) { + this.$nextTick(this.updateStyle); + } + }, + filtering: function filtering(val) { + this.$nextTick(this.updatePopper); + } + }, + + mounted: function mounted() { + var _this = this; + + var input = this.$refs.input; + + if (input && input.$el) { + this.inputInitialHeight = input.$el.offsetHeight || InputSizeMap[this.realSize] || 40; + } + + if (!this.isEmptyValue(this.value)) { + this.computePresentContent(); + } + + this.filterHandler = debounce_default()(this.debounce, function () { + var inputValue = _this.inputValue; + + + if (!inputValue) { + _this.filtering = false; + return; + } + + var before = _this.beforeFilter(inputValue); + if (before && before.then) { + before.then(_this.getSuggestions); + } else if (before !== false) { + _this.getSuggestions(); + } else { + _this.filtering = false; + } + }); + + Object(resize_event_["addResizeListener"])(this.$el, this.updateStyle); + }, + beforeDestroy: function beforeDestroy() { + Object(resize_event_["removeResizeListener"])(this.$el, this.updateStyle); + }, + + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'expand-trigger': 'expand-trigger is removed, use `props.expandTrigger` instead.', + 'change-on-select': 'change-on-select is removed, use `props.checkStrictly` instead.', + 'hover-threshold': 'hover-threshold is removed, use `props.hoverThreshold` instead' + }, + events: { + 'active-item-change': 'active-item-change is renamed to expand-change' + } + }; + }, + toggleDropDownVisible: function toggleDropDownVisible(visible) { + var _this2 = this; + + if (this.isDisabled) return; + + var dropDownVisible = this.dropDownVisible; + var input = this.$refs.input; + + visible = Object(shared_["isDef"])(visible) ? visible : !dropDownVisible; + if (visible !== dropDownVisible) { + this.dropDownVisible = visible; + if (visible) { + this.$nextTick(function () { + _this2.updatePopper(); + _this2.panel.scrollIntoView(); + }); + } + input.$refs.input.setAttribute('aria-expanded', visible); + this.$emit('visible-change', visible); + } + }, + handleDropdownLeave: function handleDropdownLeave() { + this.filtering = false; + this.inputValue = this.presentText; + this.doDestroy(); + }, + handleKeyDown: function handleKeyDown(event) { + switch (event.keyCode) { + case KeyCode.enter: + this.toggleDropDownVisible(); + break; + case KeyCode.down: + this.toggleDropDownVisible(true); + this.focusFirstNode(); + event.preventDefault(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleFocus: function handleFocus(e) { + this.$emit('focus', e); + }, + handleBlur: function handleBlur(e) { + this.$emit('blur', e); + }, + handleInput: function handleInput(val, event) { + !this.dropDownVisible && this.toggleDropDownVisible(true); + + if (event && event.isComposing) return; + if (val) { + this.filterHandler(); + } else { + this.filtering = false; + } + }, + handleClear: function handleClear() { + this.presentText = ''; + this.panel.clearCheckedNodes(); + }, + handleExpandChange: function handleExpandChange(value) { + this.$nextTick(this.updatePopper.bind(this)); + this.$emit('expand-change', value); + this.$emit('active-item-change', value); // Deprecated + }, + focusFirstNode: function focusFirstNode() { + var _this3 = this; + + this.$nextTick(function () { + var filtering = _this3.filtering; + var _$refs = _this3.$refs, + popper = _$refs.popper, + suggestionPanel = _$refs.suggestionPanel; + + var firstNode = null; + + if (filtering && suggestionPanel) { + firstNode = suggestionPanel.$el.querySelector('.el-cascader__suggestion-item'); + } else { + var firstMenu = popper.querySelector('.el-cascader-menu'); + firstNode = firstMenu.querySelector('.el-cascader-node[tabindex="-1"]'); + } + + if (firstNode) { + firstNode.focus(); + !filtering && firstNode.click(); + } + }); + }, + computePresentContent: function computePresentContent() { + var _this4 = this; + + // nextTick is required, because checked nodes may not change right now + this.$nextTick(function () { + if (_this4.config.multiple) { + _this4.computePresentTags(); + _this4.presentText = _this4.presentTags.length ? ' ' : null; + } else { + _this4.computePresentText(); + } + }); + }, + isEmptyValue: function isEmptyValue(val) { + var multiple = this.multiple; + var emitPath = this.panel.config.emitPath; + + if (multiple || emitPath) { + return Object(util_["isEmpty"])(val); + } + return false; + }, + computePresentText: function computePresentText() { + var checkedValue = this.checkedValue, + config = this.config; + + if (!this.isEmptyValue(checkedValue)) { + var node = this.panel.getNodeByValue(checkedValue); + if (node && (config.checkStrictly || node.isLeaf)) { + this.presentText = node.getText(this.showAllLevels, this.separator); + return; + } + } + this.presentText = null; + }, + computePresentTags: function computePresentTags() { + var isDisabled = this.isDisabled, + leafOnly = this.leafOnly, + showAllLevels = this.showAllLevels, + separator = this.separator, + collapseTags = this.collapseTags; + + var checkedNodes = this.getCheckedNodes(leafOnly); + var tags = []; + + var genTag = function genTag(node) { + return { + node: node, + key: node.uid, + text: node.getText(showAllLevels, separator), + hitState: false, + closable: !isDisabled && !node.isDisabled + }; + }; + + if (checkedNodes.length) { + var first = checkedNodes[0], + rest = checkedNodes.slice(1); + + var restCount = rest.length; + tags.push(genTag(first)); + + if (restCount) { + if (collapseTags) { + tags.push({ + key: -1, + text: '+ ' + restCount, + closable: false + }); + } else { + rest.forEach(function (node) { + return tags.push(genTag(node)); + }); + } + } + } + + this.checkedNodes = checkedNodes; + this.presentTags = tags; + }, + getSuggestions: function getSuggestions() { + var _this5 = this; + + var filterMethod = this.filterMethod; + + + if (!Object(types_["isFunction"])(filterMethod)) { + filterMethod = function filterMethod(node, keyword) { + return node.text.includes(keyword); + }; + } + + var suggestions = this.panel.getFlattedNodes(this.leafOnly).filter(function (node) { + if (node.isDisabled) return false; + node.text = node.getText(_this5.showAllLevels, _this5.separator) || ''; + return filterMethod(node, _this5.inputValue); + }); + + if (this.multiple) { + this.presentTags.forEach(function (tag) { + tag.hitState = false; + }); + } else { + suggestions.forEach(function (node) { + node.checked = Object(util_["isEqual"])(_this5.checkedValue, node.getValueByOption()); + }); + } + + this.filtering = true; + this.suggestions = suggestions; + this.$nextTick(this.updatePopper); + }, + handleSuggestionKeyDown: function handleSuggestionKeyDown(event) { + var keyCode = event.keyCode, + target = event.target; + + switch (keyCode) { + case KeyCode.enter: + target.click(); + break; + case KeyCode.up: + var prev = target.previousElementSibling; + prev && prev.focus(); + break; + case KeyCode.down: + var next = target.nextElementSibling; + next && next.focus(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleDelete: function handleDelete() { + var inputValue = this.inputValue, + pressDeleteCount = this.pressDeleteCount, + presentTags = this.presentTags; + + var lastIndex = presentTags.length - 1; + var lastTag = presentTags[lastIndex]; + this.pressDeleteCount = inputValue ? 0 : pressDeleteCount + 1; + + if (!lastTag) return; + + if (this.pressDeleteCount) { + if (lastTag.hitState) { + this.deleteTag(lastTag); + } else { + lastTag.hitState = true; + } + } + }, + handleSuggestionClick: function handleSuggestionClick(index) { + var multiple = this.multiple; + + var targetNode = this.suggestions[index]; + + if (multiple) { + var checked = targetNode.checked; + + targetNode.doCheck(!checked); + this.panel.calculateMultiCheckedValue(); + } else { + this.checkedValue = targetNode.getValueByOption(); + this.toggleDropDownVisible(false); + } + }, + deleteTag: function deleteTag(tag) { + var checkedValue = this.checkedValue; + + var current = tag.node.getValueByOption(); + var val = checkedValue.find(function (n) { + return Object(util_["isEqual"])(n, current); + }); + this.checkedValue = checkedValue.filter(function (n) { + return !Object(util_["isEqual"])(n, current); + }); + this.$emit('remove-tag', val); + }, + updateStyle: function updateStyle() { + var $el = this.$el, + inputInitialHeight = this.inputInitialHeight; + + if (this.$isServer || !$el) return; + + var suggestionPanel = this.$refs.suggestionPanel; + + var inputInner = $el.querySelector('.el-input__inner'); + + if (!inputInner) return; + + var tags = $el.querySelector('.el-cascader__tags'); + var suggestionPanelEl = null; + + if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) { + var suggestionList = suggestionPanelEl.querySelector('.el-cascader__suggestion-list'); + suggestionList.style.minWidth = inputInner.offsetWidth + 'px'; + } + + if (tags) { + var offsetHeight = Math.round(tags.getBoundingClientRect().height); + var height = Math.max(offsetHeight + 6, inputInitialHeight) + 'px'; + inputInner.style.height = height; + if (this.dropDownVisible) { + this.updatePopper(); + } + } + }, + + + /** + * public methods + */ + getCheckedNodes: function getCheckedNodes(leafOnly) { + return this.panel.getCheckedNodes(leafOnly); + } + } +}); +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascadervue_type_script_lang_js_ = (cascadervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_cascadervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/cascader/src/cascader.vue" +/* harmony default export */ var cascader = (component.exports); +// CONCATENATED MODULE: ./packages/cascader/index.js + + +/* istanbul ignore next */ +cascader.install = function (Vue) { + Vue.component(cascader.name, cascader); +}; + +/* harmony default export */ var packages_cascader = __webpack_exports__["default"] = (cascader); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 16: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), + +/***/ 19: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), + +/***/ 21: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/shared"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 38: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tag"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 41: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/aria-utils"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 51: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/cascader-panel"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/checkbox-button.js b/PAMapp/local_modules/element-ui/lib/checkbox-button.js new file mode 100644 index 0000000..e890bfc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/checkbox-button.js @@ -0,0 +1,582 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 92); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 92: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-checkbox-button", + class: [ + _vm.size ? "el-checkbox-button--" + _vm.size : "", + { "is-disabled": _vm.isDisabled }, + { "is-checked": _vm.isChecked }, + { "is-focus": _vm.focus } + ], + attrs: { + role: "checkbox", + "aria-checked": _vm.isChecked, + "aria-disabled": _vm.isDisabled + } + }, + [ + _vm.trueLabel || _vm.falseLabel + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox-button__original", + attrs: { + type: "checkbox", + name: _vm.name, + disabled: _vm.isDisabled, + "true-value": _vm.trueLabel, + "false-value": _vm.falseLabel + }, + domProps: { + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, null) > -1 + : _vm._q(_vm.model, _vm.trueLabel) + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + : _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox-button__original", + attrs: { + type: "checkbox", + name: _vm.name, + disabled: _vm.isDisabled + }, + domProps: { + value: _vm.label, + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, _vm.label) > -1 + : _vm.model + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? true : false + if (Array.isArray($$a)) { + var $$v = _vm.label, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }), + _vm.$slots.default || _vm.label + ? _c( + "span", + { + staticClass: "el-checkbox-button__inner", + style: _vm.isChecked ? _vm.activeStyle : null + }, + [_vm._t("default", [_vm._v(_vm._s(_vm.label))])], + 2 + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var checkbox_buttonvue_type_script_lang_js_ = ({ + name: 'ElCheckboxButton', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data: function data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + + props: { + value: {}, + label: {}, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number] + }, + computed: { + model: { + get: function get() { + return this._checkboxGroup ? this.store : this.value !== undefined ? this.value : this.selfModel; + }, + set: function set(val) { + if (this._checkboxGroup) { + this.isLimitExceeded = false; + this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true); + + this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true); + + this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]); + } else if (this.value !== undefined) { + this.$emit('input', val); + } else { + this.selfModel = val; + } + } + }, + + isChecked: function isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + _checkboxGroup: function _checkboxGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + store: function store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + activeStyle: function activeStyle() { + return { + backgroundColor: this._checkboxGroup.fill || '', + borderColor: this._checkboxGroup.fill || '', + color: this._checkboxGroup.textColor || '', + 'box-shadow': '-1px 0 0 0 ' + this._checkboxGroup.fill + + }; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + size: function size() { + return this._checkboxGroup.checkboxGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled: function isLimitDisabled() { + var _checkboxGroup2 = this._checkboxGroup, + max = _checkboxGroup2.max, + min = _checkboxGroup2.min; + + return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked; + }, + isDisabled: function isDisabled() { + return this._checkboxGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled; + } + }, + methods: { + addToStore: function addToStore() { + if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange: function handleChange(ev) { + var _this = this; + + if (this.isLimitExceeded) return; + var value = void 0; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(function () { + if (_this._checkboxGroup) { + _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]); + } + }); + } + }, + + created: function created() { + this.checked && this.addToStore(); + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkbox_buttonvue_type_script_lang_js_ = (checkbox_buttonvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_checkbox_buttonvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/checkbox/src/checkbox-button.vue" +/* harmony default export */ var checkbox_button = (component.exports); +// CONCATENATED MODULE: ./packages/checkbox-button/index.js + + +/* istanbul ignore next */ +checkbox_button.install = function (Vue) { + Vue.component(checkbox_button.name, checkbox_button); +}; + +/* harmony default export */ var packages_checkbox_button = __webpack_exports__["default"] = (checkbox_button); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/checkbox-group.js b/PAMapp/local_modules/element-ui/lib/checkbox-group.js new file mode 100644 index 0000000..7f75dfc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/checkbox-group.js @@ -0,0 +1,312 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 93); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 93: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-checkbox-group", + attrs: { role: "group", "aria-label": "checkbox-group" } + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js& + + + +/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({ + name: 'ElCheckboxGroup', + + componentName: 'ElCheckboxGroup', + + mixins: [emitter_default.a], + + inject: { + elFormItem: { + default: '' + } + }, + + props: { + value: {}, + disabled: Boolean, + min: Number, + max: Number, + size: String, + fill: String, + textColor: String + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + checkboxGroupSize: function checkboxGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', [_value]); + } + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_checkbox_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/checkbox/src/checkbox-group.vue" +/* harmony default export */ var checkbox_group = (component.exports); +// CONCATENATED MODULE: ./packages/checkbox-group/index.js + + +/* istanbul ignore next */ +checkbox_group.install = function (Vue) { + Vue.component(checkbox_group.name, checkbox_group); +}; + +/* harmony default export */ var packages_checkbox_group = __webpack_exports__["default"] = (checkbox_group); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/checkbox.js b/PAMapp/local_modules/element-ui/lib/checkbox.js new file mode 100644 index 0000000..707b180 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/checkbox.js @@ -0,0 +1,626 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 91); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 91: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-checkbox", + class: [ + _vm.border && _vm.checkboxSize + ? "el-checkbox--" + _vm.checkboxSize + : "", + { "is-disabled": _vm.isDisabled }, + { "is-bordered": _vm.border }, + { "is-checked": _vm.isChecked } + ], + attrs: { id: _vm.id } + }, + [ + _c( + "span", + { + staticClass: "el-checkbox__input", + class: { + "is-disabled": _vm.isDisabled, + "is-checked": _vm.isChecked, + "is-indeterminate": _vm.indeterminate, + "is-focus": _vm.focus + }, + attrs: { + tabindex: _vm.indeterminate ? 0 : false, + role: _vm.indeterminate ? "checkbox" : false, + "aria-checked": _vm.indeterminate ? "mixed" : false + } + }, + [ + _c("span", { staticClass: "el-checkbox__inner" }), + _vm.trueLabel || _vm.falseLabel + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox__original", + attrs: { + type: "checkbox", + "aria-hidden": _vm.indeterminate ? "true" : "false", + name: _vm.name, + disabled: _vm.isDisabled, + "true-value": _vm.trueLabel, + "false-value": _vm.falseLabel + }, + domProps: { + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, null) > -1 + : _vm._q(_vm.model, _vm.trueLabel) + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + : _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox__original", + attrs: { + type: "checkbox", + "aria-hidden": _vm.indeterminate ? "true" : "false", + disabled: _vm.isDisabled, + name: _vm.name + }, + domProps: { + value: _vm.label, + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, _vm.label) > -1 + : _vm.model + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? true : false + if (Array.isArray($$a)) { + var $$v = _vm.label, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + ] + ), + _vm.$slots.default || _vm.label + ? _c( + "span", + { staticClass: "el-checkbox__label" }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({ + name: 'ElCheckbox', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + componentName: 'ElCheckbox', + + data: function data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + + computed: { + model: { + get: function get() { + return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel; + }, + set: function set(val) { + if (this.isGroup) { + this.isLimitExceeded = false; + this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true); + + this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true); + + this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]); + } else { + this.$emit('input', val); + this.selfModel = val; + } + } + }, + + isChecked: function isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + isGroup: function isGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + this._checkboxGroup = parent; + return true; + } + } + return false; + }, + store: function store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled: function isLimitDisabled() { + var _checkboxGroup = this._checkboxGroup, + max = _checkboxGroup.max, + min = _checkboxGroup.min; + + return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked; + }, + isDisabled: function isDisabled() { + return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + checkboxSize: function checkboxSize() { + var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize; + } + }, + + props: { + value: {}, + label: {}, + indeterminate: Boolean, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number], + id: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + controls: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + border: Boolean, + size: String + }, + + methods: { + addToStore: function addToStore() { + if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange: function handleChange(ev) { + var _this = this; + + if (this.isLimitExceeded) return; + var value = void 0; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(function () { + if (_this.isGroup) { + _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]); + } + }); + } + }, + + created: function created() { + this.checked && this.addToStore(); + }, + mounted: function mounted() { + // 銝槐ndeterminate���� 瘛餃�ria-controls 撅�� + if (this.indeterminate) { + this.$el.setAttribute('aria-controls', this.controls); + } + }, + + + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', _value); + } + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_checkboxvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/checkbox/src/checkbox.vue" +/* harmony default export */ var src_checkbox = (component.exports); +// CONCATENATED MODULE: ./packages/checkbox/index.js + + +/* istanbul ignore next */ +src_checkbox.install = function (Vue) { + Vue.component(src_checkbox.name, src_checkbox); +}; + +/* harmony default export */ var packages_checkbox = __webpack_exports__["default"] = (src_checkbox); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/col.js b/PAMapp/local_modules/element-ui/lib/col.js new file mode 100644 index 0000000..94b1af7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/col.js @@ -0,0 +1,176 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 140); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 140: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./packages/col/src/col.js +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +/* harmony default export */ var col = ({ + name: 'ElCol', + + props: { + span: { + type: Number, + default: 24 + }, + tag: { + type: String, + default: 'div' + }, + offset: Number, + pull: Number, + push: Number, + xs: [Number, Object], + sm: [Number, Object], + md: [Number, Object], + lg: [Number, Object], + xl: [Number, Object] + }, + + computed: { + gutter: function gutter() { + var parent = this.$parent; + while (parent && parent.$options.componentName !== 'ElRow') { + parent = parent.$parent; + } + return parent ? parent.gutter : 0; + } + }, + render: function render(h) { + var _this = this; + + var classList = []; + var style = {}; + + if (this.gutter) { + style.paddingLeft = this.gutter / 2 + 'px'; + style.paddingRight = style.paddingLeft; + } + + ['span', 'offset', 'pull', 'push'].forEach(function (prop) { + if (_this[prop] || _this[prop] === 0) { + classList.push(prop !== 'span' ? 'el-col-' + prop + '-' + _this[prop] : 'el-col-' + _this[prop]); + } + }); + + ['xs', 'sm', 'md', 'lg', 'xl'].forEach(function (size) { + if (typeof _this[size] === 'number') { + classList.push('el-col-' + size + '-' + _this[size]); + } else if (_typeof(_this[size]) === 'object') { + var props = _this[size]; + Object.keys(props).forEach(function (prop) { + classList.push(prop !== 'span' ? 'el-col-' + size + '-' + prop + '-' + props[prop] : 'el-col-' + size + '-' + props[prop]); + }); + } + }); + + return h(this.tag, { + class: ['el-col', classList], + style: style + }, this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/col/index.js + + +/* istanbul ignore next */ +col.install = function (Vue) { + Vue.component(col.name, col); +}; + +/* harmony default export */ var packages_col = __webpack_exports__["default"] = (col); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/collapse-item.js b/PAMapp/local_modules/element-ui/lib/collapse-item.js new file mode 100644 index 0000000..066abb8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/collapse-item.js @@ -0,0 +1,496 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 114); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 114: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-collapse-item", + class: { "is-active": _vm.isActive, "is-disabled": _vm.disabled } + }, + [ + _c( + "div", + { + attrs: { + role: "tab", + "aria-expanded": _vm.isActive, + "aria-controls": "el-collapse-content-" + _vm.id, + "aria-describedby": "el-collapse-content-" + _vm.id + } + }, + [ + _c( + "div", + { + staticClass: "el-collapse-item__header", + class: { + focusing: _vm.focusing, + "is-active": _vm.isActive + }, + attrs: { + role: "button", + id: "el-collapse-head-" + _vm.id, + tabindex: _vm.disabled ? undefined : 0 + }, + on: { + click: _vm.handleHeaderClick, + keyup: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [ + " ", + "Spacebar" + ]) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + $event.stopPropagation() + return _vm.handleEnterClick($event) + }, + focus: _vm.handleFocus, + blur: function($event) { + _vm.focusing = false + } + } + }, + [ + _vm._t("title", [_vm._v(_vm._s(_vm.title))]), + _c("i", { + staticClass: "el-collapse-item__arrow el-icon-arrow-right", + class: { "is-active": _vm.isActive } + }) + ], + 2 + ) + ] + ), + _c("el-collapse-transition", [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.isActive, + expression: "isActive" + } + ], + staticClass: "el-collapse-item__wrap", + attrs: { + role: "tabpanel", + "aria-hidden": !_vm.isActive, + "aria-labelledby": "el-collapse-head-" + _vm.id, + id: "el-collapse-content-" + _vm.id + } + }, + [ + _c( + "div", + { staticClass: "el-collapse-item__content" }, + [_vm._t("default")], + 2 + ) + ] + ) + ]) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac& + +// EXTERNAL MODULE: external "element-ui/lib/transitions/collapse-transition" +var collapse_transition_ = __webpack_require__(28); +var collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var collapse_itemvue_type_script_lang_js_ = ({ + name: 'ElCollapseItem', + + componentName: 'ElCollapseItem', + + mixins: [emitter_default.a], + + components: { ElCollapseTransition: collapse_transition_default.a }, + + data: function data() { + return { + contentWrapStyle: { + height: 'auto', + display: 'block' + }, + contentHeight: 0, + focusing: false, + isClick: false, + id: Object(util_["generateId"])() + }; + }, + + + inject: ['collapse'], + + props: { + title: String, + name: { + type: [String, Number], + default: function _default() { + return this._uid; + } + }, + disabled: Boolean + }, + + computed: { + isActive: function isActive() { + return this.collapse.activeNames.indexOf(this.name) > -1; + } + }, + + methods: { + handleFocus: function handleFocus() { + var _this = this; + + setTimeout(function () { + if (!_this.isClick) { + _this.focusing = true; + } else { + _this.isClick = false; + } + }, 50); + }, + handleHeaderClick: function handleHeaderClick() { + if (this.disabled) return; + this.dispatch('ElCollapse', 'item-click', this); + this.focusing = false; + this.isClick = true; + }, + handleEnterClick: function handleEnterClick() { + this.dispatch('ElCollapse', 'item-click', this); + } + } +}); +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_collapse_itemvue_type_script_lang_js_ = (collapse_itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_collapse_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/collapse/src/collapse-item.vue" +/* harmony default export */ var collapse_item = (component.exports); +// CONCATENATED MODULE: ./packages/collapse-item/index.js + + +/* istanbul ignore next */ +collapse_item.install = function (Vue) { + Vue.component(collapse_item.name, collapse_item); +}; + +/* harmony default export */ var packages_collapse_item = __webpack_exports__["default"] = (collapse_item); + +/***/ }), + +/***/ 28: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/transitions/collapse-transition"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/collapse.js b/PAMapp/local_modules/element-ui/lib/collapse.js new file mode 100644 index 0000000..89dd0b3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/collapse.js @@ -0,0 +1,328 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 113); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 113: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-collapse", + attrs: { role: "tablist", "aria-multiselectable": "true" } + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var collapsevue_type_script_lang_js_ = ({ + name: 'ElCollapse', + + componentName: 'ElCollapse', + + props: { + accordion: Boolean, + value: { + type: [Array, String, Number], + default: function _default() { + return []; + } + } + }, + + data: function data() { + return { + activeNames: [].concat(this.value) + }; + }, + provide: function provide() { + return { + collapse: this + }; + }, + + + watch: { + value: function value(_value) { + this.activeNames = [].concat(_value); + } + }, + + methods: { + setActiveNames: function setActiveNames(activeNames) { + activeNames = [].concat(activeNames); + var value = this.accordion ? activeNames[0] : activeNames; + this.activeNames = activeNames; + this.$emit('input', value); + this.$emit('change', value); + }, + handleItemClick: function handleItemClick(item) { + if (this.accordion) { + this.setActiveNames((this.activeNames[0] || this.activeNames[0] === 0) && this.activeNames[0] === item.name ? '' : item.name); + } else { + var activeNames = this.activeNames.slice(0); + var index = activeNames.indexOf(item.name); + + if (index > -1) { + activeNames.splice(index, 1); + } else { + activeNames.push(item.name); + } + this.setActiveNames(activeNames); + } + } + }, + + created: function created() { + this.$on('item-click', this.handleItemClick); + } +}); +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=script&lang=js& + /* harmony default export */ var src_collapsevue_type_script_lang_js_ = (collapsevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_collapsevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/collapse/src/collapse.vue" +/* harmony default export */ var collapse = (component.exports); +// CONCATENATED MODULE: ./packages/collapse/index.js + + +/* istanbul ignore next */ +collapse.install = function (Vue) { + Vue.component(collapse.name, collapse); +}; + +/* harmony default export */ var packages_collapse = __webpack_exports__["default"] = (collapse); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/color-picker.js b/PAMapp/local_modules/element-ui/lib/color-picker.js new file mode 100644 index 0000000..ed3ac64 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/color-picker.js @@ -0,0 +1,1957 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 55); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 55: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.hide, + expression: "hide" + } + ], + class: [ + "el-color-picker", + _vm.colorDisabled ? "is-disabled" : "", + _vm.colorSize ? "el-color-picker--" + _vm.colorSize : "" + ] + }, + [ + _vm.colorDisabled + ? _c("div", { staticClass: "el-color-picker__mask" }) + : _vm._e(), + _c( + "div", + { + staticClass: "el-color-picker__trigger", + on: { click: _vm.handleTrigger } + }, + [ + _c( + "span", + { + staticClass: "el-color-picker__color", + class: { "is-alpha": _vm.showAlpha } + }, + [ + _c("span", { + staticClass: "el-color-picker__color-inner", + style: { + backgroundColor: _vm.displayedColor + } + }), + !_vm.value && !_vm.showPanelColor + ? _c("span", { + staticClass: "el-color-picker__empty el-icon-close" + }) + : _vm._e() + ] + ), + _c("span", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.value || _vm.showPanelColor, + expression: "value || showPanelColor" + } + ], + staticClass: "el-color-picker__icon el-icon-arrow-down" + }) + ] + ), + _c("picker-dropdown", { + ref: "dropdown", + class: ["el-color-picker__panel", _vm.popperClass || ""], + attrs: { + color: _vm.color, + "show-alpha": _vm.showAlpha, + predefine: _vm.predefine + }, + on: { pick: _vm.confirmValue, clear: _vm.clearValue }, + model: { + value: _vm.showPicker, + callback: function($$v) { + _vm.showPicker = $$v + }, + expression: "showPicker" + } + }) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7& + +// CONCATENATED MODULE: ./packages/color-picker/src/color.js +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var hsv2hsl = function hsv2hsl(hue, sat, val) { + return [hue, sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2]; +}; + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> +var isOnePointZero = function isOnePointZero(n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +}; + +var isPercentage = function isPercentage(n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +}; + +// Take input from [0, n] and return it as [0, 1] +var bound01 = function bound01(value, max) { + if (isOnePointZero(value)) value = '100%'; + + var processPercent = isPercentage(value); + value = Math.min(max, Math.max(0, parseFloat(value))); + + // Automatically convert percentage into number + if (processPercent) { + value = parseInt(value * max, 10) / 100; + } + + // Handle floating point rounding errors + if (Math.abs(value - max) < 0.000001) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return value % max / parseFloat(max); +}; + +var INT_HEX_MAP = { 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' }; + +var toHex = function toHex(_ref) { + var r = _ref.r, + g = _ref.g, + b = _ref.b; + + var hexOne = function hexOne(value) { + value = Math.min(Math.round(value), 255); + var high = Math.floor(value / 16); + var low = value % 16; + return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low); + }; + + if (isNaN(r) || isNaN(g) || isNaN(b)) return ''; + + return '#' + hexOne(r) + hexOne(g) + hexOne(b); +}; + +var HEX_INT_MAP = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15 }; + +var parseHexChannel = function parseHexChannel(hex) { + if (hex.length === 2) { + return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]); + } + + return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]; +}; + +var hsl2hsv = function hsl2hsv(hue, sat, light) { + sat = sat / 100; + light = light / 100; + var smin = sat; + var lmin = Math.max(light, 0.01); + var sv = void 0; + var v = void 0; + + light *= 2; + sat *= light <= 1 ? light : 2 - light; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (light + sat) / 2; + sv = light === 0 ? 2 * smin / (lmin + smin) : 2 * sat / (light + sat); + + return { + h: hue, + s: sv * 100, + v: v * 100 + }; +}; + +// `rgbToHsv` +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +var rgb2hsv = function rgb2hsv(r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = void 0, + s = void 0; + var v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if (max === min) { + h = 0; // achromatic + } else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + + return { h: h * 360, s: s * 100, v: v * 100 }; +}; + +// `hsvToRgb` +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +var hsv2rgb = function hsv2rgb(h, s, v) { + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = Math.floor(h); + var f = h - i; + var p = v * (1 - s); + var q = v * (1 - f * s); + var t = v * (1 - (1 - f) * s); + var mod = i % 6; + var r = [v, q, p, p, t, v][mod]; + var g = [t, v, v, q, p, p][mod]; + var b = [p, p, t, v, v, q][mod]; + + return { + r: Math.round(r * 255), + g: Math.round(g * 255), + b: Math.round(b * 255) + }; +}; + +var Color = function () { + function Color(options) { + _classCallCheck(this, Color); + + this._hue = 0; + this._saturation = 100; + this._value = 100; + this._alpha = 100; + + this.enableAlpha = false; + this.format = 'hex'; + this.value = ''; + + options = options || {}; + + for (var option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.doOnChange(); + } + + Color.prototype.set = function set(prop, value) { + if (arguments.length === 1 && (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object') { + for (var p in prop) { + if (prop.hasOwnProperty(p)) { + this.set(p, prop[p]); + } + } + + return; + } + + this['_' + prop] = value; + this.doOnChange(); + }; + + Color.prototype.get = function get(prop) { + return this['_' + prop]; + }; + + Color.prototype.toRgb = function toRgb() { + return hsv2rgb(this._hue, this._saturation, this._value); + }; + + Color.prototype.fromString = function fromString(value) { + var _this = this; + + if (!value) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + + this.doOnChange(); + return; + } + + var fromHSV = function fromHSV(h, s, v) { + _this._hue = Math.max(0, Math.min(360, h)); + _this._saturation = Math.max(0, Math.min(100, s)); + _this._value = Math.max(0, Math.min(100, v)); + + _this.doOnChange(); + }; + + if (value.indexOf('hsl') !== -1) { + var parts = value.replace(/hsla|hsl|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + var _hsl2hsv = hsl2hsv(parts[0], parts[1], parts[2]), + h = _hsl2hsv.h, + s = _hsl2hsv.s, + v = _hsl2hsv.v; + + fromHSV(h, s, v); + } + } else if (value.indexOf('hsv') !== -1) { + var _parts = value.replace(/hsva|hsv|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (_parts.length === 4) { + this._alpha = Math.floor(parseFloat(_parts[3]) * 100); + } else if (_parts.length === 3) { + this._alpha = 100; + } + if (_parts.length >= 3) { + fromHSV(_parts[0], _parts[1], _parts[2]); + } + } else if (value.indexOf('rgb') !== -1) { + var _parts2 = value.replace(/rgba|rgb|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (_parts2.length === 4) { + this._alpha = Math.floor(parseFloat(_parts2[3]) * 100); + } else if (_parts2.length === 3) { + this._alpha = 100; + } + if (_parts2.length >= 3) { + var _rgb2hsv = rgb2hsv(_parts2[0], _parts2[1], _parts2[2]), + _h = _rgb2hsv.h, + _s = _rgb2hsv.s, + _v = _rgb2hsv.v; + + fromHSV(_h, _s, _v); + } + } else if (value.indexOf('#') !== -1) { + var hex = value.replace('#', '').trim(); + if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) return; + var r = void 0, + g = void 0, + b = void 0; + + if (hex.length === 3) { + r = parseHexChannel(hex[0] + hex[0]); + g = parseHexChannel(hex[1] + hex[1]); + b = parseHexChannel(hex[2] + hex[2]); + } else if (hex.length === 6 || hex.length === 8) { + r = parseHexChannel(hex.substring(0, 2)); + g = parseHexChannel(hex.substring(2, 4)); + b = parseHexChannel(hex.substring(4, 6)); + } + + if (hex.length === 8) { + this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100); + } else if (hex.length === 3 || hex.length === 6) { + this._alpha = 100; + } + + var _rgb2hsv2 = rgb2hsv(r, g, b), + _h2 = _rgb2hsv2.h, + _s2 = _rgb2hsv2.s, + _v2 = _rgb2hsv2.v; + + fromHSV(_h2, _s2, _v2); + } + }; + + Color.prototype.compare = function compare(color) { + return Math.abs(color._hue - this._hue) < 2 && Math.abs(color._saturation - this._saturation) < 1 && Math.abs(color._value - this._value) < 1 && Math.abs(color._alpha - this._alpha) < 1; + }; + + Color.prototype.doOnChange = function doOnChange() { + var _hue = this._hue, + _saturation = this._saturation, + _value = this._value, + _alpha = this._alpha, + format = this.format; + + + if (this.enableAlpha) { + switch (format) { + case 'hsl': + var hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = 'hsla(' + _hue + ', ' + Math.round(hsl[1] * 100) + '%, ' + Math.round(hsl[2] * 100) + '%, ' + _alpha / 100 + ')'; + break; + case 'hsv': + this.value = 'hsva(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%, ' + _alpha / 100 + ')'; + break; + default: + var _hsv2rgb = hsv2rgb(_hue, _saturation, _value), + r = _hsv2rgb.r, + g = _hsv2rgb.g, + b = _hsv2rgb.b; + + this.value = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + _alpha / 100 + ')'; + } + } else { + switch (format) { + case 'hsl': + var _hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = 'hsl(' + _hue + ', ' + Math.round(_hsl[1] * 100) + '%, ' + Math.round(_hsl[2] * 100) + '%)'; + break; + case 'hsv': + this.value = 'hsv(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%)'; + break; + case 'rgb': + var _hsv2rgb2 = hsv2rgb(_hue, _saturation, _value), + _r = _hsv2rgb2.r, + _g = _hsv2rgb2.g, + _b = _hsv2rgb2.b; + + this.value = 'rgb(' + _r + ', ' + _g + ', ' + _b + ')'; + break; + default: + this.value = toHex(hsv2rgb(_hue, _saturation, _value)); + } + } + }; + + return Color; +}(); + +/* harmony default export */ var src_color = (Color); +; +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625& +var picker_dropdownvue_type_template_id_06601625_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-color-dropdown" + }, + [ + _c( + "div", + { staticClass: "el-color-dropdown__main-wrapper" }, + [ + _c("hue-slider", { + ref: "hue", + staticStyle: { float: "right" }, + attrs: { color: _vm.color, vertical: "" } + }), + _c("sv-panel", { ref: "sl", attrs: { color: _vm.color } }) + ], + 1 + ), + _vm.showAlpha + ? _c("alpha-slider", { ref: "alpha", attrs: { color: _vm.color } }) + : _vm._e(), + _vm.predefine + ? _c("predefine", { + attrs: { color: _vm.color, colors: _vm.predefine } + }) + : _vm._e(), + _c( + "div", + { staticClass: "el-color-dropdown__btns" }, + [ + _c( + "span", + { staticClass: "el-color-dropdown__value" }, + [ + _c("el-input", { + attrs: { "validate-event": false, size: "mini" }, + on: { blur: _vm.handleConfirm }, + nativeOn: { + keyup: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.handleConfirm($event) + } + }, + model: { + value: _vm.customInput, + callback: function($$v) { + _vm.customInput = $$v + }, + expression: "customInput" + } + }) + ], + 1 + ), + _c( + "el-button", + { + staticClass: "el-color-dropdown__link-btn", + attrs: { size: "mini", type: "text" }, + on: { + click: function($event) { + _vm.$emit("clear") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.colorpicker.clear")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-color-dropdown__btn", + attrs: { plain: "", size: "mini" }, + on: { click: _vm.confirmValue } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.colorpicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + ], + 1 + ) + ] + ) +} +var picker_dropdownvue_type_template_id_06601625_staticRenderFns = [] +picker_dropdownvue_type_template_id_06601625_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596& +var sv_panelvue_type_template_id_d8583596_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-svpanel", + style: { + backgroundColor: _vm.background + } + }, + [ + _c("div", { staticClass: "el-color-svpanel__white" }), + _c("div", { staticClass: "el-color-svpanel__black" }), + _c( + "div", + { + staticClass: "el-color-svpanel__cursor", + style: { + top: _vm.cursorTop + "px", + left: _vm.cursorLeft + "px" + } + }, + [_c("div")] + ) + ] + ) +} +var sv_panelvue_type_template_id_d8583596_staticRenderFns = [] +sv_panelvue_type_template_id_d8583596_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596& + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./packages/color-picker/src/draggable.js + +var isDragging = false; + +/* harmony default export */ var draggable = (function (element, options) { + if (external_vue_default.a.prototype.$isServer) return; + var moveFn = function moveFn(event) { + if (options.drag) { + options.drag(event); + } + }; + var upFn = function upFn(event) { + document.removeEventListener('mousemove', moveFn); + document.removeEventListener('mouseup', upFn); + document.onselectstart = null; + document.ondragstart = null; + + isDragging = false; + + if (options.end) { + options.end(event); + } + }; + element.addEventListener('mousedown', function (event) { + if (isDragging) return; + document.onselectstart = function () { + return false; + }; + document.ondragstart = function () { + return false; + }; + + document.addEventListener('mousemove', moveFn); + document.addEventListener('mouseup', upFn); + isDragging = true; + + if (options.start) { + options.start(event); + } + }); +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var sv_panelvue_type_script_lang_js_ = ({ + name: 'el-sl-panel', + + props: { + color: { + required: true + } + }, + + computed: { + colorValue: function colorValue() { + var hue = this.color.get('hue'); + var value = this.color.get('value'); + return { hue: hue, value: value }; + } + }, + + watch: { + colorValue: function colorValue() { + this.update(); + } + }, + + methods: { + update: function update() { + var saturation = this.color.get('saturation'); + var value = this.color.get('value'); + + var el = this.$el; + var width = el.clientWidth, + height = el.clientHeight; + + + this.cursorLeft = saturation * width / 100; + this.cursorTop = (100 - value) * height / 100; + + this.background = 'hsl(' + this.color.get('hue') + ', 100%, 50%)'; + }, + handleDrag: function handleDrag(event) { + var el = this.$el; + var rect = el.getBoundingClientRect(); + + var left = event.clientX - rect.left; + var top = event.clientY - rect.top; + left = Math.max(0, left); + left = Math.min(left, rect.width); + + top = Math.max(0, top); + top = Math.min(top, rect.height); + + this.cursorLeft = left; + this.cursorTop = top; + this.color.set({ + saturation: left / rect.width * 100, + value: 100 - top / rect.height * 100 + }); + } + }, + + mounted: function mounted() { + var _this = this; + + draggable(this.$el, { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }); + + this.update(); + }, + data: function data() { + return { + cursorTop: 0, + cursorLeft: 0, + background: 'hsl(0, 100%, 50%)' + }; + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var components_sv_panelvue_type_script_lang_js_ = (sv_panelvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + components_sv_panelvue_type_script_lang_js_, + sv_panelvue_type_template_id_d8583596_render, + sv_panelvue_type_template_id_d8583596_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/color-picker/src/components/sv-panel.vue" +/* harmony default export */ var sv_panel = (component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1& +var hue_slidervue_type_template_id_5cdc43b1_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-hue-slider", + class: { "is-vertical": _vm.vertical } + }, + [ + _c("div", { + ref: "bar", + staticClass: "el-color-hue-slider__bar", + on: { click: _vm.handleClick } + }), + _c("div", { + ref: "thumb", + staticClass: "el-color-hue-slider__thumb", + style: { + left: _vm.thumbLeft + "px", + top: _vm.thumbTop + "px" + } + }) + ] + ) +} +var hue_slidervue_type_template_id_5cdc43b1_staticRenderFns = [] +hue_slidervue_type_template_id_5cdc43b1_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var hue_slidervue_type_script_lang_js_ = ({ + name: 'el-color-hue-slider', + + props: { + color: { + required: true + }, + + vertical: Boolean + }, + + data: function data() { + return { + thumbLeft: 0, + thumbTop: 0 + }; + }, + + + computed: { + hueValue: function hueValue() { + var hue = this.color.get('hue'); + return hue; + } + }, + + watch: { + hueValue: function hueValue() { + this.update(); + } + }, + + methods: { + handleClick: function handleClick(event) { + var thumb = this.$refs.thumb; + var target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + handleDrag: function handleDrag(event) { + var rect = this.$el.getBoundingClientRect(); + var thumb = this.$refs.thumb; + + var hue = void 0; + + if (!this.vertical) { + var left = event.clientX - rect.left; + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + left = Math.max(thumb.offsetWidth / 2, left); + + hue = Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 360); + } else { + var top = event.clientY - rect.top; + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + top = Math.max(thumb.offsetHeight / 2, top); + + hue = Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 360); + } + + this.color.set('hue', hue); + }, + getThumbLeft: function getThumbLeft() { + if (this.vertical) return 0; + var el = this.$el; + var hue = this.color.get('hue'); + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetWidth - thumb.offsetWidth / 2) / 360); + }, + getThumbTop: function getThumbTop() { + if (!this.vertical) return 0; + var el = this.$el; + var hue = this.color.get('hue'); + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetHeight - thumb.offsetHeight / 2) / 360); + }, + update: function update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + } + }, + + mounted: function mounted() { + var _this = this; + + var _$refs = this.$refs, + bar = _$refs.bar, + thumb = _$refs.thumb; + + + var dragConfig = { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js& + /* harmony default export */ var components_hue_slidervue_type_script_lang_js_ = (hue_slidervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue + + + + + +/* normalize component */ + +var hue_slider_component = Object(componentNormalizer["a" /* default */])( + components_hue_slidervue_type_script_lang_js_, + hue_slidervue_type_template_id_5cdc43b1_render, + hue_slidervue_type_template_id_5cdc43b1_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var hue_slider_api; } +hue_slider_component.options.__file = "packages/color-picker/src/components/hue-slider.vue" +/* harmony default export */ var hue_slider = (hue_slider_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb& +var alpha_slidervue_type_template_id_068c66cb_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-alpha-slider", + class: { "is-vertical": _vm.vertical } + }, + [ + _c("div", { + ref: "bar", + staticClass: "el-color-alpha-slider__bar", + style: { + background: _vm.background + }, + on: { click: _vm.handleClick } + }), + _c("div", { + ref: "thumb", + staticClass: "el-color-alpha-slider__thumb", + style: { + left: _vm.thumbLeft + "px", + top: _vm.thumbTop + "px" + } + }) + ] + ) +} +var alpha_slidervue_type_template_id_068c66cb_staticRenderFns = [] +alpha_slidervue_type_template_id_068c66cb_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var alpha_slidervue_type_script_lang_js_ = ({ + name: 'el-color-alpha-slider', + + props: { + color: { + required: true + }, + vertical: Boolean + }, + + watch: { + 'color._alpha': function color_alpha() { + this.update(); + }, + 'color.value': function colorValue() { + this.update(); + } + }, + + methods: { + handleClick: function handleClick(event) { + var thumb = this.$refs.thumb; + var target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + handleDrag: function handleDrag(event) { + var rect = this.$el.getBoundingClientRect(); + var thumb = this.$refs.thumb; + + + if (!this.vertical) { + var left = event.clientX - rect.left; + left = Math.max(thumb.offsetWidth / 2, left); + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + + this.color.set('alpha', Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 100)); + } else { + var top = event.clientY - rect.top; + top = Math.max(thumb.offsetHeight / 2, top); + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + + this.color.set('alpha', Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 100)); + } + }, + getThumbLeft: function getThumbLeft() { + if (this.vertical) return 0; + var el = this.$el; + var alpha = this.color._alpha; + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetWidth - thumb.offsetWidth / 2) / 100); + }, + getThumbTop: function getThumbTop() { + if (!this.vertical) return 0; + var el = this.$el; + var alpha = this.color._alpha; + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetHeight - thumb.offsetHeight / 2) / 100); + }, + getBackground: function getBackground() { + if (this.color && this.color.value) { + var _color$toRgb = this.color.toRgb(), + r = _color$toRgb.r, + g = _color$toRgb.g, + b = _color$toRgb.b; + + return 'linear-gradient(to right, rgba(' + r + ', ' + g + ', ' + b + ', 0) 0%, rgba(' + r + ', ' + g + ', ' + b + ', 1) 100%)'; + } + return null; + }, + update: function update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + this.background = this.getBackground(); + } + }, + + data: function data() { + return { + thumbLeft: 0, + thumbTop: 0, + background: null + }; + }, + mounted: function mounted() { + var _this = this; + + var _$refs = this.$refs, + bar = _$refs.bar, + thumb = _$refs.thumb; + + + var dragConfig = { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js& + /* harmony default export */ var components_alpha_slidervue_type_script_lang_js_ = (alpha_slidervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue + + + + + +/* normalize component */ + +var alpha_slider_component = Object(componentNormalizer["a" /* default */])( + components_alpha_slidervue_type_script_lang_js_, + alpha_slidervue_type_template_id_068c66cb_render, + alpha_slidervue_type_template_id_068c66cb_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var alpha_slider_api; } +alpha_slider_component.options.__file = "packages/color-picker/src/components/alpha-slider.vue" +/* harmony default export */ var alpha_slider = (alpha_slider_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093& +var predefinevue_type_template_id_06e03093_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-color-predefine" }, [ + _c( + "div", + { staticClass: "el-color-predefine__colors" }, + _vm._l(_vm.rgbaColors, function(item, index) { + return _c( + "div", + { + key: _vm.colors[index], + staticClass: "el-color-predefine__color-selector", + class: { selected: item.selected, "is-alpha": item._alpha < 100 }, + on: { + click: function($event) { + _vm.handleSelect(index) + } + } + }, + [_c("div", { style: { "background-color": item.value } })] + ) + }), + 0 + ) + ]) +} +var predefinevue_type_template_id_06e03093_staticRenderFns = [] +predefinevue_type_template_id_06e03093_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var predefinevue_type_script_lang_js_ = ({ + props: { + colors: { type: Array, required: true }, + color: { required: true } + }, + data: function data() { + return { + rgbaColors: this.parseColors(this.colors, this.color) + }; + }, + + methods: { + handleSelect: function handleSelect(index) { + this.color.fromString(this.colors[index]); + }, + parseColors: function parseColors(colors, color) { + return colors.map(function (value) { + var c = new src_color(); + c.enableAlpha = true; + c.format = 'rgba'; + c.fromString(value); + c.selected = c.value === color.value; + return c; + }); + } + }, + watch: { + '$parent.currentColor': function $parentCurrentColor(val) { + var color = new src_color(); + color.fromString(val); + + this.rgbaColors.forEach(function (item) { + item.selected = color.compare(item); + }); + }, + colors: function colors(newVal) { + this.rgbaColors = this.parseColors(newVal, this.color); + }, + color: function color(newVal) { + this.rgbaColors = this.parseColors(this.colors, newVal); + } + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js& + /* harmony default export */ var components_predefinevue_type_script_lang_js_ = (predefinevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue + + + + + +/* normalize component */ + +var predefine_component = Object(componentNormalizer["a" /* default */])( + components_predefinevue_type_script_lang_js_, + predefinevue_type_template_id_06e03093_render, + predefinevue_type_template_id_06e03093_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var predefine_api; } +predefine_component.options.__file = "packages/color-picker/src/components/predefine.vue" +/* harmony default export */ var predefine = (predefine_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var picker_dropdownvue_type_script_lang_js_ = ({ + name: 'el-color-picker-dropdown', + + mixins: [vue_popper_default.a, locale_default.a], + + components: { + SvPanel: sv_panel, + HueSlider: hue_slider, + AlphaSlider: alpha_slider, + ElInput: input_default.a, + ElButton: button_default.a, + Predefine: predefine + }, + + props: { + color: { + required: true + }, + showAlpha: Boolean, + predefine: Array + }, + + data: function data() { + return { + customInput: '' + }; + }, + + + computed: { + currentColor: function currentColor() { + var parent = this.$parent; + return !parent.value && !parent.showPanelColor ? '' : parent.color.value; + } + }, + + methods: { + confirmValue: function confirmValue() { + this.$emit('pick'); + }, + handleConfirm: function handleConfirm() { + this.color.fromString(this.customInput); + } + }, + + mounted: function mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$el; + }, + + + watch: { + showPopper: function showPopper(val) { + var _this = this; + + if (val === true) { + this.$nextTick(function () { + var _$refs = _this.$refs, + sl = _$refs.sl, + hue = _$refs.hue, + alpha = _$refs.alpha; + + sl && sl.update(); + hue && hue.update(); + alpha && alpha.update(); + }); + } + }, + + + currentColor: { + immediate: true, + handler: function handler(val) { + this.customInput = val; + } + } + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var components_picker_dropdownvue_type_script_lang_js_ = (picker_dropdownvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue + + + + + +/* normalize component */ + +var picker_dropdown_component = Object(componentNormalizer["a" /* default */])( + components_picker_dropdownvue_type_script_lang_js_, + picker_dropdownvue_type_template_id_06601625_render, + picker_dropdownvue_type_template_id_06601625_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var picker_dropdown_api; } +picker_dropdown_component.options.__file = "packages/color-picker/src/components/picker-dropdown.vue" +/* harmony default export */ var picker_dropdown = (picker_dropdown_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElColorPicker', + + mixins: [emitter_default.a], + + props: { + value: String, + showAlpha: Boolean, + colorFormat: String, + disabled: Boolean, + size: String, + popperClass: String, + predefine: Array + }, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + displayedColor: function displayedColor() { + if (!this.value && !this.showPanelColor) { + return 'transparent'; + } + + return this.displayedRgb(this.color, this.showAlpha); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + colorSize: function colorSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + colorDisabled: function colorDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value: function value(val) { + if (!val) { + this.showPanelColor = false; + } else if (val && val !== this.color.value) { + this.color.fromString(val); + } + }, + + color: { + deep: true, + handler: function handler() { + this.showPanelColor = true; + } + }, + displayedColor: function displayedColor(val) { + if (!this.showPicker) return; + var currentValueColor = new src_color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + currentValueColor.fromString(this.value); + + var currentValueColorRgb = this.displayedRgb(currentValueColor, this.showAlpha); + if (val !== currentValueColorRgb) { + this.$emit('active-change', val); + } + } + }, + + methods: { + handleTrigger: function handleTrigger() { + if (this.colorDisabled) return; + this.showPicker = !this.showPicker; + }, + confirmValue: function confirmValue() { + var value = this.color.value; + this.$emit('input', value); + this.$emit('change', value); + this.dispatch('ElFormItem', 'el.form.change', value); + this.showPicker = false; + }, + clearValue: function clearValue() { + this.$emit('input', null); + this.$emit('change', null); + if (this.value !== null) { + this.dispatch('ElFormItem', 'el.form.change', null); + } + this.showPanelColor = false; + this.showPicker = false; + this.resetColor(); + }, + hide: function hide() { + this.showPicker = false; + this.resetColor(); + }, + resetColor: function resetColor() { + var _this = this; + + this.$nextTick(function (_) { + if (_this.value) { + _this.color.fromString(_this.value); + } else { + _this.showPanelColor = false; + } + }); + }, + displayedRgb: function displayedRgb(color, showAlpha) { + if (!(color instanceof src_color)) { + throw Error('color should be instance of Color Class'); + } + + var _color$toRgb = color.toRgb(), + r = _color$toRgb.r, + g = _color$toRgb.g, + b = _color$toRgb.b; + + return showAlpha ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + color.get('alpha') / 100 + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')'; + } + }, + + mounted: function mounted() { + var value = this.value; + if (value) { + this.color.fromString(value); + } + this.popperElm = this.$refs.dropdown.$el; + }, + data: function data() { + var color = new src_color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + + return { + color: color, + showPicker: false, + showPanelColor: false + }; + }, + + + components: { + PickerDropdown: picker_dropdown + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue + + + + + +/* normalize component */ + +var main_component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/color-picker/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/color-picker/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var color_picker = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/container.js b/PAMapp/local_modules/element-ui/lib/container.js new file mode 100644 index 0000000..8a12910 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/container.js @@ -0,0 +1,287 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 116); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 116: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=template&id=5bf181d4& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "section", + { staticClass: "el-container", class: { "is-vertical": _vm.isVertical } }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=template&id=5bf181d4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElContainer', + + componentName: 'ElContainer', + + props: { + direction: String + }, + + computed: { + isVertical: function isVertical() { + if (this.direction === 'vertical') { + return true; + } else if (this.direction === 'horizontal') { + return false; + } + return this.$slots && this.$slots.default ? this.$slots.default.some(function (vnode) { + var tag = vnode.componentOptions && vnode.componentOptions.tag; + return tag === 'el-header' || tag === 'el-footer'; + }) : false; + } + } +}); +// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/container/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/container/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/container/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var container = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/date-picker.js b/PAMapp/local_modules/element-ui/lib/date-picker.js new file mode 100644 index 0000000..963ab53 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/date-picker.js @@ -0,0 +1,6358 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 56); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date-util"); + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), +/* 8 */, +/* 9 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), +/* 11 */, +/* 12 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), +/* 13 */, +/* 14 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), +/* 16 */, +/* 17 */, +/* 18 */, +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-time-panel el-popper", + class: _vm.popperClass + }, + [ + _c( + "div", + { + staticClass: "el-time-panel__content", + class: { "has-seconds": _vm.showSeconds } + }, + [ + _c("time-spinner", { + ref: "spinner", + attrs: { + "arrow-control": _vm.useArrow, + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + date: _vm.date + }, + on: { + change: _vm.handleChange, + "select-range": _vm.setSelectionRange + } + }) + ], + 1 + ), + _c("div", { staticClass: "el-time-panel__footer" }, [ + _c( + "button", + { + staticClass: "el-time-panel__btn cancel", + attrs: { type: "button" }, + on: { click: _vm.handleCancel } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))] + ), + _c( + "button", + { + staticClass: "el-time-panel__btn", + class: { confirm: !_vm.disabled }, + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleConfirm() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))] + ) + ]) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: ./packages/date-picker/src/basic/time-spinner.vue + 4 modules +var time_spinner = __webpack_require__(34); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var timevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + components: { + TimeSpinner: time_spinner["a" /* default */] + }, + + props: { + visible: Boolean, + timeArrowControl: Boolean + }, + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.oldValue = this.value; + this.$nextTick(function () { + return _this.$refs.spinner.emitSelectRange('hours'); + }); + } else { + this.needInitAdjust = true; + } + }, + value: function value(newVal) { + var _this2 = this; + + var date = void 0; + if (newVal instanceof Date) { + date = Object(date_util_["limitTimeRange"])(newVal, this.selectableRange, this.format); + } else if (!newVal) { + date = this.defaultValue ? new Date(this.defaultValue) : new Date(); + } + + this.date = date; + if (this.visible && this.needInitAdjust) { + this.$nextTick(function (_) { + return _this2.adjustSpinners(); + }); + this.needInitAdjust = false; + } + }, + selectableRange: function selectableRange(val) { + this.$refs.spinner.selectableRange = val; + }, + defaultValue: function defaultValue(val) { + if (!Object(date_util_["isDate"])(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + } + }, + + data: function data() { + return { + popperClass: '', + format: 'HH:mm:ss', + value: '', + defaultValue: null, + date: new Date(), + oldValue: new Date(), + selectableRange: [], + selectionRange: [0, 2], + disabled: false, + arrowControl: false, + needInitAdjust: true + }; + }, + + + computed: { + showSeconds: function showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + useArrow: function useArrow() { + return this.arrowControl || this.timeArrowControl || false; + }, + amPmMode: function amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + methods: { + handleCancel: function handleCancel() { + this.$emit('pick', this.oldValue, false); + }, + handleChange: function handleChange(date) { + // this.visible avoids edge cases, when use scrolls during panel closing animation + if (this.visible) { + this.date = Object(date_util_["clearMilliseconds"])(date); + // if date is out of range, do not emit + if (this.isValidValue(this.date)) { + this.$emit('pick', this.date, true); + } + } + }, + setSelectionRange: function setSelectionRange(start, end) { + this.$emit('select-range', start, end); + this.selectionRange = [start, end]; + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var first = arguments[1]; + + if (first) return; + var date = Object(date_util_["clearMilliseconds"])(Object(date_util_["limitTimeRange"])(this.date, this.selectableRange, this.format)); + this.$emit('pick', date, visible, first); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + var step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + var _step = mapping[keyCode]; + this.$refs.spinner.scrollDown(_step); + event.preventDefault(); + return; + } + }, + isValidValue: function isValidValue(date) { + return Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format); + }, + adjustSpinners: function adjustSpinners() { + return this.$refs.spinner.adjustSpinners(); + }, + changeSelectionRange: function changeSelectionRange(step) { + var list = [0, 3].concat(this.showSeconds ? [6] : []); + var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + var index = list.indexOf(this.selectionRange[0]); + var next = (index + step + list.length) % list.length; + this.$refs.spinner.emitSelectRange(mapping[next]); + } + }, + + mounted: function mounted() { + var _this3 = this; + + this.$nextTick(function () { + return _this3.handleConfirm(true, true); + }); + this.$emit('mounted'); + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + panel_timevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/panel/time.vue" +/* harmony default export */ var time = __webpack_exports__["a"] = (component.exports); + +/***/ }), +/* 28 */, +/* 29 */, +/* 30 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__); + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + bind: function bind(el, binding, vnode) { + var interval = null; + var startTime = void 0; + var maxIntervals = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__["isMac"])() ? 100 : 200; + var handler = function handler() { + return vnode.context[binding.expression].apply(); + }; + var clear = function clear() { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["on"])(el, 'mousedown', function (e) { + if (e.button !== 0) return; + startTime = Date.now(); + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["once"])(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}); + +/***/ }), +/* 31 */, +/* 32 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.ranged + ? _c( + "el-input", + _vm._b( + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor", + class: "el-date-editor--" + _vm.type, + attrs: { + readonly: + !_vm.editable || + _vm.readonly || + _vm.type === "dates" || + _vm.type === "week" || + _vm.type === "years" || + _vm.type === "months", + disabled: _vm.pickerDisabled, + size: _vm.pickerSize, + name: _vm.name, + placeholder: _vm.placeholder, + value: _vm.displayValue, + validateEvent: false + }, + on: { + focus: _vm.handleFocus, + input: function(value) { + return (_vm.userInput = value) + }, + change: _vm.handleChange + }, + nativeOn: { + keydown: function($event) { + return _vm.handleKeydown($event) + }, + mouseenter: function($event) { + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + _vm.showClose = false + } + } + }, + "el-input", + _vm.firstInputId, + false + ), + [ + _c("i", { + staticClass: "el-input__icon", + class: _vm.triggerClass, + attrs: { slot: "prefix" }, + on: { click: _vm.handleFocus }, + slot: "prefix" + }), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + attrs: { slot: "suffix" }, + on: { click: _vm.handleClickIcon }, + slot: "suffix" + }) + : _vm._e() + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor el-range-editor el-input__inner", + class: [ + "el-date-editor--" + _vm.type, + _vm.pickerSize ? "el-range-editor--" + _vm.pickerSize : "", + _vm.pickerDisabled ? "is-disabled" : "", + _vm.pickerVisible ? "is-active" : "" + ], + on: { + click: _vm.handleRangeClick, + mouseenter: _vm.handleMouseEnter, + mouseleave: function($event) { + _vm.showClose = false + }, + keydown: _vm.handleKeydown + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-range__icon", _vm.triggerClass] + }), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.startPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[0] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[0] }, + on: { + input: _vm.handleStartInput, + change: _vm.handleStartChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.firstInputId, + false + ) + ), + _vm._t("range-separator", [ + _c("span", { staticClass: "el-range-separator" }, [ + _vm._v(_vm._s(_vm.rangeSeparator)) + ]) + ]), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.endPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[1] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[1] }, + on: { + input: _vm.handleEndInput, + change: _vm.handleEndChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.secondInputId, + false + ) + ), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon el-range__close-icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + on: { click: _vm.handleClickIcon } + }) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var NewPopper = { + props: { + appendToBody: vue_popper_default.a.props.appendToBody, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + arrowOffset: vue_popper_default.a.props.arrowOffset, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: function data() { + return merge_default()({ visibleArrow: true }, vue_popper_default.a.data); + }, + + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var DEFAULT_FORMATS = { + date: 'yyyy-MM-dd', + month: 'yyyy-MM', + months: 'yyyy-MM', + datetime: 'yyyy-MM-dd HH:mm:ss', + time: 'HH:mm:ss', + week: 'yyyywWW', + timerange: 'HH:mm:ss', + daterange: 'yyyy-MM-dd', + monthrange: 'yyyy-MM', + datetimerange: 'yyyy-MM-dd HH:mm:ss', + year: 'yyyy', + years: 'yyyy' +}; +var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'months', 'years']; +var pickervue_type_script_lang_js_DATE_FORMATTER = function DATE_FORMATTER(value, format) { + if (format === 'timestamp') return value.getTime(); + return Object(date_util_["formatDate"])(value, format); +}; +var pickervue_type_script_lang_js_DATE_PARSER = function DATE_PARSER(text, format) { + if (format === 'timestamp') return new Date(Number(text)); + return Object(date_util_["parseDate"])(text, format); +}; +var RANGE_FORMATTER = function RANGE_FORMATTER(value, format) { + if (Array.isArray(value) && value.length === 2) { + var start = value[0]; + var end = value[1]; + + if (start && end) { + return [pickervue_type_script_lang_js_DATE_FORMATTER(start, format), pickervue_type_script_lang_js_DATE_FORMATTER(end, format)]; + } + } + return ''; +}; +var RANGE_PARSER = function RANGE_PARSER(array, format, separator) { + if (!Array.isArray(array)) { + array = array.split(separator); + } + if (array.length === 2) { + var range1 = array[0]; + var range2 = array[1]; + + return [pickervue_type_script_lang_js_DATE_PARSER(range1, format), pickervue_type_script_lang_js_DATE_PARSER(range2, format)]; + } + return []; +}; +var TYPE_VALUE_RESOLVER_MAP = { + default: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + if (text === undefined || text === '') return null; + return text; + } + }, + week: { + formatter: function formatter(value, format) { + var week = Object(date_util_["getWeekNumber"])(value); + var month = value.getMonth(); + var trueDate = new Date(value); + if (week === 1 && month === 11) { + trueDate.setHours(0, 0, 0, 0); + trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7); + } + var date = Object(date_util_["formatDate"])(trueDate, format); + + date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? '0' + week : week) : date.replace(/W/, week); + return date; + }, + parser: function parser(text, format) { + // parse as if a normal date + return TYPE_VALUE_RESOLVER_MAP.date.parser(text, format); + } + }, + date: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + datetime: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + daterange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + monthrange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + datetimerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + timerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + time: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + month: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + year: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + number: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + var result = Number(text); + + if (!isNaN(text)) { + return result; + } else { + return null; + } + } + }, + dates: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + months: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + years: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + } +}; +var PLACEMENT_MAP = { + left: 'bottom-start', + center: 'bottom', + right: 'bottom-end' +}; + +var parseAsFormatAndType = function parseAsFormatAndType(value, customFormat, type) { + var rangeSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-'; + + if (!value) return null; + var parser = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).parser; + var format = customFormat || DEFAULT_FORMATS[type]; + return parser(value, format, rangeSeparator); +}; + +var formatAsFormatAndType = function formatAsFormatAndType(value, customFormat, type) { + if (!value) return null; + var formatter = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).formatter; + var format = customFormat || DEFAULT_FORMATS[type]; + return formatter(value, format); +}; + +/* + * Considers: + * 1. Date object + * 2. date string + * 3. array of 1 or 2 + */ +var valueEquals = function valueEquals(a, b) { + // considers Date object and string + var dateEquals = function dateEquals(a, b) { + var aIsDate = a instanceof Date; + var bIsDate = b instanceof Date; + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; + }; + + var aIsArray = a instanceof Array; + var bIsArray = b instanceof Array; + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every(function (item, index) { + return dateEquals(item, b[index]); + }); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; + +var isString = function isString(val) { + return typeof val === 'string' || val instanceof String; +}; + +var validator = function validator(val) { + // either: String, Array of String, null / undefined + return val === null || val === undefined || isString(val) || Array.isArray(val) && val.length === 2 && val.every(isString); +}; + +/* harmony default export */ var pickervue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, NewPopper], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + size: String, + format: String, + valueFormat: String, + readonly: Boolean, + placeholder: String, + startPlaceholder: String, + endPlaceholder: String, + prefixIcon: String, + clearIcon: { + type: String, + default: 'el-icon-circle-close' + }, + name: { + default: '', + validator: validator + }, + disabled: Boolean, + clearable: { + type: Boolean, + default: true + }, + id: { + default: '', + validator: validator + }, + popperClass: String, + editable: { + type: Boolean, + default: true + }, + align: { + type: String, + default: 'left' + }, + value: {}, + defaultValue: {}, + defaultTime: {}, + rangeSeparator: { + default: '-' + }, + pickerOptions: {}, + unlinkPanels: Boolean, + validateEvent: { + type: Boolean, + default: true + } + }, + + components: { ElInput: input_default.a }, + + directives: { Clickoutside: clickoutside_default.a }, + + data: function data() { + return { + pickerVisible: false, + showClose: false, + userInput: null, + valueOnOpen: null, // value when picker opens, used to determine whether to emit change + unwatchPickerOptions: null + }; + }, + + + watch: { + pickerVisible: function pickerVisible(val) { + if (this.readonly || this.pickerDisabled) return; + if (val) { + this.showPicker(); + this.valueOnOpen = Array.isArray(this.value) ? [].concat(this.value) : this.value; + } else { + this.hidePicker(); + this.emitChange(this.value); + this.userInput = null; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur'); + } + this.$emit('blur', this); + this.blur(); + } + }, + + parsedValue: { + immediate: true, + handler: function handler(val) { + if (this.picker) { + this.picker.value = val; + } + } + }, + defaultValue: function defaultValue(val) { + // NOTE: should eventually move to jsx style picker + panel ? + if (this.picker) { + this.picker.defaultValue = val; + } + }, + value: function value(val, oldVal) { + if (!valueEquals(val, oldVal) && !this.pickerVisible && this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + computed: { + ranged: function ranged() { + return this.type.indexOf('range') > -1; + }, + reference: function reference() { + var reference = this.$refs.reference; + return reference.$el || reference; + }, + refInput: function refInput() { + if (this.reference) { + return [].slice.call(this.reference.querySelectorAll('input')); + } + return []; + }, + valueIsEmpty: function valueIsEmpty() { + var val = this.value; + if (Array.isArray(val)) { + for (var i = 0, len = val.length; i < len; i++) { + if (val[i]) { + return false; + } + } + } else { + if (val) { + return false; + } + } + return true; + }, + triggerClass: function triggerClass() { + return this.prefixIcon || (this.type.indexOf('time') !== -1 ? 'el-icon-time' : 'el-icon-date'); + }, + selectionMode: function selectionMode() { + if (this.type === 'week') { + return 'week'; + } else if (this.type === 'month') { + return 'month'; + } else if (this.type === 'year') { + return 'year'; + } else if (this.type === 'dates') { + return 'dates'; + } else if (this.type === 'months') { + return 'months'; + } else if (this.type === 'years') { + return 'years'; + } + + return 'day'; + }, + haveTrigger: function haveTrigger() { + if (typeof this.showTrigger !== 'undefined') { + return this.showTrigger; + } + return HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1; + }, + displayValue: function displayValue() { + var formattedValue = formatAsFormatAndType(this.parsedValue, this.format, this.type, this.rangeSeparator); + if (Array.isArray(this.userInput)) { + return [this.userInput[0] || formattedValue && formattedValue[0] || '', this.userInput[1] || formattedValue && formattedValue[1] || '']; + } else if (this.userInput !== null) { + return this.userInput; + } else if (formattedValue) { + return this.type === 'dates' || this.type === 'years' || this.type === 'months' ? formattedValue.join(', ') : formattedValue; + } else { + return ''; + } + }, + parsedValue: function parsedValue() { + if (!this.value) return this.value; // component value is not set + if (this.type === 'time-select') return this.value; // time-select does not require parsing, this might change in next major version + + var valueIsDateObject = Object(date_util_["isDateObject"])(this.value) || Array.isArray(this.value) && this.value.every(date_util_["isDateObject"]); + if (valueIsDateObject) { + return this.value; + } + + if (this.valueFormat) { + return parseAsFormatAndType(this.value, this.valueFormat, this.type, this.rangeSeparator) || this.value; + } + + // NOTE: deal with common but incorrect usage, should remove in next major version + // user might provide string / timestamp without value-format, coerce them into date (or array of date) + return Array.isArray(this.value) ? this.value.map(function (val) { + return new Date(val); + }) : new Date(this.value); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + pickerSize: function pickerSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + pickerDisabled: function pickerDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + firstInputId: function firstInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[0]; + } else { + id = this.id; + } + if (id) obj.id = id; + return obj; + }, + secondInputId: function secondInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[1]; + } + if (id) obj.id = id; + return obj; + } + }, + + created: function created() { + // vue-popper + this.popperOptions = { + boundariesPadding: 0, + gpuAcceleration: false + }; + this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left; + + this.$on('fieldReset', this.handleFieldReset); + }, + + + methods: { + focus: function focus() { + if (!this.ranged) { + this.$refs.reference.focus(); + } else { + this.handleFocus(); + } + }, + blur: function blur() { + this.refInput.forEach(function (input) { + return input.blur(); + }); + }, + + + // {parse, formatTo} Value deals maps component value with internal Date + parseValue: function parseValue(value) { + var isParsed = Object(date_util_["isDateObject"])(value) || Array.isArray(value) && value.every(date_util_["isDateObject"]); + if (this.valueFormat && !isParsed) { + return parseAsFormatAndType(value, this.valueFormat, this.type, this.rangeSeparator) || value; + } else { + return value; + } + }, + formatToValue: function formatToValue(date) { + var isFormattable = Object(date_util_["isDateObject"])(date) || Array.isArray(date) && date.every(date_util_["isDateObject"]); + if (this.valueFormat && isFormattable) { + return formatAsFormatAndType(date, this.valueFormat, this.type, this.rangeSeparator); + } else { + return date; + } + }, + + + // {parse, formatTo} String deals with user input + parseString: function parseString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return parseAsFormatAndType(value, this.format, type); + }, + formatToString: function formatToString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return formatAsFormatAndType(value, this.format, type); + }, + handleMouseEnter: function handleMouseEnter() { + if (this.readonly || this.pickerDisabled) return; + if (!this.valueIsEmpty && this.clearable) { + this.showClose = true; + } + }, + handleChange: function handleChange() { + if (this.userInput) { + var value = this.parseString(this.displayValue); + if (value) { + this.picker.value = value; + if (this.isValidValue(value)) { + this.emitInput(value); + this.userInput = null; + } + } + } + if (this.userInput === '') { + this.emitInput(null); + this.emitChange(null); + this.userInput = null; + } + }, + handleStartInput: function handleStartInput(event) { + if (this.userInput) { + this.userInput = [event.target.value, this.userInput[1]]; + } else { + this.userInput = [event.target.value, null]; + } + }, + handleEndInput: function handleEndInput(event) { + if (this.userInput) { + this.userInput = [this.userInput[0], event.target.value]; + } else { + this.userInput = [null, event.target.value]; + } + }, + handleStartChange: function handleStartChange(event) { + var value = this.parseString(this.userInput && this.userInput[0]); + if (value) { + this.userInput = [this.formatToString(value), this.displayValue[1]]; + var newValue = [value, this.picker.value && this.picker.value[1]]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleEndChange: function handleEndChange(event) { + var value = this.parseString(this.userInput && this.userInput[1]); + if (value) { + this.userInput = [this.displayValue[0], this.formatToString(value)]; + var newValue = [this.picker.value && this.picker.value[0], value]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleClickIcon: function handleClickIcon(event) { + if (this.readonly || this.pickerDisabled) return; + if (this.showClose) { + this.valueOnOpen = this.value; + event.stopPropagation(); + this.emitInput(null); + this.emitChange(null); + this.showClose = false; + if (this.picker && typeof this.picker.handleClear === 'function') { + this.picker.handleClear(); + } + } else { + this.pickerVisible = !this.pickerVisible; + } + }, + handleClose: function handleClose() { + if (!this.pickerVisible) return; + this.pickerVisible = false; + + if (this.type === 'dates' || this.type === 'years' || this.type === 'months') { + // restore to former value + var oldValue = parseAsFormatAndType(this.valueOnOpen, this.valueFormat, this.type, this.rangeSeparator) || this.valueOnOpen; + this.emitInput(oldValue); + } + }, + handleFieldReset: function handleFieldReset(initialValue) { + this.userInput = initialValue === '' ? null : initialValue; + }, + handleFocus: function handleFocus() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + handleKeydown: function handleKeydown(event) { + var _this = this; + + var keyCode = event.keyCode; + + // ESC + if (keyCode === 27) { + this.pickerVisible = false; + event.stopPropagation(); + return; + } + + // Tab + if (keyCode === 9) { + if (!this.ranged) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + event.stopPropagation(); + } else { + // user may change focus between two input + setTimeout(function () { + if (_this.refInput.indexOf(document.activeElement) === -1) { + _this.pickerVisible = false; + _this.blur(); + event.stopPropagation(); + } + }, 0); + } + return; + } + + // Enter + if (keyCode === 13) { + if (this.userInput === '' || this.isValidValue(this.parseString(this.displayValue))) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + } + event.stopPropagation(); + return; + } + + // if user is typing, do not let picker handle key input + if (this.userInput) { + event.stopPropagation(); + return; + } + + // delegate other keys to panel + if (this.picker && this.picker.handleKeydown) { + this.picker.handleKeydown(event); + } + }, + handleRangeClick: function handleRangeClick() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + hidePicker: function hidePicker() { + if (this.picker) { + this.picker.resetView && this.picker.resetView(); + this.pickerVisible = this.picker.visible = false; + this.destroyPopper(); + } + }, + showPicker: function showPicker() { + var _this2 = this; + + if (this.$isServer) return; + if (!this.picker) { + this.mountPicker(); + } + this.pickerVisible = this.picker.visible = true; + + this.updatePopper(); + + this.picker.value = this.parsedValue; + this.picker.resetView && this.picker.resetView(); + + this.$nextTick(function () { + _this2.picker.adjustSpinners && _this2.picker.adjustSpinners(); + }); + }, + mountPicker: function mountPicker() { + var _this3 = this; + + this.picker = new external_vue_default.a(this.panel).$mount(); + this.picker.defaultValue = this.defaultValue; + this.picker.defaultTime = this.defaultTime; + this.picker.popperClass = this.popperClass; + this.popperElm = this.picker.$el; + this.picker.width = this.reference.getBoundingClientRect().width; + this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'; + this.picker.selectionMode = this.selectionMode; + this.picker.unlinkPanels = this.unlinkPanels; + this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false; + this.$watch('format', function (format) { + _this3.picker.format = format; + }); + + var updateOptions = function updateOptions() { + var options = _this3.pickerOptions; + + if (options && options.selectableRange) { + var ranges = options.selectableRange; + var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser; + var format = DEFAULT_FORMATS.timerange; + + ranges = Array.isArray(ranges) ? ranges : [ranges]; + _this3.picker.selectableRange = ranges.map(function (range) { + return parser(range, format, _this3.rangeSeparator); + }); + } + + for (var option in options) { + if (options.hasOwnProperty(option) && + // 敹賜 time-picker ��砲��蔭憿� + option !== 'selectableRange') { + _this3.picker[option] = options[option]; + } + } + + // main format must prevail over undocumented pickerOptions.format + if (_this3.format) { + _this3.picker.format = _this3.format; + } + }; + updateOptions(); + this.unwatchPickerOptions = this.$watch('pickerOptions', function () { + return updateOptions(); + }, { deep: true }); + this.$el.appendChild(this.picker.$el); + this.picker.resetView && this.picker.resetView(); + + this.picker.$on('dodestroy', this.doDestroy); + this.picker.$on('pick', function () { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + _this3.userInput = null; + _this3.pickerVisible = _this3.picker.visible = visible; + _this3.emitInput(date); + _this3.picker.resetView && _this3.picker.resetView(); + }); + + this.picker.$on('select-range', function (start, end, pos) { + if (_this3.refInput.length === 0) return; + if (!pos || pos === 'min') { + _this3.refInput[0].setSelectionRange(start, end); + _this3.refInput[0].focus(); + } else if (pos === 'max') { + _this3.refInput[1].setSelectionRange(start, end); + _this3.refInput[1].focus(); + } + }); + }, + unmountPicker: function unmountPicker() { + if (this.picker) { + this.picker.$destroy(); + this.picker.$off(); + if (typeof this.unwatchPickerOptions === 'function') { + this.unwatchPickerOptions(); + } + this.picker.$el.parentNode.removeChild(this.picker.$el); + } + }, + emitChange: function emitChange(val) { + // determine user real change only + if (!valueEquals(val, this.valueOnOpen)) { + this.$emit('change', val); + this.valueOnOpen = val; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + emitInput: function emitInput(val) { + var formatted = this.formatToValue(val); + if (!valueEquals(this.value, formatted)) { + this.$emit('input', formatted); + } + }, + isValidValue: function isValidValue(value) { + if (!this.picker) { + this.mountPicker(); + } + if (this.picker.isValidValue) { + return value && this.picker.isValidValue(value); + } else { + return true; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_pickervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/picker.vue" +/* harmony default export */ var picker = __webpack_exports__["a"] = (component.exports); + +/***/ }), +/* 33 */, +/* 34 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-time-spinner", + class: { "has-seconds": _vm.showSeconds } + }, + [ + !_vm.arrowControl + ? [ + _c( + "el-scrollbar", + { + ref: "hours", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("hours") + } + } + }, + _vm._l(_vm.hoursList, function(disabled, hour) { + return _c( + "li", + { + key: hour, + staticClass: "el-time-spinner__item", + class: { active: hour === _vm.hours, disabled: disabled }, + on: { + click: function($event) { + _vm.handleClick("hours", { + value: hour, + disabled: disabled + }) + } + } + }, + [ + _vm._v( + _vm._s( + ("0" + (_vm.amPmMode ? hour % 12 || 12 : hour)).slice( + -2 + ) + ) + _vm._s(_vm.amPm(hour)) + ) + ] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + ref: "minutes", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("minutes") + } + } + }, + _vm._l(_vm.minutesList, function(enabled, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.minutes, disabled: !enabled }, + on: { + click: function($event) { + _vm.handleClick("minutes", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showSeconds, + expression: "showSeconds" + } + ], + ref: "seconds", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("seconds") + } + } + }, + _vm._l(60, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.seconds }, + on: { + click: function($event) { + _vm.handleClick("seconds", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ) + ] + : _vm._e(), + _vm.arrowControl + ? [ + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "hours", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowHourList, function(hour, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { + active: hour === _vm.hours, + disabled: _vm.hoursList[hour] + } + }, + [ + _vm._v( + _vm._s( + hour === undefined + ? "" + : ( + "0" + (_vm.amPmMode ? hour % 12 || 12 : hour) + ).slice(-2) + _vm.amPm(hour) + ) + ) + ] + ) + }), + 0 + ) + ] + ), + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "minutes", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowMinuteList, function(minute, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: minute === _vm.minutes } + }, + [ + _vm._v( + "\n " + + _vm._s( + minute === undefined + ? "" + : ("0" + minute).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ), + _vm.showSeconds + ? _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "seconds", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowSecondList, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: second === _vm.seconds } + }, + [ + _vm._v( + "\n " + + _vm._s( + second === undefined + ? "" + : ("0" + second).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: ./src/directives/repeat-click.js +var repeat_click = __webpack_require__(30); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_spinnervue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + + directives: { + repeatClick: repeat_click["a" /* default */] + }, + + props: { + date: {}, + defaultValue: {}, // reserved for future use + showSeconds: { + type: Boolean, + default: true + }, + arrowControl: Boolean, + amPmMode: { + type: String, + default: '' // 'a': am/pm; 'A': AM/PM + } + }, + + computed: { + hours: function hours() { + return this.date.getHours(); + }, + minutes: function minutes() { + return this.date.getMinutes(); + }, + seconds: function seconds() { + return this.date.getSeconds(); + }, + hoursList: function hoursList() { + return Object(date_util_["getRangeHours"])(this.selectableRange); + }, + minutesList: function minutesList() { + return Object(date_util_["getRangeMinutes"])(this.selectableRange, this.hours); + }, + arrowHourList: function arrowHourList() { + var hours = this.hours; + return [hours > 0 ? hours - 1 : undefined, hours, hours < 23 ? hours + 1 : undefined]; + }, + arrowMinuteList: function arrowMinuteList() { + var minutes = this.minutes; + return [minutes > 0 ? minutes - 1 : undefined, minutes, minutes < 59 ? minutes + 1 : undefined]; + }, + arrowSecondList: function arrowSecondList() { + var seconds = this.seconds; + return [seconds > 0 ? seconds - 1 : undefined, seconds, seconds < 59 ? seconds + 1 : undefined]; + } + }, + + data: function data() { + return { + selectableRange: [], + currentScrollbar: null + }; + }, + mounted: function mounted() { + var _this = this; + + this.$nextTick(function () { + !_this.arrowControl && _this.bindScrollEvent(); + }); + }, + + + methods: { + increase: function increase() { + this.scrollDown(1); + }, + decrease: function decrease() { + this.scrollDown(-1); + }, + modifyDateField: function modifyDateField(type, value) { + switch (type) { + case 'hours': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, value, this.minutes, this.seconds));break; + case 'minutes': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, value, this.seconds));break; + case 'seconds': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, this.minutes, value));break; + } + }, + handleClick: function handleClick(type, _ref) { + var value = _ref.value, + disabled = _ref.disabled; + + if (!disabled) { + this.modifyDateField(type, value); + this.emitSelectRange(type); + this.adjustSpinner(type, value); + } + }, + emitSelectRange: function emitSelectRange(type) { + if (type === 'hours') { + this.$emit('select-range', 0, 2); + } else if (type === 'minutes') { + this.$emit('select-range', 3, 5); + } else if (type === 'seconds') { + this.$emit('select-range', 6, 8); + } + this.currentScrollbar = type; + }, + bindScrollEvent: function bindScrollEvent() { + var _this2 = this; + + var bindFunction = function bindFunction(type) { + _this2.$refs[type].wrap.onscroll = function (e) { + // TODO: scroll is emitted when set scrollTop programatically + // should find better solutions in the future! + _this2.handleScroll(type, e); + }; + }; + bindFunction('hours'); + bindFunction('minutes'); + bindFunction('seconds'); + }, + handleScroll: function handleScroll(type) { + var value = Math.min(Math.round((this.$refs[type].wrap.scrollTop - (this.scrollBarHeight(type) * 0.5 - 10) / this.typeItemHeight(type) + 3) / this.typeItemHeight(type)), type === 'hours' ? 23 : 59); + this.modifyDateField(type, value); + }, + + + // NOTE: used by datetime / date-range panel + // renamed from adjustScrollTop + // should try to refactory it + adjustSpinners: function adjustSpinners() { + this.adjustSpinner('hours', this.hours); + this.adjustSpinner('minutes', this.minutes); + this.adjustSpinner('seconds', this.seconds); + }, + adjustCurrentSpinner: function adjustCurrentSpinner(type) { + this.adjustSpinner(type, this[type]); + }, + adjustSpinner: function adjustSpinner(type, value) { + if (this.arrowControl) return; + var el = this.$refs[type].wrap; + if (el) { + el.scrollTop = Math.max(0, value * this.typeItemHeight(type)); + } + }, + scrollDown: function scrollDown(step) { + var _this3 = this; + + if (!this.currentScrollbar) { + this.emitSelectRange('hours'); + } + + var label = this.currentScrollbar; + var hoursList = this.hoursList; + var now = this[label]; + + if (this.currentScrollbar === 'hours') { + var total = Math.abs(step); + step = step > 0 ? 1 : -1; + var length = hoursList.length; + while (length-- && total) { + now = (now + step + hoursList.length) % hoursList.length; + if (hoursList[now]) { + continue; + } + total--; + } + if (hoursList[now]) return; + } else { + now = (now + step + 60) % 60; + } + + this.modifyDateField(label, now); + this.adjustSpinner(label, now); + this.$nextTick(function () { + return _this3.emitSelectRange(_this3.currentScrollbar); + }); + }, + amPm: function amPm(hour) { + var shouldShowAmPm = this.amPmMode.toLowerCase() === 'a'; + if (!shouldShowAmPm) return ''; + var isCapital = this.amPmMode === 'A'; + var content = hour < 12 ? ' am' : ' pm'; + if (isCapital) content = content.toUpperCase(); + return content; + }, + typeItemHeight: function typeItemHeight(type) { + return this.$refs[type].$el.querySelector('li').offsetHeight; + }, + scrollBarHeight: function scrollBarHeight(type) { + return this.$refs[type].$el.offsetHeight; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_time_spinnervue_type_script_lang_js_ = (time_spinnervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + basic_time_spinnervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/basic/time-spinner.vue" +/* harmony default export */ var time_spinner = __webpack_exports__["a"] = (component.exports); + +/***/ }), +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */, +/* 40 */, +/* 41 */, +/* 42 */, +/* 43 */, +/* 44 */, +/* 45 */, +/* 46 */, +/* 47 */, +/* 48 */, +/* 49 */, +/* 50 */, +/* 51 */, +/* 52 */, +/* 53 */, +/* 54 */, +/* 55 */, +/* 56 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules +var picker = __webpack_require__(32); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { "after-enter": _vm.handleEnter, "after-leave": _vm.handleLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts, + "has-time": _vm.showTime + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _vm.showTime + ? _c("div", { staticClass: "el-date-picker__time-header" }, [ + _c( + "span", + { staticClass: "el-date-picker__editor-wrap" }, + [ + _c("el-input", { + attrs: { + placeholder: _vm.t("el.datepicker.selectDate"), + value: _vm.visibleDate, + size: "small" + }, + on: { + input: function(val) { + return (_vm.userInputDate = val) + }, + change: _vm.handleVisibleDateChange + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleTimePickClose, + expression: "handleTimePickClose" + } + ], + staticClass: "el-date-picker__editor-wrap" + }, + [ + _c("el-input", { + ref: "input", + attrs: { + placeholder: _vm.t("el.datepicker.selectTime"), + value: _vm.visibleTime, + size: "small" + }, + on: { + focus: function($event) { + _vm.timePickerVisible = true + }, + input: function(val) { + return (_vm.userInputTime = val) + }, + change: _vm.handleVisibleTimeChange + } + }), + _c("time-picker", { + ref: "timepicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.timePickerVisible + }, + on: { + pick: _vm.handleTimePick, + mounted: _vm.proxyTimePickerDataProperties + } + }) + ], + 1 + ) + ]) + : _vm._e(), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView !== "time", + expression: "currentView !== 'time'" + } + ], + staticClass: "el-date-picker__header", + class: { + "el-date-picker__header--bordered": + _vm.currentView === "year" || + _vm.currentView === "month" + } + }, + [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.prevYear") + }, + on: { click: _vm.prevYear } + }), + _c("button", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: + "el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.prevMonth") + }, + on: { click: _vm.prevMonth } + }), + _c( + "span", + { + staticClass: "el-date-picker__header-label", + attrs: { role: "button" }, + on: { click: _vm.showYearPicker } + }, + [_vm._v(_vm._s(_vm.yearLabel))] + ), + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: "el-date-picker__header-label", + class: { active: _vm.currentView === "month" }, + attrs: { role: "button" }, + on: { click: _vm.showMonthPicker } + }, + [ + _vm._v( + _vm._s(_vm.t("el.datepicker.month" + (_vm.month + 1))) + ) + ] + ), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.nextYear") + }, + on: { click: _vm.nextYear } + }), + _c("button", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: + "el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.nextMonth") + }, + on: { click: _vm.nextMonth } + }) + ] + ), + _c( + "div", + { staticClass: "el-picker-panel__content" }, + [ + _c("date-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + "first-day-of-week": _vm.firstDayOfWeek, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "cell-class-name": _vm.cellClassName, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleDatePick } + }), + _c("year-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "year", + expression: "currentView === 'year'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleYearPick } + }), + _c("month-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "month", + expression: "currentView === 'month'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleMonthPick } + }) + ], + 1 + ) + ]) + ], + 2 + ), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + _vm.footerVisible && + (_vm.currentView === "date" || + _vm.currentView === "month" || + _vm.currentView === "year"), + expression: + "footerVisible && (currentView === 'date' || currentView === 'month' || currentView === 'year')" + } + ], + staticClass: "el-picker-panel__footer" + }, + [ + _c( + "el-button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + _vm.selectionMode !== "dates" && + _vm.selectionMode !== "months" && + _vm.selectionMode !== "years", + expression: + "selectionMode !== 'dates' && selectionMode !== 'months' && selectionMode !== 'years'" + } + ], + staticClass: "el-picker-panel__link-btn", + attrs: { size: "mini", type: "text" }, + on: { click: _vm.changeToNow } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.now")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { plain: "", size: "mini" }, + on: { click: _vm.confirm } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: ./packages/date-picker/src/panel/time.vue + 4 modules +var panel_time = __webpack_require__(27); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0& +var year_tablevue_type_template_id_c86ab5e0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { staticClass: "el-year-table", on: { click: _vm.handleYearTableClick } }, + [ + _c("tbody", [ + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 0) + }, + [_c("a", { staticClass: "cell" }, [_vm._v(_vm._s(_vm.startYear))])] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 1) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 1)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 2) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 2)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 3) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 3)) + ]) + ] + ) + ]), + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 4) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 4)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 5) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 5)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 6) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 6)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 7) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 7)) + ]) + ] + ) + ]), + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 8) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 8)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 9) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 9)) + ]) + ] + ), + _c("td"), + _c("td") + ]) + ]) + ] + ) +} +var year_tablevue_type_template_id_c86ab5e0_staticRenderFns = [] +year_tablevue_type_template_id_c86ab5e0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0& + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var year_tablevue_type_script_lang_js_datesInYear = function datesInYear(year) { + var numOfDays = Object(date_util_["getDayCountOfYear"])(year); + var firstDay = new Date(year, 0, 1); + return Object(date_util_["range"])(numOfDays).map(function (n) { + return Object(date_util_["nextDate"])(firstDay, n); + }); +}; + +/* harmony default export */ var year_tablevue_type_script_lang_js_ = ({ + props: { + disabledDate: {}, + value: {}, + defaultValue: { + validator: function validator(val) { + // null or valid Date Object + return val === null || val instanceof Date && Object(date_util_["isDate"])(val); + } + }, + date: {}, + selectionMode: {} + }, + + computed: { + startYear: function startYear() { + return Math.floor(this.date.getFullYear() / 10) * 10; + } + }, + + methods: { + getCellStyle: function getCellStyle(year) { + var style = {}; + var today = new Date(); + + style.disabled = typeof this.disabledDate === 'function' ? year_tablevue_type_script_lang_js_datesInYear(year).every(this.disabledDate) : false; + style.current = Object(util_["arrayFindIndex"])(Object(util_["coerceTruthyValueToArray"])(this.value), function (date) { + return date.getFullYear() === year; + }) >= 0; + style.today = today.getFullYear() === year; + style.default = this.defaultValue && this.defaultValue.getFullYear() === year; + + return style; + }, + handleYearTableClick: function handleYearTableClick(event) { + var target = event.target; + if (target.tagName === 'A') { + if (Object(dom_["hasClass"])(target.parentNode, 'disabled')) return; + var year = target.textContent || target.innerText; + if (this.selectionMode === 'years') { + var value = this.value || []; + var idx = Object(util_["arrayFindIndex"])(value, function (date) { + return date.getFullYear() === Number(year); + }); + var newValue = idx > -1 ? [].concat(value.slice(0, idx), value.slice(idx + 1)) : [].concat(value, [new Date(year)]); + this.$emit('pick', newValue); + } else { + this.$emit('pick', Number(year)); + } + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_year_tablevue_type_script_lang_js_ = (year_tablevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + basic_year_tablevue_type_script_lang_js_, + year_tablevue_type_template_id_c86ab5e0_render, + year_tablevue_type_template_id_c86ab5e0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/basic/year-table.vue" +/* harmony default export */ var year_table = (component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42& +var month_tablevue_type_template_id_654d4f42_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { + staticClass: "el-month-table", + on: { click: _vm.handleMonthTableClick, mousemove: _vm.handleMouseMove } + }, + [ + _c( + "tbody", + _vm._l(_vm.rows, function(row, key) { + return _c( + "tr", + { key: key }, + _vm._l(row, function(cell, key) { + return _c("td", { key: key, class: _vm.getCellStyle(cell) }, [ + _c("div", [ + _c("a", { staticClass: "cell" }, [ + _vm._v( + _vm._s( + _vm.t("el.datepicker.months." + _vm.months[cell.text]) + ) + ) + ]) + ]) + ]) + }), + 0 + ) + }), + 0 + ) + ] + ) +} +var month_tablevue_type_template_id_654d4f42_staticRenderFns = [] +month_tablevue_type_template_id_654d4f42_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +var month_tablevue_type_script_lang_js_datesInMonth = function datesInMonth(year, month) { + var numOfDays = Object(date_util_["getDayCountOfMonth"])(year, month); + var firstDay = new Date(year, month, 1); + return Object(date_util_["range"])(numOfDays).map(function (n) { + return Object(date_util_["nextDate"])(firstDay, n); + }); +}; + +var clearDate = function clearDate(date) { + return new Date(date.getFullYear(), date.getMonth()); +}; + +var getMonthTimestamp = function getMonthTimestamp(time) { + if (typeof time === 'number' || typeof time === 'string') { + return clearDate(new Date(time)).getTime(); + } else if (time instanceof Date) { + return clearDate(time).getTime(); + } else { + return NaN; + } +}; + +// remove the first element that satisfies `pred` from arr +// return a new array if modification occurs +// return the original array otherwise +var month_tablevue_type_script_lang_js_removeFromArray = function removeFromArray(arr, pred) { + var idx = typeof pred === 'function' ? Object(util_["arrayFindIndex"])(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [].concat(arr.slice(0, idx), arr.slice(idx + 1)) : arr; +}; +/* harmony default export */ var month_tablevue_type_script_lang_js_ = ({ + props: { + disabledDate: {}, + value: {}, + selectionMode: { + default: 'month' + }, + minDate: {}, + + maxDate: {}, + defaultValue: { + validator: function validator(val) { + // null or valid Date Object + return val === null || Object(date_util_["isDate"])(val) || Array.isArray(val) && val.every(date_util_["isDate"]); + } + }, + date: {}, + rangeState: { + default: function _default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + mixins: [locale_default.a], + + watch: { + 'rangeState.endDate': function rangeStateEndDate(newVal) { + this.markRange(this.minDate, newVal); + }, + minDate: function minDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + maxDate: function maxDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data: function data() { + return { + months: ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'], + tableRows: [[], [], []], + lastRow: null, + lastColumn: null + }; + }, + + + methods: { + cellMatchesDate: function cellMatchesDate(cell, date) { + var value = new Date(date); + return this.date.getFullYear() === value.getFullYear() && Number(cell.text) === value.getMonth(); + }, + getCellStyle: function getCellStyle(cell) { + var _this = this; + + var style = {}; + var year = this.date.getFullYear(); + var today = new Date(); + var month = cell.text; + var defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + style.disabled = typeof this.disabledDate === 'function' ? month_tablevue_type_script_lang_js_datesInMonth(year, month).every(this.disabledDate) : false; + style.current = Object(util_["arrayFindIndex"])(Object(util_["coerceTruthyValueToArray"])(this.value), function (date) { + return date.getFullYear() === year && date.getMonth() === month; + }) >= 0; + style.today = today.getFullYear() === year && today.getMonth() === month; + style.default = defaultValue.some(function (date) { + return _this.cellMatchesDate(cell, date); + }); + + if (cell.inRange) { + style['in-range'] = true; + + if (cell.start) { + style['start-date'] = true; + } + + if (cell.end) { + style['end-date'] = true; + } + } + return style; + }, + getMonthOfCell: function getMonthOfCell(month) { + var year = this.date.getFullYear(); + return new Date(year, month, 1); + }, + markRange: function markRange(minDate, maxDate) { + minDate = getMonthTimestamp(minDate); + maxDate = getMonthTimestamp(maxDate) || minDate; + var _ref = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + minDate = _ref[0]; + maxDate = _ref[1]; + + var rows = this.rows; + for (var i = 0, k = rows.length; i < k; i++) { + var row = rows[i]; + for (var j = 0, l = row.length; j < l; j++) { + + var cell = row[j]; + var index = i * 4 + j; + var time = new Date(this.date.getFullYear(), index).getTime(); + + cell.inRange = minDate && time >= minDate && time <= maxDate; + cell.start = minDate && time === minDate; + cell.end = maxDate && time === maxDate; + } + } + }, + handleMouseMove: function handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + var target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex; + var column = target.cellIndex; + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getMonthOfCell(row * 4 + column) + } + }); + } + }, + handleMonthTableClick: function handleMonthTableClick(event) { + var target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + if (Object(dom_["hasClass"])(target, 'disabled')) return; + var column = target.cellIndex; + var row = target.parentNode.rowIndex; + var month = row * 4 + column; + var newDate = this.getMonthOfCell(month); + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', { minDate: newDate, maxDate: null }); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', { minDate: this.minDate, maxDate: newDate }); + } else { + this.$emit('pick', { minDate: newDate, maxDate: this.minDate }); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'months') { + var value = this.value || []; + var year = this.date.getFullYear(); + var newValue = Object(util_["arrayFindIndex"])(value, function (date) { + return date.getFullYear() === year && date.getMonth() === month; + }) >= 0 ? month_tablevue_type_script_lang_js_removeFromArray(value, function (date) { + return date.getTime() === newDate.getTime(); + }) : [].concat(value, [newDate]); + this.$emit('pick', newValue); + } else { + this.$emit('pick', month); + } + } + }, + + computed: { + rows: function rows() { + var _this2 = this; + + // TODO: refactory rows / getCellClasses + var rows = this.tableRows; + var disabledDate = this.disabledDate; + var selectedDate = []; + var now = getMonthTimestamp(new Date()); + + for (var i = 0; i < 3; i++) { + var row = rows[i]; + + var _loop = function _loop(j) { + var cell = row[j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + var index = i * 4 + j; + var time = new Date(_this2.date.getFullYear(), index).getTime(); + cell.inRange = time >= getMonthTimestamp(_this2.minDate) && time <= getMonthTimestamp(_this2.maxDate); + cell.start = _this2.minDate && time === getMonthTimestamp(_this2.minDate); + cell.end = _this2.maxDate && time === getMonthTimestamp(_this2.maxDate); + var isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + cell.text = index; + var cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = Object(util_["arrayFind"])(selectedDate, function (date) { + return date.getTime() === cellDate.getTime(); + }); + + _this2.$set(row, j, cell); + }; + + for (var j = 0; j < 4; j++) { + _loop(j); + } + } + return rows; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_month_tablevue_type_script_lang_js_ = (month_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue + + + + + +/* normalize component */ + +var month_table_component = Object(componentNormalizer["a" /* default */])( + basic_month_tablevue_type_script_lang_js_, + month_tablevue_type_template_id_654d4f42_render, + month_tablevue_type_template_id_654d4f42_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var month_table_api; } +month_table_component.options.__file = "packages/date-picker/src/basic/month-table.vue" +/* harmony default export */ var month_table = (month_table_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341& +var date_tablevue_type_template_id_5d1f3341_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { + staticClass: "el-date-table", + class: { "is-week-mode": _vm.selectionMode === "week" }, + attrs: { cellspacing: "0", cellpadding: "0" }, + on: { click: _vm.handleClick, mousemove: _vm.handleMouseMove } + }, + [ + _c( + "tbody", + [ + _c( + "tr", + [ + _vm.showWeekNumber + ? _c("th", [_vm._v(_vm._s(_vm.t("el.datepicker.week")))]) + : _vm._e(), + _vm._l(_vm.WEEKS, function(week, key) { + return _c("th", { key: key }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.weeks." + week))) + ]) + }) + ], + 2 + ), + _vm._l(_vm.rows, function(row, key) { + return _c( + "tr", + { + key: key, + staticClass: "el-date-table__row", + class: { current: _vm.isWeekActive(row[1]) } + }, + _vm._l(row, function(cell, key) { + return _c("td", { key: key, class: _vm.getCellClasses(cell) }, [ + _c("div", [ + _c("span", [ + _vm._v("\n " + _vm._s(cell.text) + "\n ") + ]) + ]) + ]) + }), + 0 + ) + }) + ], + 2 + ) + ] + ) +} +var date_tablevue_type_template_id_5d1f3341_staticRenderFns = [] +date_tablevue_type_template_id_5d1f3341_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var _WEEKS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; +var date_tablevue_type_script_lang_js_getDateTimestamp = function getDateTimestamp(time) { + if (typeof time === 'number' || typeof time === 'string') { + return Object(date_util_["clearTime"])(new Date(time)).getTime(); + } else if (time instanceof Date) { + return Object(date_util_["clearTime"])(time).getTime(); + } else { + return NaN; + } +}; + +// remove the first element that satisfies `pred` from arr +// return a new array if modification occurs +// return the original array otherwise +var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray(arr, pred) { + var idx = typeof pred === 'function' ? Object(util_["arrayFindIndex"])(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [].concat(arr.slice(0, idx), arr.slice(idx + 1)) : arr; +}; + +/* harmony default export */ var date_tablevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + props: { + firstDayOfWeek: { + default: 7, + type: Number, + validator: function validator(val) { + return val >= 1 && val <= 7; + } + }, + + value: {}, + + defaultValue: { + validator: function validator(val) { + // either: null, valid Date object, Array of valid Date objects + return val === null || Object(date_util_["isDate"])(val) || Array.isArray(val) && val.every(date_util_["isDate"]); + } + }, + + date: {}, + + selectionMode: { + default: 'day' + }, + + showWeekNumber: { + type: Boolean, + default: false + }, + + disabledDate: {}, + + cellClassName: {}, + + minDate: {}, + + maxDate: {}, + + rangeState: { + default: function _default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + computed: { + offsetDay: function offsetDay() { + var week = this.firstDayOfWeek; + // ��銝箇���椰���宏��予�嚗�3217654 靘�銝�撠望 -1嚗��靚��舅銵����蔭 + return week > 3 ? 7 - week : -week; + }, + WEEKS: function WEEKS() { + var week = this.firstDayOfWeek; + return _WEEKS.concat(_WEEKS).slice(week, week + 7); + }, + year: function year() { + return this.date.getFullYear(); + }, + month: function month() { + return this.date.getMonth(); + }, + startDate: function startDate() { + return Object(date_util_["getStartDateOfMonth"])(this.year, this.month); + }, + rows: function rows() { + var _this = this; + + // TODO: refactory rows / getCellClasses + var date = new Date(this.year, this.month, 1); + var day = Object(date_util_["getFirstDayOfMonth"])(date); // day of first day + var dateCountOfMonth = Object(date_util_["getDayCountOfMonth"])(date.getFullYear(), date.getMonth()); + var dateCountOfLastMonth = Object(date_util_["getDayCountOfMonth"])(date.getFullYear(), date.getMonth() === 0 ? 11 : date.getMonth() - 1); + + day = day === 0 ? 7 : day; + + var offset = this.offsetDay; + var rows = this.tableRows; + var count = 1; + + var startDate = this.startDate; + var disabledDate = this.disabledDate; + var cellClassName = this.cellClassName; + var selectedDate = this.selectionMode === 'dates' ? Object(util_["coerceTruthyValueToArray"])(this.value) : []; + var now = date_tablevue_type_script_lang_js_getDateTimestamp(new Date()); + + for (var i = 0; i < 6; i++) { + var row = rows[i]; + + if (this.showWeekNumber) { + if (!row[0]) { + row[0] = { type: 'week', text: Object(date_util_["getWeekNumber"])(Object(date_util_["nextDate"])(startDate, i * 7 + 1)) }; + } + } + + var _loop = function _loop(j) { + var cell = row[_this.showWeekNumber ? j + 1 : j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + var index = i * 7 + j; + var time = Object(date_util_["nextDate"])(startDate, index - offset).getTime(); + cell.inRange = time >= date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate) && time <= date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate); + cell.start = _this.minDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate); + cell.end = _this.maxDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate); + var isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + + if (i >= 0 && i <= 1) { + var numberOfDaysFromPreviousMonth = day + offset < 0 ? 7 + day + offset : day + offset; + + if (j + i * 7 >= numberOfDaysFromPreviousMonth) { + cell.text = count++; + } else { + cell.text = dateCountOfLastMonth - (numberOfDaysFromPreviousMonth - j % 7) + 1 + i * 7; + cell.type = 'prev-month'; + } + } else { + if (count <= dateCountOfMonth) { + cell.text = count++; + } else { + cell.text = count++ - dateCountOfMonth; + cell.type = 'next-month'; + } + } + + var cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = Object(util_["arrayFind"])(selectedDate, function (date) { + return date.getTime() === cellDate.getTime(); + }); + cell.customClass = typeof cellClassName === 'function' && cellClassName(cellDate); + _this.$set(row, _this.showWeekNumber ? j + 1 : j, cell); + }; + + for (var j = 0; j < 7; j++) { + _loop(j); + } + + if (this.selectionMode === 'week') { + var start = this.showWeekNumber ? 1 : 0; + var end = this.showWeekNumber ? 7 : 6; + var isWeekActive = this.isWeekActive(row[start + 1]); + + row[start].inRange = isWeekActive; + row[start].start = isWeekActive; + row[end].inRange = isWeekActive; + row[end].end = isWeekActive; + } + } + + return rows; + } + }, + + watch: { + 'rangeState.endDate': function rangeStateEndDate(newVal) { + this.markRange(this.minDate, newVal); + }, + minDate: function minDate(newVal, oldVal) { + if (date_tablevue_type_script_lang_js_getDateTimestamp(newVal) !== date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + maxDate: function maxDate(newVal, oldVal) { + if (date_tablevue_type_script_lang_js_getDateTimestamp(newVal) !== date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data: function data() { + return { + tableRows: [[], [], [], [], [], []], + lastRow: null, + lastColumn: null + }; + }, + + + methods: { + cellMatchesDate: function cellMatchesDate(cell, date) { + var value = new Date(date); + return this.year === value.getFullYear() && this.month === value.getMonth() && Number(cell.text) === value.getDate(); + }, + getCellClasses: function getCellClasses(cell) { + var _this2 = this; + + var selectionMode = this.selectionMode; + var defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + + var classes = []; + if ((cell.type === 'normal' || cell.type === 'today') && !cell.disabled) { + classes.push('available'); + if (cell.type === 'today') { + classes.push('today'); + } + } else { + classes.push(cell.type); + } + + if (cell.type === 'normal' && defaultValue.some(function (date) { + return _this2.cellMatchesDate(cell, date); + })) { + classes.push('default'); + } + + if (selectionMode === 'day' && (cell.type === 'normal' || cell.type === 'today') && this.cellMatchesDate(cell, this.value)) { + classes.push('current'); + } + + if (cell.inRange && (cell.type === 'normal' || cell.type === 'today' || this.selectionMode === 'week')) { + classes.push('in-range'); + + if (cell.start) { + classes.push('start-date'); + } + + if (cell.end) { + classes.push('end-date'); + } + } + + if (cell.disabled) { + classes.push('disabled'); + } + + if (cell.selected) { + classes.push('selected'); + } + + if (cell.customClass) { + classes.push(cell.customClass); + } + + return classes.join(' '); + }, + getDateOfCell: function getDateOfCell(row, column) { + var offsetFromStart = row * 7 + (column - (this.showWeekNumber ? 1 : 0)) - this.offsetDay; + return Object(date_util_["nextDate"])(this.startDate, offsetFromStart); + }, + isWeekActive: function isWeekActive(cell) { + if (this.selectionMode !== 'week') return false; + var newDate = new Date(this.year, this.month, 1); + var year = newDate.getFullYear(); + var month = newDate.getMonth(); + + if (cell.type === 'prev-month') { + newDate.setMonth(month === 0 ? 11 : month - 1); + newDate.setFullYear(month === 0 ? year - 1 : year); + } + + if (cell.type === 'next-month') { + newDate.setMonth(month === 11 ? 0 : month + 1); + newDate.setFullYear(month === 11 ? year + 1 : year); + } + + newDate.setDate(parseInt(cell.text, 10)); + + if (Object(date_util_["isDate"])(this.value)) { + var dayOffset = (this.value.getDay() - this.firstDayOfWeek + 7) % 7 - 1; + var weekDate = Object(date_util_["prevDate"])(this.value, dayOffset); + return weekDate.getTime() === newDate.getTime(); + } + return false; + }, + markRange: function markRange(minDate, maxDate) { + minDate = date_tablevue_type_script_lang_js_getDateTimestamp(minDate); + maxDate = date_tablevue_type_script_lang_js_getDateTimestamp(maxDate) || minDate; + var _ref = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + minDate = _ref[0]; + maxDate = _ref[1]; + + + var startDate = this.startDate; + var rows = this.rows; + for (var i = 0, k = rows.length; i < k; i++) { + var row = rows[i]; + for (var j = 0, l = row.length; j < l; j++) { + if (this.showWeekNumber && j === 0) continue; + + var _cell = row[j]; + var index = i * 7 + j + (this.showWeekNumber ? -1 : 0); + var time = Object(date_util_["nextDate"])(startDate, index - this.offsetDay).getTime(); + + _cell.inRange = minDate && time >= minDate && time <= maxDate; + _cell.start = minDate && time === minDate; + _cell.end = maxDate && time === maxDate; + } + } + }, + handleMouseMove: function handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + var target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex - 1; + var column = target.cellIndex; + + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getDateOfCell(row, column) + } + }); + } + }, + handleClick: function handleClick(event) { + var target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex - 1; + var column = this.selectionMode === 'week' ? 1 : target.cellIndex; + var cell = this.rows[row][column]; + + if (cell.disabled || cell.type === 'week') return; + + var newDate = this.getDateOfCell(row, column); + + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', { minDate: newDate, maxDate: null }); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', { minDate: this.minDate, maxDate: newDate }); + } else { + this.$emit('pick', { minDate: newDate, maxDate: this.minDate }); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'day') { + this.$emit('pick', newDate); + } else if (this.selectionMode === 'week') { + var weekNumber = Object(date_util_["getWeekNumber"])(newDate); + var value = newDate.getFullYear() + 'w' + weekNumber; + this.$emit('pick', { + year: newDate.getFullYear(), + week: weekNumber, + value: value, + date: newDate + }); + } else if (this.selectionMode === 'dates') { + var _value = this.value || []; + var newValue = cell.selected ? date_tablevue_type_script_lang_js_removeFromArray(_value, function (date) { + return date.getTime() === newDate.getTime(); + }) : [].concat(_value, [newDate]); + this.$emit('pick', newValue); + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue + + + + + +/* normalize component */ + +var date_table_component = Object(componentNormalizer["a" /* default */])( + basic_date_tablevue_type_script_lang_js_, + date_tablevue_type_template_id_5d1f3341_render, + date_tablevue_type_template_id_5d1f3341_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_table_api; } +date_table_component.options.__file = "packages/date-picker/src/basic/date-table.vue" +/* harmony default export */ var date_table = (date_table_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + +/* harmony default export */ var datevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + watch: { + showTime: function showTime(val) { + var _this = this; + + /* istanbul ignore if */ + if (!val) return; + this.$nextTick(function (_) { + var inputElm = _this.$refs.input.$el; + if (inputElm) { + _this.pickerWidth = inputElm.getBoundingClientRect().width + 10; + } + }); + }, + value: function value(val) { + if (this.selectionMode === 'dates' && this.value) return; + if (this.selectionMode === 'months' && this.value) return; + if (this.selectionMode === 'years' && this.value) return; + if (Object(date_util_["isDate"])(val)) { + this.date = new Date(val); + } else { + this.date = this.getDefaultValue(); + } + }, + defaultValue: function defaultValue(val) { + if (!Object(date_util_["isDate"])(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + }, + timePickerVisible: function timePickerVisible(val) { + var _this2 = this; + + if (val) this.$nextTick(function () { + return _this2.$refs.timepicker.adjustSpinners(); + }); + }, + selectionMode: function selectionMode(newVal) { + if (newVal === 'month') { + /* istanbul ignore next */ + if (this.currentView !== 'year' || this.currentView !== 'month') { + this.currentView = 'month'; + } + } else if (newVal === 'dates') { + this.currentView = 'date'; + } else if (newVal === 'years') { + this.currentView = 'year'; + } else if (newVal === 'months') { + this.currentView = 'month'; + } + } + }, + + methods: { + proxyTimePickerDataProperties: function proxyTimePickerDataProperties() { + var _this3 = this; + + var format = function format(timeFormat) { + _this3.$refs.timepicker.format = timeFormat; + }; + var value = function value(_value) { + _this3.$refs.timepicker.value = _value; + }; + var date = function date(_date) { + _this3.$refs.timepicker.date = _date; + }; + var selectableRange = function selectableRange(_selectableRange) { + _this3.$refs.timepicker.selectableRange = _selectableRange; + }; + + this.$watch('value', value); + this.$watch('date', date); + this.$watch('selectableRange', selectableRange); + + format(this.timeFormat); + value(this.value); + date(this.date); + selectableRange(this.selectableRange); + }, + handleClear: function handleClear() { + this.date = this.getDefaultValue(); + this.$emit('pick', null); + }, + emit: function emit(value) { + var _this4 = this; + + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!value) { + this.$emit.apply(this, ['pick', value].concat(args)); + } else if (Array.isArray(value)) { + var dates = value.map(function (date) { + return _this4.showTime ? Object(date_util_["clearMilliseconds"])(date) : Object(date_util_["clearTime"])(date); + }); + this.$emit.apply(this, ['pick', dates].concat(args)); + } else { + this.$emit.apply(this, ['pick', this.showTime ? Object(date_util_["clearMilliseconds"])(value) : Object(date_util_["clearTime"])(value)].concat(args)); + } + this.userInputDate = null; + this.userInputTime = null; + }, + + + // resetDate() { + // this.date = new Date(this.date); + // }, + + showMonthPicker: function showMonthPicker() { + this.currentView = 'month'; + }, + showYearPicker: function showYearPicker() { + this.currentView = 'year'; + }, + + + // XXX: 瘝∠� + // handleLabelClick() { + // if (this.currentView === 'date') { + // this.showMonthPicker(); + // } else if (this.currentView === 'month') { + // this.showYearPicker(); + // } + // }, + + prevMonth: function prevMonth() { + this.date = Object(date_util_["prevMonth"])(this.date); + }, + nextMonth: function nextMonth() { + this.date = Object(date_util_["nextMonth"])(this.date); + }, + prevYear: function prevYear() { + if (this.currentView === 'year') { + this.date = Object(date_util_["prevYear"])(this.date, 10); + } else { + this.date = Object(date_util_["prevYear"])(this.date); + } + }, + nextYear: function nextYear() { + if (this.currentView === 'year') { + this.date = Object(date_util_["nextYear"])(this.date, 10); + } else { + this.date = Object(date_util_["nextYear"])(this.date); + } + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + handleTimePick: function handleTimePick(value, visible, first) { + if (Object(date_util_["isDate"])(value)) { + var newDate = this.value ? Object(date_util_["modifyTime"])(this.value, value.getHours(), value.getMinutes(), value.getSeconds()) : Object(date_util_["modifyWithTimeString"])(this.getDefaultValue(), this.defaultTime); + this.date = newDate; + this.emit(this.date, true); + } else { + this.emit(value, true); + } + if (!first) { + this.timePickerVisible = visible; + } + }, + handleTimePickClose: function handleTimePickClose() { + this.timePickerVisible = false; + }, + handleMonthPick: function handleMonthPick(month) { + if (this.selectionMode === 'month') { + this.date = Object(date_util_["modifyDate"])(this.date, this.year, month, 1); + this.emit(this.date); + } else if (this.selectionMode === 'months') { + this.emit(month, true); + } else { + this.date = Object(date_util_["changeYearMonthAndClampDate"])(this.date, this.year, month); + // TODO: should emit intermediate value ?? + // this.emit(this.date); + this.currentView = 'date'; + } + }, + handleDatePick: function handleDatePick(value) { + if (this.selectionMode === 'day') { + var newDate = this.value ? Object(date_util_["modifyDate"])(this.value, value.getFullYear(), value.getMonth(), value.getDate()) : Object(date_util_["modifyWithTimeString"])(value, this.defaultTime); + // change default time while out of selectableRange + if (!this.checkDateWithinRange(newDate)) { + newDate = Object(date_util_["modifyDate"])(this.selectableRange[0][0], value.getFullYear(), value.getMonth(), value.getDate()); + } + this.date = newDate; + this.emit(this.date, this.showTime); + } else if (this.selectionMode === 'week') { + this.emit(value.date); + } else if (this.selectionMode === 'dates') { + this.emit(value, true); // set false to keep panel open + } + }, + handleYearPick: function handleYearPick(year) { + if (this.selectionMode === 'year') { + this.date = Object(date_util_["modifyDate"])(this.date, year, 0, 1); + this.emit(this.date); + } else if (this.selectionMode === 'years') { + this.emit(year, true); + } else { + this.date = Object(date_util_["changeYearMonthAndClampDate"])(this.date, year, this.month); + // TODO: should emit intermediate value ?? + // this.emit(this.date, true); + this.currentView = 'month'; + } + }, + changeToNow: function changeToNow() { + // NOTE: not a permanent solution + // consider disable "now" button in the future + if ((!this.disabledDate || !this.disabledDate(new Date())) && this.checkDateWithinRange(new Date())) { + this.date = new Date(); + this.emit(this.date); + } + }, + confirm: function confirm() { + if (this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years') { + this.emit(this.value); + } else { + // value were emitted in handle{Date,Time}Pick, nothing to update here + // deal with the scenario where: user opens the picker, then confirm without doing anything + var value = this.value ? this.value : Object(date_util_["modifyWithTimeString"])(this.getDefaultValue(), this.defaultTime); + this.date = new Date(value); // refresh date + this.emit(value); + } + }, + resetView: function resetView() { + if (this.selectionMode === 'month' || this.selectionMode === 'months') { + this.currentView = 'month'; + } else if (this.selectionMode === 'year' || this.selectionMode === 'years') { + this.currentView = 'year'; + } else { + this.currentView = 'date'; + } + }, + handleEnter: function handleEnter() { + document.body.addEventListener('keydown', this.handleKeydown); + }, + handleLeave: function handleLeave() { + this.$emit('dodestroy'); + document.body.removeEventListener('keydown', this.handleKeydown); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var list = [38, 40, 37, 39]; + if (this.visible && !this.timePickerVisible) { + if (list.indexOf(keyCode) !== -1) { + this.handleKeyControl(keyCode); + event.stopPropagation(); + event.preventDefault(); + } + if (keyCode === 13 && this.userInputDate === null && this.userInputTime === null) { + // Enter + this.emit(this.date, false); + } + } + }, + handleKeyControl: function handleKeyControl(keyCode) { + var mapping = { + 'year': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setFullYear(date.getFullYear() + step); + } + }, + 'month': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setMonth(date.getMonth() + step); + } + }, + 'week': { + 38: -1, 40: 1, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setDate(date.getDate() + step * 7); + } + }, + 'day': { + 38: -7, 40: 7, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setDate(date.getDate() + step); + } + } + }; + var mode = this.selectionMode; + var year = 3.1536e10; + var now = this.date.getTime(); + var newDate = new Date(this.date.getTime()); + while (Math.abs(now - newDate.getTime()) <= year) { + var map = mapping[mode]; + map.offset(newDate, map[keyCode]); + if (typeof this.disabledDate === 'function' && this.disabledDate(newDate)) { + continue; + } + this.date = newDate; + this.$emit('pick', newDate, true); + break; + } + }, + handleVisibleTimeChange: function handleVisibleTimeChange(value) { + var time = Object(date_util_["parseDate"])(value, this.timeFormat); + if (time && this.checkDateWithinRange(time)) { + this.date = Object(date_util_["modifyDate"])(time, this.year, this.month, this.monthDate); + this.userInputTime = null; + this.$refs.timepicker.value = this.date; + this.timePickerVisible = false; + this.emit(this.date, true); + } + }, + handleVisibleDateChange: function handleVisibleDateChange(value) { + var date = Object(date_util_["parseDate"])(value, this.dateFormat); + if (date) { + if (typeof this.disabledDate === 'function' && this.disabledDate(date)) { + return; + } + this.date = Object(date_util_["modifyTime"])(date, this.date.getHours(), this.date.getMinutes(), this.date.getSeconds()); + this.userInputDate = null; + this.resetView(); + this.emit(this.date, true); + } + }, + isValidValue: function isValidValue(value) { + return value && !isNaN(value) && (typeof this.disabledDate === 'function' ? !this.disabledDate(value) : true) && this.checkDateWithinRange(value); + }, + getDefaultValue: function getDefaultValue() { + // if default-value is set, return it + // otherwise, return now (the moment this method gets called) + return this.defaultValue ? new Date(this.defaultValue) : new Date(); + }, + checkDateWithinRange: function checkDateWithinRange(date) { + return this.selectableRange.length > 0 ? Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format || 'HH:mm:ss') : true; + } + }, + + components: { + TimePicker: panel_time["a" /* default */], YearTable: year_table, MonthTable: month_table, DateTable: date_table, ElInput: input_default.a, ElButton: button_default.a + }, + + data: function data() { + return { + popperClass: '', + date: new Date(), + value: '', + defaultValue: null, // use getDefaultValue() for time computation + defaultTime: null, + showTime: false, + selectionMode: 'day', + shortcuts: '', + visible: false, + currentView: 'date', + disabledDate: '', + cellClassName: '', + selectableRange: [], + firstDayOfWeek: 7, + showWeekNumber: false, + timePickerVisible: false, + format: '', + arrowControl: false, + userInputDate: null, + userInputTime: null + }; + }, + + + computed: { + year: function year() { + return this.date.getFullYear(); + }, + month: function month() { + return this.date.getMonth(); + }, + week: function week() { + return Object(date_util_["getWeekNumber"])(this.date); + }, + monthDate: function monthDate() { + return this.date.getDate(); + }, + footerVisible: function footerVisible() { + return this.showTime || this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years'; + }, + visibleTime: function visibleTime() { + if (this.userInputTime !== null) { + return this.userInputTime; + } else { + return Object(date_util_["formatDate"])(this.value || this.defaultValue, this.timeFormat); + } + }, + visibleDate: function visibleDate() { + if (this.userInputDate !== null) { + return this.userInputDate; + } else { + return Object(date_util_["formatDate"])(this.value || this.defaultValue, this.dateFormat); + } + }, + yearLabel: function yearLabel() { + var yearTranslation = this.t('el.datepicker.year'); + if (this.currentView === 'year') { + var startYear = Math.floor(this.year / 10) * 10; + if (yearTranslation) { + return startYear + ' ' + yearTranslation + ' - ' + (startYear + 9) + ' ' + yearTranslation; + } + return startYear + ' - ' + (startYear + 9); + } + return this.year + ' ' + yearTranslation; + }, + timeFormat: function timeFormat() { + if (this.format) { + return Object(date_util_["extractTimeFormat"])(this.format); + } else { + return 'HH:mm:ss'; + } + }, + dateFormat: function dateFormat() { + if (this.format) { + return Object(date_util_["extractDateFormat"])(this.format); + } else { + return 'yyyy-MM-dd'; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_datevue_type_script_lang_js_ = (datevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue + + + + + +/* normalize component */ + +var date_component = Object(componentNormalizer["a" /* default */])( + panel_datevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_api; } +date_component.options.__file = "packages/date-picker/src/panel/date.vue" +/* harmony default export */ var panel_date = (date_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a& +var date_rangevue_type_template_id_2652849a_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-range-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts, + "has-time": _vm.showTime + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _vm.showTime + ? _c( + "div", + { staticClass: "el-date-range-picker__time-header" }, + [ + _c( + "span", + { staticClass: "el-date-range-picker__editors-wrap" }, + [ + _c( + "span", + { + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + ref: "minInput", + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t( + "el.datepicker.startDate" + ), + value: _vm.minVisibleDate + }, + on: { + input: function(val) { + return _vm.handleDateInput(val, "min") + }, + change: function(val) { + return _vm.handleDateChange(val, "min") + } + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleMinTimeClose, + expression: "handleMinTimeClose" + } + ], + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t( + "el.datepicker.startTime" + ), + value: _vm.minVisibleTime + }, + on: { + focus: function($event) { + _vm.minTimePickerVisible = true + }, + input: function(val) { + return _vm.handleTimeInput(val, "min") + }, + change: function(val) { + return _vm.handleTimeChange(val, "min") + } + } + }), + _c("time-picker", { + ref: "minTimePicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.minTimePickerVisible + }, + on: { + pick: _vm.handleMinTimePick, + mounted: function($event) { + _vm.$refs.minTimePicker.format = + _vm.timeFormat + } + } + }) + ], + 1 + ) + ] + ), + _c("span", { staticClass: "el-icon-arrow-right" }), + _c( + "span", + { + staticClass: + "el-date-range-picker__editors-wrap is-right" + }, + [ + _c( + "span", + { + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t("el.datepicker.endDate"), + value: _vm.maxVisibleDate, + readonly: !_vm.minDate + }, + on: { + input: function(val) { + return _vm.handleDateInput(val, "max") + }, + change: function(val) { + return _vm.handleDateChange(val, "max") + } + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleMaxTimeClose, + expression: "handleMaxTimeClose" + } + ], + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t("el.datepicker.endTime"), + value: _vm.maxVisibleTime, + readonly: !_vm.minDate + }, + on: { + focus: function($event) { + _vm.minDate && + (_vm.maxTimePickerVisible = true) + }, + input: function(val) { + return _vm.handleTimeInput(val, "max") + }, + change: function(val) { + return _vm.handleTimeChange(val, "max") + } + } + }), + _c("time-picker", { + ref: "maxTimePicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.maxTimePickerVisible + }, + on: { + pick: _vm.handleMaxTimePick, + mounted: function($event) { + _vm.$refs.maxTimePicker.format = + _vm.timeFormat + } + } + }) + ], + 1 + ) + ] + ) + ] + ) + : _vm._e(), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-left" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevYear } + }), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevMonth } + }), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.leftNextYear } + }) + : _vm._e(), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-right", + class: { "is-disabled": !_vm.enableMonthArrow }, + attrs: { + type: "button", + disabled: !_vm.enableMonthArrow + }, + on: { click: _vm.leftNextMonth } + }) + : _vm._e(), + _c("div", [_vm._v(_vm._s(_vm.leftLabel))]) + ]), + _c("date-table", { + attrs: { + "selection-mode": "range", + date: _vm.leftDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate, + "cell-class-name": _vm.cellClassName, + "first-day-of-week": _vm.firstDayOfWeek + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-right" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.rightPrevYear } + }) + : _vm._e(), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-left", + class: { "is-disabled": !_vm.enableMonthArrow }, + attrs: { + type: "button", + disabled: !_vm.enableMonthArrow + }, + on: { click: _vm.rightPrevMonth } + }) + : _vm._e(), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextYear } + }), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextMonth } + }), + _c("div", [_vm._v(_vm._s(_vm.rightLabel))]) + ]), + _c("date-table", { + attrs: { + "selection-mode": "range", + date: _vm.rightDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate, + "cell-class-name": _vm.cellClassName, + "first-day-of-week": _vm.firstDayOfWeek + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ) + ]) + ], + 2 + ), + _vm.showTime + ? _c( + "div", + { staticClass: "el-picker-panel__footer" }, + [ + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { size: "mini", type: "text" }, + on: { click: _vm.handleClear } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.clear")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { + plain: "", + size: "mini", + disabled: _vm.btnDisabled + }, + on: { + click: function($event) { + _vm.handleConfirm(false) + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + : _vm._e() + ] + ) + ] + ) +} +var date_rangevue_type_template_id_2652849a_staticRenderFns = [] +date_rangevue_type_template_id_2652849a_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), Object(date_util_["nextDate"])(new Date(defaultValue), 1)]; + } else { + return [new Date(), Object(date_util_["nextDate"])(new Date(), 1)]; + } +}; + +/* harmony default export */ var date_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + btnDisabled: function btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + leftLabel: function leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + (this.leftDate.getMonth() + 1)); + }, + rightLabel: function rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + (this.rightDate.getMonth() + 1)); + }, + leftYear: function leftYear() { + return this.leftDate.getFullYear(); + }, + leftMonth: function leftMonth() { + return this.leftDate.getMonth(); + }, + leftMonthDate: function leftMonthDate() { + return this.leftDate.getDate(); + }, + rightYear: function rightYear() { + return this.rightDate.getFullYear(); + }, + rightMonth: function rightMonth() { + return this.rightDate.getMonth(); + }, + rightMonthDate: function rightMonthDate() { + return this.rightDate.getDate(); + }, + minVisibleDate: function minVisibleDate() { + if (this.dateUserInput.min !== null) return this.dateUserInput.min; + if (this.minDate) return Object(date_util_["formatDate"])(this.minDate, this.dateFormat); + return ''; + }, + maxVisibleDate: function maxVisibleDate() { + if (this.dateUserInput.max !== null) return this.dateUserInput.max; + if (this.maxDate || this.minDate) return Object(date_util_["formatDate"])(this.maxDate || this.minDate, this.dateFormat); + return ''; + }, + minVisibleTime: function minVisibleTime() { + if (this.timeUserInput.min !== null) return this.timeUserInput.min; + if (this.minDate) return Object(date_util_["formatDate"])(this.minDate, this.timeFormat); + return ''; + }, + maxVisibleTime: function maxVisibleTime() { + if (this.timeUserInput.max !== null) return this.timeUserInput.max; + if (this.maxDate || this.minDate) return Object(date_util_["formatDate"])(this.maxDate || this.minDate, this.timeFormat); + return ''; + }, + timeFormat: function timeFormat() { + if (this.format) { + return Object(date_util_["extractTimeFormat"])(this.format); + } else { + return 'HH:mm:ss'; + } + }, + dateFormat: function dateFormat() { + if (this.format) { + return Object(date_util_["extractDateFormat"])(this.format); + } else { + return 'yyyy-MM-dd'; + } + }, + enableMonthArrow: function enableMonthArrow() { + var nextMonth = (this.leftMonth + 1) % 12; + var yearOffset = this.leftMonth + 1 >= 12 ? 1 : 0; + return this.unlinkPanels && new Date(this.leftYear + yearOffset, nextMonth) < new Date(this.rightYear, this.rightMonth); + }, + enableYearArrow: function enableYearArrow() { + return this.unlinkPanels && this.rightYear * 12 + this.rightMonth - (this.leftYear * 12 + this.leftMonth + 1) >= 12; + } + }, + + data: function data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: Object(date_util_["nextMonth"])(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + showTime: false, + shortcuts: '', + visible: '', + disabledDate: '', + cellClassName: '', + firstDayOfWeek: 7, + minTimePickerVisible: false, + maxTimePickerVisible: false, + format: '', + arrowControl: false, + unlinkPanels: false, + dateUserInput: { + min: null, + max: null + }, + timeUserInput: { + min: null, + max: null + } + }; + }, + + + watch: { + minDate: function minDate(val) { + var _this = this; + + this.dateUserInput.min = null; + this.timeUserInput.min = null; + this.$nextTick(function () { + if (_this.$refs.maxTimePicker && _this.maxDate && _this.maxDate < _this.minDate) { + var format = 'HH:mm:ss'; + _this.$refs.maxTimePicker.selectableRange = [[Object(date_util_["parseDate"])(Object(date_util_["formatDate"])(_this.minDate, format), format), Object(date_util_["parseDate"])('23:59:59', format)]]; + } + }); + if (val && this.$refs.minTimePicker) { + this.$refs.minTimePicker.date = val; + this.$refs.minTimePicker.value = val; + } + }, + maxDate: function maxDate(val) { + this.dateUserInput.max = null; + this.timeUserInput.max = null; + if (val && this.$refs.maxTimePicker) { + this.$refs.maxTimePicker.date = val; + this.$refs.maxTimePicker.value = val; + } + }, + minTimePickerVisible: function minTimePickerVisible(val) { + var _this2 = this; + + if (val) { + this.$nextTick(function () { + _this2.$refs.minTimePicker.date = _this2.minDate; + _this2.$refs.minTimePicker.value = _this2.minDate; + _this2.$refs.minTimePicker.adjustSpinners(); + }); + } + }, + maxTimePickerVisible: function maxTimePickerVisible(val) { + var _this3 = this; + + if (val) { + this.$nextTick(function () { + _this3.$refs.maxTimePicker.date = _this3.maxDate; + _this3.$refs.maxTimePicker.value = _this3.maxDate; + _this3.$refs.maxTimePicker.adjustSpinners(); + }); + } + }, + value: function value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = Object(date_util_["isDate"])(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = Object(date_util_["isDate"])(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + var minDateYear = this.minDate.getFullYear(); + var minDateMonth = this.minDate.getMonth(); + var maxDateYear = this.maxDate.getFullYear(); + var maxDateMonth = this.maxDate.getMonth(); + this.rightDate = minDateYear === maxDateYear && minDateMonth === maxDateMonth ? Object(date_util_["nextMonth"])(this.maxDate) : this.maxDate; + } else { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } else { + this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } + }, + defaultValue: function defaultValue(val) { + if (!Array.isArray(this.value)) { + var _calcDefaultValue = date_rangevue_type_script_lang_js_calcDefaultValue(val), + left = _calcDefaultValue[0], + right = _calcDefaultValue[1]; + + this.leftDate = left; + this.rightDate = val && val[1] && this.unlinkPanels ? right : Object(date_util_["nextMonth"])(this.leftDate); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + this.$emit('pick', null); + }, + handleChangeRange: function handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + handleDateInput: function handleDateInput(value, type) { + this.dateUserInput[type] = value; + if (value.length !== this.dateFormat.length) return; + var parsedValue = Object(date_util_["parseDate"])(value, this.dateFormat); + + if (parsedValue) { + if (typeof this.disabledDate === 'function' && this.disabledDate(new Date(parsedValue))) { + return; + } + if (type === 'min') { + this.minDate = Object(date_util_["modifyDate"])(this.minDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.leftDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } else { + this.maxDate = Object(date_util_["modifyDate"])(this.maxDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.rightDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["prevMonth"])(parsedValue); + } + } + } + }, + handleDateChange: function handleDateChange(value, type) { + var parsedValue = Object(date_util_["parseDate"])(value, this.dateFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyDate"])(this.minDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + } else { + this.maxDate = Object(date_util_["modifyDate"])(this.maxDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + } + } + }, + handleTimeInput: function handleTimeInput(value, type) { + var _this4 = this; + + this.timeUserInput[type] = value; + if (value.length !== this.timeFormat.length) return; + var parsedValue = Object(date_util_["parseDate"])(value, this.timeFormat); + + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(function (_) { + return _this4.$refs.minTimePicker.adjustSpinners(); + }); + } else { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(function (_) { + return _this4.$refs.maxTimePicker.adjustSpinners(); + }); + } + } + }, + handleTimeChange: function handleTimeChange(value, type) { + var parsedValue = Object(date_util_["parseDate"])(value, this.timeFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + this.$refs.minTimePicker.value = this.minDate; + this.minTimePickerVisible = false; + } else { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + this.$refs.maxTimePicker.value = this.minDate; + this.maxTimePickerVisible = false; + } + } + }, + handleRangePick: function handleRangePick(val) { + var _this5 = this; + + var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var defaultTime = this.defaultTime || []; + var minDate = Object(date_util_["modifyWithTimeString"])(val.minDate, defaultTime[0]); + var maxDate = Object(date_util_["modifyWithTimeString"])(val.maxDate, defaultTime[1]); + + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(function () { + _this5.maxDate = maxDate; + _this5.minDate = minDate; + }, 10); + if (!close || this.showTime) return; + this.handleConfirm(); + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + handleMinTimePick: function handleMinTimePick(value, visible, first) { + this.minDate = this.minDate || new Date(); + if (value) { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.minTimePickerVisible = visible; + } + + if (!this.maxDate || this.maxDate && this.maxDate.getTime() < this.minDate.getTime()) { + this.maxDate = new Date(this.minDate); + } + }, + handleMinTimeClose: function handleMinTimeClose() { + this.minTimePickerVisible = false; + }, + handleMaxTimePick: function handleMaxTimePick(value, visible, first) { + if (this.maxDate && value) { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.maxTimePickerVisible = visible; + } + + if (this.maxDate && this.minDate && this.minDate.getTime() > this.maxDate.getTime()) { + this.minDate = new Date(this.maxDate); + } + }, + handleMaxTimeClose: function handleMaxTimeClose() { + this.maxTimePickerVisible = false; + }, + + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear: function leftPrevYear() { + this.leftDate = Object(date_util_["prevYear"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + }, + leftPrevMonth: function leftPrevMonth() { + this.leftDate = Object(date_util_["prevMonth"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + }, + rightNextYear: function rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } else { + this.rightDate = Object(date_util_["nextYear"])(this.rightDate); + } + }, + rightNextMonth: function rightNextMonth() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextMonth"])(this.leftDate); + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } else { + this.rightDate = Object(date_util_["nextMonth"])(this.rightDate); + } + }, + + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear: function leftNextYear() { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + }, + leftNextMonth: function leftNextMonth() { + this.leftDate = Object(date_util_["nextMonth"])(this.leftDate); + }, + rightPrevYear: function rightPrevYear() { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + }, + rightPrevMonth: function rightPrevMonth() { + this.rightDate = Object(date_util_["prevMonth"])(this.rightDate); + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + isValidValue: function isValidValue(value) { + return Array.isArray(value) && value && value[0] && value[1] && Object(date_util_["isDate"])(value[0]) && Object(date_util_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true); + }, + resetView: function resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + if (this.minDate && this.maxDate == null) this.rangeState.selecting = false; + this.minDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { TimePicker: panel_time["a" /* default */], DateTable: date_table, ElInput: input_default.a, ElButton: button_default.a } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_date_rangevue_type_script_lang_js_ = (date_rangevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue + + + + + +/* normalize component */ + +var date_range_component = Object(componentNormalizer["a" /* default */])( + panel_date_rangevue_type_script_lang_js_, + date_rangevue_type_template_id_2652849a_render, + date_rangevue_type_template_id_2652849a_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_range_api; } +date_range_component.options.__file = "packages/date-picker/src/panel/date-range.vue" +/* harmony default export */ var date_range = (date_range_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8& +var month_rangevue_type_template_id_f2645fb8_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-range-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-left" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevYear } + }), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.leftNextYear } + }) + : _vm._e(), + _c("div", [_vm._v(_vm._s(_vm.leftLabel))]) + ]), + _c("month-table", { + attrs: { + "selection-mode": "range", + date: _vm.leftDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-right" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.rightPrevYear } + }) + : _vm._e(), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextYear } + }), + _c("div", [_vm._v(_vm._s(_vm.rightLabel))]) + ]), + _c("month-table", { + attrs: { + "selection-mode": "range", + date: _vm.rightDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ) + ]) + ], + 2 + ) + ] + ) + ] + ) +} +var month_rangevue_type_template_id_f2645fb8_staticRenderFns = [] +month_rangevue_type_template_id_f2645fb8_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), Object(date_util_["nextMonth"])(new Date(defaultValue))]; + } else { + return [new Date(), Object(date_util_["nextMonth"])(new Date())]; + } +}; +/* harmony default export */ var month_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + btnDisabled: function btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + leftLabel: function leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + rightLabel: function rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + leftYear: function leftYear() { + return this.leftDate.getFullYear(); + }, + rightYear: function rightYear() { + return this.rightDate.getFullYear() === this.leftDate.getFullYear() ? this.leftDate.getFullYear() + 1 : this.rightDate.getFullYear(); + }, + enableYearArrow: function enableYearArrow() { + return this.unlinkPanels && this.rightYear > this.leftYear + 1; + } + }, + + data: function data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: Object(date_util_["nextYear"])(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + shortcuts: '', + visible: '', + disabledDate: '', + format: '', + arrowControl: false, + unlinkPanels: false + }; + }, + + + watch: { + value: function value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = Object(date_util_["isDate"])(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = Object(date_util_["isDate"])(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + var minDateYear = this.minDate.getFullYear(); + var maxDateYear = this.maxDate.getFullYear(); + this.rightDate = minDateYear === maxDateYear ? Object(date_util_["nextYear"])(this.maxDate) : this.maxDate; + } else { + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + } + } else { + this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + } + } + }, + defaultValue: function defaultValue(val) { + if (!Array.isArray(this.value)) { + var _calcDefaultValue = month_rangevue_type_script_lang_js_calcDefaultValue(val), + left = _calcDefaultValue[0], + right = _calcDefaultValue[1]; + + this.leftDate = left; + this.rightDate = val && val[1] && left.getFullYear() !== right.getFullYear() && this.unlinkPanels ? right : Object(date_util_["nextYear"])(this.leftDate); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + this.$emit('pick', null); + }, + handleChangeRange: function handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + handleRangePick: function handleRangePick(val) { + var _this = this; + + var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var defaultTime = this.defaultTime || []; + var minDate = Object(date_util_["modifyWithTimeString"])(val.minDate, defaultTime[0]); + var maxDate = Object(date_util_["modifyWithTimeString"])(val.maxDate, defaultTime[1]); + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(function () { + _this.maxDate = maxDate; + _this.minDate = minDate; + }, 10); + if (!close) return; + this.handleConfirm(); + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear: function leftPrevYear() { + this.leftDate = Object(date_util_["prevYear"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + } + }, + rightNextYear: function rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + } + this.rightDate = Object(date_util_["nextYear"])(this.rightDate); + }, + + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear: function leftNextYear() { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + }, + rightPrevYear: function rightPrevYear() { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + isValidValue: function isValidValue(value) { + return Array.isArray(value) && value && value[0] && value[1] && Object(date_util_["isDate"])(value[0]) && Object(date_util_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true); + }, + resetView: function resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + this.minDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { MonthTable: month_table, ElInput: input_default.a, ElButton: button_default.a } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_month_rangevue_type_script_lang_js_ = (month_rangevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue + + + + + +/* normalize component */ + +var month_range_component = Object(componentNormalizer["a" /* default */])( + panel_month_rangevue_type_script_lang_js_, + month_rangevue_type_template_id_f2645fb8_render, + month_rangevue_type_template_id_f2645fb8_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var month_range_api; } +month_range_component.options.__file = "packages/date-picker/src/panel/month-range.vue" +/* harmony default export */ var month_range = (month_range_component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/date-picker.js + + + + + +var date_picker_getPanel = function getPanel(type) { + if (type === 'daterange' || type === 'datetimerange') { + return date_range; + } else if (type === 'monthrange') { + return month_range; + } + return panel_date; +}; + +/* harmony default export */ var date_picker = ({ + mixins: [picker["a" /* default */]], + + name: 'ElDatePicker', + + props: { + type: { + type: String, + default: 'date' + }, + timeArrowControl: Boolean + }, + + watch: { + type: function type(_type) { + if (this.picker) { + this.unmountPicker(); + this.panel = date_picker_getPanel(_type); + this.mountPicker(); + } else { + this.panel = date_picker_getPanel(_type); + } + } + }, + + created: function created() { + this.panel = date_picker_getPanel(this.type); + } +}); +// CONCATENATED MODULE: ./packages/date-picker/index.js + + +/* istanbul ignore next */ +date_picker.install = function install(Vue) { + Vue.component(date_picker.name, date_picker); +}; + +/* harmony default export */ var packages_date_picker = __webpack_exports__["default"] = (date_picker); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/descriptions-item.js b/PAMapp/local_modules/element-ui/lib/descriptions-item.js new file mode 100644 index 0000000..099db18 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/descriptions-item.js @@ -0,0 +1,139 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 142); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 142: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-item.js +/* harmony default export */ var descriptions_item = ({ + name: 'ElDescriptionsItem', + props: { + label: { + type: String, + default: '' + }, + span: { + type: Number, + default: 1 + }, + contentClassName: { + type: String, + default: '' + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + labelStyle: { + type: Object + } + }, + render: function render() { + return null; + } +}); +// CONCATENATED MODULE: ./packages/descriptions-item/index.js + + +/* istanbul ignore next */ +descriptions_item.install = function install(Vue) { + Vue.component(descriptions_item.name, descriptions_item); +}; + +/* harmony default export */ var packages_descriptions_item = __webpack_exports__["default"] = (descriptions_item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/descriptions.js b/PAMapp/local_modules/element-ui/lib/descriptions.js new file mode 100644 index 0000000..ed147c8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/descriptions.js @@ -0,0 +1,456 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 137); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 137: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-row.js +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +/* harmony default export */ var descriptions_row = ({ + name: 'ElDescriptionsRow', + props: { + row: { + type: Array + } + }, + inject: ['elDescriptions'], + render: function render(h) { + var elDescriptions = this.elDescriptions; + + var row = (this.row || []).map(function (item) { + return _extends({}, item, { + label: item.slots.label || item.props.label + }, ['labelClassName', 'contentClassName', 'labelStyle', 'contentStyle'].reduce(function (res, key) { + res[key] = item.props[key] || elDescriptions[key]; + return res; + }, {})); + }); + if (elDescriptions.direction === 'vertical') { + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref; + + return h( + 'th', + { + 'class': (_ref = { + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.border ? false : elDescriptions.colon, + 'is-bordered-label': elDescriptions.border + }, _ref[item.labelClassName] = true, _ref), + style: item.labelStyle, + attrs: { colSpan: item.props.span + } + }, + [item.label] + ); + })] + ), h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + return h( + 'td', + { + 'class': ['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName], + style: item.contentStyle, + attrs: { colSpan: item.props.span + } + }, + [item.slots.default] + ); + })] + )]); + } + if (elDescriptions.border) { + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref2; + + return [h( + 'th', + { + 'class': (_ref2 = { + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'is-bordered-label': elDescriptions.border + }, _ref2[item.labelClassName] = true, _ref2), + style: item.labelStyle, + attrs: { colSpan: '1' + } + }, + [item.label] + ), h( + 'td', + { + 'class': ['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName], + style: item.contentStyle, + attrs: { colSpan: item.props.span * 2 - 1 + } + }, + [item.slots.default] + )]; + })] + )]); + } + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref3; + + return h( + 'td', + { 'class': 'el-descriptions-item el-descriptions-item__cell', attrs: { colSpan: item.props.span } + }, + [h( + 'div', + { 'class': 'el-descriptions-item__container' }, + [h( + 'span', + { + 'class': (_ref3 = { + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.colon + }, _ref3[item.labelClassName] = true, _ref3), + style: item.labelStyle + }, + [item.label] + ), h( + 'span', + { + 'class': ['el-descriptions-item__content', item.contentClassName], + style: item.contentStyle + }, + [item.slots.default] + )] + )] + ); + })] + )]); + } +}); +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// CONCATENATED MODULE: ./packages/descriptions/src/index.js +var src_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _components; + + + + +/* harmony default export */ var src = ({ + name: 'ElDescriptions', + components: (_components = {}, _components[descriptions_row.name] = descriptions_row, _components), + props: { + border: { + type: Boolean, + default: false + }, + column: { + type: Number, + default: 3 + }, + direction: { + type: String, + default: 'horizontal' + }, + size: { + type: String + // validator: isValidComponentSize, + }, + title: { + type: String, + default: '' + }, + extra: { + type: String, + default: '' + }, + labelStyle: { + type: Object + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + contentClassName: { + type: String, + default: '' + }, + colon: { + type: Boolean, + default: true + } + }, + computed: { + descriptionsSize: function descriptionsSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + provide: function provide() { + return { + elDescriptions: this + }; + }, + + methods: { + getOptionProps: function getOptionProps(vnode) { + if (vnode.componentOptions) { + var componentOptions = vnode.componentOptions; + var _componentOptions$pro = componentOptions.propsData, + propsData = _componentOptions$pro === undefined ? {} : _componentOptions$pro, + _componentOptions$Cto = componentOptions.Ctor, + Ctor = _componentOptions$Cto === undefined ? {} : _componentOptions$Cto; + + var props = (Ctor.options || {}).props || {}; + var res = {}; + for (var k in props) { + var v = props[k]; + var defaultValue = v.default; + if (defaultValue !== undefined) { + res[k] = Object(types_["isFunction"])(defaultValue) ? defaultValue.call(vnode) : defaultValue; + } + } + return src_extends({}, res, propsData); + } + return {}; + }, + getSlots: function getSlots(vnode) { + var _this = this; + + var componentOptions = vnode.componentOptions || {}; + var children = vnode.children || componentOptions.children || []; + var slots = {}; + children.forEach(function (child) { + if (!_this.isEmptyElement(child)) { + var name = child.data && child.data.slot || 'default'; + slots[name] = slots[name] || []; + if (child.tag === 'template') { + slots[name].push(child.children); + } else { + slots[name].push(child); + } + } + }); + return src_extends({}, slots); + }, + isEmptyElement: function isEmptyElement(c) { + return !(c.tag || c.text && c.text.trim() !== ''); + }, + filledNode: function filledNode(node, span, count) { + var isLast = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + + if (!node.props) { + node.props = {}; + } + if (span > count) { + node.props.span = count; + } + if (isLast) { + // set the max span, cause of the last td + node.props.span = count; + } + return node; + }, + getRows: function getRows() { + var _this2 = this; + + var children = (this.$slots.default || []).filter(function (vnode) { + return vnode.tag && vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElDescriptionsItem'; + }); + var nodes = children.map(function (vnode) { + return { + props: _this2.getOptionProps(vnode), + slots: _this2.getSlots(vnode), + vnode: vnode + }; + }); + var rows = []; + var temp = []; + var count = this.column; + + nodes.forEach(function (node, index) { + var span = node.props.span || 1; + + if (index === children.length - 1) { + temp.push(_this2.filledNode(node, span, count, true)); + rows.push(temp); + return; + } + + if (span < count) { + count -= span; + temp.push(node); + } else { + temp.push(_this2.filledNode(node, span, count)); + rows.push(temp); + count = _this2.column; + temp = []; + } + }); + + return rows; + } + }, + render: function render() { + var h = arguments[0]; + var title = this.title, + extra = this.extra, + border = this.border, + descriptionsSize = this.descriptionsSize, + $slots = this.$slots; + + var rows = this.getRows(); + + return h( + 'div', + { 'class': 'el-descriptions' }, + [title || extra || $slots.title || $slots.extra ? h( + 'div', + { 'class': 'el-descriptions__header' }, + [h( + 'div', + { 'class': 'el-descriptions__title' }, + [$slots.title ? $slots.title : title] + ), h( + 'div', + { 'class': 'el-descriptions__extra' }, + [$slots.extra ? $slots.extra : extra] + )] + ) : null, h( + 'div', + { 'class': 'el-descriptions__body' }, + [h( + 'table', + { 'class': ['el-descriptions__table', { 'is-bordered': border }, descriptionsSize ? 'el-descriptions--' + descriptionsSize : ''] }, + [rows.map(function (row) { + return h(descriptions_row, { + attrs: { row: row } + }); + })] + )] + )] + ); + } +}); +// CONCATENATED MODULE: ./packages/descriptions/index.js + + +/* istanbul ignore next */ +src.install = function install(Vue) { + Vue.component(src.name, src); +}; + +/* harmony default export */ var descriptions = __webpack_exports__["default"] = (src); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/dialog.js b/PAMapp/local_modules/element-ui/lib/dialog.js new file mode 100644 index 0000000..b79f082 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/dialog.js @@ -0,0 +1,597 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 82); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 82: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=60140e62& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "dialog-fade" }, + on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-dialog__wrapper", + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + key: _vm.key, + ref: "dialog", + class: [ + "el-dialog", + { + "is-fullscreen": _vm.fullscreen, + "el-dialog--center": _vm.center + }, + _vm.customClass + ], + style: _vm.style, + attrs: { + role: "dialog", + "aria-modal": "true", + "aria-label": _vm.title || "dialog" + } + }, + [ + _c( + "div", + { staticClass: "el-dialog__header" }, + [ + _vm._t("title", [ + _c("span", { staticClass: "el-dialog__title" }, [ + _vm._v(_vm._s(_vm.title)) + ]) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-dialog__headerbtn", + attrs: { type: "button", "aria-label": "Close" }, + on: { click: _vm.handleClose } + }, + [ + _c("i", { + staticClass: + "el-dialog__close el-icon el-icon-close" + }) + ] + ) + : _vm._e() + ], + 2 + ), + _vm.rendered + ? _c( + "div", + { staticClass: "el-dialog__body" }, + [_vm._t("default")], + 2 + ) + : _vm._e(), + _vm.$slots.footer + ? _c( + "div", + { staticClass: "el-dialog__footer" }, + [_vm._t("footer")], + 2 + ) + : _vm._e() + ] + ) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=60140e62& + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); +var popup_default = /*#__PURE__*/__webpack_require__.n(popup_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var componentvue_type_script_lang_js_ = ({ + name: 'ElDialog', + + mixins: [popup_default.a, emitter_default.a, migrating_default.a], + + props: { + title: { + type: String, + default: '' + }, + + modal: { + type: Boolean, + default: true + }, + + modalAppendToBody: { + type: Boolean, + default: true + }, + + appendToBody: { + type: Boolean, + default: false + }, + + lockScroll: { + type: Boolean, + default: true + }, + + closeOnClickModal: { + type: Boolean, + default: true + }, + + closeOnPressEscape: { + type: Boolean, + default: true + }, + + showClose: { + type: Boolean, + default: true + }, + + width: String, + + fullscreen: Boolean, + + customClass: { + type: String, + default: '' + }, + + top: { + type: String, + default: '15vh' + }, + beforeClose: Function, + center: { + type: Boolean, + default: false + }, + + destroyOnClose: Boolean + }, + + data: function data() { + return { + closed: false, + key: 0 + }; + }, + + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.closed = false; + this.$emit('open'); + this.$el.addEventListener('scroll', this.updatePopper); + this.$nextTick(function () { + _this.$refs.dialog.scrollTop = 0; + }); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } else { + this.$el.removeEventListener('scroll', this.updatePopper); + if (!this.closed) this.$emit('close'); + if (this.destroyOnClose) { + this.$nextTick(function () { + _this.key++; + }); + } + } + } + }, + + computed: { + style: function style() { + var style = {}; + if (!this.fullscreen) { + style.marginTop = this.top; + if (this.width) { + style.width = this.width; + } + } + return style; + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'size': 'size is removed.' + } + }; + }, + handleWrapperClick: function handleWrapperClick() { + if (!this.closeOnClickModal) return; + this.handleClose(); + }, + handleClose: function handleClose() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + hide: function hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + this.closed = true; + } + }, + updatePopper: function updatePopper() { + this.broadcast('ElSelectDropdown', 'updatePopper'); + this.broadcast('ElDropdownMenu', 'updatePopper'); + }, + afterEnter: function afterEnter() { + this.$emit('opened'); + }, + afterLeave: function afterLeave() { + this.$emit('closed'); + } + }, + + mounted: function mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js& + /* harmony default export */ var src_componentvue_type_script_lang_js_ = (componentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/dialog/src/component.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_componentvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/dialog/src/component.vue" +/* harmony default export */ var src_component = (component.exports); +// CONCATENATED MODULE: ./packages/dialog/index.js + + +/* istanbul ignore next */ +src_component.install = function (Vue) { + Vue.component(src_component.name, src_component); +}; + +/* harmony default export */ var dialog = __webpack_exports__["default"] = (src_component); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/directives/mousewheel.js b/PAMapp/local_modules/element-ui/lib/directives/mousewheel.js new file mode 100644 index 0000000..3a2fa1a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/directives/mousewheel.js @@ -0,0 +1,26 @@ +'use strict'; + +exports.__esModule = true; + +var _normalizeWheel = require('normalize-wheel'); + +var _normalizeWheel2 = _interopRequireDefault(_normalizeWheel); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + +var mousewheel = function mousewheel(element, callback) { + if (element && element.addEventListener) { + element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) { + var normalized = (0, _normalizeWheel2.default)(event); + callback && callback.apply(this, [event, normalized]); + }); + } +}; + +exports.default = { + bind: function bind(el, binding) { + mousewheel(el, binding.value); + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/directives/repeat-click.js b/PAMapp/local_modules/element-ui/lib/directives/repeat-click.js new file mode 100644 index 0000000..3937ff3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/directives/repeat-click.js @@ -0,0 +1,33 @@ +'use strict'; + +exports.__esModule = true; + +var _dom = require('element-ui/lib/utils/dom'); + +var _util = require('element-ui/lib/utils/util'); + +exports.default = { + bind: function bind(el, binding, vnode) { + var interval = null; + var startTime = void 0; + var maxIntervals = (0, _util.isMac)() ? 100 : 200; + var handler = function handler() { + return vnode.context[binding.expression].apply(); + }; + var clear = function clear() { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + (0, _dom.on)(el, 'mousedown', function (e) { + if (e.button !== 0) return; + startTime = Date.now(); + (0, _dom.once)(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/divider.js b/PAMapp/local_modules/element-ui/lib/divider.js new file mode 100644 index 0000000..12940d2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/divider.js @@ -0,0 +1,312 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 123); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 123: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true& +var render = function(_h, _vm) { + var _c = _vm._c + return _c( + "div", + _vm._g( + _vm._b( + { + class: [ + _vm.data.staticClass, + "el-divider", + "el-divider--" + _vm.props.direction + ] + }, + "div", + _vm.data.attrs, + false + ), + _vm.listeners + ), + [ + _vm.slots().default && _vm.props.direction !== "vertical" + ? _c( + "div", + { class: ["el-divider__text", "is-" + _vm.props.contentPosition] }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElDivider', + props: { + direction: { + type: String, + default: 'horizontal', + validator: function validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + }, + contentPosition: { + type: String, + default: 'center', + validator: function validator(val) { + return ['left', 'center', 'right'].indexOf(val) !== -1; + } + } + } +}); +// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/divider/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + true, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/divider/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/divider/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var divider = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/drawer.js b/PAMapp/local_modules/element-ui/lib/drawer.js new file mode 100644 index 0000000..ed85f07 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/drawer.js @@ -0,0 +1,591 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 126); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 126: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=template&id=a4885264& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-drawer-fade" }, + on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-drawer__wrapper", + attrs: { tabindex: "-1" } + }, + [ + _c( + "div", + { + staticClass: "el-drawer__container", + class: _vm.visible && "el-drawer__open", + attrs: { role: "document", tabindex: "-1" }, + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + ref: "drawer", + staticClass: "el-drawer", + class: [_vm.direction, _vm.customClass], + style: _vm.isHorizontal + ? "width: " + _vm.drawerSize + : "height: " + _vm.drawerSize, + attrs: { + "aria-modal": "true", + "aria-labelledby": "el-drawer__title", + "aria-label": _vm.title, + role: "dialog", + tabindex: "-1" + } + }, + [ + _vm.withHeader + ? _c( + "header", + { + staticClass: "el-drawer__header", + attrs: { id: "el-drawer__title" } + }, + [ + _vm._t("title", [ + _c( + "span", + { attrs: { role: "heading", title: _vm.title } }, + [_vm._v(_vm._s(_vm.title))] + ) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-drawer__close-btn", + attrs: { + "aria-label": + "close " + (_vm.title || "drawer"), + type: "button" + }, + on: { click: _vm.closeDrawer } + }, + [ + _c("i", { + staticClass: + "el-dialog__close el-icon el-icon-close" + }) + ] + ) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _vm.rendered + ? _c( + "section", + { staticClass: "el-drawer__body" }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) + ] + ) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=template&id=a4885264& + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); +var popup_default = /*#__PURE__*/__webpack_require__.n(popup_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElDrawer', + mixins: [popup_default.a, emitter_default.a], + props: { + appendToBody: { + type: Boolean, + default: false + }, + beforeClose: { + type: Function + }, + customClass: { + type: String, + default: '' + }, + closeOnPressEscape: { + type: Boolean, + default: true + }, + destroyOnClose: { + type: Boolean, + default: false + }, + modal: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'rtl', + validator: function validator(val) { + return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1; + } + }, + modalAppendToBody: { + type: Boolean, + default: true + }, + showClose: { + type: Boolean, + default: true + }, + size: { + type: [Number, String], + default: '30%' + }, + title: { + type: String, + default: '' + }, + visible: { + type: Boolean + }, + wrapperClosable: { + type: Boolean, + default: true + }, + withHeader: { + type: Boolean, + default: true + } + }, + computed: { + isHorizontal: function isHorizontal() { + return this.direction === 'rtl' || this.direction === 'ltr'; + }, + drawerSize: function drawerSize() { + return typeof this.size === 'number' ? this.size + 'px' : this.size; + } + }, + data: function data() { + return { + closed: false, + prevActiveElement: null + }; + }, + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.closed = false; + this.$emit('open'); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + this.prevActiveElement = document.activeElement; + } else { + if (!this.closed) { + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + } + this.$nextTick(function () { + if (_this.prevActiveElement) { + _this.prevActiveElement.focus(); + } + }); + } + } + }, + methods: { + afterEnter: function afterEnter() { + this.$emit('opened'); + }, + afterLeave: function afterLeave() { + this.$emit('closed'); + }, + hide: function hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + this.closed = true; + } + }, + handleWrapperClick: function handleWrapperClick() { + if (this.wrapperClosable) { + this.closeDrawer(); + } + }, + closeDrawer: function closeDrawer() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + handleClose: function handleClose() { + // This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true + // pressing `ESC` will call this method, and also close the drawer. + // This method also calls `beforeClose` if there was one. + this.closeDrawer(); + } + }, + mounted: function mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/drawer/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/drawer/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/drawer/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var drawer = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/dropdown-item.js b/PAMapp/local_modules/element-ui/lib/dropdown-item.js new file mode 100644 index 0000000..77afaf6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/dropdown-item.js @@ -0,0 +1,315 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 84); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 84: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + staticClass: "el-dropdown-menu__item", + class: { + "is-disabled": _vm.disabled, + "el-dropdown-menu__item--divided": _vm.divided + }, + attrs: { + "aria-disabled": _vm.disabled, + tabindex: _vm.disabled ? null : -1 + }, + on: { click: _vm.handleClick } + }, + [_vm.icon ? _c("i", { class: _vm.icon }) : _vm._e(), _vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var dropdown_itemvue_type_script_lang_js_ = ({ + name: 'ElDropdownItem', + + mixins: [emitter_default.a], + + props: { + command: {}, + disabled: Boolean, + divided: Boolean, + icon: String + }, + + methods: { + handleClick: function handleClick(e) { + this.dispatch('ElDropdown', 'menu-item-click', [this.command, this]); + } + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdown_itemvue_type_script_lang_js_ = (dropdown_itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_dropdown_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/dropdown/src/dropdown-item.vue" +/* harmony default export */ var dropdown_item = (component.exports); +// CONCATENATED MODULE: ./packages/dropdown-item/index.js + + +/* istanbul ignore next */ +dropdown_item.install = function (Vue) { + Vue.component(dropdown_item.name, dropdown_item); +}; + +/* harmony default export */ var packages_dropdown_item = __webpack_exports__["default"] = (dropdown_item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/dropdown-menu.js b/PAMapp/local_modules/element-ui/lib/dropdown-menu.js new file mode 100644 index 0000000..7372b70 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/dropdown-menu.js @@ -0,0 +1,350 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 83); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 83: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "ul", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-dropdown-menu el-popper", + class: [_vm.size && "el-dropdown-menu--" + _vm.size] + }, + [_vm._t("default")], + 2 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// + + + +/* harmony default export */ var dropdown_menuvue_type_script_lang_js_ = ({ + name: 'ElDropdownMenu', + + componentName: 'ElDropdownMenu', + + mixins: [vue_popper_default.a], + + props: { + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: { + type: Number, + default: 0 + } + }, + + data: function data() { + return { + size: this.dropdown.dropdownSize + }; + }, + + + inject: ['dropdown'], + + created: function created() { + var _this = this; + + this.$on('updatePopper', function () { + if (_this.showPopper) _this.updatePopper(); + }); + this.$on('visible', function (val) { + _this.showPopper = val; + }); + }, + mounted: function mounted() { + this.dropdown.popperElm = this.popperElm = this.$el; + this.referenceElm = this.dropdown.$el; + // compatible with 2.6 new v-slot syntax + // issue link https://github.com/ElemeFE/element/issues/14345 + this.dropdown.initDomOperation(); + }, + + + watch: { + 'dropdown.placement': { + immediate: true, + handler: function handler(val) { + this.currentPlacement = val; + } + } + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_dropdown_menuvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/dropdown/src/dropdown-menu.vue" +/* harmony default export */ var dropdown_menu = (component.exports); +// CONCATENATED MODULE: ./packages/dropdown-menu/index.js + + +/* istanbul ignore next */ +dropdown_menu.install = function (Vue) { + Vue.component(dropdown_menu.name, dropdown_menu); +}; + +/* harmony default export */ var packages_dropdown_menu = __webpack_exports__["default"] = (dropdown_menu); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/dropdown.js b/PAMapp/local_modules/element-ui/lib/dropdown.js new file mode 100644 index 0000000..9719a09 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/dropdown.js @@ -0,0 +1,642 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 130); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 130: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/button-group" +var button_group_ = __webpack_require__(36); +var button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js& + + + + + + + + +/* harmony default export */ var dropdownvue_type_script_lang_js_ = ({ + name: 'ElDropdown', + + componentName: 'ElDropdown', + + mixins: [emitter_default.a, migrating_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + components: { + ElButton: button_default.a, + ElButtonGroup: button_group_default.a + }, + + provide: function provide() { + return { + dropdown: this + }; + }, + + + props: { + trigger: { + type: String, + default: 'hover' + }, + type: String, + size: { + type: String, + default: '' + }, + splitButton: Boolean, + hideOnClick: { + type: Boolean, + default: true + }, + placement: { + type: String, + default: 'bottom-end' + }, + visibleArrow: { + default: true + }, + showTimeout: { + type: Number, + default: 250 + }, + hideTimeout: { + type: Number, + default: 150 + }, + tabindex: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + timeout: null, + visible: false, + triggerElm: null, + menuItems: null, + menuItemsArray: null, + dropdownElm: null, + focusing: false, + listId: 'dropdown-menu-' + Object(util_["generateId"])() + }; + }, + + + computed: { + dropdownSize: function dropdownSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + + mounted: function mounted() { + this.$on('menu-item-click', this.handleMenuItemClick); + }, + + + watch: { + visible: function visible(val) { + this.broadcast('ElDropdownMenu', 'visible', val); + this.$emit('visible-change', val); + }, + focusing: function focusing(val) { + var selfDefine = this.$el.querySelector('.el-dropdown-selfdefine'); + if (selfDefine) { + // �摰�� + if (val) { + selfDefine.className += ' focusing'; + } else { + selfDefine.className = selfDefine.className.replace('focusing', ''); + } + } + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'menu-align': 'menu-align is renamed to placement.' + } + }; + }, + show: function show() { + var _this = this; + + if (this.disabled) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this.visible = true; + }, this.trigger === 'click' ? 0 : this.showTimeout); + }, + hide: function hide() { + var _this2 = this; + + if (this.disabled) return; + this.removeTabindex(); + if (this.tabindex >= 0) { + this.resetTabindex(this.triggerElm); + } + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this2.visible = false; + }, this.trigger === 'click' ? 0 : this.hideTimeout); + }, + handleClick: function handleClick() { + if (this.disabled) return; + if (this.visible) { + this.hide(); + } else { + this.show(); + } + }, + handleTriggerKeyDown: function handleTriggerKeyDown(ev) { + var keyCode = ev.keyCode; + if ([38, 40].indexOf(keyCode) > -1) { + // up/down + this.removeTabindex(); + this.resetTabindex(this.menuItems[0]); + this.menuItems[0].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { + // space enter�葉 + this.handleClick(); + } else if ([9, 27].indexOf(keyCode) > -1) { + // tab || esc + this.hide(); + } + }, + handleItemKeyDown: function handleItemKeyDown(ev) { + var keyCode = ev.keyCode; + var target = ev.target; + var currentIndex = this.menuItemsArray.indexOf(target); + var max = this.menuItemsArray.length - 1; + var nextIndex = void 0; + if ([38, 40].indexOf(keyCode) > -1) { + // up/down + if (keyCode === 38) { + // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { + // down + nextIndex = currentIndex < max ? currentIndex + 1 : max; + } + this.removeTabindex(); + this.resetTabindex(this.menuItems[nextIndex]); + this.menuItems[nextIndex].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { + // enter�葉 + this.triggerElmFocus(); + target.click(); + if (this.hideOnClick) { + // click�� + this.visible = false; + } + } else if ([9, 27].indexOf(keyCode) > -1) { + // tab // esc + this.hide(); + this.triggerElmFocus(); + } + }, + resetTabindex: function resetTabindex(ele) { + // 銝活tab�蝏辣������ + this.removeTabindex(); + ele.setAttribute('tabindex', '0'); // 銝活��������� + }, + removeTabindex: function removeTabindex() { + this.triggerElm.setAttribute('tabindex', '-1'); + this.menuItemsArray.forEach(function (item) { + item.setAttribute('tabindex', '-1'); + }); + }, + initAria: function initAria() { + this.dropdownElm.setAttribute('id', this.listId); + this.triggerElm.setAttribute('aria-haspopup', 'list'); + this.triggerElm.setAttribute('aria-controls', this.listId); + + if (!this.splitButton) { + // �摰�� + this.triggerElm.setAttribute('role', 'button'); + this.triggerElm.setAttribute('tabindex', this.tabindex); + this.triggerElm.setAttribute('class', (this.triggerElm.getAttribute('class') || '') + ' el-dropdown-selfdefine'); // �� + } + }, + initEvent: function initEvent() { + var _this3 = this; + + var trigger = this.trigger, + show = this.show, + hide = this.hide, + handleClick = this.handleClick, + splitButton = this.splitButton, + handleTriggerKeyDown = this.handleTriggerKeyDown, + handleItemKeyDown = this.handleItemKeyDown; + + this.triggerElm = splitButton ? this.$refs.trigger.$el : this.$slots.default[0].elm; + + var dropdownElm = this.dropdownElm; + + this.triggerElm.addEventListener('keydown', handleTriggerKeyDown); // triggerElm keydown + dropdownElm.addEventListener('keydown', handleItemKeyDown, true); // item keydown + // ���摰����撘� + if (!splitButton) { + this.triggerElm.addEventListener('focus', function () { + _this3.focusing = true; + }); + this.triggerElm.addEventListener('blur', function () { + _this3.focusing = false; + }); + this.triggerElm.addEventListener('click', function () { + _this3.focusing = false; + }); + } + if (trigger === 'hover') { + this.triggerElm.addEventListener('mouseenter', show); + this.triggerElm.addEventListener('mouseleave', hide); + dropdownElm.addEventListener('mouseenter', show); + dropdownElm.addEventListener('mouseleave', hide); + } else if (trigger === 'click') { + this.triggerElm.addEventListener('click', handleClick); + } + }, + handleMenuItemClick: function handleMenuItemClick(command, instance) { + if (this.hideOnClick) { + this.visible = false; + } + this.$emit('command', command, instance); + }, + triggerElmFocus: function triggerElmFocus() { + this.triggerElm.focus && this.triggerElm.focus(); + }, + initDomOperation: function initDomOperation() { + this.dropdownElm = this.popperElm; + this.menuItems = this.dropdownElm.querySelectorAll("[tabindex='-1']"); + this.menuItemsArray = [].slice.call(this.menuItems); + + this.initEvent(); + this.initAria(); + } + }, + + render: function render(h) { + var _this4 = this; + + var hide = this.hide, + splitButton = this.splitButton, + type = this.type, + dropdownSize = this.dropdownSize, + disabled = this.disabled; + + + var handleMainButtonClick = function handleMainButtonClick(event) { + _this4.$emit('click', event); + hide(); + }; + + var triggerElm = null; + if (splitButton) { + triggerElm = h('el-button-group', [h( + 'el-button', + { + attrs: { type: type, size: dropdownSize, disabled: disabled }, + nativeOn: { + 'click': handleMainButtonClick + } + }, + [this.$slots.default] + ), h( + 'el-button', + { ref: 'trigger', attrs: { type: type, size: dropdownSize, disabled: disabled }, + 'class': 'el-dropdown__caret-button' }, + [h('i', { 'class': 'el-dropdown__icon el-icon-arrow-down' })] + )]); + } else { + triggerElm = this.$slots.default; + var vnodeData = triggerElm[0].data || {}; + var _vnodeData$attrs = vnodeData.attrs, + attrs = _vnodeData$attrs === undefined ? {} : _vnodeData$attrs; + + if (disabled && !attrs.disabled) { + attrs.disabled = true; + vnodeData.attrs = attrs; + } + } + var menuElm = disabled ? null : this.$slots.dropdown; + + return h( + 'div', + { 'class': 'el-dropdown', directives: [{ + name: 'clickoutside', + value: hide + }], + attrs: { 'aria-disabled': disabled } + }, + [triggerElm, menuElm] + ); + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdownvue_type_script_lang_js_ = (dropdownvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue +var render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_dropdownvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/dropdown/src/dropdown.vue" +/* harmony default export */ var dropdown = (component.exports); +// CONCATENATED MODULE: ./packages/dropdown/index.js + + +/* istanbul ignore next */ +dropdown.install = function (Vue) { + Vue.component(dropdown.name, dropdown); +}; + +/* harmony default export */ var packages_dropdown = __webpack_exports__["default"] = (dropdown); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 36: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button-group"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/element-ui.common.js b/PAMapp/local_modules/element-ui/lib/element-ui.common.js new file mode 100644 index 0000000..dae8b31 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/element-ui.common.js @@ -0,0 +1,43871 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 46); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date-util"); + +/***/ }), +/* 1 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), +/* 12 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), +/* 17 */ +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), +/* 18 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), +/* 19 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/shared"); + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date"); + +/***/ }), +/* 21 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/transitions/collapse-transition"); + +/***/ }), +/* 22 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vdom"); + +/***/ }), +/* 23 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/focus"); + +/***/ }), +/* 24 */ +/***/ (function(module, exports) { + +module.exports = require("babel-helper-vue-jsx-merge-props"); + +/***/ }), +/* 25 */ +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/throttle"); + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tooltip"); + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scroll-into-view"); + +/***/ }), +/* 28 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/lodash"); + +/***/ }), +/* 29 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button-group"); + +/***/ }), +/* 30 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tag"); + +/***/ }), +/* 31 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scrollbar-width"); + +/***/ }), +/* 32 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox-group"); + +/***/ }), +/* 33 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/after-leave"); + +/***/ }), +/* 34 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/progress"); + +/***/ }), +/* 35 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/aria-utils"); + +/***/ }), +/* 36 */ +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce"); + +/***/ }), +/* 37 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/select"); + +/***/ }), +/* 38 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/option"); + +/***/ }), +/* 39 */ +/***/ (function(module, exports) { + +module.exports = require("normalize-wheel"); + +/***/ }), +/* 40 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/aria-dialog"); + +/***/ }), +/* 41 */ +/***/ (function(module, exports) { + +module.exports = require("async-validator"); + +/***/ }), +/* 42 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input-number"); + +/***/ }), +/* 43 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/cascader-panel"); + +/***/ }), +/* 44 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/radio"); + +/***/ }), +/* 45 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/popover"); + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(47); + + +/***/ }), +/* 47 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=template&id=7274f267& +var pagervue_type_template_id_7274f267_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "ul", + { staticClass: "el-pager", on: { click: _vm.onPagerClick } }, + [ + _vm.pageCount > 0 + ? _c( + "li", + { + staticClass: "number", + class: { active: _vm.currentPage === 1, disabled: _vm.disabled } + }, + [_vm._v("1")] + ) + : _vm._e(), + _vm.showPrevMore + ? _c("li", { + staticClass: "el-icon more btn-quickprev", + class: [_vm.quickprevIconClass, { disabled: _vm.disabled }], + on: { + mouseenter: function($event) { + _vm.onMouseenter("left") + }, + mouseleave: function($event) { + _vm.quickprevIconClass = "el-icon-more" + } + } + }) + : _vm._e(), + _vm._l(_vm.pagers, function(pager) { + return _c( + "li", + { + key: pager, + staticClass: "number", + class: { active: _vm.currentPage === pager, disabled: _vm.disabled } + }, + [_vm._v(_vm._s(pager))] + ) + }), + _vm.showNextMore + ? _c("li", { + staticClass: "el-icon more btn-quicknext", + class: [_vm.quicknextIconClass, { disabled: _vm.disabled }], + on: { + mouseenter: function($event) { + _vm.onMouseenter("right") + }, + mouseleave: function($event) { + _vm.quicknextIconClass = "el-icon-more" + } + } + }) + : _vm._e(), + _vm.pageCount > 1 + ? _c( + "li", + { + staticClass: "number", + class: { + active: _vm.currentPage === _vm.pageCount, + disabled: _vm.disabled + } + }, + [_vm._v(_vm._s(_vm.pageCount))] + ) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +pagervue_type_template_id_7274f267_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=template&id=7274f267& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var pagervue_type_script_lang_js_ = ({ + name: 'ElPager', + + props: { + currentPage: Number, + + pageCount: Number, + + pagerCount: Number, + + disabled: Boolean + }, + + watch: { + showPrevMore: function showPrevMore(val) { + if (!val) this.quickprevIconClass = 'el-icon-more'; + }, + showNextMore: function showNextMore(val) { + if (!val) this.quicknextIconClass = 'el-icon-more'; + } + }, + + methods: { + onPagerClick: function onPagerClick(event) { + var target = event.target; + if (target.tagName === 'UL' || this.disabled) { + return; + } + + var newPage = Number(event.target.textContent); + var pageCount = this.pageCount; + var currentPage = this.currentPage; + var pagerCountOffset = this.pagerCount - 2; + + if (target.className.indexOf('more') !== -1) { + if (target.className.indexOf('quickprev') !== -1) { + newPage = currentPage - pagerCountOffset; + } else if (target.className.indexOf('quicknext') !== -1) { + newPage = currentPage + pagerCountOffset; + } + } + + /* istanbul ignore if */ + if (!isNaN(newPage)) { + if (newPage < 1) { + newPage = 1; + } + + if (newPage > pageCount) { + newPage = pageCount; + } + } + + if (newPage !== currentPage) { + this.$emit('change', newPage); + } + }, + onMouseenter: function onMouseenter(direction) { + if (this.disabled) return; + if (direction === 'left') { + this.quickprevIconClass = 'el-icon-d-arrow-left'; + } else { + this.quicknextIconClass = 'el-icon-d-arrow-right'; + } + } + }, + + computed: { + pagers: function pagers() { + var pagerCount = this.pagerCount; + var halfPagerCount = (pagerCount - 1) / 2; + + var currentPage = Number(this.currentPage); + var pageCount = Number(this.pageCount); + + var showPrevMore = false; + var showNextMore = false; + + if (pageCount > pagerCount) { + if (currentPage > pagerCount - halfPagerCount) { + showPrevMore = true; + } + + if (currentPage < pageCount - halfPagerCount) { + showNextMore = true; + } + } + + var array = []; + + if (showPrevMore && !showNextMore) { + var startPage = pageCount - (pagerCount - 2); + for (var i = startPage; i < pageCount; i++) { + array.push(i); + } + } else if (!showPrevMore && showNextMore) { + for (var _i = 2; _i < pagerCount; _i++) { + array.push(_i); + } + } else if (showPrevMore && showNextMore) { + var offset = Math.floor(pagerCount / 2) - 1; + for (var _i2 = currentPage - offset; _i2 <= currentPage + offset; _i2++) { + array.push(_i2); + } + } else { + for (var _i3 = 2; _i3 < pageCount; _i3++) { + array.push(_i3); + } + } + + this.showPrevMore = showPrevMore; + this.showNextMore = showNextMore; + + return array; + } + }, + + data: function data() { + return { + current: null, + showPrevMore: false, + showNextMore: false, + quicknextIconClass: 'el-icon-more', + quickprevIconClass: 'el-icon-more' + }; + } +}); +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pagervue_type_script_lang_js_ = (pagervue_type_script_lang_js_); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue + + + + + +/* normalize component */ + +var component = normalizeComponent( + src_pagervue_type_script_lang_js_, + pagervue_type_template_id_7274f267_render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/pagination/src/pager.vue" +/* harmony default export */ var pager = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/select" +var select_ = __webpack_require__(37); +var select_default = /*#__PURE__*/__webpack_require__.n(select_); + +// EXTERNAL MODULE: external "element-ui/lib/option" +var option_ = __webpack_require__(38); +var option_default = /*#__PURE__*/__webpack_require__.n(option_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(8); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(4); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./packages/pagination/src/pagination.js + + + + + + + +/* harmony default export */ var pagination = ({ + name: 'ElPagination', + + props: { + pageSize: { + type: Number, + default: 10 + }, + + small: Boolean, + + total: Number, + + pageCount: Number, + + pagerCount: { + type: Number, + validator: function validator(value) { + return (value | 0) === value && value > 4 && value < 22 && value % 2 === 1; + }, + + default: 7 + }, + + currentPage: { + type: Number, + default: 1 + }, + + layout: { + default: 'prev, pager, next, jumper, ->, total' + }, + + pageSizes: { + type: Array, + default: function _default() { + return [10, 20, 30, 40, 50, 100]; + } + }, + + popperClass: String, + + prevText: String, + + nextText: String, + + background: Boolean, + + disabled: Boolean, + + hideOnSinglePage: Boolean + }, + + data: function data() { + return { + internalCurrentPage: 1, + internalPageSize: 0, + lastEmittedPage: -1, + userChangePageSize: false + }; + }, + render: function render(h) { + var layout = this.layout; + if (!layout) return null; + if (this.hideOnSinglePage && (!this.internalPageCount || this.internalPageCount === 1)) return null; + + var template = h('div', { 'class': ['el-pagination', { + 'is-background': this.background, + 'el-pagination--small': this.small + }] }); + var TEMPLATE_MAP = { + prev: h('prev'), + jumper: h('jumper'), + pager: h('pager', { + attrs: { currentPage: this.internalCurrentPage, pageCount: this.internalPageCount, pagerCount: this.pagerCount, disabled: this.disabled }, + on: { + 'change': this.handleCurrentChange + } + }), + next: h('next'), + sizes: h('sizes', { + attrs: { pageSizes: this.pageSizes } + }), + slot: h('slot', [this.$slots.default ? this.$slots.default : '']), + total: h('total') + }; + var components = layout.split(',').map(function (item) { + return item.trim(); + }); + var rightWrapper = h('div', { 'class': 'el-pagination__rightwrapper' }); + var haveRightWrapper = false; + + template.children = template.children || []; + rightWrapper.children = rightWrapper.children || []; + components.forEach(function (compo) { + if (compo === '->') { + haveRightWrapper = true; + return; + } + + if (!haveRightWrapper) { + template.children.push(TEMPLATE_MAP[compo]); + } else { + rightWrapper.children.push(TEMPLATE_MAP[compo]); + } + }); + + if (haveRightWrapper) { + template.children.unshift(rightWrapper); + } + + return template; + }, + + + components: { + Prev: { + render: function render(h) { + return h( + 'button', + { + attrs: { + type: 'button', + + disabled: this.$parent.disabled || this.$parent.internalCurrentPage <= 1 + }, + 'class': 'btn-prev', on: { + 'click': this.$parent.prev + } + }, + [this.$parent.prevText ? h('span', [this.$parent.prevText]) : h('i', { 'class': 'el-icon el-icon-arrow-left' })] + ); + } + }, + + Next: { + render: function render(h) { + return h( + 'button', + { + attrs: { + type: 'button', + + disabled: this.$parent.disabled || this.$parent.internalCurrentPage === this.$parent.internalPageCount || this.$parent.internalPageCount === 0 + }, + 'class': 'btn-next', on: { + 'click': this.$parent.next + } + }, + [this.$parent.nextText ? h('span', [this.$parent.nextText]) : h('i', { 'class': 'el-icon el-icon-arrow-right' })] + ); + } + }, + + Sizes: { + mixins: [locale_default.a], + + props: { + pageSizes: Array + }, + + watch: { + pageSizes: { + immediate: true, + handler: function handler(newVal, oldVal) { + if (Object(util_["valueEquals"])(newVal, oldVal)) return; + if (Array.isArray(newVal)) { + this.$parent.internalPageSize = newVal.indexOf(this.$parent.pageSize) > -1 ? this.$parent.pageSize : this.pageSizes[0]; + } + } + } + }, + + render: function render(h) { + var _this = this; + + return h( + 'span', + { 'class': 'el-pagination__sizes' }, + [h( + 'el-select', + { + attrs: { + value: this.$parent.internalPageSize, + popperClass: this.$parent.popperClass || '', + size: 'mini', + + disabled: this.$parent.disabled }, + on: { + 'input': this.handleChange + } + }, + [this.pageSizes.map(function (item) { + return h('el-option', { + attrs: { + value: item, + label: item + _this.t('el.pagination.pagesize') } + }); + })] + )] + ); + }, + + + components: { + ElSelect: select_default.a, + ElOption: option_default.a + }, + + methods: { + handleChange: function handleChange(val) { + if (val !== this.$parent.internalPageSize) { + this.$parent.internalPageSize = val = parseInt(val, 10); + this.$parent.userChangePageSize = true; + this.$parent.$emit('update:pageSize', val); + this.$parent.$emit('size-change', val); + } + } + } + }, + + Jumper: { + mixins: [locale_default.a], + + components: { ElInput: input_default.a }, + + data: function data() { + return { + userInput: null + }; + }, + + + watch: { + '$parent.internalCurrentPage': function $parentInternalCurrentPage() { + this.userInput = null; + } + }, + + methods: { + handleKeyup: function handleKeyup(_ref) { + var keyCode = _ref.keyCode, + target = _ref.target; + + // Chrome, Safari, Firefox triggers change event on Enter + // Hack for IE: https://github.com/ElemeFE/element/issues/11710 + // Drop this method when we no longer supports IE + if (keyCode === 13) { + this.handleChange(target.value); + } + }, + handleInput: function handleInput(value) { + this.userInput = value; + }, + handleChange: function handleChange(value) { + this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(value); + this.$parent.emitChange(); + this.userInput = null; + } + }, + + render: function render(h) { + return h( + 'span', + { 'class': 'el-pagination__jump' }, + [this.t('el.pagination.goto'), h('el-input', { + 'class': 'el-pagination__editor is-in-pagination', + attrs: { min: 1, + max: this.$parent.internalPageCount, + value: this.userInput !== null ? this.userInput : this.$parent.internalCurrentPage, + type: 'number', + disabled: this.$parent.disabled + }, + nativeOn: { + 'keyup': this.handleKeyup + }, + on: { + 'input': this.handleInput, + 'change': this.handleChange + } + }), this.t('el.pagination.pageClassifier')] + ); + } + }, + + Total: { + mixins: [locale_default.a], + + render: function render(h) { + return typeof this.$parent.total === 'number' ? h( + 'span', + { 'class': 'el-pagination__total' }, + [this.t('el.pagination.total', { total: this.$parent.total })] + ) : ''; + } + }, + + Pager: pager + }, + + methods: { + handleCurrentChange: function handleCurrentChange(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + this.userChangePageSize = true; + this.emitChange(); + }, + prev: function prev() { + if (this.disabled) return; + var newVal = this.internalCurrentPage - 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('prev-click', this.internalCurrentPage); + this.emitChange(); + }, + next: function next() { + if (this.disabled) return; + var newVal = this.internalCurrentPage + 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('next-click', this.internalCurrentPage); + this.emitChange(); + }, + getValidCurrentPage: function getValidCurrentPage(value) { + value = parseInt(value, 10); + + var havePageCount = typeof this.internalPageCount === 'number'; + + var resetValue = void 0; + if (!havePageCount) { + if (isNaN(value) || value < 1) resetValue = 1; + } else { + if (value < 1) { + resetValue = 1; + } else if (value > this.internalPageCount) { + resetValue = this.internalPageCount; + } + } + + if (resetValue === undefined && isNaN(value)) { + resetValue = 1; + } else if (resetValue === 0) { + resetValue = 1; + } + + return resetValue === undefined ? value : resetValue; + }, + emitChange: function emitChange() { + var _this2 = this; + + this.$nextTick(function () { + if (_this2.internalCurrentPage !== _this2.lastEmittedPage || _this2.userChangePageSize) { + _this2.$emit('current-change', _this2.internalCurrentPage); + _this2.lastEmittedPage = _this2.internalCurrentPage; + _this2.userChangePageSize = false; + } + }); + } + }, + + computed: { + internalPageCount: function internalPageCount() { + if (typeof this.total === 'number') { + return Math.max(1, Math.ceil(this.total / this.internalPageSize)); + } else if (typeof this.pageCount === 'number') { + return Math.max(1, this.pageCount); + } + return null; + } + }, + + watch: { + currentPage: { + immediate: true, + handler: function handler(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + } + }, + + pageSize: { + immediate: true, + handler: function handler(val) { + this.internalPageSize = isNaN(val) ? 10 : val; + } + }, + + internalCurrentPage: { + immediate: true, + handler: function handler(newVal) { + this.$emit('update:currentPage', newVal); + this.lastEmittedPage = -1; + } + }, + + internalPageCount: function internalPageCount(newVal) { + /* istanbul ignore if */ + var oldPage = this.internalCurrentPage; + if (newVal > 0 && oldPage === 0) { + this.internalCurrentPage = 1; + } else if (oldPage > newVal) { + this.internalCurrentPage = newVal === 0 ? 1 : newVal; + this.userChangePageSize && this.emitChange(); + } + this.userChangePageSize = false; + } + } +}); +// CONCATENATED MODULE: ./packages/pagination/index.js + + +/* istanbul ignore next */ +pagination.install = function (Vue) { + Vue.component(pagination.name, pagination); +}; + +/* harmony default export */ var packages_pagination = (pagination); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=60140e62& +var componentvue_type_template_id_60140e62_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "dialog-fade" }, + on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-dialog__wrapper", + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + key: _vm.key, + ref: "dialog", + class: [ + "el-dialog", + { + "is-fullscreen": _vm.fullscreen, + "el-dialog--center": _vm.center + }, + _vm.customClass + ], + style: _vm.style, + attrs: { + role: "dialog", + "aria-modal": "true", + "aria-label": _vm.title || "dialog" + } + }, + [ + _c( + "div", + { staticClass: "el-dialog__header" }, + [ + _vm._t("title", [ + _c("span", { staticClass: "el-dialog__title" }, [ + _vm._v(_vm._s(_vm.title)) + ]) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-dialog__headerbtn", + attrs: { type: "button", "aria-label": "Close" }, + on: { click: _vm.handleClose } + }, + [ + _c("i", { + staticClass: + "el-dialog__close el-icon el-icon-close" + }) + ] + ) + : _vm._e() + ], + 2 + ), + _vm.rendered + ? _c( + "div", + { staticClass: "el-dialog__body" }, + [_vm._t("default")], + 2 + ) + : _vm._e(), + _vm.$slots.footer + ? _c( + "div", + { staticClass: "el-dialog__footer" }, + [_vm._t("footer")], + 2 + ) + : _vm._e() + ] + ) + ] + ) + ] + ) +} +var componentvue_type_template_id_60140e62_staticRenderFns = [] +componentvue_type_template_id_60140e62_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=60140e62& + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(11); +var popup_default = /*#__PURE__*/__webpack_require__.n(popup_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(9); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(3); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var componentvue_type_script_lang_js_ = ({ + name: 'ElDialog', + + mixins: [popup_default.a, emitter_default.a, migrating_default.a], + + props: { + title: { + type: String, + default: '' + }, + + modal: { + type: Boolean, + default: true + }, + + modalAppendToBody: { + type: Boolean, + default: true + }, + + appendToBody: { + type: Boolean, + default: false + }, + + lockScroll: { + type: Boolean, + default: true + }, + + closeOnClickModal: { + type: Boolean, + default: true + }, + + closeOnPressEscape: { + type: Boolean, + default: true + }, + + showClose: { + type: Boolean, + default: true + }, + + width: String, + + fullscreen: Boolean, + + customClass: { + type: String, + default: '' + }, + + top: { + type: String, + default: '15vh' + }, + beforeClose: Function, + center: { + type: Boolean, + default: false + }, + + destroyOnClose: Boolean + }, + + data: function data() { + return { + closed: false, + key: 0 + }; + }, + + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.closed = false; + this.$emit('open'); + this.$el.addEventListener('scroll', this.updatePopper); + this.$nextTick(function () { + _this.$refs.dialog.scrollTop = 0; + }); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } else { + this.$el.removeEventListener('scroll', this.updatePopper); + if (!this.closed) this.$emit('close'); + if (this.destroyOnClose) { + this.$nextTick(function () { + _this.key++; + }); + } + } + } + }, + + computed: { + style: function style() { + var style = {}; + if (!this.fullscreen) { + style.marginTop = this.top; + if (this.width) { + style.width = this.width; + } + } + return style; + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'size': 'size is removed.' + } + }; + }, + handleWrapperClick: function handleWrapperClick() { + if (!this.closeOnClickModal) return; + this.handleClose(); + }, + handleClose: function handleClose() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + hide: function hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + this.closed = true; + } + }, + updatePopper: function updatePopper() { + this.broadcast('ElSelectDropdown', 'updatePopper'); + this.broadcast('ElDropdownMenu', 'updatePopper'); + }, + afterEnter: function afterEnter() { + this.$emit('opened'); + }, + afterLeave: function afterLeave() { + this.$emit('closed'); + } + }, + + mounted: function mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js& + /* harmony default export */ var src_componentvue_type_script_lang_js_ = (componentvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/dialog/src/component.vue + + + + + +/* normalize component */ + +var component_component = normalizeComponent( + src_componentvue_type_script_lang_js_, + componentvue_type_template_id_60140e62_render, + componentvue_type_template_id_60140e62_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var component_api; } +component_component.options.__file = "packages/dialog/src/component.vue" +/* harmony default export */ var src_component = (component_component.exports); +// CONCATENATED MODULE: ./packages/dialog/index.js + + +/* istanbul ignore next */ +src_component.install = function (Vue) { + Vue.component(src_component.name, src_component); +}; + +/* harmony default export */ var dialog = (src_component); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& +var autocompletevue_type_template_id_152f2ee6_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.close, + expression: "close" + } + ], + staticClass: "el-autocomplete", + attrs: { + "aria-haspopup": "listbox", + role: "combobox", + "aria-expanded": _vm.suggestionVisible, + "aria-owns": _vm.id + } + }, + [ + _c( + "el-input", + _vm._b( + { + ref: "input", + on: { + input: _vm.handleInput, + change: _vm.handleChange, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + clear: _vm.handleClear + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.preventDefault() + _vm.highlight(_vm.highlightedIndex - 1) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + _vm.highlight(_vm.highlightedIndex + 1) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.handleKeyEnter($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + return _vm.close($event) + } + ] + } + }, + "el-input", + [_vm.$props, _vm.$attrs], + false + ), + [ + _vm.$slots.prepend + ? _c("template", { slot: "prepend" }, [_vm._t("prepend")], 2) + : _vm._e(), + _vm.$slots.append + ? _c("template", { slot: "append" }, [_vm._t("append")], 2) + : _vm._e(), + _vm.$slots.prefix + ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) + : _vm._e(), + _vm.$slots.suffix + ? _c("template", { slot: "suffix" }, [_vm._t("suffix")], 2) + : _vm._e() + ], + 2 + ), + _c( + "el-autocomplete-suggestions", + { + ref: "suggestions", + class: [_vm.popperClass ? _vm.popperClass : ""], + attrs: { + "visible-arrow": "", + "popper-options": _vm.popperOptions, + "append-to-body": _vm.popperAppendToBody, + placement: _vm.placement, + id: _vm.id + } + }, + _vm._l(_vm.suggestions, function(item, index) { + return _c( + "li", + { + key: index, + class: { highlighted: _vm.highlightedIndex === index }, + attrs: { + id: _vm.id + "-item-" + index, + role: "option", + "aria-selected": _vm.highlightedIndex === index + }, + on: { + click: function($event) { + _vm.select(item) + } + } + }, + [ + _vm._t( + "default", + [ + _vm._v("\n " + _vm._s(item[_vm.valueKey]) + "\n ") + ], + { item: item } + ) + ], + 2 + ) + }), + 0 + ) + ], + 1 + ) +} +var autocompletevue_type_template_id_152f2ee6_staticRenderFns = [] +autocompletevue_type_template_id_152f2ee6_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6& + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(17); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(10); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& +var autocomplete_suggestionsvue_type_template_id_cd10dcf0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-autocomplete-suggestion el-popper", + class: { + "is-loading": !_vm.parent.hideLoading && _vm.parent.loading + }, + style: { width: _vm.dropdownWidth }, + attrs: { role: "region" } + }, + [ + _c( + "el-scrollbar", + { + attrs: { + tag: "ul", + "wrap-class": "el-autocomplete-suggestion__wrap", + "view-class": "el-autocomplete-suggestion__list" + } + }, + [ + !_vm.parent.hideLoading && _vm.parent.loading + ? _c("li", [_c("i", { staticClass: "el-icon-loading" })]) + : _vm._t("default") + ], + 2 + ) + ], + 1 + ) + ] + ) +} +var autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns = [] +autocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(18); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var autocomplete_suggestionsvue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + mixins: [vue_popper_default.a, emitter_default.a], + + componentName: 'ElAutocompleteSuggestions', + + data: function data() { + return { + parent: this.$parent, + dropdownWidth: '' + }; + }, + + + props: { + options: { + default: function _default() { + return { + gpuAcceleration: false + }; + } + }, + id: String + }, + + methods: { + select: function select(item) { + this.dispatch('ElAutocomplete', 'item-click', item); + } + }, + + updated: function updated() { + var _this = this; + + this.$nextTick(function (_) { + _this.popperJS && _this.updatePopper(); + }); + }, + mounted: function mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$refs.input.$refs.input || this.$parent.$refs.input.$refs.textarea; + this.referenceList = this.$el.querySelector('.el-autocomplete-suggestion__list'); + this.referenceList.setAttribute('role', 'listbox'); + this.referenceList.setAttribute('id', this.id); + }, + created: function created() { + var _this2 = this; + + this.$on('visible', function (val, inputWidth) { + _this2.dropdownWidth = inputWidth + 'px'; + _this2.showPopper = val; + }); + } +}); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js& + /* harmony default export */ var src_autocomplete_suggestionsvue_type_script_lang_js_ = (autocomplete_suggestionsvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue + + + + + +/* normalize component */ + +var autocomplete_suggestions_component = normalizeComponent( + src_autocomplete_suggestionsvue_type_script_lang_js_, + autocomplete_suggestionsvue_type_template_id_cd10dcf0_render, + autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var autocomplete_suggestions_api; } +autocomplete_suggestions_component.options.__file = "packages/autocomplete/src/autocomplete-suggestions.vue" +/* harmony default export */ var autocomplete_suggestions = (autocomplete_suggestions_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/focus" +var focus_ = __webpack_require__(23); +var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var autocompletevue_type_script_lang_js_ = ({ + name: 'ElAutocomplete', + + mixins: [emitter_default.a, focus_default()('input'), migrating_default.a], + + inheritAttrs: false, + + componentName: 'ElAutocomplete', + + components: { + ElInput: input_default.a, + ElAutocompleteSuggestions: autocomplete_suggestions + }, + + directives: { Clickoutside: clickoutside_default.a }, + + props: { + valueKey: { + type: String, + default: 'value' + }, + popperClass: String, + popperOptions: Object, + placeholder: String, + clearable: { + type: Boolean, + default: false + }, + disabled: Boolean, + name: String, + size: String, + value: String, + maxlength: Number, + minlength: Number, + autofocus: Boolean, + fetchSuggestions: Function, + triggerOnFocus: { + type: Boolean, + default: true + }, + customItem: String, + selectWhenUnmatched: { + type: Boolean, + default: false + }, + prefixIcon: String, + suffixIcon: String, + label: String, + debounce: { + type: Number, + default: 300 + }, + placement: { + type: String, + default: 'bottom-start' + }, + hideLoading: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + }, + highlightFirstItem: { + type: Boolean, + default: false + } + }, + data: function data() { + return { + activated: false, + suggestions: [], + loading: false, + highlightedIndex: -1, + suggestionDisabled: false + }; + }, + + computed: { + suggestionVisible: function suggestionVisible() { + var suggestions = this.suggestions; + var isValidData = Array.isArray(suggestions) && suggestions.length > 0; + return (isValidData || this.loading) && this.activated; + }, + id: function id() { + return 'el-autocomplete-' + Object(util_["generateId"])(); + } + }, + watch: { + suggestionVisible: function suggestionVisible(val) { + var $input = this.getInput(); + if ($input) { + this.broadcast('ElAutocompleteSuggestions', 'visible', [val, $input.offsetWidth]); + } + } + }, + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'custom-item': 'custom-item is removed, use scoped slot instead.', + 'props': 'props is removed, use value-key instead.' + } + }; + }, + getData: function getData(queryString) { + var _this = this; + + if (this.suggestionDisabled) { + return; + } + this.loading = true; + this.fetchSuggestions(queryString, function (suggestions) { + _this.loading = false; + if (_this.suggestionDisabled) { + return; + } + if (Array.isArray(suggestions)) { + _this.suggestions = suggestions; + _this.highlightedIndex = _this.highlightFirstItem ? 0 : -1; + } else { + console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array'); + } + }); + }, + handleInput: function handleInput(value) { + this.$emit('input', value); + this.suggestionDisabled = false; + if (!this.triggerOnFocus && !value) { + this.suggestionDisabled = true; + this.suggestions = []; + return; + } + this.debouncedGetData(value); + }, + handleChange: function handleChange(value) { + this.$emit('change', value); + }, + handleFocus: function handleFocus(event) { + this.activated = true; + this.$emit('focus', event); + if (this.triggerOnFocus) { + this.debouncedGetData(this.value); + } + }, + handleBlur: function handleBlur(event) { + this.$emit('blur', event); + }, + handleClear: function handleClear() { + this.activated = false; + this.$emit('clear'); + }, + close: function close(e) { + this.activated = false; + }, + handleKeyEnter: function handleKeyEnter(e) { + var _this2 = this; + + if (this.suggestionVisible && this.highlightedIndex >= 0 && this.highlightedIndex < this.suggestions.length) { + e.preventDefault(); + this.select(this.suggestions[this.highlightedIndex]); + } else if (this.selectWhenUnmatched) { + this.$emit('select', { value: this.value }); + this.$nextTick(function (_) { + _this2.suggestions = []; + _this2.highlightedIndex = -1; + }); + } + }, + select: function select(item) { + var _this3 = this; + + this.$emit('input', item[this.valueKey]); + this.$emit('select', item); + this.$nextTick(function (_) { + _this3.suggestions = []; + _this3.highlightedIndex = -1; + }); + }, + highlight: function highlight(index) { + if (!this.suggestionVisible || this.loading) { + return; + } + if (index < 0) { + this.highlightedIndex = -1; + return; + } + if (index >= this.suggestions.length) { + index = this.suggestions.length - 1; + } + var suggestion = this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap'); + var suggestionList = suggestion.querySelectorAll('.el-autocomplete-suggestion__list li'); + + var highlightItem = suggestionList[index]; + var scrollTop = suggestion.scrollTop; + var offsetTop = highlightItem.offsetTop; + + if (offsetTop + highlightItem.scrollHeight > scrollTop + suggestion.clientHeight) { + suggestion.scrollTop += highlightItem.scrollHeight; + } + if (offsetTop < scrollTop) { + suggestion.scrollTop -= highlightItem.scrollHeight; + } + this.highlightedIndex = index; + var $input = this.getInput(); + $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); + }, + getInput: function getInput() { + return this.$refs.input.getInput(); + } + }, + mounted: function mounted() { + var _this4 = this; + + this.debouncedGetData = debounce_default()(this.debounce, this.getData); + this.$on('item-click', function (item) { + _this4.select(item); + }); + var $input = this.getInput(); + $input.setAttribute('role', 'textbox'); + $input.setAttribute('aria-autocomplete', 'list'); + $input.setAttribute('aria-controls', 'id'); + $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex); + }, + beforeDestroy: function beforeDestroy() { + this.$refs.suggestions.$destroy(); + } +}); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js& + /* harmony default export */ var src_autocompletevue_type_script_lang_js_ = (autocompletevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue + + + + + +/* normalize component */ + +var autocomplete_component = normalizeComponent( + src_autocompletevue_type_script_lang_js_, + autocompletevue_type_template_id_152f2ee6_render, + autocompletevue_type_template_id_152f2ee6_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var autocomplete_api; } +autocomplete_component.options.__file = "packages/autocomplete/src/autocomplete.vue" +/* harmony default export */ var autocomplete = (autocomplete_component.exports); +// CONCATENATED MODULE: ./packages/autocomplete/index.js + + +/* istanbul ignore next */ +autocomplete.install = function (Vue) { + Vue.component(autocomplete.name, autocomplete); +}; + +/* harmony default export */ var packages_autocomplete = (autocomplete); +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(13); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/button-group" +var button_group_ = __webpack_require__(29); +var button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js& + + + + + + + + +/* harmony default export */ var dropdownvue_type_script_lang_js_ = ({ + name: 'ElDropdown', + + componentName: 'ElDropdown', + + mixins: [emitter_default.a, migrating_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + components: { + ElButton: button_default.a, + ElButtonGroup: button_group_default.a + }, + + provide: function provide() { + return { + dropdown: this + }; + }, + + + props: { + trigger: { + type: String, + default: 'hover' + }, + type: String, + size: { + type: String, + default: '' + }, + splitButton: Boolean, + hideOnClick: { + type: Boolean, + default: true + }, + placement: { + type: String, + default: 'bottom-end' + }, + visibleArrow: { + default: true + }, + showTimeout: { + type: Number, + default: 250 + }, + hideTimeout: { + type: Number, + default: 150 + }, + tabindex: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + timeout: null, + visible: false, + triggerElm: null, + menuItems: null, + menuItemsArray: null, + dropdownElm: null, + focusing: false, + listId: 'dropdown-menu-' + Object(util_["generateId"])() + }; + }, + + + computed: { + dropdownSize: function dropdownSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + + mounted: function mounted() { + this.$on('menu-item-click', this.handleMenuItemClick); + }, + + + watch: { + visible: function visible(val) { + this.broadcast('ElDropdownMenu', 'visible', val); + this.$emit('visible-change', val); + }, + focusing: function focusing(val) { + var selfDefine = this.$el.querySelector('.el-dropdown-selfdefine'); + if (selfDefine) { + // �摰�� + if (val) { + selfDefine.className += ' focusing'; + } else { + selfDefine.className = selfDefine.className.replace('focusing', ''); + } + } + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'menu-align': 'menu-align is renamed to placement.' + } + }; + }, + show: function show() { + var _this = this; + + if (this.disabled) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this.visible = true; + }, this.trigger === 'click' ? 0 : this.showTimeout); + }, + hide: function hide() { + var _this2 = this; + + if (this.disabled) return; + this.removeTabindex(); + if (this.tabindex >= 0) { + this.resetTabindex(this.triggerElm); + } + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this2.visible = false; + }, this.trigger === 'click' ? 0 : this.hideTimeout); + }, + handleClick: function handleClick() { + if (this.disabled) return; + if (this.visible) { + this.hide(); + } else { + this.show(); + } + }, + handleTriggerKeyDown: function handleTriggerKeyDown(ev) { + var keyCode = ev.keyCode; + if ([38, 40].indexOf(keyCode) > -1) { + // up/down + this.removeTabindex(); + this.resetTabindex(this.menuItems[0]); + this.menuItems[0].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { + // space enter�葉 + this.handleClick(); + } else if ([9, 27].indexOf(keyCode) > -1) { + // tab || esc + this.hide(); + } + }, + handleItemKeyDown: function handleItemKeyDown(ev) { + var keyCode = ev.keyCode; + var target = ev.target; + var currentIndex = this.menuItemsArray.indexOf(target); + var max = this.menuItemsArray.length - 1; + var nextIndex = void 0; + if ([38, 40].indexOf(keyCode) > -1) { + // up/down + if (keyCode === 38) { + // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { + // down + nextIndex = currentIndex < max ? currentIndex + 1 : max; + } + this.removeTabindex(); + this.resetTabindex(this.menuItems[nextIndex]); + this.menuItems[nextIndex].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { + // enter�葉 + this.triggerElmFocus(); + target.click(); + if (this.hideOnClick) { + // click�� + this.visible = false; + } + } else if ([9, 27].indexOf(keyCode) > -1) { + // tab // esc + this.hide(); + this.triggerElmFocus(); + } + }, + resetTabindex: function resetTabindex(ele) { + // 銝活tab�蝏辣������ + this.removeTabindex(); + ele.setAttribute('tabindex', '0'); // 銝活��������� + }, + removeTabindex: function removeTabindex() { + this.triggerElm.setAttribute('tabindex', '-1'); + this.menuItemsArray.forEach(function (item) { + item.setAttribute('tabindex', '-1'); + }); + }, + initAria: function initAria() { + this.dropdownElm.setAttribute('id', this.listId); + this.triggerElm.setAttribute('aria-haspopup', 'list'); + this.triggerElm.setAttribute('aria-controls', this.listId); + + if (!this.splitButton) { + // �摰�� + this.triggerElm.setAttribute('role', 'button'); + this.triggerElm.setAttribute('tabindex', this.tabindex); + this.triggerElm.setAttribute('class', (this.triggerElm.getAttribute('class') || '') + ' el-dropdown-selfdefine'); // �� + } + }, + initEvent: function initEvent() { + var _this3 = this; + + var trigger = this.trigger, + show = this.show, + hide = this.hide, + handleClick = this.handleClick, + splitButton = this.splitButton, + handleTriggerKeyDown = this.handleTriggerKeyDown, + handleItemKeyDown = this.handleItemKeyDown; + + this.triggerElm = splitButton ? this.$refs.trigger.$el : this.$slots.default[0].elm; + + var dropdownElm = this.dropdownElm; + + this.triggerElm.addEventListener('keydown', handleTriggerKeyDown); // triggerElm keydown + dropdownElm.addEventListener('keydown', handleItemKeyDown, true); // item keydown + // ���摰����撘� + if (!splitButton) { + this.triggerElm.addEventListener('focus', function () { + _this3.focusing = true; + }); + this.triggerElm.addEventListener('blur', function () { + _this3.focusing = false; + }); + this.triggerElm.addEventListener('click', function () { + _this3.focusing = false; + }); + } + if (trigger === 'hover') { + this.triggerElm.addEventListener('mouseenter', show); + this.triggerElm.addEventListener('mouseleave', hide); + dropdownElm.addEventListener('mouseenter', show); + dropdownElm.addEventListener('mouseleave', hide); + } else if (trigger === 'click') { + this.triggerElm.addEventListener('click', handleClick); + } + }, + handleMenuItemClick: function handleMenuItemClick(command, instance) { + if (this.hideOnClick) { + this.visible = false; + } + this.$emit('command', command, instance); + }, + triggerElmFocus: function triggerElmFocus() { + this.triggerElm.focus && this.triggerElm.focus(); + }, + initDomOperation: function initDomOperation() { + this.dropdownElm = this.popperElm; + this.menuItems = this.dropdownElm.querySelectorAll("[tabindex='-1']"); + this.menuItemsArray = [].slice.call(this.menuItems); + + this.initEvent(); + this.initAria(); + } + }, + + render: function render(h) { + var _this4 = this; + + var hide = this.hide, + splitButton = this.splitButton, + type = this.type, + dropdownSize = this.dropdownSize, + disabled = this.disabled; + + + var handleMainButtonClick = function handleMainButtonClick(event) { + _this4.$emit('click', event); + hide(); + }; + + var triggerElm = null; + if (splitButton) { + triggerElm = h('el-button-group', [h( + 'el-button', + { + attrs: { type: type, size: dropdownSize, disabled: disabled }, + nativeOn: { + 'click': handleMainButtonClick + } + }, + [this.$slots.default] + ), h( + 'el-button', + { ref: 'trigger', attrs: { type: type, size: dropdownSize, disabled: disabled }, + 'class': 'el-dropdown__caret-button' }, + [h('i', { 'class': 'el-dropdown__icon el-icon-arrow-down' })] + )]); + } else { + triggerElm = this.$slots.default; + var vnodeData = triggerElm[0].data || {}; + var _vnodeData$attrs = vnodeData.attrs, + attrs = _vnodeData$attrs === undefined ? {} : _vnodeData$attrs; + + if (disabled && !attrs.disabled) { + attrs.disabled = true; + vnodeData.attrs = attrs; + } + } + var menuElm = disabled ? null : this.$slots.dropdown; + + return h( + 'div', + { 'class': 'el-dropdown', directives: [{ + name: 'clickoutside', + value: hide + }], + attrs: { 'aria-disabled': disabled } + }, + [triggerElm, menuElm] + ); + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdownvue_type_script_lang_js_ = (dropdownvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue +var dropdown_render, dropdown_staticRenderFns + + + + +/* normalize component */ + +var dropdown_component = normalizeComponent( + src_dropdownvue_type_script_lang_js_, + dropdown_render, + dropdown_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var dropdown_api; } +dropdown_component.options.__file = "packages/dropdown/src/dropdown.vue" +/* harmony default export */ var dropdown = (dropdown_component.exports); +// CONCATENATED MODULE: ./packages/dropdown/index.js + + +/* istanbul ignore next */ +dropdown.install = function (Vue) { + Vue.component(dropdown.name, dropdown); +}; + +/* harmony default export */ var packages_dropdown = (dropdown); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714& +var dropdown_menuvue_type_template_id_0da6b714_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "ul", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-dropdown-menu el-popper", + class: [_vm.size && "el-dropdown-menu--" + _vm.size] + }, + [_vm._t("default")], + 2 + ) + ] + ) +} +var dropdown_menuvue_type_template_id_0da6b714_staticRenderFns = [] +dropdown_menuvue_type_template_id_0da6b714_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// + + + +/* harmony default export */ var dropdown_menuvue_type_script_lang_js_ = ({ + name: 'ElDropdownMenu', + + componentName: 'ElDropdownMenu', + + mixins: [vue_popper_default.a], + + props: { + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: { + type: Number, + default: 0 + } + }, + + data: function data() { + return { + size: this.dropdown.dropdownSize + }; + }, + + + inject: ['dropdown'], + + created: function created() { + var _this = this; + + this.$on('updatePopper', function () { + if (_this.showPopper) _this.updatePopper(); + }); + this.$on('visible', function (val) { + _this.showPopper = val; + }); + }, + mounted: function mounted() { + this.dropdown.popperElm = this.popperElm = this.$el; + this.referenceElm = this.dropdown.$el; + // compatible with 2.6 new v-slot syntax + // issue link https://github.com/ElemeFE/element/issues/14345 + this.dropdown.initDomOperation(); + }, + + + watch: { + 'dropdown.placement': { + immediate: true, + handler: function handler(val) { + this.currentPlacement = val; + } + } + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue + + + + + +/* normalize component */ + +var dropdown_menu_component = normalizeComponent( + src_dropdown_menuvue_type_script_lang_js_, + dropdown_menuvue_type_template_id_0da6b714_render, + dropdown_menuvue_type_template_id_0da6b714_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var dropdown_menu_api; } +dropdown_menu_component.options.__file = "packages/dropdown/src/dropdown-menu.vue" +/* harmony default export */ var dropdown_menu = (dropdown_menu_component.exports); +// CONCATENATED MODULE: ./packages/dropdown-menu/index.js + + +/* istanbul ignore next */ +dropdown_menu.install = function (Vue) { + Vue.component(dropdown_menu.name, dropdown_menu); +}; + +/* harmony default export */ var packages_dropdown_menu = (dropdown_menu); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a& +var dropdown_itemvue_type_template_id_6359102a_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + staticClass: "el-dropdown-menu__item", + class: { + "is-disabled": _vm.disabled, + "el-dropdown-menu__item--divided": _vm.divided + }, + attrs: { + "aria-disabled": _vm.disabled, + tabindex: _vm.disabled ? null : -1 + }, + on: { click: _vm.handleClick } + }, + [_vm.icon ? _c("i", { class: _vm.icon }) : _vm._e(), _vm._t("default")], + 2 + ) +} +var dropdown_itemvue_type_template_id_6359102a_staticRenderFns = [] +dropdown_itemvue_type_template_id_6359102a_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var dropdown_itemvue_type_script_lang_js_ = ({ + name: 'ElDropdownItem', + + mixins: [emitter_default.a], + + props: { + command: {}, + disabled: Boolean, + divided: Boolean, + icon: String + }, + + methods: { + handleClick: function handleClick(e) { + this.dispatch('ElDropdown', 'menu-item-click', [this.command, this]); + } + } +}); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_dropdown_itemvue_type_script_lang_js_ = (dropdown_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue + + + + + +/* normalize component */ + +var dropdown_item_component = normalizeComponent( + src_dropdown_itemvue_type_script_lang_js_, + dropdown_itemvue_type_template_id_6359102a_render, + dropdown_itemvue_type_template_id_6359102a_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var dropdown_item_api; } +dropdown_item_component.options.__file = "packages/dropdown/src/dropdown-item.vue" +/* harmony default export */ var dropdown_item = (dropdown_item_component.exports); +// CONCATENATED MODULE: ./packages/dropdown-item/index.js + + +/* istanbul ignore next */ +dropdown_item.install = function (Vue) { + Vue.component(dropdown_item.name, dropdown_item); +}; + +/* harmony default export */ var packages_dropdown_item = (dropdown_item); +// CONCATENATED MODULE: ./src/utils/aria-utils.js +var aria = aria || {}; + +aria.Utils = aria.Utils || {}; + +/** + * @desc Set focus on descendant nodes until the first focusable element is + * found. + * @param element + * DOM node for which to find the first focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ +aria.Utils.focusFirstDescendant = function (element) { + for (var i = 0; i < element.childNodes.length; i++) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Find the last descendant node that is focusable. + * @param element + * DOM node for which to find the last focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ + +aria.Utils.focusLastDescendant = function (element) { + for (var i = element.childNodes.length - 1; i >= 0; i--) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Set Attempt to set focus on the current node. + * @param element + * The node to attempt to focus on. + * @returns + * true if element is focused. + */ +aria.Utils.attemptFocus = function (element) { + if (!aria.Utils.isFocusable(element)) { + return false; + } + aria.Utils.IgnoreUtilFocusChanges = true; + try { + element.focus(); + } catch (e) {} + aria.Utils.IgnoreUtilFocusChanges = false; + return document.activeElement === element; +}; + +aria.Utils.isFocusable = function (element) { + if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) { + return true; + } + + if (element.disabled) { + return false; + } + + switch (element.nodeName) { + case 'A': + return !!element.href && element.rel !== 'ignore'; + case 'INPUT': + return element.type !== 'hidden' && element.type !== 'file'; + case 'BUTTON': + case 'SELECT': + case 'TEXTAREA': + return true; + default: + return false; + } +}; + +/** + * 閫血��銝芯�辣 + * mouseenter, mouseleave, mouseover, keyup, change, click 蝑� + * @param {Element} elm + * @param {String} name + * @param {*} opts + */ +aria.Utils.triggerEvent = function (elm, name) { + var eventName = void 0; + + if (/^mouse|click/.test(name)) { + eventName = 'MouseEvents'; + } else if (/^key/.test(name)) { + eventName = 'KeyboardEvent'; + } else { + eventName = 'HTMLEvents'; + } + var evt = document.createEvent(eventName); + + for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + opts[_key - 2] = arguments[_key]; + } + + evt.initEvent.apply(evt, [name].concat(opts)); + elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt); + + return elm; +}; + +aria.Utils.keys = { + tab: 9, + enter: 13, + space: 32, + left: 37, + up: 38, + right: 39, + down: 40, + esc: 27 +}; + +/* harmony default export */ var aria_utils = (aria.Utils); +// CONCATENATED MODULE: ./src/utils/menu/aria-submenu.js + + +var SubMenu = function SubMenu(parent, domNode) { + this.domNode = domNode; + this.parent = parent; + this.subMenuItems = []; + this.subIndex = 0; + this.init(); +}; + +SubMenu.prototype.init = function () { + this.subMenuItems = this.domNode.querySelectorAll('li'); + this.addListeners(); +}; + +SubMenu.prototype.gotoSubIndex = function (idx) { + if (idx === this.subMenuItems.length) { + idx = 0; + } else if (idx < 0) { + idx = this.subMenuItems.length - 1; + } + this.subMenuItems[idx].focus(); + this.subIndex = idx; +}; + +SubMenu.prototype.addListeners = function () { + var _this = this; + + var keys = aria_utils.keys; + var parentNode = this.parent.domNode; + Array.prototype.forEach.call(this.subMenuItems, function (el) { + el.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + _this.gotoSubIndex(_this.subIndex + 1); + prevDef = true; + break; + case keys.up: + _this.gotoSubIndex(_this.subIndex - 1); + prevDef = true; + break; + case keys.tab: + aria_utils.triggerEvent(parentNode, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + event.stopPropagation(); + } + return false; + }); + }); +}; + +/* harmony default export */ var aria_submenu = (SubMenu); +// CONCATENATED MODULE: ./src/utils/menu/aria-menuitem.js + + + +var MenuItem = function MenuItem(domNode) { + this.domNode = domNode; + this.submenu = null; + this.init(); +}; + +MenuItem.prototype.init = function () { + this.domNode.setAttribute('tabindex', '0'); + var menuChild = this.domNode.querySelector('.el-menu'); + if (menuChild) { + this.submenu = new aria_submenu(this, menuChild); + } + this.addListeners(); +}; + +MenuItem.prototype.addListeners = function () { + var _this = this; + + var keys = aria_utils.keys; + this.domNode.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + aria_utils.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(0); + prevDef = true; + break; + case keys.up: + aria_utils.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1); + prevDef = true; + break; + case keys.tab: + aria_utils.triggerEvent(event.currentTarget, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + } + }); +}; + +/* harmony default export */ var aria_menuitem = (MenuItem); +// CONCATENATED MODULE: ./src/utils/menu/aria-menubar.js + + +var Menu = function Menu(domNode) { + this.domNode = domNode; + this.init(); +}; + +Menu.prototype.init = function () { + var menuChildren = this.domNode.childNodes; + [].filter.call(menuChildren, function (child) { + return child.nodeType === 1; + }).forEach(function (child) { + new aria_menuitem(child); // eslint-disable-line + }); +}; +/* harmony default export */ var aria_menubar = (Menu); +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(1); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=script&lang=js& + + + + + + +/* harmony default export */ var menuvue_type_script_lang_js_ = ({ + name: 'ElMenu', + + render: function render(h) { + var component = h( + 'ul', + { + attrs: { + role: 'menubar' + }, + key: +this.collapse, + style: { backgroundColor: this.backgroundColor || '' }, + 'class': { + 'el-menu--horizontal': this.mode === 'horizontal', + 'el-menu--collapse': this.collapse, + "el-menu": true + } + }, + [this.$slots.default] + ); + + if (this.collapseTransition) { + return h('el-menu-collapse-transition', [component]); + } else { + return component; + } + }, + + + componentName: 'ElMenu', + + mixins: [emitter_default.a, migrating_default.a], + + provide: function provide() { + return { + rootMenu: this + }; + }, + + + components: { + 'el-menu-collapse-transition': { + functional: true, + render: function render(createElement, context) { + var data = { + props: { + mode: 'out-in' + }, + on: { + beforeEnter: function beforeEnter(el) { + el.style.opacity = 0.2; + }, + enter: function enter(el) { + Object(dom_["addClass"])(el, 'el-opacity-transition'); + el.style.opacity = 1; + }, + afterEnter: function afterEnter(el) { + Object(dom_["removeClass"])(el, 'el-opacity-transition'); + el.style.opacity = ''; + }, + beforeLeave: function beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + + if (Object(dom_["hasClass"])(el, 'el-menu--collapse')) { + Object(dom_["removeClass"])(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + Object(dom_["addClass"])(el, 'el-menu--collapse'); + } else { + Object(dom_["addClass"])(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + Object(dom_["removeClass"])(el, 'el-menu--collapse'); + } + + el.style.width = el.scrollWidth + 'px'; + el.style.overflow = 'hidden'; + }, + leave: function leave(el) { + Object(dom_["addClass"])(el, 'horizontal-collapse-transition'); + el.style.width = el.dataset.scrollWidth + 'px'; + } + } + }; + return createElement('transition', data, context.children); + } + } + }, + + props: { + mode: { + type: String, + default: 'vertical' + }, + defaultActive: { + type: String, + default: '' + }, + defaultOpeneds: Array, + uniqueOpened: Boolean, + router: Boolean, + menuTrigger: { + type: String, + default: 'hover' + }, + collapse: Boolean, + backgroundColor: String, + textColor: String, + activeTextColor: String, + collapseTransition: { + type: Boolean, + default: true + } + }, + data: function data() { + return { + activeIndex: this.defaultActive, + openedMenus: this.defaultOpeneds && !this.collapse ? this.defaultOpeneds.slice(0) : [], + items: {}, + submenus: {} + }; + }, + + computed: { + hoverBackground: function hoverBackground() { + return this.backgroundColor ? this.mixColor(this.backgroundColor, 0.2) : ''; + }, + isMenuPopup: function isMenuPopup() { + return this.mode === 'horizontal' || this.mode === 'vertical' && this.collapse; + } + }, + watch: { + defaultActive: function defaultActive(value) { + if (!this.items[value]) { + this.activeIndex = null; + } + this.updateActiveIndex(value); + }, + defaultOpeneds: function defaultOpeneds(value) { + if (!this.collapse) { + this.openedMenus = value; + } + }, + collapse: function collapse(value) { + if (value) this.openedMenus = []; + this.broadcast('ElSubmenu', 'toggle-collapse', value); + } + }, + methods: { + updateActiveIndex: function updateActiveIndex(val) { + var item = this.items[val] || this.items[this.activeIndex] || this.items[this.defaultActive]; + if (item) { + this.activeIndex = item.index; + this.initOpenedMenu(); + } else { + this.activeIndex = null; + } + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'theme': 'theme is removed.' + } + }; + }, + getColorChannels: function getColorChannels(color) { + color = color.replace('#', ''); + if (/^[0-9a-fA-F]{3}$/.test(color)) { + color = color.split(''); + for (var i = 2; i >= 0; i--) { + color.splice(i, 0, color[i]); + } + color = color.join(''); + } + if (/^[0-9a-fA-F]{6}$/.test(color)) { + return { + red: parseInt(color.slice(0, 2), 16), + green: parseInt(color.slice(2, 4), 16), + blue: parseInt(color.slice(4, 6), 16) + }; + } else { + return { + red: 255, + green: 255, + blue: 255 + }; + } + }, + mixColor: function mixColor(color, percent) { + var _getColorChannels = this.getColorChannels(color), + red = _getColorChannels.red, + green = _getColorChannels.green, + blue = _getColorChannels.blue; + + if (percent > 0) { + // shade given color + red *= 1 - percent; + green *= 1 - percent; + blue *= 1 - percent; + } else { + // tint given color + red += (255 - red) * percent; + green += (255 - green) * percent; + blue += (255 - blue) * percent; + } + return 'rgb(' + Math.round(red) + ', ' + Math.round(green) + ', ' + Math.round(blue) + ')'; + }, + addItem: function addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem: function removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu: function addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu: function removeSubmenu(item) { + delete this.submenus[item.index]; + }, + openMenu: function openMenu(index, indexPath) { + var openedMenus = this.openedMenus; + if (openedMenus.indexOf(index) !== -1) return; + // 撠�霂亥��楝敺��雿��韏� + // collapse all menu that are not under current menu item + if (this.uniqueOpened) { + this.openedMenus = openedMenus.filter(function (index) { + return indexPath.indexOf(index) !== -1; + }); + } + this.openedMenus.push(index); + }, + closeMenu: function closeMenu(index) { + var i = this.openedMenus.indexOf(index); + if (i !== -1) { + this.openedMenus.splice(i, 1); + } + }, + handleSubmenuClick: function handleSubmenuClick(submenu) { + var index = submenu.index, + indexPath = submenu.indexPath; + + var isOpened = this.openedMenus.indexOf(index) !== -1; + + if (isOpened) { + this.closeMenu(index); + this.$emit('close', index, indexPath); + } else { + this.openMenu(index, indexPath); + this.$emit('open', index, indexPath); + } + }, + handleItemClick: function handleItemClick(item) { + var _this = this; + + var index = item.index, + indexPath = item.indexPath; + + var oldActiveIndex = this.activeIndex; + var hasIndex = item.index !== null; + + if (hasIndex) { + this.activeIndex = item.index; + } + + this.$emit('select', index, indexPath, item); + + if (this.mode === 'horizontal' || this.collapse) { + this.openedMenus = []; + } + + if (this.router && hasIndex) { + this.routeToItem(item, function (error) { + _this.activeIndex = oldActiveIndex; + if (error) { + // vue-router 3.1.0+ push/replace cause NavigationDuplicated error + // https://github.com/ElemeFE/element/issues/17044 + if (error.name === 'NavigationDuplicated') return; + console.error(error); + } + }); + } + }, + + // ���������� + // initialize opened menu + initOpenedMenu: function initOpenedMenu() { + var _this2 = this; + + var index = this.activeIndex; + var activeItem = this.items[index]; + if (!activeItem || this.mode === 'horizontal' || this.collapse) return; + + var indexPath = activeItem.indexPath; + + // 撅�霂亥��★��楝敺�������� + // expand all submenus of the menu item + indexPath.forEach(function (index) { + var submenu = _this2.submenus[index]; + submenu && _this2.openMenu(index, submenu.indexPath); + }); + }, + routeToItem: function routeToItem(item, onError) { + var route = item.route || item.index; + try { + this.$router.push(route, function () {}, onError); + } catch (e) { + console.error(e); + } + }, + open: function open(index) { + var _this3 = this; + + var indexPath = this.submenus[index.toString()].indexPath; + + indexPath.forEach(function (i) { + return _this3.openMenu(i, indexPath); + }); + }, + close: function close(index) { + this.closeMenu(index); + } + }, + mounted: function mounted() { + this.initOpenedMenu(); + this.$on('item-click', this.handleItemClick); + this.$on('submenu-click', this.handleSubmenuClick); + if (this.mode === 'horizontal') { + new aria_menubar(this.$el); // eslint-disable-line + } + this.$watch('items', this.updateActiveIndex); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menuvue_type_script_lang_js_ = (menuvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/menu/src/menu.vue +var menu_render, menu_staticRenderFns + + + + +/* normalize component */ + +var menu_component = normalizeComponent( + src_menuvue_type_script_lang_js_, + menu_render, + menu_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var menu_api; } +menu_component.options.__file = "packages/menu/src/menu.vue" +/* harmony default export */ var src_menu = (menu_component.exports); +// CONCATENATED MODULE: ./packages/menu/index.js + + +/* istanbul ignore next */ +src_menu.install = function (Vue) { + Vue.component(src_menu.name, src_menu); +}; + +/* harmony default export */ var packages_menu = (src_menu); +// EXTERNAL MODULE: external "element-ui/lib/transitions/collapse-transition" +var collapse_transition_ = __webpack_require__(21); +var collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_); + +// CONCATENATED MODULE: ./packages/menu/src/menu-mixin.js +/* harmony default export */ var menu_mixin = ({ + inject: ['rootMenu'], + computed: { + indexPath: function indexPath() { + var path = [this.index]; + var parent = this.$parent; + while (parent.$options.componentName !== 'ElMenu') { + if (parent.index) { + path.unshift(parent.index); + } + parent = parent.$parent; + } + return path; + }, + parentMenu: function parentMenu() { + var parent = this.$parent; + while (parent && ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1) { + parent = parent.$parent; + } + return parent; + }, + paddingStyle: function paddingStyle() { + if (this.rootMenu.mode !== 'vertical') return {}; + + var padding = 20; + var parent = this.$parent; + + if (this.rootMenu.collapse) { + padding = 20; + } else { + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + } + return { paddingLeft: padding + 'px' }; + } + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/submenu.vue?vue&type=script&lang=js& + + + + + + +var poperMixins = { + props: { + transformOrigin: { + type: [Boolean, String], + default: false + }, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + popperOptions: vue_popper_default.a.props.popperOptions + }, + data: vue_popper_default.a.data, + methods: vue_popper_default.a.methods, + beforeDestroy: vue_popper_default.a.beforeDestroy, + deactivated: vue_popper_default.a.deactivated +}; + +/* harmony default export */ var submenuvue_type_script_lang_js_ = ({ + name: 'ElSubmenu', + + componentName: 'ElSubmenu', + + mixins: [menu_mixin, emitter_default.a, poperMixins], + + components: { ElCollapseTransition: collapse_transition_default.a }, + + props: { + index: { + type: String, + required: true + }, + showTimeout: { + type: Number, + default: 300 + }, + hideTimeout: { + type: Number, + default: 300 + }, + popperClass: String, + disabled: Boolean, + popperAppendToBody: { + type: Boolean, + default: undefined + } + }, + + data: function data() { + return { + popperJS: null, + timeout: null, + items: {}, + submenus: {}, + mouseInChild: false + }; + }, + + watch: { + opened: function opened(val) { + var _this = this; + + if (this.isMenuPopup) { + this.$nextTick(function (_) { + _this.updatePopper(); + }); + } + } + }, + computed: { + // popper option + appendToBody: function appendToBody() { + return this.popperAppendToBody === undefined ? this.isFirstLevel : this.popperAppendToBody; + }, + menuTransitionName: function menuTransitionName() { + return this.rootMenu.collapse ? 'el-zoom-in-left' : 'el-zoom-in-top'; + }, + opened: function opened() { + return this.rootMenu.openedMenus.indexOf(this.index) > -1; + }, + active: function active() { + var isActive = false; + var submenus = this.submenus; + var items = this.items; + + Object.keys(items).forEach(function (index) { + if (items[index].active) { + isActive = true; + } + }); + + Object.keys(submenus).forEach(function (index) { + if (submenus[index].active) { + isActive = true; + } + }); + + return isActive; + }, + hoverBackground: function hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor: function backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor: function activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor: function textColor() { + return this.rootMenu.textColor || ''; + }, + mode: function mode() { + return this.rootMenu.mode; + }, + isMenuPopup: function isMenuPopup() { + return this.rootMenu.isMenuPopup; + }, + titleStyle: function titleStyle() { + if (this.mode !== 'horizontal') { + return { + color: this.textColor + }; + } + return { + borderBottomColor: this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent', + color: this.active ? this.activeTextColor : this.textColor + }; + }, + isFirstLevel: function isFirstLevel() { + var isFirstLevel = true; + var parent = this.$parent; + while (parent && parent !== this.rootMenu) { + if (['ElSubmenu', 'ElMenuItemGroup'].indexOf(parent.$options.componentName) > -1) { + isFirstLevel = false; + break; + } else { + parent = parent.$parent; + } + } + return isFirstLevel; + } + }, + methods: { + handleCollapseToggle: function handleCollapseToggle(value) { + if (value) { + this.initPopper(); + } else { + this.doDestroy(); + } + }, + addItem: function addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem: function removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu: function addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu: function removeSubmenu(item) { + delete this.submenus[item.index]; + }, + handleClick: function handleClick() { + var rootMenu = this.rootMenu, + disabled = this.disabled; + + if (rootMenu.menuTrigger === 'hover' && rootMenu.mode === 'horizontal' || rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) { + return; + } + this.dispatch('ElMenu', 'submenu-click', this); + }, + handleMouseenter: function handleMouseenter(event) { + var _this2 = this; + + var showTimeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.showTimeout; + + + if (!('ActiveXObject' in window) && event.type === 'focus' && !event.relatedTarget) { + return; + } + var rootMenu = this.rootMenu, + disabled = this.disabled; + + if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) { + return; + } + this.dispatch('ElSubmenu', 'mouse-enter-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this2.rootMenu.openMenu(_this2.index, _this2.indexPath); + }, showTimeout); + + if (this.appendToBody) { + this.$parent.$el.dispatchEvent(new MouseEvent('mouseenter')); + } + }, + handleMouseleave: function handleMouseleave() { + var _this3 = this; + + var deepDispatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var rootMenu = this.rootMenu; + + if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical') { + return; + } + this.dispatch('ElSubmenu', 'mouse-leave-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + !_this3.mouseInChild && _this3.rootMenu.closeMenu(_this3.index); + }, this.hideTimeout); + + if (this.appendToBody && deepDispatch) { + if (this.$parent.$options.name === 'ElSubmenu') { + this.$parent.handleMouseleave(true); + } + } + }, + handleTitleMouseenter: function handleTitleMouseenter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + var title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.hoverBackground); + }, + handleTitleMouseleave: function handleTitleMouseleave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + var title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.backgroundColor || ''); + }, + updatePlacement: function updatePlacement() { + this.currentPlacement = this.mode === 'horizontal' && this.isFirstLevel ? 'bottom-start' : 'right-start'; + }, + initPopper: function initPopper() { + this.referenceElm = this.$el; + this.popperElm = this.$refs.menu; + this.updatePlacement(); + } + }, + created: function created() { + var _this4 = this; + + this.$on('toggle-collapse', this.handleCollapseToggle); + this.$on('mouse-enter-child', function () { + _this4.mouseInChild = true; + clearTimeout(_this4.timeout); + }); + this.$on('mouse-leave-child', function () { + _this4.mouseInChild = false; + clearTimeout(_this4.timeout); + }); + }, + mounted: function mounted() { + this.parentMenu.addSubmenu(this); + this.rootMenu.addSubmenu(this); + this.initPopper(); + }, + beforeDestroy: function beforeDestroy() { + this.parentMenu.removeSubmenu(this); + this.rootMenu.removeSubmenu(this); + }, + render: function render(h) { + var _this5 = this; + + var active = this.active, + opened = this.opened, + paddingStyle = this.paddingStyle, + titleStyle = this.titleStyle, + backgroundColor = this.backgroundColor, + rootMenu = this.rootMenu, + currentPlacement = this.currentPlacement, + menuTransitionName = this.menuTransitionName, + mode = this.mode, + disabled = this.disabled, + popperClass = this.popperClass, + $slots = this.$slots, + isFirstLevel = this.isFirstLevel; + + + var popupMenu = h( + 'transition', + { + attrs: { name: menuTransitionName } + }, + [h( + 'div', + { + ref: 'menu', + directives: [{ + name: 'show', + value: opened + }], + + 'class': ['el-menu--' + mode, popperClass], + on: { + 'mouseenter': function mouseenter($event) { + return _this5.handleMouseenter($event, 100); + }, + 'mouseleave': function mouseleave() { + return _this5.handleMouseleave(true); + }, + 'focus': function focus($event) { + return _this5.handleMouseenter($event, 100); + } + } + }, + [h( + 'ul', + { + attrs: { + role: 'menu' + }, + 'class': ['el-menu el-menu--popup', 'el-menu--popup-' + currentPlacement], + style: { backgroundColor: rootMenu.backgroundColor || '' } }, + [$slots.default] + )] + )] + ); + + var inlineMenu = h('el-collapse-transition', [h( + 'ul', + { + attrs: { + role: 'menu' + }, + 'class': 'el-menu el-menu--inline', + directives: [{ + name: 'show', + value: opened + }], + + style: { backgroundColor: rootMenu.backgroundColor || '' } }, + [$slots.default] + )]); + + var submenuTitleIcon = rootMenu.mode === 'horizontal' && isFirstLevel || rootMenu.mode === 'vertical' && !rootMenu.collapse ? 'el-icon-arrow-down' : 'el-icon-arrow-right'; + + return h( + 'li', + { + 'class': { + 'el-submenu': true, + 'is-active': active, + 'is-opened': opened, + 'is-disabled': disabled + }, + attrs: { role: 'menuitem', + 'aria-haspopup': 'true', + 'aria-expanded': opened + }, + on: { + 'mouseenter': this.handleMouseenter, + 'mouseleave': function mouseleave() { + return _this5.handleMouseleave(false); + }, + 'focus': this.handleMouseenter + } + }, + [h( + 'div', + { + 'class': 'el-submenu__title', + ref: 'submenu-title', + on: { + 'click': this.handleClick, + 'mouseenter': this.handleTitleMouseenter, + 'mouseleave': this.handleTitleMouseleave + }, + + style: [paddingStyle, titleStyle, { backgroundColor: backgroundColor }] + }, + [$slots.title, h('i', { 'class': ['el-submenu__icon-arrow', submenuTitleIcon] })] + ), this.isMenuPopup ? popupMenu : inlineMenu] + ); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_submenuvue_type_script_lang_js_ = (submenuvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/menu/src/submenu.vue +var submenu_render, submenu_staticRenderFns + + + + +/* normalize component */ + +var submenu_component = normalizeComponent( + src_submenuvue_type_script_lang_js_, + submenu_render, + submenu_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var submenu_api; } +submenu_component.options.__file = "packages/menu/src/submenu.vue" +/* harmony default export */ var submenu = (submenu_component.exports); +// CONCATENATED MODULE: ./packages/submenu/index.js + + +/* istanbul ignore next */ +submenu.install = function (Vue) { + Vue.component(submenu.name, submenu); +}; + +/* harmony default export */ var packages_submenu = (submenu); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea& +var menu_itemvue_type_template_id_2a5dbfea_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + staticClass: "el-menu-item", + class: { + "is-active": _vm.active, + "is-disabled": _vm.disabled + }, + style: [ + _vm.paddingStyle, + _vm.itemStyle, + { backgroundColor: _vm.backgroundColor } + ], + attrs: { role: "menuitem", tabindex: "-1" }, + on: { + click: _vm.handleClick, + mouseenter: _vm.onMouseEnter, + focus: _vm.onMouseEnter, + blur: _vm.onMouseLeave, + mouseleave: _vm.onMouseLeave + } + }, + [ + _vm.parentMenu.$options.componentName === "ElMenu" && + _vm.rootMenu.collapse && + _vm.$slots.title + ? _c("el-tooltip", { attrs: { effect: "dark", placement: "right" } }, [ + _c( + "div", + { attrs: { slot: "content" }, slot: "content" }, + [_vm._t("title")], + 2 + ), + _c( + "div", + { + staticStyle: { + position: "absolute", + left: "0", + top: "0", + height: "100%", + width: "100%", + display: "inline-block", + "box-sizing": "border-box", + padding: "0 20px" + } + }, + [_vm._t("default")], + 2 + ) + ]) + : [_vm._t("default"), _vm._t("title")] + ], + 2 + ) +} +var menu_itemvue_type_template_id_2a5dbfea_staticRenderFns = [] +menu_itemvue_type_template_id_2a5dbfea_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea& + +// EXTERNAL MODULE: external "element-ui/lib/tooltip" +var tooltip_ = __webpack_require__(26); +var tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var menu_itemvue_type_script_lang_js_ = ({ + name: 'ElMenuItem', + + componentName: 'ElMenuItem', + + mixins: [menu_mixin, emitter_default.a], + + components: { ElTooltip: tooltip_default.a }, + + props: { + index: { + default: null, + validator: function validator(val) { + return typeof val === 'string' || val === null; + } + }, + route: [String, Object], + disabled: Boolean + }, + computed: { + active: function active() { + return this.index === this.rootMenu.activeIndex; + }, + hoverBackground: function hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor: function backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor: function activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor: function textColor() { + return this.rootMenu.textColor || ''; + }, + mode: function mode() { + return this.rootMenu.mode; + }, + itemStyle: function itemStyle() { + var style = { + color: this.active ? this.activeTextColor : this.textColor + }; + if (this.mode === 'horizontal' && !this.isNested) { + style.borderBottomColor = this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent'; + } + return style; + }, + isNested: function isNested() { + return this.parentMenu !== this.rootMenu; + } + }, + methods: { + onMouseEnter: function onMouseEnter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.hoverBackground; + }, + onMouseLeave: function onMouseLeave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.backgroundColor; + }, + handleClick: function handleClick() { + if (!this.disabled) { + this.dispatch('ElMenu', 'item-click', this); + this.$emit('click', this); + } + } + }, + mounted: function mounted() { + this.parentMenu.addItem(this); + this.rootMenu.addItem(this); + }, + beforeDestroy: function beforeDestroy() { + this.parentMenu.removeItem(this); + this.rootMenu.removeItem(this); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menu_itemvue_type_script_lang_js_ = (menu_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue + + + + + +/* normalize component */ + +var menu_item_component = normalizeComponent( + src_menu_itemvue_type_script_lang_js_, + menu_itemvue_type_template_id_2a5dbfea_render, + menu_itemvue_type_template_id_2a5dbfea_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var menu_item_api; } +menu_item_component.options.__file = "packages/menu/src/menu-item.vue" +/* harmony default export */ var menu_item = (menu_item_component.exports); +// CONCATENATED MODULE: ./packages/menu-item/index.js + + +/* istanbul ignore next */ +menu_item.install = function (Vue) { + Vue.component(menu_item.name, menu_item); +}; + +/* harmony default export */ var packages_menu_item = (menu_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc& +var menu_item_groupvue_type_template_id_543b7bdc_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("li", { staticClass: "el-menu-item-group" }, [ + _c( + "div", + { + staticClass: "el-menu-item-group__title", + style: { paddingLeft: _vm.levelPadding + "px" } + }, + [!_vm.$slots.title ? [_vm._v(_vm._s(_vm.title))] : _vm._t("title")], + 2 + ), + _c("ul", [_vm._t("default")], 2) + ]) +} +var menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns = [] +menu_item_groupvue_type_template_id_543b7bdc_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var menu_item_groupvue_type_script_lang_js_ = ({ + name: 'ElMenuItemGroup', + + componentName: 'ElMenuItemGroup', + + inject: ['rootMenu'], + props: { + title: { + type: String + } + }, + data: function data() { + return { + paddingLeft: 20 + }; + }, + + computed: { + levelPadding: function levelPadding() { + var padding = 20; + var parent = this.$parent; + if (this.rootMenu.collapse) return 20; + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + return padding; + } + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menu_item_groupvue_type_script_lang_js_ = (menu_item_groupvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue + + + + + +/* normalize component */ + +var menu_item_group_component = normalizeComponent( + src_menu_item_groupvue_type_script_lang_js_, + menu_item_groupvue_type_template_id_543b7bdc_render, + menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var menu_item_group_api; } +menu_item_group_component.options.__file = "packages/menu/src/menu-item-group.vue" +/* harmony default export */ var menu_item_group = (menu_item_group_component.exports); +// CONCATENATED MODULE: ./packages/menu-item-group/index.js + + +/* istanbul ignore next */ +menu_item_group.install = function (Vue) { + Vue.component(menu_item_group.name, menu_item_group); +}; + +/* harmony default export */ var packages_menu_item_group = (menu_item_group); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774& +var inputvue_type_template_id_343dd774_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: [ + _vm.type === "textarea" ? "el-textarea" : "el-input", + _vm.inputSize ? "el-input--" + _vm.inputSize : "", + { + "is-disabled": _vm.inputDisabled, + "is-exceed": _vm.inputExceed, + "el-input-group": _vm.$slots.prepend || _vm.$slots.append, + "el-input-group--append": _vm.$slots.append, + "el-input-group--prepend": _vm.$slots.prepend, + "el-input--prefix": _vm.$slots.prefix || _vm.prefixIcon, + "el-input--suffix": + _vm.$slots.suffix || + _vm.suffixIcon || + _vm.clearable || + _vm.showPassword + } + ], + on: { + mouseenter: function($event) { + _vm.hovering = true + }, + mouseleave: function($event) { + _vm.hovering = false + } + } + }, + [ + _vm.type !== "textarea" + ? [ + _vm.$slots.prepend + ? _c( + "div", + { staticClass: "el-input-group__prepend" }, + [_vm._t("prepend")], + 2 + ) + : _vm._e(), + _vm.type !== "textarea" + ? _c( + "input", + _vm._b( + { + ref: "input", + staticClass: "el-input__inner", + attrs: { + tabindex: _vm.tabindex, + type: _vm.showPassword + ? _vm.passwordVisible + ? "text" + : "password" + : _vm.type, + disabled: _vm.inputDisabled, + readonly: _vm.readonly, + autocomplete: _vm.autoComplete || _vm.autocomplete, + "aria-label": _vm.label + }, + on: { + compositionstart: _vm.handleCompositionStart, + compositionupdate: _vm.handleCompositionUpdate, + compositionend: _vm.handleCompositionEnd, + input: _vm.handleInput, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + change: _vm.handleChange + } + }, + "input", + _vm.$attrs, + false + ) + ) + : _vm._e(), + _vm.$slots.prefix || _vm.prefixIcon + ? _c( + "span", + { staticClass: "el-input__prefix" }, + [ + _vm._t("prefix"), + _vm.prefixIcon + ? _c("i", { + staticClass: "el-input__icon", + class: _vm.prefixIcon + }) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _vm.getSuffixVisible() + ? _c("span", { staticClass: "el-input__suffix" }, [ + _c( + "span", + { staticClass: "el-input__suffix-inner" }, + [ + !_vm.showClear || + !_vm.showPwdVisible || + !_vm.isWordLimitVisible + ? [ + _vm._t("suffix"), + _vm.suffixIcon + ? _c("i", { + staticClass: "el-input__icon", + class: _vm.suffixIcon + }) + : _vm._e() + ] + : _vm._e(), + _vm.showClear + ? _c("i", { + staticClass: + "el-input__icon el-icon-circle-close el-input__clear", + on: { + mousedown: function($event) { + $event.preventDefault() + }, + click: _vm.clear + } + }) + : _vm._e(), + _vm.showPwdVisible + ? _c("i", { + staticClass: + "el-input__icon el-icon-view el-input__clear", + on: { click: _vm.handlePasswordVisible } + }) + : _vm._e(), + _vm.isWordLimitVisible + ? _c("span", { staticClass: "el-input__count" }, [ + _c( + "span", + { staticClass: "el-input__count-inner" }, + [ + _vm._v( + "\n " + + _vm._s(_vm.textLength) + + "/" + + _vm._s(_vm.upperLimit) + + "\n " + ) + ] + ) + ]) + : _vm._e() + ], + 2 + ), + _vm.validateState + ? _c("i", { + staticClass: "el-input__icon", + class: ["el-input__validateIcon", _vm.validateIcon] + }) + : _vm._e() + ]) + : _vm._e(), + _vm.$slots.append + ? _c( + "div", + { staticClass: "el-input-group__append" }, + [_vm._t("append")], + 2 + ) + : _vm._e() + ] + : _c( + "textarea", + _vm._b( + { + ref: "textarea", + staticClass: "el-textarea__inner", + style: _vm.textareaStyle, + attrs: { + tabindex: _vm.tabindex, + disabled: _vm.inputDisabled, + readonly: _vm.readonly, + autocomplete: _vm.autoComplete || _vm.autocomplete, + "aria-label": _vm.label + }, + on: { + compositionstart: _vm.handleCompositionStart, + compositionupdate: _vm.handleCompositionUpdate, + compositionend: _vm.handleCompositionEnd, + input: _vm.handleInput, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + change: _vm.handleChange + } + }, + "textarea", + _vm.$attrs, + false + ) + ), + _vm.isWordLimitVisible && _vm.type === "textarea" + ? _c("span", { staticClass: "el-input__count" }, [ + _vm._v(_vm._s(_vm.textLength) + "/" + _vm._s(_vm.upperLimit)) + ]) + : _vm._e() + ], + 2 + ) +} +var inputvue_type_template_id_343dd774_staticRenderFns = [] +inputvue_type_template_id_343dd774_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774& + +// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js +var hiddenTextarea = void 0; + +var HIDDEN_STYLE = '\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'; + +var CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing']; + +function calculateNodeStyling(targetElement) { + var style = window.getComputedStyle(targetElement); + + var boxSizing = style.getPropertyValue('box-sizing'); + + var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top')); + + var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width')); + + var contextStyle = CONTEXT_STYLE.map(function (name) { + return name + ':' + style.getPropertyValue(name); + }).join(';'); + + return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing }; +} + +function calcTextareaHeight(targetElement) { + var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!hiddenTextarea) { + hiddenTextarea = document.createElement('textarea'); + document.body.appendChild(hiddenTextarea); + } + + var _calculateNodeStyling = calculateNodeStyling(targetElement), + paddingSize = _calculateNodeStyling.paddingSize, + borderSize = _calculateNodeStyling.borderSize, + boxSizing = _calculateNodeStyling.boxSizing, + contextStyle = _calculateNodeStyling.contextStyle; + + hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE); + hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''; + + var height = hiddenTextarea.scrollHeight; + var result = {}; + + if (boxSizing === 'border-box') { + height = height + borderSize; + } else if (boxSizing === 'content-box') { + height = height - paddingSize; + } + + hiddenTextarea.value = ''; + var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; + + if (minRows !== null) { + var minHeight = singleRowHeight * minRows; + if (boxSizing === 'border-box') { + minHeight = minHeight + paddingSize + borderSize; + } + height = Math.max(minHeight, height); + result.minHeight = minHeight + 'px'; + } + if (maxRows !== null) { + var maxHeight = singleRowHeight * maxRows; + if (boxSizing === 'border-box') { + maxHeight = maxHeight + paddingSize + borderSize; + } + height = Math.min(maxHeight, height); + } + result.height = height + 'px'; + hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea); + hiddenTextarea = null; + return result; +}; +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(7); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/shared" +var shared_ = __webpack_require__(19); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +/* harmony default export */ var inputvue_type_script_lang_js_ = ({ + name: 'ElInput', + + componentName: 'ElInput', + + mixins: [emitter_default.a, migrating_default.a], + + inheritAttrs: false, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data: function data() { + return { + textareaCalcStyle: {}, + hovering: false, + focused: false, + isComposing: false, + passwordVisible: false + }; + }, + + + props: { + value: [String, Number], + size: String, + resize: String, + form: String, + disabled: Boolean, + readonly: Boolean, + type: { + type: String, + default: 'text' + }, + autosize: { + type: [Boolean, Object], + default: false + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator: function validator(val) { + false && false; + return true; + } + }, + validateEvent: { + type: Boolean, + default: true + }, + suffixIcon: String, + prefixIcon: String, + label: String, + clearable: { + type: Boolean, + default: false + }, + showPassword: { + type: Boolean, + default: false + }, + showWordLimit: { + type: Boolean, + default: false + }, + tabindex: String + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + validateState: function validateState() { + return this.elFormItem ? this.elFormItem.validateState : ''; + }, + needStatusIcon: function needStatusIcon() { + return this.elForm ? this.elForm.statusIcon : false; + }, + validateIcon: function validateIcon() { + return { + validating: 'el-icon-loading', + success: 'el-icon-circle-check', + error: 'el-icon-circle-close' + }[this.validateState]; + }, + textareaStyle: function textareaStyle() { + return merge_default()({}, this.textareaCalcStyle, { resize: this.resize }); + }, + inputSize: function inputSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputDisabled: function inputDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + nativeInputValue: function nativeInputValue() { + return this.value === null || this.value === undefined ? '' : String(this.value); + }, + showClear: function showClear() { + return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering); + }, + showPwdVisible: function showPwdVisible() { + return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused); + }, + isWordLimitVisible: function isWordLimitVisible() { + return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword; + }, + upperLimit: function upperLimit() { + return this.$attrs.maxlength; + }, + textLength: function textLength() { + if (typeof this.value === 'number') { + return String(this.value).length; + } + + return (this.value || '').length; + }, + inputExceed: function inputExceed() { + // show exceed style if length of initial value greater then maxlength + return this.isWordLimitVisible && this.textLength > this.upperLimit; + } + }, + + watch: { + value: function value(val) { + this.$nextTick(this.resizeTextarea); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + + // native input value is set explicitly + // do not use v-model / :value in template + // see: https://github.com/ElemeFE/element/issues/14521 + nativeInputValue: function nativeInputValue() { + this.setNativeInputValue(); + }, + + // when change between <input> and <textarea>, + // update DOM dependent value and styles + // https://github.com/ElemeFE/element/issues/14857 + type: function type() { + var _this = this; + + this.$nextTick(function () { + _this.setNativeInputValue(); + _this.resizeTextarea(); + _this.updateIconOffset(); + }); + } + }, + + methods: { + focus: function focus() { + this.getInput().focus(); + }, + blur: function blur() { + this.getInput().blur(); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.', + 'on-icon-click': 'on-icon-click is removed.' + }, + events: { + 'click': 'click is removed.' + } + }; + }, + handleBlur: function handleBlur(event) { + this.focused = false; + this.$emit('blur', event); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur', [this.value]); + } + }, + select: function select() { + this.getInput().select(); + }, + resizeTextarea: function resizeTextarea() { + if (this.$isServer) return; + var autosize = this.autosize, + type = this.type; + + if (type !== 'textarea') return; + if (!autosize) { + this.textareaCalcStyle = { + minHeight: calcTextareaHeight(this.$refs.textarea).minHeight + }; + return; + } + var minRows = autosize.minRows; + var maxRows = autosize.maxRows; + + this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows); + }, + setNativeInputValue: function setNativeInputValue() { + var input = this.getInput(); + if (!input) return; + if (input.value === this.nativeInputValue) return; + input.value = this.nativeInputValue; + }, + handleFocus: function handleFocus(event) { + this.focused = true; + this.$emit('focus', event); + }, + handleCompositionStart: function handleCompositionStart(event) { + this.$emit('compositionstart', event); + this.isComposing = true; + }, + handleCompositionUpdate: function handleCompositionUpdate(event) { + this.$emit('compositionupdate', event); + var text = event.target.value; + var lastCharacter = text[text.length - 1] || ''; + this.isComposing = !Object(shared_["isKorean"])(lastCharacter); + }, + handleCompositionEnd: function handleCompositionEnd(event) { + this.$emit('compositionend', event); + if (this.isComposing) { + this.isComposing = false; + this.handleInput(event); + } + }, + handleInput: function handleInput(event) { + // should not emit input during composition + // see: https://github.com/ElemeFE/element/issues/10516 + if (this.isComposing) return; + + // hack for https://github.com/ElemeFE/element/issues/8548 + // should remove the following line when we don't support IE + if (event.target.value === this.nativeInputValue) return; + + this.$emit('input', event.target.value); + + // ensure native input value is controlled + // see: https://github.com/ElemeFE/element/issues/12850 + this.$nextTick(this.setNativeInputValue); + }, + handleChange: function handleChange(event) { + this.$emit('change', event.target.value); + }, + calcIconOffset: function calcIconOffset(place) { + var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []); + if (!elList.length) return; + var el = null; + for (var i = 0; i < elList.length; i++) { + if (elList[i].parentNode === this.$el) { + el = elList[i]; + break; + } + } + if (!el) return; + var pendantMap = { + suffix: 'append', + prefix: 'prepend' + }; + + var pendant = pendantMap[place]; + if (this.$slots[pendant]) { + el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)'; + } else { + el.removeAttribute('style'); + } + }, + updateIconOffset: function updateIconOffset() { + this.calcIconOffset('prefix'); + this.calcIconOffset('suffix'); + }, + clear: function clear() { + this.$emit('input', ''); + this.$emit('change', ''); + this.$emit('clear'); + }, + handlePasswordVisible: function handlePasswordVisible() { + var _this2 = this; + + this.passwordVisible = !this.passwordVisible; + this.$nextTick(function () { + _this2.focus(); + }); + }, + getInput: function getInput() { + return this.$refs.input || this.$refs.textarea; + }, + getSuffixVisible: function getSuffixVisible() { + return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon; + } + }, + + created: function created() { + this.$on('inputSelect', this.select); + }, + mounted: function mounted() { + this.setNativeInputValue(); + this.resizeTextarea(); + this.updateIconOffset(); + }, + updated: function updated() { + this.$nextTick(this.updateIconOffset); + } +}); +// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js& + /* harmony default export */ var src_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/input/src/input.vue + + + + + +/* normalize component */ + +var input_component = normalizeComponent( + src_inputvue_type_script_lang_js_, + inputvue_type_template_id_343dd774_render, + inputvue_type_template_id_343dd774_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var input_api; } +input_component.options.__file = "packages/input/src/input.vue" +/* harmony default export */ var src_input = (input_component.exports); +// CONCATENATED MODULE: ./packages/input/index.js + + +/* istanbul ignore next */ +src_input.install = function (Vue) { + Vue.component(src_input.name, src_input); +}; + +/* harmony default export */ var packages_input = (src_input); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66& +var input_numbervue_type_template_id_42f8cf66_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: [ + "el-input-number", + _vm.inputNumberSize ? "el-input-number--" + _vm.inputNumberSize : "", + { "is-disabled": _vm.inputNumberDisabled }, + { "is-without-controls": !_vm.controls }, + { "is-controls-right": _vm.controlsAtRight } + ], + on: { + dragstart: function($event) { + $event.preventDefault() + } + } + }, + [ + _vm.controls + ? _c( + "span", + { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-input-number__decrease", + class: { "is-disabled": _vm.minDisabled }, + attrs: { role: "button" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.decrease($event) + } + } + }, + [ + _c("i", { + class: + "el-icon-" + (_vm.controlsAtRight ? "arrow-down" : "minus") + }) + ] + ) + : _vm._e(), + _vm.controls + ? _c( + "span", + { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-input-number__increase", + class: { "is-disabled": _vm.maxDisabled }, + attrs: { role: "button" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.increase($event) + } + } + }, + [ + _c("i", { + class: "el-icon-" + (_vm.controlsAtRight ? "arrow-up" : "plus") + }) + ] + ) + : _vm._e(), + _c("el-input", { + ref: "input", + attrs: { + value: _vm.displayValue, + placeholder: _vm.placeholder, + disabled: _vm.inputNumberDisabled, + size: _vm.inputNumberSize, + max: _vm.max, + min: _vm.min, + name: _vm.name, + label: _vm.label + }, + on: { + blur: _vm.handleBlur, + focus: _vm.handleFocus, + input: _vm.handleInput, + change: _vm.handleInputChange + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"]) + ) { + return null + } + $event.preventDefault() + return _vm.increase($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + return _vm.decrease($event) + } + ] + } + }) + ], + 1 + ) +} +var input_numbervue_type_template_id_42f8cf66_staticRenderFns = [] +input_numbervue_type_template_id_42f8cf66_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66& + +// CONCATENATED MODULE: ./src/directives/repeat-click.js + + + +/* harmony default export */ var repeat_click = ({ + bind: function bind(el, binding, vnode) { + var interval = null; + var startTime = void 0; + var maxIntervals = Object(util_["isMac"])() ? 100 : 200; + var handler = function handler() { + return vnode.context[binding.expression].apply(); + }; + var clear = function clear() { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + Object(dom_["on"])(el, 'mousedown', function (e) { + if (e.button !== 0) return; + startTime = Date.now(); + Object(dom_["once"])(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var input_numbervue_type_script_lang_js_ = ({ + name: 'ElInputNumber', + mixins: [focus_default()('input')], + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + directives: { + repeatClick: repeat_click + }, + components: { + ElInput: input_default.a + }, + props: { + step: { + type: Number, + default: 1 + }, + stepStrictly: { + type: Boolean, + default: false + }, + max: { + type: Number, + default: Infinity + }, + min: { + type: Number, + default: -Infinity + }, + value: {}, + disabled: Boolean, + size: String, + controls: { + type: Boolean, + default: true + }, + controlsPosition: { + type: String, + default: '' + }, + name: String, + label: String, + placeholder: String, + precision: { + type: Number, + validator: function validator(val) { + return val >= 0 && val === parseInt(val, 10); + } + } + }, + data: function data() { + return { + currentValue: 0, + userInput: null + }; + }, + + watch: { + value: { + immediate: true, + handler: function handler(value) { + var newVal = value === undefined ? value : Number(value); + if (newVal !== undefined) { + if (isNaN(newVal)) { + return; + } + + if (this.stepStrictly) { + var stepPrecision = this.getPrecision(this.step); + var precisionFactor = Math.pow(10, stepPrecision); + newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + this.currentValue = newVal; + this.userInput = null; + this.$emit('input', newVal); + } + } + }, + computed: { + minDisabled: function minDisabled() { + return this._decrease(this.value, this.step) < this.min; + }, + maxDisabled: function maxDisabled() { + return this._increase(this.value, this.step) > this.max; + }, + numPrecision: function numPrecision() { + var value = this.value, + step = this.step, + getPrecision = this.getPrecision, + precision = this.precision; + + var stepPrecision = getPrecision(step); + if (precision !== undefined) { + if (stepPrecision > precision) { + console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step'); + } + return precision; + } else { + return Math.max(getPrecision(value), stepPrecision); + } + }, + controlsAtRight: function controlsAtRight() { + return this.controls && this.controlsPosition === 'right'; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + inputNumberSize: function inputNumberSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputNumberDisabled: function inputNumberDisabled() { + return this.disabled || !!(this.elForm || {}).disabled; + }, + displayValue: function displayValue() { + if (this.userInput !== null) { + return this.userInput; + } + + var currentValue = this.currentValue; + + if (typeof currentValue === 'number') { + if (this.stepStrictly) { + var stepPrecision = this.getPrecision(this.step); + var precisionFactor = Math.pow(10, stepPrecision); + currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + currentValue = currentValue.toFixed(this.precision); + } + } + + return currentValue; + } + }, + methods: { + toPrecision: function toPrecision(num, precision) { + if (precision === undefined) precision = this.numPrecision; + return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision)); + }, + getPrecision: function getPrecision(value) { + if (value === undefined) return 0; + var valueString = value.toString(); + var dotPosition = valueString.indexOf('.'); + var precision = 0; + if (dotPosition !== -1) { + precision = valueString.length - dotPosition - 1; + } + return precision; + }, + _increase: function _increase(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + var precisionFactor = Math.pow(10, this.numPrecision); + // Solve the accuracy problem of JS decimal calculation by converting the value to integer. + return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor); + }, + _decrease: function _decrease(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + var precisionFactor = Math.pow(10, this.numPrecision); + + return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor); + }, + increase: function increase() { + if (this.inputNumberDisabled || this.maxDisabled) return; + var value = this.value || 0; + var newVal = this._increase(value, this.step); + this.setCurrentValue(newVal); + }, + decrease: function decrease() { + if (this.inputNumberDisabled || this.minDisabled) return; + var value = this.value || 0; + var newVal = this._decrease(value, this.step); + this.setCurrentValue(newVal); + }, + handleBlur: function handleBlur(event) { + this.$emit('blur', event); + }, + handleFocus: function handleFocus(event) { + this.$emit('focus', event); + }, + setCurrentValue: function setCurrentValue(newVal) { + var oldVal = this.currentValue; + if (typeof newVal === 'number' && this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + if (oldVal === newVal) return; + this.userInput = null; + this.$emit('input', newVal); + this.$emit('change', newVal, oldVal); + this.currentValue = newVal; + }, + handleInput: function handleInput(value) { + this.userInput = value; + }, + handleInputChange: function handleInputChange(value) { + var newVal = value === '' ? undefined : Number(value); + if (!isNaN(newVal) || value === '') { + this.setCurrentValue(newVal); + } + this.userInput = null; + }, + select: function select() { + this.$refs.input.select(); + } + }, + mounted: function mounted() { + var innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('role', 'spinbutton'); + innerInput.setAttribute('aria-valuemax', this.max); + innerInput.setAttribute('aria-valuemin', this.min); + innerInput.setAttribute('aria-valuenow', this.currentValue); + innerInput.setAttribute('aria-disabled', this.inputNumberDisabled); + }, + updated: function updated() { + if (!this.$refs || !this.$refs.input) return; + var innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('aria-valuenow', this.currentValue); + } +}); +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js& + /* harmony default export */ var src_input_numbervue_type_script_lang_js_ = (input_numbervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue + + + + + +/* normalize component */ + +var input_number_component = normalizeComponent( + src_input_numbervue_type_script_lang_js_, + input_numbervue_type_template_id_42f8cf66_render, + input_numbervue_type_template_id_42f8cf66_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var input_number_api; } +input_number_component.options.__file = "packages/input-number/src/input-number.vue" +/* harmony default export */ var input_number = (input_number_component.exports); +// CONCATENATED MODULE: ./packages/input-number/index.js + + +/* istanbul ignore next */ +input_number.install = function (Vue) { + Vue.component(input_number.name, input_number); +}; + +/* harmony default export */ var packages_input_number = (input_number); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=template&id=69cd6268& +var radiovue_type_template_id_69cd6268_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-radio", + class: [ + _vm.border && _vm.radioSize ? "el-radio--" + _vm.radioSize : "", + { "is-disabled": _vm.isDisabled }, + { "is-focus": _vm.focus }, + { "is-bordered": _vm.border }, + { "is-checked": _vm.model === _vm.label } + ], + attrs: { + role: "radio", + "aria-checked": _vm.model === _vm.label, + "aria-disabled": _vm.isDisabled, + tabindex: _vm.tabIndex + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [" ", "Spacebar"]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.model = _vm.isDisabled ? _vm.model : _vm.label + } + } + }, + [ + _c( + "span", + { + staticClass: "el-radio__input", + class: { + "is-disabled": _vm.isDisabled, + "is-checked": _vm.model === _vm.label + } + }, + [ + _c("span", { staticClass: "el-radio__inner" }), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + ref: "radio", + staticClass: "el-radio__original", + attrs: { + type: "radio", + "aria-hidden": "true", + name: _vm.name, + disabled: _vm.isDisabled, + tabindex: "-1", + autocomplete: "off" + }, + domProps: { + value: _vm.label, + checked: _vm._q(_vm.model, _vm.label) + }, + on: { + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + }, + change: [ + function($event) { + _vm.model = _vm.label + }, + _vm.handleChange + ] + } + }) + ] + ), + _c( + "span", + { + staticClass: "el-radio__label", + on: { + keydown: function($event) { + $event.stopPropagation() + } + } + }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + ] + ) +} +var radiovue_type_template_id_69cd6268_staticRenderFns = [] +radiovue_type_template_id_69cd6268_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=template&id=69cd6268& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var radiovue_type_script_lang_js_ = ({ + name: 'ElRadio', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + componentName: 'ElRadio', + + props: { + value: {}, + label: {}, + disabled: Boolean, + name: String, + border: Boolean, + size: String + }, + + data: function data() { + return { + focus: false + }; + }, + + computed: { + isGroup: function isGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + this._radioGroup = parent; + return true; + } + } + return false; + }, + + model: { + get: function get() { + return this.isGroup ? this._radioGroup.value : this.value; + }, + set: function set(val) { + if (this.isGroup) { + this.dispatch('ElRadioGroup', 'input', [val]); + } else { + this.$emit('input', val); + } + this.$refs.radio && (this.$refs.radio.checked = this.model === this.label); + } + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + radioSize: function radioSize() { + var temRadioSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup ? this._radioGroup.radioGroupSize || temRadioSize : temRadioSize; + }, + isDisabled: function isDisabled() { + return this.isGroup ? this._radioGroup.disabled || this.disabled || (this.elForm || {}).disabled : this.disabled || (this.elForm || {}).disabled; + }, + tabIndex: function tabIndex() { + return this.isDisabled || this.isGroup && this.model !== this.label ? -1 : 0; + } + }, + + methods: { + handleChange: function handleChange() { + var _this = this; + + this.$nextTick(function () { + _this.$emit('change', _this.model); + _this.isGroup && _this.dispatch('ElRadioGroup', 'handleChange', _this.model); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radiovue_type_script_lang_js_ = (radiovue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/radio/src/radio.vue + + + + + +/* normalize component */ + +var radio_component = normalizeComponent( + src_radiovue_type_script_lang_js_, + radiovue_type_template_id_69cd6268_render, + radiovue_type_template_id_69cd6268_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var radio_api; } +radio_component.options.__file = "packages/radio/src/radio.vue" +/* harmony default export */ var src_radio = (radio_component.exports); +// CONCATENATED MODULE: ./packages/radio/index.js + + +/* istanbul ignore next */ +src_radio.install = function (Vue) { + Vue.component(src_radio.name, src_radio); +}; + +/* harmony default export */ var packages_radio = (src_radio); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c& +var radio_groupvue_type_template_id_818a704c_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + _vm._elTag, + { + tag: "component", + staticClass: "el-radio-group", + attrs: { role: "radiogroup" }, + on: { keydown: _vm.handleKeydown } + }, + [_vm._t("default")], + 2 + ) +} +var radio_groupvue_type_template_id_818a704c_staticRenderFns = [] +radio_groupvue_type_template_id_818a704c_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// + + + +var keyCode = Object.freeze({ + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 +}); +/* harmony default export */ var radio_groupvue_type_script_lang_js_ = ({ + name: 'ElRadioGroup', + + componentName: 'ElRadioGroup', + + inject: { + elFormItem: { + default: '' + } + }, + + mixins: [emitter_default.a], + + props: { + value: {}, + size: String, + fill: String, + textColor: String, + disabled: Boolean + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + _elTag: function _elTag() { + var tag = (this.$vnode.data || {}).tag; + if (!tag || tag === 'component') tag = 'div'; + return tag; + }, + radioGroupSize: function radioGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + created: function created() { + var _this = this; + + this.$on('handleChange', function (value) { + _this.$emit('change', value); + }); + }, + mounted: function mounted() { + // 敶adioGroup瘝⊥��恕�★�嚗洵銝�銝芸隞仿�葉Tab撖潸 + var radios = this.$el.querySelectorAll('[type=radio]'); + var firstLabel = this.$el.querySelectorAll('[role=radio]')[0]; + if (![].some.call(radios, function (radio) { + return radio.checked; + }) && firstLabel) { + firstLabel.tabIndex = 0; + } + }, + + methods: { + handleKeydown: function handleKeydown(e) { + // 撌血銝�� �隞亙radio蝏��銝��★ + var target = e.target; + var className = target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'; + var radios = this.$el.querySelectorAll(className); + var length = radios.length; + var index = [].indexOf.call(radios, target); + var roleRadios = this.$el.querySelectorAll('[role=radio]'); + switch (e.keyCode) { + case keyCode.LEFT: + case keyCode.UP: + e.stopPropagation(); + e.preventDefault(); + if (index === 0) { + roleRadios[length - 1].click(); + roleRadios[length - 1].focus(); + } else { + roleRadios[index - 1].click(); + roleRadios[index - 1].focus(); + } + break; + case keyCode.RIGHT: + case keyCode.DOWN: + if (index === length - 1) { + e.stopPropagation(); + e.preventDefault(); + roleRadios[0].click(); + roleRadios[0].focus(); + } else { + roleRadios[index + 1].click(); + roleRadios[index + 1].focus(); + } + break; + default: + break; + } + } + }, + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radio_groupvue_type_script_lang_js_ = (radio_groupvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue + + + + + +/* normalize component */ + +var radio_group_component = normalizeComponent( + src_radio_groupvue_type_script_lang_js_, + radio_groupvue_type_template_id_818a704c_render, + radio_groupvue_type_template_id_818a704c_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var radio_group_api; } +radio_group_component.options.__file = "packages/radio/src/radio-group.vue" +/* harmony default export */ var radio_group = (radio_group_component.exports); +// CONCATENATED MODULE: ./packages/radio-group/index.js + + +/* istanbul ignore next */ +radio_group.install = function (Vue) { + Vue.component(radio_group.name, radio_group); +}; + +/* harmony default export */ var packages_radio_group = (radio_group); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32& +var radio_buttonvue_type_template_id_18a77a32_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-radio-button", + class: [ + _vm.size ? "el-radio-button--" + _vm.size : "", + { "is-active": _vm.value === _vm.label }, + { "is-disabled": _vm.isDisabled }, + { "is-focus": _vm.focus } + ], + attrs: { + role: "radio", + "aria-checked": _vm.value === _vm.label, + "aria-disabled": _vm.isDisabled, + tabindex: _vm.tabIndex + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [" ", "Spacebar"]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.value = _vm.isDisabled ? _vm.value : _vm.label + } + } + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.value, + expression: "value" + } + ], + staticClass: "el-radio-button__orig-radio", + attrs: { + type: "radio", + name: _vm.name, + disabled: _vm.isDisabled, + tabindex: "-1", + autocomplete: "off" + }, + domProps: { value: _vm.label, checked: _vm._q(_vm.value, _vm.label) }, + on: { + change: [ + function($event) { + _vm.value = _vm.label + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }), + _c( + "span", + { + staticClass: "el-radio-button__inner", + style: _vm.value === _vm.label ? _vm.activeStyle : null, + on: { + keydown: function($event) { + $event.stopPropagation() + } + } + }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + ] + ) +} +var radio_buttonvue_type_template_id_18a77a32_staticRenderFns = [] +radio_buttonvue_type_template_id_18a77a32_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var radio_buttonvue_type_script_lang_js_ = ({ + name: 'ElRadioButton', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + label: {}, + disabled: Boolean, + name: String + }, + data: function data() { + return { + focus: false + }; + }, + + computed: { + value: { + get: function get() { + return this._radioGroup.value; + }, + set: function set(value) { + this._radioGroup.$emit('input', value); + } + }, + _radioGroup: function _radioGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + activeStyle: function activeStyle() { + return { + backgroundColor: this._radioGroup.fill || '', + borderColor: this._radioGroup.fill || '', + boxShadow: this._radioGroup.fill ? '-1px 0 0 0 ' + this._radioGroup.fill : '', + color: this._radioGroup.textColor || '' + }; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + size: function size() { + return this._radioGroup.radioGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + isDisabled: function isDisabled() { + return this.disabled || this._radioGroup.disabled || (this.elForm || {}).disabled; + }, + tabIndex: function tabIndex() { + return this.isDisabled || this._radioGroup && this.value !== this.label ? -1 : 0; + } + }, + + methods: { + handleChange: function handleChange() { + var _this = this; + + this.$nextTick(function () { + _this.dispatch('ElRadioGroup', 'handleChange', _this.value); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radio_buttonvue_type_script_lang_js_ = (radio_buttonvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue + + + + + +/* normalize component */ + +var radio_button_component = normalizeComponent( + src_radio_buttonvue_type_script_lang_js_, + radio_buttonvue_type_template_id_18a77a32_render, + radio_buttonvue_type_template_id_18a77a32_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var radio_button_api; } +radio_button_component.options.__file = "packages/radio/src/radio-button.vue" +/* harmony default export */ var radio_button = (radio_button_component.exports); +// CONCATENATED MODULE: ./packages/radio-button/index.js + + +/* istanbul ignore next */ +radio_button.install = function (Vue) { + Vue.component(radio_button.name, radio_button); +}; + +/* harmony default export */ var packages_radio_button = (radio_button); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074& +var checkboxvue_type_template_id_d0387074_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-checkbox", + class: [ + _vm.border && _vm.checkboxSize + ? "el-checkbox--" + _vm.checkboxSize + : "", + { "is-disabled": _vm.isDisabled }, + { "is-bordered": _vm.border }, + { "is-checked": _vm.isChecked } + ], + attrs: { id: _vm.id } + }, + [ + _c( + "span", + { + staticClass: "el-checkbox__input", + class: { + "is-disabled": _vm.isDisabled, + "is-checked": _vm.isChecked, + "is-indeterminate": _vm.indeterminate, + "is-focus": _vm.focus + }, + attrs: { + tabindex: _vm.indeterminate ? 0 : false, + role: _vm.indeterminate ? "checkbox" : false, + "aria-checked": _vm.indeterminate ? "mixed" : false + } + }, + [ + _c("span", { staticClass: "el-checkbox__inner" }), + _vm.trueLabel || _vm.falseLabel + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox__original", + attrs: { + type: "checkbox", + "aria-hidden": _vm.indeterminate ? "true" : "false", + name: _vm.name, + disabled: _vm.isDisabled, + "true-value": _vm.trueLabel, + "false-value": _vm.falseLabel + }, + domProps: { + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, null) > -1 + : _vm._q(_vm.model, _vm.trueLabel) + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + : _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox__original", + attrs: { + type: "checkbox", + "aria-hidden": _vm.indeterminate ? "true" : "false", + disabled: _vm.isDisabled, + name: _vm.name + }, + domProps: { + value: _vm.label, + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, _vm.label) > -1 + : _vm.model + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? true : false + if (Array.isArray($$a)) { + var $$v = _vm.label, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + ] + ), + _vm.$slots.default || _vm.label + ? _c( + "span", + { staticClass: "el-checkbox__label" }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + : _vm._e() + ] + ) +} +var checkboxvue_type_template_id_d0387074_staticRenderFns = [] +checkboxvue_type_template_id_d0387074_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({ + name: 'ElCheckbox', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + componentName: 'ElCheckbox', + + data: function data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + + computed: { + model: { + get: function get() { + return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel; + }, + set: function set(val) { + if (this.isGroup) { + this.isLimitExceeded = false; + this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true); + + this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true); + + this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]); + } else { + this.$emit('input', val); + this.selfModel = val; + } + } + }, + + isChecked: function isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + isGroup: function isGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + this._checkboxGroup = parent; + return true; + } + } + return false; + }, + store: function store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled: function isLimitDisabled() { + var _checkboxGroup = this._checkboxGroup, + max = _checkboxGroup.max, + min = _checkboxGroup.min; + + return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked; + }, + isDisabled: function isDisabled() { + return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + checkboxSize: function checkboxSize() { + var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize; + } + }, + + props: { + value: {}, + label: {}, + indeterminate: Boolean, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number], + id: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + controls: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + border: Boolean, + size: String + }, + + methods: { + addToStore: function addToStore() { + if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange: function handleChange(ev) { + var _this = this; + + if (this.isLimitExceeded) return; + var value = void 0; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(function () { + if (_this.isGroup) { + _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]); + } + }); + } + }, + + created: function created() { + this.checked && this.addToStore(); + }, + mounted: function mounted() { + // 銝槐ndeterminate���� 瘛餃�ria-controls 撅�� + if (this.indeterminate) { + this.$el.setAttribute('aria-controls', this.controls); + } + }, + + + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', _value); + } + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue + + + + + +/* normalize component */ + +var checkbox_component = normalizeComponent( + src_checkboxvue_type_script_lang_js_, + checkboxvue_type_template_id_d0387074_render, + checkboxvue_type_template_id_d0387074_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var checkbox_api; } +checkbox_component.options.__file = "packages/checkbox/src/checkbox.vue" +/* harmony default export */ var src_checkbox = (checkbox_component.exports); +// CONCATENATED MODULE: ./packages/checkbox/index.js + + +/* istanbul ignore next */ +src_checkbox.install = function (Vue) { + Vue.component(src_checkbox.name, src_checkbox); +}; + +/* harmony default export */ var packages_checkbox = (src_checkbox); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e& +var checkbox_buttonvue_type_template_id_478e906e_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-checkbox-button", + class: [ + _vm.size ? "el-checkbox-button--" + _vm.size : "", + { "is-disabled": _vm.isDisabled }, + { "is-checked": _vm.isChecked }, + { "is-focus": _vm.focus } + ], + attrs: { + role: "checkbox", + "aria-checked": _vm.isChecked, + "aria-disabled": _vm.isDisabled + } + }, + [ + _vm.trueLabel || _vm.falseLabel + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox-button__original", + attrs: { + type: "checkbox", + name: _vm.name, + disabled: _vm.isDisabled, + "true-value": _vm.trueLabel, + "false-value": _vm.falseLabel + }, + domProps: { + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, null) > -1 + : _vm._q(_vm.model, _vm.trueLabel) + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel + if (Array.isArray($$a)) { + var $$v = null, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }) + : _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + staticClass: "el-checkbox-button__original", + attrs: { + type: "checkbox", + name: _vm.name, + disabled: _vm.isDisabled + }, + domProps: { + value: _vm.label, + checked: Array.isArray(_vm.model) + ? _vm._i(_vm.model, _vm.label) > -1 + : _vm.model + }, + on: { + change: [ + function($event) { + var $$a = _vm.model, + $$el = $event.target, + $$c = $$el.checked ? true : false + if (Array.isArray($$a)) { + var $$v = _vm.label, + $$i = _vm._i($$a, $$v) + if ($$el.checked) { + $$i < 0 && (_vm.model = $$a.concat([$$v])) + } else { + $$i > -1 && + (_vm.model = $$a + .slice(0, $$i) + .concat($$a.slice($$i + 1))) + } + } else { + _vm.model = $$c + } + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }), + _vm.$slots.default || _vm.label + ? _c( + "span", + { + staticClass: "el-checkbox-button__inner", + style: _vm.isChecked ? _vm.activeStyle : null + }, + [_vm._t("default", [_vm._v(_vm._s(_vm.label))])], + 2 + ) + : _vm._e() + ] + ) +} +var checkbox_buttonvue_type_template_id_478e906e_staticRenderFns = [] +checkbox_buttonvue_type_template_id_478e906e_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=template&id=478e906e& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var checkbox_buttonvue_type_script_lang_js_ = ({ + name: 'ElCheckboxButton', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data: function data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + + props: { + value: {}, + label: {}, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number] + }, + computed: { + model: { + get: function get() { + return this._checkboxGroup ? this.store : this.value !== undefined ? this.value : this.selfModel; + }, + set: function set(val) { + if (this._checkboxGroup) { + this.isLimitExceeded = false; + this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true); + + this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true); + + this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]); + } else if (this.value !== undefined) { + this.$emit('input', val); + } else { + this.selfModel = val; + } + } + }, + + isChecked: function isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + _checkboxGroup: function _checkboxGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + store: function store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + activeStyle: function activeStyle() { + return { + backgroundColor: this._checkboxGroup.fill || '', + borderColor: this._checkboxGroup.fill || '', + color: this._checkboxGroup.textColor || '', + 'box-shadow': '-1px 0 0 0 ' + this._checkboxGroup.fill + + }; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + size: function size() { + return this._checkboxGroup.checkboxGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled: function isLimitDisabled() { + var _checkboxGroup2 = this._checkboxGroup, + max = _checkboxGroup2.max, + min = _checkboxGroup2.min; + + return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked; + }, + isDisabled: function isDisabled() { + return this._checkboxGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled; + } + }, + methods: { + addToStore: function addToStore() { + if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange: function handleChange(ev) { + var _this = this; + + if (this.isLimitExceeded) return; + var value = void 0; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(function () { + if (_this._checkboxGroup) { + _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]); + } + }); + } + }, + + created: function created() { + this.checked && this.addToStore(); + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkbox_buttonvue_type_script_lang_js_ = (checkbox_buttonvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-button.vue + + + + + +/* normalize component */ + +var checkbox_button_component = normalizeComponent( + src_checkbox_buttonvue_type_script_lang_js_, + checkbox_buttonvue_type_template_id_478e906e_render, + checkbox_buttonvue_type_template_id_478e906e_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var checkbox_button_api; } +checkbox_button_component.options.__file = "packages/checkbox/src/checkbox-button.vue" +/* harmony default export */ var checkbox_button = (checkbox_button_component.exports); +// CONCATENATED MODULE: ./packages/checkbox-button/index.js + + +/* istanbul ignore next */ +checkbox_button.install = function (Vue) { + Vue.component(checkbox_button.name, checkbox_button); +}; + +/* harmony default export */ var packages_checkbox_button = (checkbox_button); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290& +var checkbox_groupvue_type_template_id_7289a290_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-checkbox-group", + attrs: { role: "group", "aria-label": "checkbox-group" } + }, + [_vm._t("default")], + 2 + ) +} +var checkbox_groupvue_type_template_id_7289a290_staticRenderFns = [] +checkbox_groupvue_type_template_id_7289a290_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js& + + + +/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({ + name: 'ElCheckboxGroup', + + componentName: 'ElCheckboxGroup', + + mixins: [emitter_default.a], + + inject: { + elFormItem: { + default: '' + } + }, + + props: { + value: {}, + disabled: Boolean, + min: Number, + max: Number, + size: String, + fill: String, + textColor: String + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + checkboxGroupSize: function checkboxGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', [_value]); + } + } +}); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue + + + + + +/* normalize component */ + +var checkbox_group_component = normalizeComponent( + src_checkbox_groupvue_type_script_lang_js_, + checkbox_groupvue_type_template_id_7289a290_render, + checkbox_groupvue_type_template_id_7289a290_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var checkbox_group_api; } +checkbox_group_component.options.__file = "packages/checkbox/src/checkbox-group.vue" +/* harmony default export */ var checkbox_group = (checkbox_group_component.exports); +// CONCATENATED MODULE: ./packages/checkbox-group/index.js + + +/* istanbul ignore next */ +checkbox_group.install = function (Vue) { + Vue.component(checkbox_group.name, checkbox_group); +}; + +/* harmony default export */ var packages_checkbox_group = (checkbox_group); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb& +var componentvue_type_template_id_2dcd8fbb_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-switch", + class: { "is-disabled": _vm.switchDisabled, "is-checked": _vm.checked }, + attrs: { + role: "switch", + "aria-checked": _vm.checked, + "aria-disabled": _vm.switchDisabled + }, + on: { + click: function($event) { + $event.preventDefault() + return _vm.switchValue($event) + } + } + }, + [ + _c("input", { + ref: "input", + staticClass: "el-switch__input", + attrs: { + type: "checkbox", + id: _vm.id, + name: _vm.name, + "true-value": _vm.activeValue, + "false-value": _vm.inactiveValue, + disabled: _vm.switchDisabled + }, + on: { + change: _vm.handleChange, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.switchValue($event) + } + } + }), + _vm.inactiveIconClass || _vm.inactiveText + ? _c( + "span", + { + class: [ + "el-switch__label", + "el-switch__label--left", + !_vm.checked ? "is-active" : "" + ] + }, + [ + _vm.inactiveIconClass + ? _c("i", { class: [_vm.inactiveIconClass] }) + : _vm._e(), + !_vm.inactiveIconClass && _vm.inactiveText + ? _c("span", { attrs: { "aria-hidden": _vm.checked } }, [ + _vm._v(_vm._s(_vm.inactiveText)) + ]) + : _vm._e() + ] + ) + : _vm._e(), + _c("span", { + ref: "core", + staticClass: "el-switch__core", + style: { width: _vm.coreWidth + "px" } + }), + _vm.activeIconClass || _vm.activeText + ? _c( + "span", + { + class: [ + "el-switch__label", + "el-switch__label--right", + _vm.checked ? "is-active" : "" + ] + }, + [ + _vm.activeIconClass + ? _c("i", { class: [_vm.activeIconClass] }) + : _vm._e(), + !_vm.activeIconClass && _vm.activeText + ? _c("span", { attrs: { "aria-hidden": !_vm.checked } }, [ + _vm._v(_vm._s(_vm.activeText)) + ]) + : _vm._e() + ] + ) + : _vm._e() + ] + ) +} +var componentvue_type_template_id_2dcd8fbb_staticRenderFns = [] +componentvue_type_template_id_2dcd8fbb_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var switch_src_componentvue_type_script_lang_js_ = ({ + name: 'ElSwitch', + mixins: [focus_default()('input'), migrating_default.a, emitter_default.a], + inject: { + elForm: { + default: '' + } + }, + props: { + value: { + type: [Boolean, String, Number], + default: false + }, + disabled: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 40 + }, + activeIconClass: { + type: String, + default: '' + }, + inactiveIconClass: { + type: String, + default: '' + }, + activeText: String, + inactiveText: String, + activeColor: { + type: String, + default: '' + }, + inactiveColor: { + type: String, + default: '' + }, + activeValue: { + type: [Boolean, String, Number], + default: true + }, + inactiveValue: { + type: [Boolean, String, Number], + default: false + }, + name: { + type: String, + default: '' + }, + validateEvent: { + type: Boolean, + default: true + }, + id: String + }, + data: function data() { + return { + coreWidth: this.width + }; + }, + created: function created() { + if (!~[this.activeValue, this.inactiveValue].indexOf(this.value)) { + this.$emit('input', this.inactiveValue); + } + }, + + computed: { + checked: function checked() { + return this.value === this.activeValue; + }, + switchDisabled: function switchDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + watch: { + checked: function checked() { + this.$refs.input.checked = this.checked; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } + }, + methods: { + handleChange: function handleChange(event) { + var _this = this; + + var val = this.checked ? this.inactiveValue : this.activeValue; + this.$emit('input', val); + this.$emit('change', val); + this.$nextTick(function () { + // set input's checked property + // in case parent refuses to change component's value + if (_this.$refs.input) { + _this.$refs.input.checked = _this.checked; + } + }); + }, + setBackgroundColor: function setBackgroundColor() { + var newColor = this.checked ? this.activeColor : this.inactiveColor; + this.$refs.core.style.borderColor = newColor; + this.$refs.core.style.backgroundColor = newColor; + }, + switchValue: function switchValue() { + !this.switchDisabled && this.handleChange(); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'on-color': 'on-color is renamed to active-color.', + 'off-color': 'off-color is renamed to inactive-color.', + 'on-text': 'on-text is renamed to active-text.', + 'off-text': 'off-text is renamed to inactive-text.', + 'on-value': 'on-value is renamed to active-value.', + 'off-value': 'off-value is renamed to inactive-value.', + 'on-icon-class': 'on-icon-class is renamed to active-icon-class.', + 'off-icon-class': 'off-icon-class is renamed to inactive-icon-class.' + } + }; + } + }, + mounted: function mounted() { + /* istanbul ignore if */ + this.coreWidth = this.width || 40; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + this.$refs.input.checked = this.checked; + } +}); +// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_switch_src_componentvue_type_script_lang_js_ = (switch_src_componentvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/switch/src/component.vue + + + + + +/* normalize component */ + +var src_component_component = normalizeComponent( + packages_switch_src_componentvue_type_script_lang_js_, + componentvue_type_template_id_2dcd8fbb_render, + componentvue_type_template_id_2dcd8fbb_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_component_api; } +src_component_component.options.__file = "packages/switch/src/component.vue" +/* harmony default export */ var switch_src_component = (src_component_component.exports); +// CONCATENATED MODULE: ./packages/switch/index.js + + +/* istanbul ignore next */ +switch_src_component.install = function (Vue) { + Vue.component(switch_src_component.name, switch_src_component); +}; + +/* harmony default export */ var packages_switch = (switch_src_component); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6& +var selectvue_type_template_id_0e4aade6_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + staticClass: "el-select", + class: [_vm.selectSize ? "el-select--" + _vm.selectSize : ""], + on: { + click: function($event) { + $event.stopPropagation() + return _vm.toggleMenu($event) + } + } + }, + [ + _vm.multiple + ? _c( + "div", + { + ref: "tags", + staticClass: "el-select__tags", + style: { "max-width": _vm.inputWidth - 32 + "px", width: "100%" } + }, + [ + _vm.collapseTags && _vm.selected.length + ? _c( + "span", + [ + _c( + "el-tag", + { + attrs: { + closable: !_vm.selectDisabled, + size: _vm.collapseTagSize, + hit: _vm.selected[0].hitState, + type: "info", + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag($event, _vm.selected[0]) + } + } + }, + [ + _c("span", { staticClass: "el-select__tags-text" }, [ + _vm._v(_vm._s(_vm.selected[0].currentLabel)) + ]) + ] + ), + _vm.selected.length > 1 + ? _c( + "el-tag", + { + attrs: { + closable: false, + size: _vm.collapseTagSize, + type: "info", + "disable-transitions": "" + } + }, + [ + _c( + "span", + { staticClass: "el-select__tags-text" }, + [_vm._v("+ " + _vm._s(_vm.selected.length - 1))] + ) + ] + ) + : _vm._e() + ], + 1 + ) + : _vm._e(), + !_vm.collapseTags + ? _c( + "transition-group", + { on: { "after-leave": _vm.resetInputHeight } }, + _vm._l(_vm.selected, function(item) { + return _c( + "el-tag", + { + key: _vm.getValueKey(item), + attrs: { + closable: !_vm.selectDisabled, + size: _vm.collapseTagSize, + hit: item.hitState, + type: "info", + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag($event, item) + } + } + }, + [ + _c("span", { staticClass: "el-select__tags-text" }, [ + _vm._v(_vm._s(item.currentLabel)) + ]) + ] + ) + }), + 1 + ) + : _vm._e(), + _vm.filterable + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.query, + expression: "query" + } + ], + ref: "input", + staticClass: "el-select__input", + class: [_vm.selectSize ? "is-" + _vm.selectSize : ""], + style: { + "flex-grow": "1", + width: _vm.inputLength / (_vm.inputWidth - 32) + "%", + "max-width": _vm.inputWidth - 42 + "px" + }, + attrs: { + type: "text", + disabled: _vm.selectDisabled, + autocomplete: _vm.autoComplete || _vm.autocomplete + }, + domProps: { value: _vm.query }, + on: { + focus: _vm.handleFocus, + blur: function($event) { + _vm.softFocus = false + }, + keyup: _vm.managePlaceholder, + keydown: [ + _vm.resetInputState, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + _vm.handleNavigate("next") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.preventDefault() + _vm.handleNavigate("prev") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + $event.preventDefault() + return _vm.selectOption($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "esc", 27, $event.key, [ + "Esc", + "Escape" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.visible = false + }, + function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "delete", + [8, 46], + $event.key, + ["Backspace", "Delete", "Del"] + ) + ) { + return null + } + return _vm.deletePrevTag($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + _vm.visible = false + } + ], + compositionstart: _vm.handleComposition, + compositionupdate: _vm.handleComposition, + compositionend: _vm.handleComposition, + input: [ + function($event) { + if ($event.target.composing) { + return + } + _vm.query = $event.target.value + }, + _vm.debouncedQueryChange + ] + } + }) + : _vm._e() + ], + 1 + ) + : _vm._e(), + _c( + "el-input", + { + ref: "reference", + class: { "is-focus": _vm.visible }, + attrs: { + type: "text", + placeholder: _vm.currentPlaceholder, + name: _vm.name, + id: _vm.id, + autocomplete: _vm.autoComplete || _vm.autocomplete, + size: _vm.selectSize, + disabled: _vm.selectDisabled, + readonly: _vm.readonly, + "validate-event": false, + tabindex: _vm.multiple && _vm.filterable ? "-1" : null + }, + on: { + focus: _vm.handleFocus, + blur: _vm.handleBlur, + input: _vm.debouncedOnInputChange, + compositionstart: _vm.handleComposition, + compositionupdate: _vm.handleComposition, + compositionend: _vm.handleComposition + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.handleNavigate("next") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.handleNavigate("prev") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + $event.preventDefault() + return _vm.selectOption($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "esc", 27, $event.key, [ + "Esc", + "Escape" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.visible = false + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + _vm.visible = false + } + ], + mouseenter: function($event) { + _vm.inputHovering = true + }, + mouseleave: function($event) { + _vm.inputHovering = false + } + }, + model: { + value: _vm.selectedLabel, + callback: function($$v) { + _vm.selectedLabel = $$v + }, + expression: "selectedLabel" + } + }, + [ + _vm.$slots.prefix + ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) + : _vm._e(), + _c("template", { slot: "suffix" }, [ + _c("i", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.showClose, + expression: "!showClose" + } + ], + class: [ + "el-select__caret", + "el-input__icon", + "el-icon-" + _vm.iconClass + ] + }), + _vm.showClose + ? _c("i", { + staticClass: + "el-select__caret el-input__icon el-icon-circle-close", + on: { click: _vm.handleClearClick } + }) + : _vm._e() + ]) + ], + 2 + ), + _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "before-enter": _vm.handleMenuEnter, + "after-leave": _vm.doDestroy + } + }, + [ + _c( + "el-select-menu", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible && _vm.emptyText !== false, + expression: "visible && emptyText !== false" + } + ], + ref: "popper", + attrs: { "append-to-body": _vm.popperAppendToBody } + }, + [ + _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.options.length > 0 && !_vm.loading, + expression: "options.length > 0 && !loading" + } + ], + ref: "scrollbar", + class: { + "is-empty": + !_vm.allowCreate && + _vm.query && + _vm.filteredOptionsCount === 0 + }, + attrs: { + tag: "ul", + "wrap-class": "el-select-dropdown__wrap", + "view-class": "el-select-dropdown__list" + } + }, + [ + _vm.showNewOption + ? _c("el-option", { + attrs: { value: _vm.query, created: "" } + }) + : _vm._e(), + _vm._t("default") + ], + 2 + ), + _vm.emptyText && + (!_vm.allowCreate || + _vm.loading || + (_vm.allowCreate && _vm.options.length === 0)) + ? [ + _vm.$slots.empty + ? _vm._t("empty") + : _c("p", { staticClass: "el-select-dropdown__empty" }, [ + _vm._v( + "\n " + + _vm._s(_vm.emptyText) + + "\n " + ) + ]) + ] + : _vm._e() + ], + 2 + ) + ], + 1 + ) + ], + 1 + ) +} +var selectvue_type_template_id_0e4aade6_staticRenderFns = [] +selectvue_type_template_id_0e4aade6_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748& +var select_dropdownvue_type_template_id_06828748_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-select-dropdown el-popper", + class: [{ "is-multiple": _vm.$parent.multiple }, _vm.popperClass], + style: { minWidth: _vm.minWidth } + }, + [_vm._t("default")], + 2 + ) +} +var select_dropdownvue_type_template_id_06828748_staticRenderFns = [] +select_dropdownvue_type_template_id_06828748_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({ + name: 'ElSelectDropdown', + + componentName: 'ElSelectDropdown', + + mixins: [vue_popper_default.a], + + props: { + placement: { + default: 'bottom-start' + }, + + boundariesPadding: { + default: 0 + }, + + popperOptions: { + default: function _default() { + return { + gpuAcceleration: false + }; + } + }, + + visibleArrow: { + default: true + }, + + appendToBody: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + minWidth: '' + }; + }, + + + computed: { + popperClass: function popperClass() { + return this.$parent.popperClass; + } + }, + + watch: { + '$parent.inputWidth': function $parentInputWidth() { + this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px'; + } + }, + + mounted: function mounted() { + var _this = this; + + this.referenceElm = this.$parent.$refs.reference.$el; + this.$parent.popperElm = this.popperElm = this.$el; + this.$on('updatePopper', function () { + if (_this.$parent.visible) _this.updatePopper(); + }); + this.$on('destroyPopper', this.destroyPopper); + } +}); +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue + + + + + +/* normalize component */ + +var select_dropdown_component = normalizeComponent( + src_select_dropdownvue_type_script_lang_js_, + select_dropdownvue_type_template_id_06828748_render, + select_dropdownvue_type_template_id_06828748_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var select_dropdown_api; } +select_dropdown_component.options.__file = "packages/select/src/select-dropdown.vue" +/* harmony default export */ var select_dropdown = (select_dropdown_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642& +var optionvue_type_template_id_7a44c642_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-select-dropdown__item", + class: { + selected: _vm.itemSelected, + "is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached, + hover: _vm.hover + }, + on: { + mouseenter: _vm.hoverItem, + click: function($event) { + $event.stopPropagation() + return _vm.selectOptionClick($event) + } + } + }, + [_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])], + 2 + ) +} +var optionvue_type_template_id_7a44c642_staticRenderFns = [] +optionvue_type_template_id_7a44c642_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js& +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var optionvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a], + + name: 'ElOption', + + componentName: 'ElOption', + + inject: ['select'], + + props: { + value: { + required: true + }, + label: [String, Number], + created: Boolean, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + index: -1, + groupDisabled: false, + visible: true, + hitState: false, + hover: false + }; + }, + + + computed: { + isObject: function isObject() { + return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]'; + }, + currentLabel: function currentLabel() { + return this.label || (this.isObject ? '' : this.value); + }, + currentValue: function currentValue() { + return this.value || this.label || ''; + }, + itemSelected: function itemSelected() { + if (!this.select.multiple) { + return this.isEqual(this.value, this.select.value); + } else { + return this.contains(this.select.value, this.value); + } + }, + limitReached: function limitReached() { + if (this.select.multiple) { + return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0; + } else { + return false; + } + } + }, + + watch: { + currentLabel: function currentLabel() { + if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected'); + }, + value: function value(val, oldVal) { + var _select = this.select, + remote = _select.remote, + valueKey = _select.valueKey; + + if (!this.created && !remote) { + if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) { + return; + } + this.dispatch('ElSelect', 'setSelected'); + } + } + }, + + methods: { + isEqual: function isEqual(a, b) { + if (!this.isObject) { + return a === b; + } else { + var valueKey = this.select.valueKey; + return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey); + } + }, + contains: function contains() { + var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var target = arguments[1]; + + if (!this.isObject) { + return arr && arr.indexOf(target) > -1; + } else { + var valueKey = this.select.valueKey; + return arr && arr.some(function (item) { + return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey); + }); + } + }, + handleGroupDisabled: function handleGroupDisabled(val) { + this.groupDisabled = val; + }, + hoverItem: function hoverItem() { + if (!this.disabled && !this.groupDisabled) { + this.select.hoverIndex = this.select.options.indexOf(this); + } + }, + selectOptionClick: function selectOptionClick() { + if (this.disabled !== true && this.groupDisabled !== true) { + this.dispatch('ElSelect', 'handleOptionClick', [this, true]); + } + }, + queryChange: function queryChange(query) { + this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created; + if (!this.visible) { + this.select.filteredOptionsCount--; + } + } + }, + + created: function created() { + this.select.options.push(this); + this.select.cachedOptions.push(this); + this.select.optionsCount++; + this.select.filteredOptionsCount++; + + this.$on('queryChange', this.queryChange); + this.$on('handleGroupDisabled', this.handleGroupDisabled); + }, + beforeDestroy: function beforeDestroy() { + var _select2 = this.select, + selected = _select2.selected, + multiple = _select2.multiple; + + var selectedOptions = multiple ? selected : [selected]; + var index = this.select.cachedOptions.indexOf(this); + var selectedIndex = selectedOptions.indexOf(this); + + // if option is not selected, remove it from cache + if (index > -1 && selectedIndex < 0) { + this.select.cachedOptions.splice(index, 1); + } + this.select.onOptionDestroy(this.select.options.indexOf(this)); + } +}); +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js& + /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/select/src/option.vue + + + + + +/* normalize component */ + +var option_component = normalizeComponent( + src_optionvue_type_script_lang_js_, + optionvue_type_template_id_7a44c642_render, + optionvue_type_template_id_7a44c642_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var option_api; } +option_component.options.__file = "packages/select/src/option.vue" +/* harmony default export */ var src_option = (option_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/tag" +var tag_ = __webpack_require__(30); +var tag_default = /*#__PURE__*/__webpack_require__.n(tag_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(15); + +// EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view" +var scroll_into_view_ = __webpack_require__(27); +var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); + +// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js +/* harmony default export */ var navigation_mixin = ({ + data: function data() { + return { + hoverOption: -1 + }; + }, + + + computed: { + optionsAllDisabled: function optionsAllDisabled() { + return this.options.filter(function (option) { + return option.visible; + }).every(function (option) { + return option.disabled; + }); + } + }, + + watch: { + hoverIndex: function hoverIndex(val) { + var _this = this; + + if (typeof val === 'number' && val > -1) { + this.hoverOption = this.options[val] || {}; + } + this.options.forEach(function (option) { + option.hover = _this.hoverOption === option; + }); + } + }, + + methods: { + navigateOptions: function navigateOptions(direction) { + var _this2 = this; + + if (!this.visible) { + this.visible = true; + return; + } + if (this.options.length === 0 || this.filteredOptionsCount === 0) return; + if (!this.optionsAllDisabled) { + if (direction === 'next') { + this.hoverIndex++; + if (this.hoverIndex === this.options.length) { + this.hoverIndex = 0; + } + } else if (direction === 'prev') { + this.hoverIndex--; + if (this.hoverIndex < 0) { + this.hoverIndex = this.options.length - 1; + } + } + var option = this.options[this.hoverIndex]; + if (option.disabled === true || option.groupDisabled === true || !option.visible) { + this.navigateOptions(direction); + } + this.$nextTick(function () { + return _this2.scrollToOption(_this2.hoverOption); + }); + } + } + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + + + + +/* harmony default export */ var selectvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin], + + name: 'ElSelect', + + componentName: 'ElSelect', + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + provide: function provide() { + return { + 'select': this + }; + }, + + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + readonly: function readonly() { + return !this.filterable || this.multiple || !Object(util_["isIE"])() && !Object(util_["isEdge"])() && !this.visible; + }, + showClose: function showClose() { + var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== ''; + var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue; + return criteria; + }, + iconClass: function iconClass() { + return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up'; + }, + debounce: function debounce() { + return this.remote ? 300 : 0; + }, + emptyText: function emptyText() { + if (this.loading) { + return this.loadingText || this.t('el.select.loading'); + } else { + if (this.remote && this.query === '' && this.options.length === 0) return false; + if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) { + return this.noMatchText || this.t('el.select.noMatch'); + } + if (this.options.length === 0) { + return this.noDataText || this.t('el.select.noData'); + } + } + return null; + }, + showNewOption: function showNewOption() { + var _this = this; + + var hasExistingOption = this.options.filter(function (option) { + return !option.created; + }).some(function (option) { + return option.currentLabel === _this.query; + }); + return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption; + }, + selectSize: function selectSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + selectDisabled: function selectDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + collapseTagSize: function collapseTagSize() { + return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small'; + }, + propPlaceholder: function propPlaceholder() { + return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder'); + } + }, + + components: { + ElInput: input_default.a, + ElSelectMenu: select_dropdown, + ElOption: src_option, + ElTag: tag_default.a, + ElScrollbar: scrollbar_default.a + }, + + directives: { Clickoutside: clickoutside_default.a }, + + props: { + name: String, + id: String, + value: { + required: true + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator: function validator(val) { + false && false; + return true; + } + }, + automaticDropdown: Boolean, + size: String, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + allowCreate: Boolean, + loading: Boolean, + popperClass: String, + remote: Boolean, + loadingText: String, + noMatchText: String, + noDataText: String, + remoteMethod: Function, + filterMethod: Function, + multiple: Boolean, + multipleLimit: { + type: Number, + default: 0 + }, + placeholder: { + type: String, + required: false + }, + defaultFirstOption: Boolean, + reserveKeyword: Boolean, + valueKey: { + type: String, + default: 'value' + }, + collapseTags: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + options: [], + cachedOptions: [], + createdLabel: null, + createdSelected: false, + selected: this.multiple ? [] : {}, + inputLength: 20, + inputWidth: 0, + initialInputHeight: 0, + cachedPlaceHolder: '', + optionsCount: 0, + filteredOptionsCount: 0, + visible: false, + softFocus: false, + selectedLabel: '', + hoverIndex: -1, + query: '', + previousQuery: null, + inputHovering: false, + currentPlaceholder: '', + menuVisibleOnFocus: false, + isOnComposition: false, + isSilentBlur: false + }; + }, + + + watch: { + selectDisabled: function selectDisabled() { + var _this2 = this; + + this.$nextTick(function () { + _this2.resetInputHeight(); + }); + }, + propPlaceholder: function propPlaceholder(val) { + this.cachedPlaceHolder = this.currentPlaceholder = val; + }, + value: function value(val, oldVal) { + if (this.multiple) { + this.resetInputHeight(); + if (val && val.length > 0 || this.$refs.input && this.query !== '') { + this.currentPlaceholder = ''; + } else { + this.currentPlaceholder = this.cachedPlaceHolder; + } + if (this.filterable && !this.reserveKeyword) { + this.query = ''; + this.handleQueryChange(this.query); + } + } + this.setSelected(); + if (this.filterable && !this.multiple) { + this.inputLength = 20; + } + if (!Object(util_["valueEquals"])(val, oldVal)) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + visible: function visible(val) { + var _this3 = this; + + if (!val) { + this.broadcast('ElSelectDropdown', 'destroyPopper'); + if (this.$refs.input) { + this.$refs.input.blur(); + } + this.query = ''; + this.previousQuery = null; + this.selectedLabel = ''; + this.inputLength = 20; + this.menuVisibleOnFocus = false; + this.resetHoverIndex(); + this.$nextTick(function () { + if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) { + _this3.currentPlaceholder = _this3.cachedPlaceHolder; + } + }); + if (!this.multiple) { + if (this.selected) { + if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) { + this.selectedLabel = this.createdLabel; + } else { + this.selectedLabel = this.selected.currentLabel; + } + if (this.filterable) this.query = this.selectedLabel; + } + + if (this.filterable) { + this.currentPlaceholder = this.cachedPlaceHolder; + } + } + } else { + this.broadcast('ElSelectDropdown', 'updatePopper'); + if (this.filterable) { + this.query = this.remote ? '' : this.selectedLabel; + this.handleQueryChange(this.query); + if (this.multiple) { + this.$refs.input.focus(); + } else { + if (!this.remote) { + this.broadcast('ElOption', 'queryChange', ''); + this.broadcast('ElOptionGroup', 'queryChange'); + } + + if (this.selectedLabel) { + this.currentPlaceholder = this.selectedLabel; + this.selectedLabel = ''; + } + } + } + } + this.$emit('visible-change', val); + }, + options: function options() { + var _this4 = this; + + if (this.$isServer) return; + this.$nextTick(function () { + _this4.broadcast('ElSelectDropdown', 'updatePopper'); + }); + if (this.multiple) { + this.resetInputHeight(); + } + var inputs = this.$el.querySelectorAll('input'); + if ([].indexOf.call(inputs, document.activeElement) === -1) { + this.setSelected(); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + } + }, + + methods: { + handleNavigate: function handleNavigate(direction) { + if (this.isOnComposition) return; + + this.navigateOptions(direction); + }, + handleComposition: function handleComposition(event) { + var _this5 = this; + + var text = event.target.value; + if (event.type === 'compositionend') { + this.isOnComposition = false; + this.$nextTick(function (_) { + return _this5.handleQueryChange(text); + }); + } else { + var lastCharacter = text[text.length - 1] || ''; + this.isOnComposition = !Object(shared_["isKorean"])(lastCharacter); + } + }, + handleQueryChange: function handleQueryChange(val) { + var _this6 = this; + + if (this.previousQuery === val || this.isOnComposition) return; + if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) { + this.previousQuery = val; + return; + } + this.previousQuery = val; + this.$nextTick(function () { + if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper'); + }); + this.hoverIndex = -1; + if (this.multiple && this.filterable) { + this.$nextTick(function () { + var length = _this6.$refs.input.value.length * 15 + 20; + _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length; + _this6.managePlaceholder(); + _this6.resetInputHeight(); + }); + } + if (this.remote && typeof this.remoteMethod === 'function') { + this.hoverIndex = -1; + this.remoteMethod(val); + } else if (typeof this.filterMethod === 'function') { + this.filterMethod(val); + this.broadcast('ElOptionGroup', 'queryChange'); + } else { + this.filteredOptionsCount = this.optionsCount; + this.broadcast('ElOption', 'queryChange', val); + this.broadcast('ElOptionGroup', 'queryChange'); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + }, + scrollToOption: function scrollToOption(option) { + var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el; + if (this.$refs.popper && target) { + var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap'); + scroll_into_view_default()(menu, target); + } + this.$refs.scrollbar && this.$refs.scrollbar.handleScroll(); + }, + handleMenuEnter: function handleMenuEnter() { + var _this7 = this; + + this.$nextTick(function () { + return _this7.scrollToOption(_this7.selected); + }); + }, + emitChange: function emitChange(val) { + if (!Object(util_["valueEquals"])(this.value, val)) { + this.$emit('change', val); + } + }, + getOption: function getOption(value) { + var option = void 0; + var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]'; + var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]'; + + for (var i = this.cachedOptions.length - 1; i >= 0; i--) { + var cachedOption = this.cachedOptions[i]; + var isEqual = isObject ? Object(util_["getValueByPath"])(cachedOption.value, this.valueKey) === Object(util_["getValueByPath"])(value, this.valueKey) : cachedOption.value === value; + if (isEqual) { + option = cachedOption; + break; + } + } + if (option) return option; + var label = !isObject && !isNull && !isUndefined ? String(value) : ''; + var newOption = { + value: value, + currentLabel: label + }; + if (this.multiple) { + newOption.hitState = false; + } + return newOption; + }, + setSelected: function setSelected() { + var _this8 = this; + + if (!this.multiple) { + var option = this.getOption(this.value); + if (option.created) { + this.createdLabel = option.currentLabel; + this.createdSelected = true; + } else { + this.createdSelected = false; + } + this.selectedLabel = option.currentLabel; + this.selected = option; + if (this.filterable) this.query = this.selectedLabel; + return; + } + var result = []; + if (Array.isArray(this.value)) { + this.value.forEach(function (value) { + result.push(_this8.getOption(value)); + }); + } + this.selected = result; + this.$nextTick(function () { + _this8.resetInputHeight(); + }); + }, + handleFocus: function handleFocus(event) { + if (!this.softFocus) { + if (this.automaticDropdown || this.filterable) { + if (this.filterable && !this.visible) { + this.menuVisibleOnFocus = true; + } + this.visible = true; + } + this.$emit('focus', event); + } else { + this.softFocus = false; + } + }, + blur: function blur() { + this.visible = false; + this.$refs.reference.blur(); + }, + handleBlur: function handleBlur(event) { + var _this9 = this; + + setTimeout(function () { + if (_this9.isSilentBlur) { + _this9.isSilentBlur = false; + } else { + _this9.$emit('blur', event); + } + }, 50); + this.softFocus = false; + }, + handleClearClick: function handleClearClick(event) { + this.deleteSelected(event); + }, + doDestroy: function doDestroy() { + this.$refs.popper && this.$refs.popper.doDestroy(); + }, + handleClose: function handleClose() { + this.visible = false; + }, + toggleLastOptionHitState: function toggleLastOptionHitState(hit) { + if (!Array.isArray(this.selected)) return; + var option = this.selected[this.selected.length - 1]; + if (!option) return; + + if (hit === true || hit === false) { + option.hitState = hit; + return hit; + } + + option.hitState = !option.hitState; + return option.hitState; + }, + deletePrevTag: function deletePrevTag(e) { + if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) { + var value = this.value.slice(); + value.pop(); + this.$emit('input', value); + this.emitChange(value); + } + }, + managePlaceholder: function managePlaceholder() { + if (this.currentPlaceholder !== '') { + this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder; + } + }, + resetInputState: function resetInputState(e) { + if (e.keyCode !== 8) this.toggleLastOptionHitState(false); + this.inputLength = this.$refs.input.value.length * 15 + 20; + this.resetInputHeight(); + }, + resetInputHeight: function resetInputHeight() { + var _this10 = this; + + if (this.collapseTags && !this.filterable) return; + this.$nextTick(function () { + if (!_this10.$refs.reference) return; + var inputChildNodes = _this10.$refs.reference.$el.childNodes; + var input = [].filter.call(inputChildNodes, function (item) { + return item.tagName === 'INPUT'; + })[0]; + var tags = _this10.$refs.tags; + var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0; + var sizeInMap = _this10.initialInputHeight || 40; + input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px'; + if (_this10.visible && _this10.emptyText !== false) { + _this10.broadcast('ElSelectDropdown', 'updatePopper'); + } + }); + }, + resetHoverIndex: function resetHoverIndex() { + var _this11 = this; + + setTimeout(function () { + if (!_this11.multiple) { + _this11.hoverIndex = _this11.options.indexOf(_this11.selected); + } else { + if (_this11.selected.length > 0) { + _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) { + return _this11.options.indexOf(item); + })); + } else { + _this11.hoverIndex = -1; + } + } + }, 300); + }, + handleOptionSelect: function handleOptionSelect(option, byClick) { + var _this12 = this; + + if (this.multiple) { + var value = (this.value || []).slice(); + var optionIndex = this.getValueIndex(value, option.value); + if (optionIndex > -1) { + value.splice(optionIndex, 1); + } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) { + value.push(option.value); + } + this.$emit('input', value); + this.emitChange(value); + if (option.created) { + this.query = ''; + this.handleQueryChange(''); + this.inputLength = 20; + } + if (this.filterable) this.$refs.input.focus(); + } else { + this.$emit('input', option.value); + this.emitChange(option.value); + this.visible = false; + } + this.isSilentBlur = byClick; + this.setSoftFocus(); + if (this.visible) return; + this.$nextTick(function () { + _this12.scrollToOption(option); + }); + }, + setSoftFocus: function setSoftFocus() { + this.softFocus = true; + var input = this.$refs.input || this.$refs.reference; + if (input) { + input.focus(); + } + }, + getValueIndex: function getValueIndex() { + var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var value = arguments[1]; + + var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + if (!isObject) { + return arr.indexOf(value); + } else { + var valueKey = this.valueKey; + var index = -1; + arr.some(function (item, i) { + if (Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(value, valueKey)) { + index = i; + return true; + } + return false; + }); + return index; + } + }, + toggleMenu: function toggleMenu() { + if (!this.selectDisabled) { + if (this.menuVisibleOnFocus) { + this.menuVisibleOnFocus = false; + } else { + this.visible = !this.visible; + } + if (this.visible) { + (this.$refs.input || this.$refs.reference).focus(); + } + } + }, + selectOption: function selectOption() { + if (!this.visible) { + this.toggleMenu(); + } else { + if (this.options[this.hoverIndex]) { + this.handleOptionSelect(this.options[this.hoverIndex]); + } + } + }, + deleteSelected: function deleteSelected(event) { + event.stopPropagation(); + var value = this.multiple ? [] : ''; + this.$emit('input', value); + this.emitChange(value); + this.visible = false; + this.$emit('clear'); + }, + deleteTag: function deleteTag(event, tag) { + var index = this.selected.indexOf(tag); + if (index > -1 && !this.selectDisabled) { + var value = this.value.slice(); + value.splice(index, 1); + this.$emit('input', value); + this.emitChange(value); + this.$emit('remove-tag', tag.value); + } + event.stopPropagation(); + }, + onInputChange: function onInputChange() { + if (this.filterable && this.query !== this.selectedLabel) { + this.query = this.selectedLabel; + this.handleQueryChange(this.query); + } + }, + onOptionDestroy: function onOptionDestroy(index) { + if (index > -1) { + this.optionsCount--; + this.filteredOptionsCount--; + this.options.splice(index, 1); + } + }, + resetInputWidth: function resetInputWidth() { + this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width; + }, + handleResize: function handleResize() { + this.resetInputWidth(); + if (this.multiple) this.resetInputHeight(); + }, + checkDefaultFirstOption: function checkDefaultFirstOption() { + this.hoverIndex = -1; + // highlight the created option + var hasCreated = false; + for (var i = this.options.length - 1; i >= 0; i--) { + if (this.options[i].created) { + hasCreated = true; + this.hoverIndex = i; + break; + } + } + if (hasCreated) return; + for (var _i = 0; _i !== this.options.length; ++_i) { + var option = this.options[_i]; + if (this.query) { + // highlight first options that passes the filter + if (!option.disabled && !option.groupDisabled && option.visible) { + this.hoverIndex = _i; + break; + } + } else { + // highlight currently selected option + if (option.itemSelected) { + this.hoverIndex = _i; + break; + } + } + } + }, + getValueKey: function getValueKey(item) { + if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') { + return item.value; + } else { + return Object(util_["getValueByPath"])(item.value, this.valueKey); + } + } + }, + + created: function created() { + var _this13 = this; + + this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder; + if (this.multiple && !Array.isArray(this.value)) { + this.$emit('input', []); + } + if (!this.multiple && Array.isArray(this.value)) { + this.$emit('input', ''); + } + + this.debouncedOnInputChange = debounce_default()(this.debounce, function () { + _this13.onInputChange(); + }); + + this.debouncedQueryChange = debounce_default()(this.debounce, function (e) { + _this13.handleQueryChange(e.target.value); + }); + + this.$on('handleOptionClick', this.handleOptionSelect); + this.$on('setSelected', this.setSelected); + }, + mounted: function mounted() { + var _this14 = this; + + if (this.multiple && Array.isArray(this.value) && this.value.length > 0) { + this.currentPlaceholder = ''; + } + Object(resize_event_["addResizeListener"])(this.$el, this.handleResize); + + var reference = this.$refs.reference; + if (reference && reference.$el) { + var sizeMap = { + medium: 36, + small: 32, + mini: 28 + }; + var input = reference.$el.querySelector('input'); + this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize]; + } + if (this.remote && this.multiple) { + this.resetInputHeight(); + } + this.$nextTick(function () { + if (reference && reference.$el) { + _this14.inputWidth = reference.$el.getBoundingClientRect().width; + } + }); + this.setSelected(); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el && this.handleResize) Object(resize_event_["removeResizeListener"])(this.$el, this.handleResize); + } +}); +// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js& + /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/select/src/select.vue + + + + + +/* normalize component */ + +var select_component = normalizeComponent( + src_selectvue_type_script_lang_js_, + selectvue_type_template_id_0e4aade6_render, + selectvue_type_template_id_0e4aade6_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var select_api; } +select_component.options.__file = "packages/select/src/select.vue" +/* harmony default export */ var src_select = (select_component.exports); +// CONCATENATED MODULE: ./packages/select/index.js + + +/* istanbul ignore next */ +src_select.install = function (Vue) { + Vue.component(src_select.name, src_select); +}; + +/* harmony default export */ var packages_select = (src_select); +// CONCATENATED MODULE: ./packages/option/index.js + + +/* istanbul ignore next */ +src_option.install = function (Vue) { + Vue.component(src_option.name, src_option); +}; + +/* harmony default export */ var packages_option = (src_option); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=template&id=6685e5de& +var option_groupvue_type_template_id_6685e5de_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "ul", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-select-group__wrap" + }, + [ + _c("li", { staticClass: "el-select-group__title" }, [ + _vm._v(_vm._s(_vm.label)) + ]), + _c("li", [ + _c("ul", { staticClass: "el-select-group" }, [_vm._t("default")], 2) + ]) + ] + ) +} +var option_groupvue_type_template_id_6685e5de_staticRenderFns = [] +option_groupvue_type_template_id_6685e5de_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=template&id=6685e5de& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var option_groupvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a], + + name: 'ElOptionGroup', + + componentName: 'ElOptionGroup', + + props: { + label: String, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + visible: true + }; + }, + + + watch: { + disabled: function disabled(val) { + this.broadcast('ElOption', 'handleGroupDisabled', val); + } + }, + + methods: { + queryChange: function queryChange() { + this.visible = this.$children && Array.isArray(this.$children) && this.$children.some(function (option) { + return option.visible === true; + }); + } + }, + + created: function created() { + this.$on('queryChange', this.queryChange); + }, + mounted: function mounted() { + if (this.disabled) { + this.broadcast('ElOption', 'handleGroupDisabled', this.disabled); + } + } +}); +// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_option_groupvue_type_script_lang_js_ = (option_groupvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/select/src/option-group.vue + + + + + +/* normalize component */ + +var option_group_component = normalizeComponent( + src_option_groupvue_type_script_lang_js_, + option_groupvue_type_template_id_6685e5de_render, + option_groupvue_type_template_id_6685e5de_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var option_group_api; } +option_group_component.options.__file = "packages/select/src/option-group.vue" +/* harmony default export */ var option_group = (option_group_component.exports); +// CONCATENATED MODULE: ./packages/option-group/index.js + + +/* istanbul ignore next */ +option_group.install = function (Vue) { + Vue.component(option_group.name, option_group); +}; + +/* harmony default export */ var packages_option_group = (option_group); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4& +var buttonvue_type_template_id_ca859fb4_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "button", + { + staticClass: "el-button", + class: [ + _vm.type ? "el-button--" + _vm.type : "", + _vm.buttonSize ? "el-button--" + _vm.buttonSize : "", + { + "is-disabled": _vm.buttonDisabled, + "is-loading": _vm.loading, + "is-plain": _vm.plain, + "is-round": _vm.round, + "is-circle": _vm.circle + } + ], + attrs: { + disabled: _vm.buttonDisabled || _vm.loading, + autofocus: _vm.autofocus, + type: _vm.nativeType + }, + on: { click: _vm.handleClick } + }, + [ + _vm.loading ? _c("i", { staticClass: "el-icon-loading" }) : _vm._e(), + _vm.icon && !_vm.loading ? _c("i", { class: _vm.icon }) : _vm._e(), + _vm.$slots.default ? _c("span", [_vm._t("default")], 2) : _vm._e() + ] + ) +} +var buttonvue_type_template_id_ca859fb4_staticRenderFns = [] +buttonvue_type_template_id_ca859fb4_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var buttonvue_type_script_lang_js_ = ({ + name: 'ElButton', + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + type: { + type: String, + default: 'default' + }, + size: String, + icon: { + type: String, + default: '' + }, + nativeType: { + type: String, + default: 'button' + }, + loading: Boolean, + disabled: Boolean, + plain: Boolean, + autofocus: Boolean, + round: Boolean, + circle: Boolean + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + buttonSize: function buttonSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + buttonDisabled: function buttonDisabled() { + return this.$options.propsData.hasOwnProperty('disabled') ? this.disabled : (this.elForm || {}).disabled; + } + }, + + methods: { + handleClick: function handleClick(evt) { + this.$emit('click', evt); + } + } +}); +// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/button/src/button.vue + + + + + +/* normalize component */ + +var button_component = normalizeComponent( + src_buttonvue_type_script_lang_js_, + buttonvue_type_template_id_ca859fb4_render, + buttonvue_type_template_id_ca859fb4_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var button_api; } +button_component.options.__file = "packages/button/src/button.vue" +/* harmony default export */ var src_button = (button_component.exports); +// CONCATENATED MODULE: ./packages/button/index.js + + +/* istanbul ignore next */ +src_button.install = function (Vue) { + Vue.component(src_button.name, src_button); +}; + +/* harmony default export */ var packages_button = (src_button); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0& +var button_groupvue_type_template_id_3d8661d0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-button-group" }, [_vm._t("default")], 2) +} +var button_groupvue_type_template_id_3d8661d0_staticRenderFns = [] +button_groupvue_type_template_id_3d8661d0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=template&id=3d8661d0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button-group.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var button_groupvue_type_script_lang_js_ = ({ + name: 'ElButtonGroup' +}); +// CONCATENATED MODULE: ./packages/button/src/button-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_button_groupvue_type_script_lang_js_ = (button_groupvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/button/src/button-group.vue + + + + + +/* normalize component */ + +var button_group_component = normalizeComponent( + src_button_groupvue_type_script_lang_js_, + button_groupvue_type_template_id_3d8661d0_render, + button_groupvue_type_template_id_3d8661d0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var button_group_api; } +button_group_component.options.__file = "packages/button/src/button-group.vue" +/* harmony default export */ var button_group = (button_group_component.exports); +// CONCATENATED MODULE: ./packages/button-group/index.js + + +/* istanbul ignore next */ +button_group.install = function (Vue) { + Vue.component(button_group.name, button_group); +}; + +/* harmony default export */ var packages_button_group = (button_group); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=template&id=493fe34e& +var tablevue_type_template_id_493fe34e_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-table", + class: [ + { + "el-table--fit": _vm.fit, + "el-table--striped": _vm.stripe, + "el-table--border": _vm.border || _vm.isGroup, + "el-table--hidden": _vm.isHidden, + "el-table--group": _vm.isGroup, + "el-table--fluid-height": _vm.maxHeight, + "el-table--scrollable-x": _vm.layout.scrollX, + "el-table--scrollable-y": _vm.layout.scrollY, + "el-table--enable-row-hover": !_vm.store.states.isComplex, + "el-table--enable-row-transition": + (_vm.store.states.data || []).length !== 0 && + (_vm.store.states.data || []).length < 100 + }, + _vm.tableSize ? "el-table--" + _vm.tableSize : "" + ], + on: { + mouseleave: function($event) { + _vm.handleMouseLeave($event) + } + } + }, + [ + _c( + "div", + { ref: "hiddenColumns", staticClass: "hidden-columns" }, + [_vm._t("default")], + 2 + ), + _vm.showHeader + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleHeaderFooterMousewheel, + expression: "handleHeaderFooterMousewheel" + } + ], + ref: "headerWrapper", + staticClass: "el-table__header-wrapper" + }, + [ + _c("table-header", { + ref: "tableHeader", + style: { + width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + "px" : "" + }, + attrs: { + store: _vm.store, + border: _vm.border, + "default-sort": _vm.defaultSort + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "bodyWrapper", + staticClass: "el-table__body-wrapper", + class: [ + _vm.layout.scrollX + ? "is-scrolling-" + _vm.scrollPosition + : "is-scrolling-none" + ], + style: [_vm.bodyHeight] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + context: _vm.context, + store: _vm.store, + stripe: _vm.stripe, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle, + highlight: _vm.highlightCurrentRow + } + }), + !_vm.data || _vm.data.length === 0 + ? _c( + "div", + { + ref: "emptyBlock", + staticClass: "el-table__empty-block", + style: _vm.emptyBlockStyle + }, + [ + _c( + "span", + { staticClass: "el-table__empty-text" }, + [ + _vm._t("empty", [ + _vm._v( + _vm._s(_vm.emptyText || _vm.t("el.table.emptyText")) + ) + ]) + ], + 2 + ) + ] + ) + : _vm._e(), + _vm.$slots.append + ? _c( + "div", + { + ref: "appendWrapper", + staticClass: "el-table__append-wrapper" + }, + [_vm._t("append")], + 2 + ) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + }, + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleHeaderFooterMousewheel, + expression: "handleHeaderFooterMousewheel" + } + ], + ref: "footerWrapper", + staticClass: "el-table__footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + "px" : "" + }, + attrs: { + store: _vm.store, + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + "default-sort": _vm.defaultSort + } + }) + ], + 1 + ) + : _vm._e(), + _vm.fixedColumns.length > 0 + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleFixedMousewheel, + expression: "handleFixedMousewheel" + } + ], + ref: "fixedWrapper", + staticClass: "el-table__fixed", + style: [ + { + width: _vm.layout.fixedWidth + ? _vm.layout.fixedWidth + "px" + : "" + }, + _vm.fixedHeight + ] + }, + [ + _vm.showHeader + ? _c( + "div", + { + ref: "fixedHeaderWrapper", + staticClass: "el-table__fixed-header-wrapper" + }, + [ + _c("table-header", { + ref: "fixedTableHeader", + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + border: _vm.border, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "fixedBodyWrapper", + staticClass: "el-table__fixed-body-wrapper", + style: [ + { + top: _vm.layout.headerHeight + "px" + }, + _vm.fixedBodyHeight + ] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + store: _vm.store, + stripe: _vm.stripe, + highlight: _vm.highlightCurrentRow, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle + } + }), + _vm.$slots.append + ? _c("div", { + staticClass: "el-table__append-gutter", + style: { height: _vm.layout.appendHeight + "px" } + }) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + } + ], + ref: "fixedFooterWrapper", + staticClass: "el-table__fixed-footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e() + ] + ) + : _vm._e(), + _vm.rightFixedColumns.length > 0 + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleFixedMousewheel, + expression: "handleFixedMousewheel" + } + ], + ref: "rightFixedWrapper", + staticClass: "el-table__fixed-right", + style: [ + { + width: _vm.layout.rightFixedWidth + ? _vm.layout.rightFixedWidth + "px" + : "", + right: _vm.layout.scrollY + ? (_vm.border + ? _vm.layout.gutterWidth + : _vm.layout.gutterWidth || 0) + "px" + : "" + }, + _vm.fixedHeight + ] + }, + [ + _vm.showHeader + ? _c( + "div", + { + ref: "rightFixedHeaderWrapper", + staticClass: "el-table__fixed-header-wrapper" + }, + [ + _c("table-header", { + ref: "rightFixedTableHeader", + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + border: _vm.border, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "rightFixedBodyWrapper", + staticClass: "el-table__fixed-body-wrapper", + style: [ + { + top: _vm.layout.headerHeight + "px" + }, + _vm.fixedBodyHeight + ] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + store: _vm.store, + stripe: _vm.stripe, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle, + highlight: _vm.highlightCurrentRow + } + }), + _vm.$slots.append + ? _c("div", { + staticClass: "el-table__append-gutter", + style: { height: _vm.layout.appendHeight + "px" } + }) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + } + ], + ref: "rightFixedFooterWrapper", + staticClass: "el-table__fixed-footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e() + ] + ) + : _vm._e(), + _vm.rightFixedColumns.length > 0 + ? _c("div", { + ref: "rightFixedPatch", + staticClass: "el-table__fixed-right-patch", + style: { + width: _vm.layout.scrollY ? _vm.layout.gutterWidth + "px" : "0", + height: _vm.layout.headerHeight + "px" + } + }) + : _vm._e(), + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.resizeProxyVisible, + expression: "resizeProxyVisible" + } + ], + ref: "resizeProxy", + staticClass: "el-table__column-resize-proxy" + }) + ] + ) +} +var tablevue_type_template_id_493fe34e_staticRenderFns = [] +tablevue_type_template_id_493fe34e_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=template&id=493fe34e& + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(14); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// EXTERNAL MODULE: external "throttle-debounce" +var external_throttle_debounce_ = __webpack_require__(36); + +// EXTERNAL MODULE: external "normalize-wheel" +var external_normalize_wheel_ = __webpack_require__(39); +var external_normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(external_normalize_wheel_); + +// CONCATENATED MODULE: ./src/directives/mousewheel.js + + +var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + +var mousewheel_mousewheel = function mousewheel(element, callback) { + if (element && element.addEventListener) { + element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) { + var normalized = external_normalize_wheel_default()(event); + callback && callback.apply(this, [event, normalized]); + }); + } +}; + +/* harmony default export */ var directives_mousewheel = ({ + bind: function bind(el, binding) { + mousewheel_mousewheel(el, binding.value); + } +}); +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(6); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./packages/table/src/util.js +var util_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + + +var getCell = function getCell(event) { + var cell = event.target; + + while (cell && cell.tagName.toUpperCase() !== 'HTML') { + if (cell.tagName.toUpperCase() === 'TD') { + return cell; + } + cell = cell.parentNode; + } + + return null; +}; + +var util_isObject = function isObject(obj) { + return obj !== null && (typeof obj === 'undefined' ? 'undefined' : util_typeof(obj)) === 'object'; +}; + +var util_orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) { + if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) { + return array; + } + if (typeof reverse === 'string') { + reverse = reverse === 'descending' ? -1 : 1; + } else { + reverse = reverse && reverse < 0 ? -1 : 1; + } + var getKey = sortMethod ? null : function (value, index) { + if (sortBy) { + if (!Array.isArray(sortBy)) { + sortBy = [sortBy]; + } + return sortBy.map(function (by) { + if (typeof by === 'string') { + return Object(util_["getValueByPath"])(value, by); + } else { + return by(value, index, array); + } + }); + } + if (sortKey !== '$key') { + if (util_isObject(value) && '$value' in value) value = value.$value; + } + return [util_isObject(value) ? Object(util_["getValueByPath"])(value, sortKey) : value]; + }; + var compare = function compare(a, b) { + if (sortMethod) { + return sortMethod(a.value, b.value); + } + for (var i = 0, len = a.key.length; i < len; i++) { + if (a.key[i] < b.key[i]) { + return -1; + } + if (a.key[i] > b.key[i]) { + return 1; + } + } + return 0; + }; + return array.map(function (value, index) { + return { + value: value, + index: index, + key: getKey ? getKey(value, index) : null + }; + }).sort(function (a, b) { + var order = compare(a, b); + if (!order) { + // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability + order = a.index - b.index; + } + return order * reverse; + }).map(function (item) { + return item.value; + }); +}; + +var getColumnById = function getColumnById(table, columnId) { + var column = null; + table.columns.forEach(function (item) { + if (item.id === columnId) { + column = item; + } + }); + return column; +}; + +var getColumnByKey = function getColumnByKey(table, columnKey) { + var column = null; + for (var i = 0; i < table.columns.length; i++) { + var item = table.columns[i]; + if (item.columnKey === columnKey) { + column = item; + break; + } + } + return column; +}; + +var getColumnByCell = function getColumnByCell(table, cell) { + var matches = (cell.className || '').match(/el-table_[^\s]+/gm); + if (matches) { + return getColumnById(table, matches[0]); + } + return null; +}; + +var getRowIdentity = function getRowIdentity(row, rowKey) { + if (!row) throw new Error('row is required when get row identity'); + if (typeof rowKey === 'string') { + if (rowKey.indexOf('.') < 0) { + return row[rowKey]; + } + var key = rowKey.split('.'); + var current = row; + for (var i = 0; i < key.length; i++) { + current = current[key[i]]; + } + return current; + } else if (typeof rowKey === 'function') { + return rowKey.call(null, row); + } +}; + +var getKeysMap = function getKeysMap(array, rowKey) { + var arrayMap = {}; + (array || []).forEach(function (row, index) { + arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index }; + }); + return arrayMap; +}; + +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function mergeOptions(defaults, config) { + var options = {}; + var key = void 0; + for (key in defaults) { + options[key] = defaults[key]; + } + for (key in config) { + if (hasOwn(config, key)) { + var value = config[key]; + if (typeof value !== 'undefined') { + options[key] = value; + } + } + } + return options; +} + +function parseWidth(width) { + if (width !== undefined) { + width = parseInt(width, 10); + if (isNaN(width)) { + width = null; + } + } + return width; +} + +function parseMinWidth(minWidth) { + if (typeof minWidth !== 'undefined') { + minWidth = parseWidth(minWidth); + if (isNaN(minWidth)) { + minWidth = 80; + } + } + return minWidth; +}; + +function parseHeight(height) { + if (typeof height === 'number') { + return height; + } + if (typeof height === 'string') { + if (/^\d+(?:px)?$/.test(height)) { + return parseInt(height, 10); + } else { + return height; + } + } + return null; +} + +// https://github.com/reduxjs/redux/blob/master/src/compose.js +function compose() { + for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + if (funcs.length === 0) { + return function (arg) { + return arg; + }; + } + if (funcs.length === 1) { + return funcs[0]; + } + return funcs.reduce(function (a, b) { + return function () { + return a(b.apply(undefined, arguments)); + }; + }); +} + +function toggleRowStatus(statusArr, row, newVal) { + var changed = false; + var index = statusArr.indexOf(row); + var included = index !== -1; + + var addRow = function addRow() { + statusArr.push(row); + changed = true; + }; + var removeRow = function removeRow() { + statusArr.splice(index, 1); + changed = true; + }; + + if (typeof newVal === 'boolean') { + if (newVal && !included) { + addRow(); + } else if (!newVal && included) { + removeRow(); + } + } else { + if (included) { + removeRow(); + } else { + addRow(); + } + } + return changed; +} + +function walkTreeNode(root, cb) { + var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; + var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren'; + + var isNil = function isNil(array) { + return !(Array.isArray(array) && array.length); + }; + + function _walker(parent, children, level) { + cb(parent, children, level); + children.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, level + 1); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, level + 1); + } + }); + } + + root.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, 0); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, 0); + } + }); +} +// CONCATENATED MODULE: ./packages/table/src/store/expand.js + + +/* harmony default export */ var expand = ({ + data: function data() { + return { + states: { + defaultExpandAll: false, + expandRows: [] + } + }; + }, + + + methods: { + updateExpandRows: function updateExpandRows() { + var _states = this.states, + _states$data = _states.data, + data = _states$data === undefined ? [] : _states$data, + rowKey = _states.rowKey, + defaultExpandAll = _states.defaultExpandAll, + expandRows = _states.expandRows; + + if (defaultExpandAll) { + this.states.expandRows = data.slice(); + } else if (rowKey) { + // TODO嚗���誨��隞乩��� + var expandRowsMap = getKeysMap(expandRows, rowKey); + this.states.expandRows = data.reduce(function (prev, row) { + var rowId = getRowIdentity(row, rowKey); + var rowInfo = expandRowsMap[rowId]; + if (rowInfo) { + prev.push(row); + } + return prev; + }, []); + } else { + this.states.expandRows = []; + } + }, + toggleRowExpansion: function toggleRowExpansion(row, expanded) { + var changed = toggleRowStatus(this.states.expandRows, row, expanded); + if (changed) { + this.table.$emit('expand-change', row, this.states.expandRows.slice()); + this.scheduleLayout(); + } + }, + setExpandRowKeys: function setExpandRowKeys(rowKeys) { + this.assertRowKey(); + // TODO嚗���誨��隞乩��� + var _states2 = this.states, + data = _states2.data, + rowKey = _states2.rowKey; + + var keysMap = getKeysMap(data, rowKey); + this.states.expandRows = rowKeys.reduce(function (prev, cur) { + var info = keysMap[cur]; + if (info) { + prev.push(info.row); + } + return prev; + }, []); + }, + isRowExpanded: function isRowExpanded(row) { + var _states3 = this.states, + _states3$expandRows = _states3.expandRows, + expandRows = _states3$expandRows === undefined ? [] : _states3$expandRows, + rowKey = _states3.rowKey; + + if (rowKey) { + var expandMap = getKeysMap(expandRows, rowKey); + return !!expandMap[getRowIdentity(row, rowKey)]; + } + return expandRows.indexOf(row) !== -1; + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/store/current.js + + + +/* harmony default export */ var store_current = ({ + data: function data() { + return { + states: { + // 銝�����挽蝵� currentRowKey �嚗ata 銝�摰�嚗�捂����甇�蝖桃�� currentRow + // ��砲�潛���銝�����靽格 currentRow �嚗�砲�潮�蔭銝� null + _currentRowKey: null, + currentRow: null + } + }; + }, + + + methods: { + setCurrentRowKey: function setCurrentRowKey(key) { + this.assertRowKey(); + this.states._currentRowKey = key; + this.setCurrentRowByKey(key); + }, + restoreCurrentRowKey: function restoreCurrentRowKey() { + this.states._currentRowKey = null; + }, + setCurrentRowByKey: function setCurrentRowByKey(key) { + var states = this.states; + var _states$data = states.data, + data = _states$data === undefined ? [] : _states$data, + rowKey = states.rowKey; + + var currentRow = null; + if (rowKey) { + currentRow = Object(util_["arrayFind"])(data, function (item) { + return getRowIdentity(item, rowKey) === key; + }); + } + states.currentRow = currentRow; + }, + updateCurrentRow: function updateCurrentRow(currentRow) { + var states = this.states, + table = this.table; + + var oldCurrentRow = states.currentRow; + if (currentRow && currentRow !== oldCurrentRow) { + states.currentRow = currentRow; + table.$emit('current-change', currentRow, oldCurrentRow); + return; + } + if (!currentRow && oldCurrentRow) { + states.currentRow = null; + table.$emit('current-change', null, oldCurrentRow); + } + }, + updateCurrentRowData: function updateCurrentRowData() { + var states = this.states, + table = this.table; + var rowKey = states.rowKey, + _currentRowKey = states._currentRowKey; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + + var data = states.data || []; + var oldCurrentRow = states.currentRow; + + // 敶� currentRow 銝 data 銝剜撠���� + if (data.indexOf(oldCurrentRow) === -1 && oldCurrentRow) { + if (rowKey) { + var currentRowKey = getRowIdentity(oldCurrentRow, rowKey); + this.setCurrentRowByKey(currentRowKey); + } else { + states.currentRow = null; + } + if (states.currentRow === null) { + table.$emit('current-change', null, oldCurrentRow); + } + } else if (_currentRowKey) { + // ����銝挽蝵桃�� rowKey 頧砍��� rowData + this.setCurrentRowByKey(_currentRowKey); + this.restoreCurrentRowKey(); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/store/tree.js +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + +/* harmony default export */ var tree = ({ + data: function data() { + return { + states: { + // defaultExpandAll 摮鈭� expand.js 銝哨������溶��� + // �撅�銵葉嚗xpandRowKeys 隡◤頧砍��� expandRows嚗xpandRowKeys 餈葵撅�批�霈啣��� TreeTable 銵��� + // TODO: ���蛹�蝡�� TreeTable嚗���瘜� + expandRowKeys: [], + treeData: {}, + indent: 16, + lazy: false, + lazyTreeNodeMap: {}, + lazyColumnIdentifier: 'hasChildren', + childrenColumnName: 'children' + } + }; + }, + + + computed: { + // 撋����嚗atch ���璉�瘚���� https://github.com/ElemeFE/element/issues/14998 + // TODO: 雿輻 computed 閫��霂仿憸��隡���扯�憸�� + // @return { id: { level, children } } + normalizedData: function normalizedData() { + if (!this.states.rowKey) return {}; + var data = this.states.data || []; + return this.normalize(data); + }, + + // @return { id: { children } } + // ��笆���蝸���耦嚗������ + normalizedLazyNode: function normalizedLazyNode() { + var _states = this.states, + rowKey = _states.rowKey, + lazyTreeNodeMap = _states.lazyTreeNodeMap, + lazyColumnIdentifier = _states.lazyColumnIdentifier; + + var keys = Object.keys(lazyTreeNodeMap); + var res = {}; + if (!keys.length) return res; + keys.forEach(function (key) { + if (lazyTreeNodeMap[key].length) { + var item = { children: [] }; + lazyTreeNodeMap[key].forEach(function (row) { + var currentRowKey = getRowIdentity(row, rowKey); + item.children.push(currentRowKey); + if (row[lazyColumnIdentifier] && !res[currentRowKey]) { + res[currentRowKey] = { children: [] }; + } + }); + res[key] = item; + } + }); + return res; + } + }, + + watch: { + normalizedData: 'updateTreeData', + normalizedLazyNode: 'updateTreeData' + }, + + methods: { + normalize: function normalize(data) { + var _states2 = this.states, + childrenColumnName = _states2.childrenColumnName, + lazyColumnIdentifier = _states2.lazyColumnIdentifier, + rowKey = _states2.rowKey, + lazy = _states2.lazy; + + var res = {}; + walkTreeNode(data, function (parent, children, level) { + var parentId = getRowIdentity(parent, rowKey); + if (Array.isArray(children)) { + res[parentId] = { + children: children.map(function (row) { + return getRowIdentity(row, rowKey); + }), + level: level + }; + } else if (lazy) { + // 敶� children 銝�銝� lazy 銝� true嚗砲���銝箸��蝸��� + res[parentId] = { + children: [], + lazy: true, + level: level + }; + } + }, childrenColumnName, lazyColumnIdentifier); + return res; + }, + updateTreeData: function updateTreeData() { + var nested = this.normalizedData; + var normalizedLazyNode = this.normalizedLazyNode; + var keys = Object.keys(nested); + var newTreeData = {}; + if (keys.length) { + var _states3 = this.states, + oldTreeData = _states3.treeData, + defaultExpandAll = _states3.defaultExpandAll, + expandRowKeys = _states3.expandRowKeys, + lazy = _states3.lazy; + + var rootLazyRowKeys = []; + var getExpanded = function getExpanded(oldValue, key) { + var included = defaultExpandAll || expandRowKeys && expandRowKeys.indexOf(key) !== -1; + return !!(oldValue && oldValue.expanded || included); + }; + // ��僎 expanded 銝� display嚗&靽���������� + keys.forEach(function (key) { + var oldValue = oldTreeData[key]; + var newValue = _extends({}, nested[key]); + newValue.expanded = getExpanded(oldValue, key); + if (newValue.lazy) { + var _ref = oldValue || {}, + _ref$loaded = _ref.loaded, + loaded = _ref$loaded === undefined ? false : _ref$loaded, + _ref$loading = _ref.loading, + loading = _ref$loading === undefined ? false : _ref$loading; + + newValue.loaded = !!loaded; + newValue.loading = !!loading; + rootLazyRowKeys.push(key); + } + newTreeData[key] = newValue; + }); + // �����蝸���� treeData + var lazyKeys = Object.keys(normalizedLazyNode); + if (lazy && lazyKeys.length && rootLazyRowKeys.length) { + lazyKeys.forEach(function (key) { + var oldValue = oldTreeData[key]; + var lazyNodeChildren = normalizedLazyNode[key].children; + if (rootLazyRowKeys.indexOf(key) !== -1) { + // ���蝸��� root ��嚗�銝�銝����嚗���� children 銝�摰蝛箸蝏� + if (newTreeData[key].children.length !== 0) { + throw new Error('[ElTable]children must be an empty array.'); + } + newTreeData[key].children = lazyNodeChildren; + } else { + var _ref2 = oldValue || {}, + _ref2$loaded = _ref2.loaded, + loaded = _ref2$loaded === undefined ? false : _ref2$loaded, + _ref2$loading = _ref2.loading, + loading = _ref2$loading === undefined ? false : _ref2$loading; + + newTreeData[key] = { + lazy: true, + loaded: !!loaded, + loading: !!loading, + expanded: getExpanded(oldValue, key), + children: lazyNodeChildren, + level: '' + }; + } + }); + } + } + this.states.treeData = newTreeData; + this.updateTableScrollY(); + }, + updateTreeExpandKeys: function updateTreeExpandKeys(value) { + this.states.expandRowKeys = value; + this.updateTreeData(); + }, + toggleTreeExpansion: function toggleTreeExpansion(row, expanded) { + this.assertRowKey(); + + var _states4 = this.states, + rowKey = _states4.rowKey, + treeData = _states4.treeData; + + var id = getRowIdentity(row, rowKey); + var data = id && treeData[id]; + if (id && data && 'expanded' in data) { + var oldExpanded = data.expanded; + expanded = typeof expanded === 'undefined' ? !data.expanded : expanded; + treeData[id].expanded = expanded; + if (oldExpanded !== expanded) { + this.table.$emit('expand-change', row, expanded); + } + this.updateTableScrollY(); + } + }, + loadOrToggle: function loadOrToggle(row) { + this.assertRowKey(); + var _states5 = this.states, + lazy = _states5.lazy, + treeData = _states5.treeData, + rowKey = _states5.rowKey; + + var id = getRowIdentity(row, rowKey); + var data = treeData[id]; + if (lazy && data && 'loaded' in data && !data.loaded) { + this.loadData(row, id, data); + } else { + this.toggleTreeExpansion(row); + } + }, + loadData: function loadData(row, key, treeNode) { + var _this = this; + + var load = this.table.load; + var rawTreeData = this.states.treeData; + + if (load && !rawTreeData[key].loaded) { + rawTreeData[key].loading = true; + load(row, treeNode, function (data) { + if (!Array.isArray(data)) { + throw new Error('[ElTable] data must be an array'); + } + var _states6 = _this.states, + lazyTreeNodeMap = _states6.lazyTreeNodeMap, + treeData = _states6.treeData; + + treeData[key].loading = false; + treeData[key].loaded = true; + treeData[key].expanded = true; + if (data.length) { + _this.$set(lazyTreeNodeMap, key, data); + } + _this.table.$emit('expand-change', row, true); + }); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/store/watcher.js + + + + + + + +var watcher_sortData = function sortData(data, states) { + var sortingColumn = states.sortingColumn; + if (!sortingColumn || typeof sortingColumn.sortable === 'string') { + return data; + } + return util_orderBy(data, states.sortProp, states.sortOrder, sortingColumn.sortMethod, sortingColumn.sortBy); +}; + +var doFlattenColumns = function doFlattenColumns(columns) { + var result = []; + columns.forEach(function (column) { + if (column.children) { + result.push.apply(result, doFlattenColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +/* harmony default export */ var watcher = (external_vue_default.a.extend({ + data: function data() { + return { + states: { + // 3.0 �������◆霈曄蔭霂亙��� + rowKey: null, + + // 皜脫����皞�撖� table 銝剔�� data 餈誘�������� + data: [], + + // �����摰�� + isComplex: false, + + // ��� + _columns: [], // 銝����� + originColumns: [], + columns: [], + fixedColumns: [], + rightFixedColumns: [], + leafColumns: [], + fixedLeafColumns: [], + rightFixedLeafColumns: [], + leafColumnsLength: 0, + fixedLeafColumnsLength: 0, + rightFixedLeafColumnsLength: 0, + + // � + isAllSelected: false, + selection: [], + reserveSelection: false, + selectOnIndeterminate: false, + selectable: null, + + // 餈誘 + filters: {}, // 銝����� + filteredData: null, + + // ���� + sortingColumn: null, + sortProp: null, + sortOrder: null, + + hoverRow: null + } + }; + }, + + + mixins: [expand, store_current, tree], + + methods: { + // 璉�� rowKey ��摮 + assertRowKey: function assertRowKey() { + var rowKey = this.states.rowKey; + if (!rowKey) throw new Error('[ElTable] prop row-key is required'); + }, + + + // ����� + updateColumns: function updateColumns() { + var states = this.states; + var _columns = states._columns || []; + states.fixedColumns = _columns.filter(function (column) { + return column.fixed === true || column.fixed === 'left'; + }); + states.rightFixedColumns = _columns.filter(function (column) { + return column.fixed === 'right'; + }); + + if (states.fixedColumns.length > 0 && _columns[0] && _columns[0].type === 'selection' && !_columns[0].fixed) { + _columns[0].fixed = true; + states.fixedColumns.unshift(_columns[0]); + } + + var notFixedColumns = _columns.filter(function (column) { + return !column.fixed; + }); + states.originColumns = [].concat(states.fixedColumns).concat(notFixedColumns).concat(states.rightFixedColumns); + + var leafColumns = doFlattenColumns(notFixedColumns); + var fixedLeafColumns = doFlattenColumns(states.fixedColumns); + var rightFixedLeafColumns = doFlattenColumns(states.rightFixedColumns); + + states.leafColumnsLength = leafColumns.length; + states.fixedLeafColumnsLength = fixedLeafColumns.length; + states.rightFixedLeafColumnsLength = rightFixedLeafColumns.length; + + states.columns = [].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns); + states.isComplex = states.fixedColumns.length > 0 || states.rightFixedColumns.length > 0; + }, + + + // �� DOM + scheduleLayout: function scheduleLayout(needUpdateColumns) { + if (needUpdateColumns) { + this.updateColumns(); + } + this.table.debouncedUpdateLayout(); + }, + + + // � + isSelected: function isSelected(row) { + var _states$selection = this.states.selection, + selection = _states$selection === undefined ? [] : _states$selection; + + return selection.indexOf(row) > -1; + }, + clearSelection: function clearSelection() { + var states = this.states; + states.isAllSelected = false; + var oldSelection = states.selection; + if (oldSelection.length) { + states.selection = []; + this.table.$emit('selection-change', []); + } + }, + cleanSelection: function cleanSelection() { + var states = this.states; + var data = states.data, + rowKey = states.rowKey, + selection = states.selection; + + var deleted = void 0; + if (rowKey) { + deleted = []; + var selectedMap = getKeysMap(selection, rowKey); + var dataMap = getKeysMap(data, rowKey); + for (var key in selectedMap) { + if (selectedMap.hasOwnProperty(key) && !dataMap[key]) { + deleted.push(selectedMap[key].row); + } + } + } else { + deleted = selection.filter(function (item) { + return data.indexOf(item) === -1; + }); + } + if (deleted.length) { + var newSelection = selection.filter(function (item) { + return deleted.indexOf(item) === -1; + }); + states.selection = newSelection; + this.table.$emit('selection-change', newSelection.slice()); + } + }, + toggleRowSelection: function toggleRowSelection(row, selected) { + var emitChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + + var changed = toggleRowStatus(this.states.selection, row, selected); + if (changed) { + var newSelection = (this.states.selection || []).slice(); + // 靚 API 靽格�葉�潘��圻��� select 鈭辣 + if (emitChange) { + this.table.$emit('select', newSelection, row); + } + this.table.$emit('selection-change', newSelection); + } + }, + _toggleAllSelection: function _toggleAllSelection() { + var states = this.states; + var _states$data = states.data, + data = _states$data === undefined ? [] : _states$data, + selection = states.selection; + // when only some rows are selected (but not all), select or deselect all of them + // depending on the value of selectOnIndeterminate + + var value = states.selectOnIndeterminate ? !states.isAllSelected : !(states.isAllSelected || selection.length); + states.isAllSelected = value; + + var selectionChanged = false; + data.forEach(function (row, index) { + if (states.selectable) { + if (states.selectable.call(null, row, index) && toggleRowStatus(selection, row, value)) { + selectionChanged = true; + } + } else { + if (toggleRowStatus(selection, row, value)) { + selectionChanged = true; + } + } + }); + + if (selectionChanged) { + this.table.$emit('selection-change', selection ? selection.slice() : []); + } + this.table.$emit('select-all', selection); + }, + updateSelectionByRowKey: function updateSelectionByRowKey() { + var states = this.states; + var selection = states.selection, + rowKey = states.rowKey, + data = states.data; + + var selectedMap = getKeysMap(selection, rowKey); + data.forEach(function (row) { + var rowId = getRowIdentity(row, rowKey); + var rowInfo = selectedMap[rowId]; + if (rowInfo) { + selection[rowInfo.index] = row; + } + }); + }, + updateAllSelected: function updateAllSelected() { + var states = this.states; + var selection = states.selection, + rowKey = states.rowKey, + selectable = states.selectable; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + + var data = states.data || []; + if (data.length === 0) { + states.isAllSelected = false; + return; + } + + var selectedMap = void 0; + if (rowKey) { + selectedMap = getKeysMap(selection, rowKey); + } + var isSelected = function isSelected(row) { + if (selectedMap) { + return !!selectedMap[getRowIdentity(row, rowKey)]; + } else { + return selection.indexOf(row) !== -1; + } + }; + var isAllSelected = true; + var selectedCount = 0; + for (var i = 0, j = data.length; i < j; i++) { + var item = data[i]; + var isRowSelectable = selectable && selectable.call(null, item, i); + if (!isSelected(item)) { + if (!selectable || isRowSelectable) { + isAllSelected = false; + break; + } + } else { + selectedCount++; + } + } + + if (selectedCount === 0) isAllSelected = false; + states.isAllSelected = isAllSelected; + }, + + + // 餈誘銝��� + updateFilters: function updateFilters(columns, values) { + if (!Array.isArray(columns)) { + columns = [columns]; + } + var states = this.states; + var filters = {}; + columns.forEach(function (col) { + states.filters[col.id] = values; + filters[col.columnKey || col.id] = values; + }); + + return filters; + }, + updateSort: function updateSort(column, prop, order) { + if (this.states.sortingColumn && this.states.sortingColumn !== column) { + this.states.sortingColumn.order = null; + } + this.states.sortingColumn = column; + this.states.sortProp = prop; + this.states.sortOrder = order; + }, + execFilter: function execFilter() { + var _this = this; + + var states = this.states; + var _data = states._data, + filters = states.filters; + + var data = _data; + + Object.keys(filters).forEach(function (columnId) { + var values = states.filters[columnId]; + if (!values || values.length === 0) return; + var column = getColumnById(_this.states, columnId); + if (column && column.filterMethod) { + data = data.filter(function (row) { + return values.some(function (value) { + return column.filterMethod.call(null, value, row, column); + }); + }); + } + }); + + states.filteredData = data; + }, + execSort: function execSort() { + var states = this.states; + states.data = watcher_sortData(states.filteredData, states); + }, + + + // �� filters 銝� sort �餈誘 data + execQuery: function execQuery(ignore) { + if (!(ignore && ignore.filter)) { + this.execFilter(); + } + this.execSort(); + }, + clearFilter: function clearFilter(columnKeys) { + var states = this.states; + var _table$$refs = this.table.$refs, + tableHeader = _table$$refs.tableHeader, + fixedTableHeader = _table$$refs.fixedTableHeader, + rightFixedTableHeader = _table$$refs.rightFixedTableHeader; + + + var panels = {}; + if (tableHeader) panels = merge_default()(panels, tableHeader.filterPanels); + if (fixedTableHeader) panels = merge_default()(panels, fixedTableHeader.filterPanels); + if (rightFixedTableHeader) panels = merge_default()(panels, rightFixedTableHeader.filterPanels); + + var keys = Object.keys(panels); + if (!keys.length) return; + + if (typeof columnKeys === 'string') { + columnKeys = [columnKeys]; + } + + if (Array.isArray(columnKeys)) { + var columns = columnKeys.map(function (key) { + return getColumnByKey(states, key); + }); + keys.forEach(function (key) { + var column = columns.find(function (col) { + return col.id === key; + }); + if (column) { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + } + }); + this.commit('filterChange', { + column: columns, + values: [], + silent: true, + multi: true + }); + } else { + keys.forEach(function (key) { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + }); + + states.filters = {}; + this.commit('filterChange', { + column: {}, + values: [], + silent: true + }); + } + }, + clearSort: function clearSort() { + var states = this.states; + if (!states.sortingColumn) return; + + this.updateSort(null, null, null); + this.commit('changeSortCondition', { + silent: true + }); + }, + + + // ����xpand-row-keys � Expand 銝� TreeTable 銝剝��蝙� + setExpandRowKeysAdapter: function setExpandRowKeysAdapter(val) { + // 餈��圻�����恣蝞��蛹鈭摰寞�改��餈��� + this.setExpandRowKeys(val); + this.updateTreeExpandKeys(val); + }, + + + // 撅�銵�� TreeTable �閬蝙� + toggleRowExpansionAdapter: function toggleRowExpansionAdapter(row, expanded) { + var hasExpandColumn = this.states.columns.some(function (_ref) { + var type = _ref.type; + return type === 'expand'; + }); + if (hasExpandColumn) { + this.toggleRowExpansion(row, expanded); + } else { + this.toggleTreeExpansion(row, expanded); + } + } + } +})); +// CONCATENATED MODULE: ./packages/table/src/store/index.js + + + + +watcher.prototype.mutations = { + setData: function setData(states, data) { + var dataInstanceChanged = states._data !== data; + states._data = data; + + this.execQuery(); + // ������������� + // 瘝⊥�蝙� computed嚗��������� https://github.com/vuejs/vue/issues/6660#issuecomment-331417140 + this.updateCurrentRowData(); + this.updateExpandRows(); + if (states.reserveSelection) { + this.assertRowKey(); + this.updateSelectionByRowKey(); + } else { + if (dataInstanceChanged) { + this.clearSelection(); + } else { + this.cleanSelection(); + } + } + this.updateAllSelected(); + + this.updateTableScrollY(); + }, + insertColumn: function insertColumn(states, column, index, parent) { + var array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + + if (typeof index !== 'undefined') { + array.splice(index, 0, column); + } else { + array.push(column); + } + + if (column.type === 'selection') { + states.selectable = column.selectable; + states.reserveSelection = column.reserveSelection; + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics insert column + this.scheduleLayout(); + } + }, + removeColumn: function removeColumn(states, column, parent) { + var array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + if (array) { + array.splice(array.indexOf(column), 1); + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics remove column + this.scheduleLayout(); + } + }, + sort: function sort(states, options) { + var prop = options.prop, + order = options.order, + init = options.init; + + if (prop) { + var column = Object(util_["arrayFind"])(states.columns, function (column) { + return column.property === prop; + }); + if (column) { + column.order = order; + this.updateSort(column, prop, order); + this.commit('changeSortCondition', { init: init }); + } + } + }, + changeSortCondition: function changeSortCondition(states, options) { + // 靽桀�� pr https://github.com/ElemeFE/element/pull/15012 撖潸��� bug + var column = states.sortingColumn, + prop = states.sortProp, + order = states.sortOrder; + + if (order === null) { + states.sortingColumn = null; + states.sortProp = null; + } + var ingore = { filter: true }; + this.execQuery(ingore); + + if (!options || !(options.silent || options.init)) { + this.table.$emit('sort-change', { + column: column, + prop: prop, + order: order + }); + } + + this.updateTableScrollY(); + }, + filterChange: function filterChange(states, options) { + var column = options.column, + values = options.values, + silent = options.silent; + + var newFilters = this.updateFilters(column, values); + + this.execQuery(); + + if (!silent) { + this.table.$emit('filter-change', newFilters); + } + + this.updateTableScrollY(); + }, + toggleAllSelection: function toggleAllSelection() { + this.toggleAllSelection(); + }, + rowSelectedChanged: function rowSelectedChanged(states, row) { + this.toggleRowSelection(row); + this.updateAllSelected(); + }, + setHoverRow: function setHoverRow(states, row) { + states.hoverRow = row; + }, + setCurrentRow: function setCurrentRow(states, row) { + this.updateCurrentRow(row); + } +}; + +watcher.prototype.commit = function (name) { + var mutations = this.mutations; + if (mutations[name]) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + mutations[name].apply(this, [this.states].concat(args)); + } else { + throw new Error('Action not found: ' + name); + } +}; + +watcher.prototype.updateTableScrollY = function () { + external_vue_default.a.nextTick(this.table.updateScrollY); +}; + +/* harmony default export */ var src_store = (watcher); +// CONCATENATED MODULE: ./packages/table/src/store/helper.js + + + +function createStore(table) { + var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!table) { + throw new Error('Table is required.'); + } + + var store = new src_store(); + store.table = table; + // fix https://github.com/ElemeFE/element/issues/14075 + // related pr https://github.com/ElemeFE/element/pull/14146 + store.toggleAllSelection = debounce_default()(10, store._toggleAllSelection); + Object.keys(initialState).forEach(function (key) { + store.states[key] = initialState[key]; + }); + return store; +} + +function mapStates(mapper) { + var res = {}; + Object.keys(mapper).forEach(function (key) { + var value = mapper[key]; + var fn = void 0; + if (typeof value === 'string') { + fn = function fn() { + return this.store.states[value]; + }; + } else if (typeof value === 'function') { + fn = function fn() { + return value.call(this, this.store.states); + }; + } else { + console.error('invalid value type'); + } + if (fn) { + res[key] = fn; + } + }); + return res; +}; +// EXTERNAL MODULE: external "element-ui/lib/utils/scrollbar-width" +var scrollbar_width_ = __webpack_require__(31); +var scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_); + +// CONCATENATED MODULE: ./packages/table/src/table-layout.js +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + + +var table_layout_TableLayout = function () { + function TableLayout(options) { + _classCallCheck(this, TableLayout); + + this.observers = []; + this.table = null; + this.store = null; + this.columns = null; + this.fit = true; + this.showHeader = true; + + this.height = null; + this.scrollX = false; + this.scrollY = false; + this.bodyWidth = null; + this.fixedWidth = null; + this.rightFixedWidth = null; + this.tableHeight = null; + this.headerHeight = 44; // Table Header Height + this.appendHeight = 0; // Append Slot Height + this.footerHeight = 44; // Table Footer Height + this.viewportHeight = null; // Table Height - Scroll Bar Height + this.bodyHeight = null; // Table Height - Table Header Height + this.fixedBodyHeight = null; // Table Height - Table Header Height - Scroll Bar Height + this.gutterWidth = scrollbar_width_default()(); + + for (var name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + if (!this.table) { + throw new Error('table is required for Table Layout'); + } + if (!this.store) { + throw new Error('store is required for Table Layout'); + } + } + + TableLayout.prototype.updateScrollY = function updateScrollY() { + var height = this.height; + if (height === null) return false; + var bodyWrapper = this.table.bodyWrapper; + if (this.table.$el && bodyWrapper) { + var body = bodyWrapper.querySelector('.el-table__body'); + var prevScrollY = this.scrollY; + var scrollY = body.offsetHeight > this.bodyHeight; + this.scrollY = scrollY; + return prevScrollY !== scrollY; + } + return false; + }; + + TableLayout.prototype.setHeight = function setHeight(value) { + var _this = this; + + var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'height'; + + if (external_vue_default.a.prototype.$isServer) return; + var el = this.table.$el; + value = parseHeight(value); + this.height = value; + + if (!el && (value || value === 0)) return external_vue_default.a.nextTick(function () { + return _this.setHeight(value, prop); + }); + + if (typeof value === 'number') { + el.style[prop] = value + 'px'; + this.updateElsHeight(); + } else if (typeof value === 'string') { + el.style[prop] = value; + this.updateElsHeight(); + } + }; + + TableLayout.prototype.setMaxHeight = function setMaxHeight(value) { + this.setHeight(value, 'max-height'); + }; + + TableLayout.prototype.getFlattenColumns = function getFlattenColumns() { + var flattenColumns = []; + var columns = this.table.columns; + columns.forEach(function (column) { + if (column.isColumnGroup) { + flattenColumns.push.apply(flattenColumns, column.columns); + } else { + flattenColumns.push(column); + } + }); + + return flattenColumns; + }; + + TableLayout.prototype.updateElsHeight = function updateElsHeight() { + var _this2 = this; + + if (!this.table.$ready) return external_vue_default.a.nextTick(function () { + return _this2.updateElsHeight(); + }); + var _table$$refs = this.table.$refs, + headerWrapper = _table$$refs.headerWrapper, + appendWrapper = _table$$refs.appendWrapper, + footerWrapper = _table$$refs.footerWrapper; + + this.appendHeight = appendWrapper ? appendWrapper.offsetHeight : 0; + + if (this.showHeader && !headerWrapper) return; + + // fix issue (https://github.com/ElemeFE/element/pull/16956) + var headerTrElm = headerWrapper ? headerWrapper.querySelector('.el-table__header tr') : null; + var noneHeader = this.headerDisplayNone(headerTrElm); + + var headerHeight = this.headerHeight = !this.showHeader ? 0 : headerWrapper.offsetHeight; + if (this.showHeader && !noneHeader && headerWrapper.offsetWidth > 0 && (this.table.columns || []).length > 0 && headerHeight < 2) { + return external_vue_default.a.nextTick(function () { + return _this2.updateElsHeight(); + }); + } + var tableHeight = this.tableHeight = this.table.$el.clientHeight; + var footerHeight = this.footerHeight = footerWrapper ? footerWrapper.offsetHeight : 0; + if (this.height !== null) { + this.bodyHeight = tableHeight - headerHeight - footerHeight + (footerWrapper ? 1 : 0); + } + this.fixedBodyHeight = this.scrollX ? this.bodyHeight - this.gutterWidth : this.bodyHeight; + + var noData = !(this.store.states.data && this.store.states.data.length); + this.viewportHeight = this.scrollX ? tableHeight - (noData ? 0 : this.gutterWidth) : tableHeight; + this.updateScrollY(); + this.notifyObservers('scrollable'); + }; + + TableLayout.prototype.headerDisplayNone = function headerDisplayNone(elm) { + if (!elm) return true; + var headerChild = elm; + while (headerChild.tagName !== 'DIV') { + if (getComputedStyle(headerChild).display === 'none') { + return true; + } + headerChild = headerChild.parentElement; + } + return false; + }; + + TableLayout.prototype.updateColumnsWidth = function updateColumnsWidth() { + if (external_vue_default.a.prototype.$isServer) return; + var fit = this.fit; + var bodyWidth = this.table.$el.clientWidth; + var bodyMinWidth = 0; + + var flattenColumns = this.getFlattenColumns(); + var flexColumns = flattenColumns.filter(function (column) { + return typeof column.width !== 'number'; + }); + + flattenColumns.forEach(function (column) { + // Clean those columns whose width changed from flex to unflex + if (typeof column.width === 'number' && column.realWidth) column.realWidth = null; + }); + + if (flexColumns.length > 0 && fit) { + flattenColumns.forEach(function (column) { + bodyMinWidth += column.width || column.minWidth || 80; + }); + + var scrollYWidth = this.scrollY ? this.gutterWidth : 0; + + if (bodyMinWidth <= bodyWidth - scrollYWidth) { + // DON'T HAVE SCROLL BAR + this.scrollX = false; + + var totalFlexWidth = bodyWidth - scrollYWidth - bodyMinWidth; + + if (flexColumns.length === 1) { + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth; + } else { + var allColumnsWidth = flexColumns.reduce(function (prev, column) { + return prev + (column.minWidth || 80); + }, 0); + var flexWidthPerPixel = totalFlexWidth / allColumnsWidth; + var noneFirstWidth = 0; + + flexColumns.forEach(function (column, index) { + if (index === 0) return; + var flexWidth = Math.floor((column.minWidth || 80) * flexWidthPerPixel); + noneFirstWidth += flexWidth; + column.realWidth = (column.minWidth || 80) + flexWidth; + }); + + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth; + } + } else { + // HAVE HORIZONTAL SCROLL BAR + this.scrollX = true; + flexColumns.forEach(function (column) { + column.realWidth = column.minWidth; + }); + } + + this.bodyWidth = Math.max(bodyMinWidth, bodyWidth); + this.table.resizeState.width = this.bodyWidth; + } else { + flattenColumns.forEach(function (column) { + if (!column.width && !column.minWidth) { + column.realWidth = 80; + } else { + column.realWidth = column.width || column.minWidth; + } + + bodyMinWidth += column.realWidth; + }); + this.scrollX = bodyMinWidth > bodyWidth; + + this.bodyWidth = bodyMinWidth; + } + + var fixedColumns = this.store.states.fixedColumns; + + if (fixedColumns.length > 0) { + var fixedWidth = 0; + fixedColumns.forEach(function (column) { + fixedWidth += column.realWidth || column.width; + }); + + this.fixedWidth = fixedWidth; + } + + var rightFixedColumns = this.store.states.rightFixedColumns; + if (rightFixedColumns.length > 0) { + var rightFixedWidth = 0; + rightFixedColumns.forEach(function (column) { + rightFixedWidth += column.realWidth || column.width; + }); + + this.rightFixedWidth = rightFixedWidth; + } + + this.notifyObservers('columns'); + }; + + TableLayout.prototype.addObserver = function addObserver(observer) { + this.observers.push(observer); + }; + + TableLayout.prototype.removeObserver = function removeObserver(observer) { + var index = this.observers.indexOf(observer); + if (index !== -1) { + this.observers.splice(index, 1); + } + }; + + TableLayout.prototype.notifyObservers = function notifyObservers(event) { + var _this3 = this; + + var observers = this.observers; + observers.forEach(function (observer) { + switch (event) { + case 'columns': + observer.onColumnsChange(_this3); + break; + case 'scrollable': + observer.onScrollableChange(_this3); + break; + default: + throw new Error('Table Layout don\'t have event ' + event + '.'); + } + }); + }; + + return TableLayout; +}(); + +/* harmony default export */ var table_layout = (table_layout_TableLayout); +// CONCATENATED MODULE: ./packages/table/src/layout-observer.js +/* harmony default export */ var layout_observer = ({ + created: function created() { + this.tableLayout.addObserver(this); + }, + destroyed: function destroyed() { + this.tableLayout.removeObserver(this); + }, + + + computed: { + tableLayout: function tableLayout() { + var layout = this.layout; + if (!layout && this.table) { + layout = this.table.layout; + } + if (!layout) { + throw new Error('Can not find table layout.'); + } + return layout; + } + }, + + mounted: function mounted() { + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + }, + updated: function updated() { + if (this.__updated__) return; + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + this.__updated__ = true; + }, + + + methods: { + onColumnsChange: function onColumnsChange(layout) { + var cols = this.$el.querySelectorAll('colgroup > col'); + if (!cols.length) return; + var flattenColumns = layout.getFlattenColumns(); + var columnsMap = {}; + flattenColumns.forEach(function (column) { + columnsMap[column.id] = column; + }); + for (var i = 0, j = cols.length; i < j; i++) { + var col = cols[i]; + var name = col.getAttribute('name'); + var column = columnsMap[name]; + if (column) { + col.setAttribute('width', column.realWidth || column.width); + } + } + }, + onScrollableChange: function onScrollableChange(layout) { + var cols = this.$el.querySelectorAll('colgroup > col[name=gutter]'); + for (var i = 0, j = cols.length; i < j; i++) { + var col = cols[i]; + col.setAttribute('width', layout.scrollY ? layout.gutterWidth : '0'); + } + var ths = this.$el.querySelectorAll('th.gutter'); + for (var _i = 0, _j = ths.length; _i < _j; _i++) { + var th = ths[_i]; + th.style.width = layout.scrollY ? layout.gutterWidth + 'px' : '0'; + th.style.display = layout.scrollY ? '' : 'none'; + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-row.js +var table_row_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + +/* harmony default export */ var table_row = ({ + name: 'ElTableRow', + props: ['columns', 'row', 'index', 'isSelected', 'isExpanded', 'store', 'context', 'firstDefaultColumnIndex', 'treeRowData', 'treeIndent', 'columnsHidden', 'getSpan', 'getColspanRealWidth', 'getCellStyle', 'getCellClass', 'handleCellMouseLeave', 'handleCellMouseEnter', 'fixed'], + components: { + ElCheckbox: checkbox_default.a + }, + render: function render() { + var _this = this; + + var h = arguments[0]; + var columns = this.columns, + row = this.row, + $index = this.index, + store = this.store, + context = this.context, + firstDefaultColumnIndex = this.firstDefaultColumnIndex, + treeRowData = this.treeRowData, + treeIndent = this.treeIndent, + _columnsHidden = this.columnsHidden, + columnsHidden = _columnsHidden === undefined ? [] : _columnsHidden, + isSelected = this.isSelected, + isExpanded = this.isExpanded; + + + return h('tr', [columns.map(function (column, cellIndex) { + var _getSpan = _this.getSpan(row, column, $index, cellIndex), + rowspan = _getSpan.rowspan, + colspan = _getSpan.colspan; + + if (!rowspan || !colspan) { + return null; + } + var columnData = table_row_extends({}, column); + columnData.realWidth = _this.getColspanRealWidth(columns, colspan, cellIndex); + var data = { + store: store, + isSelected: isSelected, + isExpanded: isExpanded, + _self: context, + column: columnData, + row: row, + $index: $index + }; + if (cellIndex === firstDefaultColumnIndex && treeRowData) { + data.treeNode = { + indent: treeRowData.level * treeIndent, + level: treeRowData.level + }; + if (typeof treeRowData.expanded === 'boolean') { + data.treeNode.expanded = treeRowData.expanded; + // 銵冽����蝸 + if ('loading' in treeRowData) { + data.treeNode.loading = treeRowData.loading; + } + if ('noLazyChildren' in treeRowData) { + data.treeNode.noLazyChildren = treeRowData.noLazyChildren; + } + } + } + return h( + 'td', + { + style: _this.getCellStyle($index, cellIndex, row, column), + 'class': _this.getCellClass($index, cellIndex, row, column), + attrs: { rowspan: rowspan, + colspan: colspan + }, + on: { + 'mouseenter': function mouseenter($event) { + return _this.handleCellMouseEnter($event, row); + }, + 'mouseleave': _this.handleCellMouseLeave + } + }, + [column.renderCell.call(_this._renderProxy, _this.$createElement, data, columnsHidden[cellIndex])] + ); + })]); + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-body.js +var table_body_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var table_body_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + + + + + + +/* harmony default export */ var table_body = ({ + name: 'ElTableBody', + + mixins: [layout_observer], + + components: { + ElCheckbox: checkbox_default.a, + ElTooltip: tooltip_default.a, + TableRow: table_row + }, + + props: { + store: { + required: true + }, + stripe: Boolean, + context: {}, + rowClassName: [String, Function], + rowStyle: [Object, Function], + fixed: String, + highlight: Boolean + }, + + render: function render(h) { + var _this = this; + + var data = this.data || []; + return h( + 'table', + { + 'class': 'el-table__body', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + })]), h('tbody', [data.reduce(function (acc, row) { + return acc.concat(_this.wrappedRowRender(row, acc.length)); + }, []), h('el-tooltip', { + attrs: { effect: this.table.tooltipEffect, placement: 'top', content: this.tooltipContent }, + ref: 'tooltip' })])] + ); + }, + + + computed: table_body_extends({ + table: function table() { + return this.$parent; + } + }, mapStates({ + data: 'data', + columns: 'columns', + treeIndent: 'indent', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + }, + hasExpandColumn: function hasExpandColumn(states) { + return states.columns.some(function (_ref) { + var type = _ref.type; + return type === 'expand'; + }); + } + }), { + columnsHidden: function columnsHidden() { + var _this2 = this; + + return this.columns.map(function (column, index) { + return _this2.isColumnHidden(index); + }); + }, + firstDefaultColumnIndex: function firstDefaultColumnIndex() { + return Object(util_["arrayFindIndex"])(this.columns, function (_ref2) { + var type = _ref2.type; + return type === 'default'; + }); + } + }), + + watch: { + // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/ + // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40 + 'store.states.hoverRow': function storeStatesHoverRow(newVal, oldVal) { + var _this3 = this; + + if (!this.store.states.isComplex || this.$isServer) return; + var raf = window.requestAnimationFrame; + if (!raf) { + raf = function raf(fn) { + return setTimeout(fn, 16); + }; + } + raf(function () { + var rows = _this3.$el.querySelectorAll('.el-table__row'); + var oldRow = rows[oldVal]; + var newRow = rows[newVal]; + if (oldRow) { + Object(dom_["removeClass"])(oldRow, 'hover-row'); + } + if (newRow) { + Object(dom_["addClass"])(newRow, 'hover-row'); + } + }); + } + }, + + data: function data() { + return { + tooltipContent: '' + }; + }, + created: function created() { + this.activateTooltip = debounce_default()(50, function (tooltip) { + return tooltip.handleShowPopper(); + }); + }, + + + methods: { + getKeyOfRow: function getKeyOfRow(row, index) { + var rowKey = this.table.rowKey; + if (rowKey) { + return getRowIdentity(row, rowKey); + } + return index; + }, + isColumnHidden: function isColumnHidden(index) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return index < this.columnsCount - this.rightFixedLeafCount; + } else { + return index < this.leftFixedLeafCount || index >= this.columnsCount - this.rightFixedLeafCount; + } + }, + getSpan: function getSpan(row, column, rowIndex, columnIndex) { + var rowspan = 1; + var colspan = 1; + var fn = this.table.spanMethod; + if (typeof fn === 'function') { + var result = fn({ + row: row, + column: column, + rowIndex: rowIndex, + columnIndex: columnIndex + }); + if (Array.isArray(result)) { + rowspan = result[0]; + colspan = result[1]; + } else if ((typeof result === 'undefined' ? 'undefined' : table_body_typeof(result)) === 'object') { + rowspan = result.rowspan; + colspan = result.colspan; + } + } + return { rowspan: rowspan, colspan: colspan }; + }, + getRowStyle: function getRowStyle(row, rowIndex) { + var rowStyle = this.table.rowStyle; + if (typeof rowStyle === 'function') { + return rowStyle.call(null, { + row: row, + rowIndex: rowIndex + }); + } + return rowStyle || null; + }, + getRowClass: function getRowClass(row, rowIndex) { + var classes = ['el-table__row']; + if (this.table.highlightCurrentRow && row === this.store.states.currentRow) { + classes.push('current-row'); + } + + if (this.stripe && rowIndex % 2 === 1) { + classes.push('el-table__row--striped'); + } + var rowClassName = this.table.rowClassName; + if (typeof rowClassName === 'string') { + classes.push(rowClassName); + } else if (typeof rowClassName === 'function') { + classes.push(rowClassName.call(null, { + row: row, + rowIndex: rowIndex + })); + } + + if (this.store.states.expandRows.indexOf(row) > -1) { + classes.push('expanded'); + } + + return classes; + }, + getCellStyle: function getCellStyle(rowIndex, columnIndex, row, column) { + var cellStyle = this.table.cellStyle; + if (typeof cellStyle === 'function') { + return cellStyle.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + }); + } + return cellStyle; + }, + getCellClass: function getCellClass(rowIndex, columnIndex, row, column) { + var classes = [column.id, column.align, column.className]; + + if (this.isColumnHidden(columnIndex)) { + classes.push('is-hidden'); + } + + var cellClassName = this.table.cellClassName; + if (typeof cellClassName === 'string') { + classes.push(cellClassName); + } else if (typeof cellClassName === 'function') { + classes.push(cellClassName.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + getColspanRealWidth: function getColspanRealWidth(columns, colspan, index) { + if (colspan < 1) { + return columns[index].realWidth; + } + var widthArr = columns.map(function (_ref3) { + var realWidth = _ref3.realWidth; + return realWidth; + }).slice(index, index + colspan); + return widthArr.reduce(function (acc, width) { + return acc + width; + }, -1); + }, + handleCellMouseEnter: function handleCellMouseEnter(event, row) { + var table = this.table; + var cell = getCell(event); + + if (cell) { + var column = getColumnByCell(table, cell); + var hoverState = table.hoverState = { cell: cell, column: column, row: row }; + table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event); + } + + // ����text-overflow, 憒�撠望蝷演ooltip + var cellChild = event.target.querySelector('.cell'); + if (!(Object(dom_["hasClass"])(cellChild, 'el-tooltip') && cellChild.childNodes.length)) { + return; + } + // use range width instead of scrollWidth to determine whether the text is overflowing + // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3 + var range = document.createRange(); + range.setStart(cellChild, 0); + range.setEnd(cellChild, cellChild.childNodes.length); + var rangeWidth = range.getBoundingClientRect().width; + var padding = (parseInt(Object(dom_["getStyle"])(cellChild, 'paddingLeft'), 10) || 0) + (parseInt(Object(dom_["getStyle"])(cellChild, 'paddingRight'), 10) || 0); + if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) { + var tooltip = this.$refs.tooltip; + // TODO 隡�絲�銝� Table ���皜脫���閬��� + this.tooltipContent = cell.innerText || cell.textContent; + tooltip.referenceElm = cell; + tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none'); + tooltip.doDestroy(); + tooltip.setExpectedState(true); + this.activateTooltip(tooltip); + } + }, + handleCellMouseLeave: function handleCellMouseLeave(event) { + var tooltip = this.$refs.tooltip; + if (tooltip) { + tooltip.setExpectedState(false); + tooltip.handleClosePopper(); + } + var cell = getCell(event); + if (!cell) return; + + var oldHoverState = this.table.hoverState || {}; + this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event); + }, + + + handleMouseEnter: debounce_default()(30, function (index) { + this.store.commit('setHoverRow', index); + }), + + handleMouseLeave: debounce_default()(30, function () { + this.store.commit('setHoverRow', null); + }), + + handleContextMenu: function handleContextMenu(event, row) { + this.handleEvent(event, row, 'contextmenu'); + }, + handleDoubleClick: function handleDoubleClick(event, row) { + this.handleEvent(event, row, 'dblclick'); + }, + handleClick: function handleClick(event, row) { + this.store.commit('setCurrentRow', row); + this.handleEvent(event, row, 'click'); + }, + handleEvent: function handleEvent(event, row, name) { + var table = this.table; + var cell = getCell(event); + var column = void 0; + if (cell) { + column = getColumnByCell(table, cell); + if (column) { + table.$emit('cell-' + name, row, column, cell, event); + } + } + table.$emit('row-' + name, row, column, event); + }, + rowRender: function rowRender(row, $index, treeRowData) { + var _this4 = this; + + var h = this.$createElement; + var treeIndent = this.treeIndent, + columns = this.columns, + firstDefaultColumnIndex = this.firstDefaultColumnIndex; + + var rowClasses = this.getRowClass(row, $index); + var display = true; + if (treeRowData) { + rowClasses.push('el-table__row--level-' + treeRowData.level); + display = treeRowData.display; + } + // ��誘 v-show 隡��� row-style 銝� display + // 雿輻 :style 隞�� v-show https://github.com/ElemeFE/element/issues/16995 + var displayStyle = display ? null : { + display: 'none' + }; + return h(table_row, { + style: [displayStyle, this.getRowStyle(row, $index)], + 'class': rowClasses, + key: this.getKeyOfRow(row, $index), + nativeOn: { + 'dblclick': function dblclick($event) { + return _this4.handleDoubleClick($event, row); + }, + 'click': function click($event) { + return _this4.handleClick($event, row); + }, + 'contextmenu': function contextmenu($event) { + return _this4.handleContextMenu($event, row); + }, + 'mouseenter': function mouseenter(_) { + return _this4.handleMouseEnter($index); + }, + 'mouseleave': this.handleMouseLeave + }, + attrs: { + columns: columns, + row: row, + index: $index, + store: this.store, + context: this.context || this.table.$vnode.context, + firstDefaultColumnIndex: firstDefaultColumnIndex, + treeRowData: treeRowData, + treeIndent: treeIndent, + columnsHidden: this.columnsHidden, + getSpan: this.getSpan, + getColspanRealWidth: this.getColspanRealWidth, + getCellStyle: this.getCellStyle, + getCellClass: this.getCellClass, + handleCellMouseEnter: this.handleCellMouseEnter, + handleCellMouseLeave: this.handleCellMouseLeave, + isSelected: this.store.isSelected(row), + isExpanded: this.store.states.expandRows.indexOf(row) > -1, + fixed: this.fixed + } + }); + }, + wrappedRowRender: function wrappedRowRender(row, $index) { + var _this5 = this; + + var h = this.$createElement; + + var store = this.store; + var isRowExpanded = store.isRowExpanded, + assertRowKey = store.assertRowKey; + var _store$states = store.states, + treeData = _store$states.treeData, + lazyTreeNodeMap = _store$states.lazyTreeNodeMap, + childrenColumnName = _store$states.childrenColumnName, + rowKey = _store$states.rowKey; + + if (this.hasExpandColumn && isRowExpanded(row)) { + var renderExpanded = this.table.renderExpanded; + var tr = this.rowRender(row, $index); + if (!renderExpanded) { + console.error('[Element Error]renderExpanded is required.'); + return tr; + } + // 雿輻鈭輕�蝏���耨� $index + return [[tr, h( + 'tr', + { key: 'expanded-row__' + tr.key }, + [h( + 'td', + { + attrs: { colspan: this.columnsCount }, + 'class': 'el-table__cell el-table__expanded-cell' }, + [renderExpanded(this.$createElement, { row: row, $index: $index, store: this.store })] + )] + )]]; + } else if (Object.keys(treeData).length) { + assertRowKey(); + // TreeTable �嚗owKey 敹◆���霈曉���蝙� getKeyOfRow 霈∠�� + // �靚 rowRender ���嚗�隡恣蝞� rowKey嚗�云憟賜���� + var key = getRowIdentity(row, rowKey); + var cur = treeData[key]; + var treeRowData = null; + if (cur) { + treeRowData = { + expanded: cur.expanded, + level: cur.level, + display: true + }; + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + treeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + treeRowData.loading = cur.loading; + } + } + var tmp = [this.rowRender(row, $index, treeRowData)]; + // 皜脫���� + if (cur) { + // currentRow 霈啣�� index嚗�隞亥��銝餃憓�� TreeTable ��� index + var i = 0; + var traverse = function traverse(children, parent) { + if (!(children && children.length && parent)) return; + children.forEach(function (node) { + // ������ display ��蔣������蝷箇�� + var innerTreeRowData = { + display: parent.display && parent.expanded, + level: parent.level + 1 + }; + var childKey = getRowIdentity(node, rowKey); + if (childKey === undefined || childKey === null) { + throw new Error('for nested data item, row-key is required.'); + } + cur = table_body_extends({}, treeData[childKey]); + // 撖嫣����嚗������銝斤���� + // 憒��摮����挽蝵� expanded 撅�扼�� + // 撖嫣������� display 撅�抒摰頨怎�� expanded 銝� display ���摰�� + if (cur) { + innerTreeRowData.expanded = cur.expanded; + // ���蝸�����嚗evel �� + cur.level = cur.level || innerTreeRowData.level; + cur.display = !!(cur.expanded && innerTreeRowData.display); + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + innerTreeRowData.loading = cur.loading; + } + } + i++; + tmp.push(_this5.rowRender(node, $index + i, innerTreeRowData)); + if (cur) { + var _nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName]; + traverse(_nodes, cur); + } + }); + }; + // 撖嫣�� root ��嚗isplay 銝�摰蛹 true + cur.display = true; + var nodes = lazyTreeNodeMap[key] || row[childrenColumnName]; + traverse(nodes, cur); + } + return tmp; + } else { + return this.rowRender(row, $index); + } + } + } +}); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f& +var filter_panelvue_type_template_id_7f2c919f_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-zoom-in-top" } }, [ + _vm.multiple + ? _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleOutsideClick, + expression: "handleOutsideClick" + }, + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-table-filter" + }, + [ + _c( + "div", + { staticClass: "el-table-filter__content" }, + [ + _c( + "el-scrollbar", + { attrs: { "wrap-class": "el-table-filter__wrap" } }, + [ + _c( + "el-checkbox-group", + { + staticClass: "el-table-filter__checkbox-group", + model: { + value: _vm.filteredValue, + callback: function($$v) { + _vm.filteredValue = $$v + }, + expression: "filteredValue" + } + }, + _vm._l(_vm.filters, function(filter) { + return _c( + "el-checkbox", + { key: filter.value, attrs: { label: filter.value } }, + [_vm._v(_vm._s(filter.text))] + ) + }), + 1 + ) + ], + 1 + ) + ], + 1 + ), + _c("div", { staticClass: "el-table-filter__bottom" }, [ + _c( + "button", + { + class: { "is-disabled": _vm.filteredValue.length === 0 }, + attrs: { disabled: _vm.filteredValue.length === 0 }, + on: { click: _vm.handleConfirm } + }, + [_vm._v(_vm._s(_vm.t("el.table.confirmFilter")))] + ), + _c("button", { on: { click: _vm.handleReset } }, [ + _vm._v(_vm._s(_vm.t("el.table.resetFilter"))) + ]) + ]) + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleOutsideClick, + expression: "handleOutsideClick" + }, + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-table-filter" + }, + [ + _c( + "ul", + { staticClass: "el-table-filter__list" }, + [ + _c( + "li", + { + staticClass: "el-table-filter__list-item", + class: { + "is-active": + _vm.filterValue === undefined || + _vm.filterValue === null + }, + on: { + click: function($event) { + _vm.handleSelect(null) + } + } + }, + [_vm._v(_vm._s(_vm.t("el.table.clearFilter")))] + ), + _vm._l(_vm.filters, function(filter) { + return _c( + "li", + { + key: filter.value, + staticClass: "el-table-filter__list-item", + class: { "is-active": _vm.isActive(filter) }, + attrs: { label: filter.value }, + on: { + click: function($event) { + _vm.handleSelect(filter.value) + } + } + }, + [_vm._v(_vm._s(filter.text))] + ) + }) + ], + 2 + ) + ] + ) + ]) +} +var filter_panelvue_type_template_id_7f2c919f_staticRenderFns = [] +filter_panelvue_type_template_id_7f2c919f_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f& + +// CONCATENATED MODULE: ./packages/table/src/dropdown.js + +var dropdowns = []; + +!external_vue_default.a.prototype.$isServer && document.addEventListener('click', function (event) { + dropdowns.forEach(function (dropdown) { + var target = event.target; + if (!dropdown || !dropdown.$el) return; + if (target === dropdown.$el || dropdown.$el.contains(target)) { + return; + } + dropdown.handleOutsideClick && dropdown.handleOutsideClick(event); + }); +}); + +/* harmony default export */ var src_dropdown = ({ + open: function open(instance) { + if (instance) { + dropdowns.push(instance); + } + }, + close: function close(instance) { + var index = dropdowns.indexOf(instance); + if (index !== -1) { + dropdowns.splice(instance, 1); + } + } +}); +// EXTERNAL MODULE: external "element-ui/lib/checkbox-group" +var checkbox_group_ = __webpack_require__(32); +var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var filter_panelvue_type_script_lang_js_ = ({ + name: 'ElTableFilterPanel', + + mixins: [vue_popper_default.a, locale_default.a], + + directives: { + Clickoutside: clickoutside_default.a + }, + + components: { + ElCheckbox: checkbox_default.a, + ElCheckboxGroup: checkbox_group_default.a, + ElScrollbar: scrollbar_default.a + }, + + props: { + placement: { + type: String, + default: 'bottom-end' + } + }, + + methods: { + isActive: function isActive(filter) { + return filter.value === this.filterValue; + }, + handleOutsideClick: function handleOutsideClick() { + var _this = this; + + setTimeout(function () { + _this.showPopper = false; + }, 16); + }, + handleConfirm: function handleConfirm() { + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + handleReset: function handleReset() { + this.filteredValue = []; + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + handleSelect: function handleSelect(filterValue) { + this.filterValue = filterValue; + + if (typeof filterValue !== 'undefined' && filterValue !== null) { + this.confirmFilter(this.filteredValue); + } else { + this.confirmFilter([]); + } + + this.handleOutsideClick(); + }, + confirmFilter: function confirmFilter(filteredValue) { + this.table.store.commit('filterChange', { + column: this.column, + values: filteredValue + }); + this.table.store.updateAllSelected(); + } + }, + + data: function data() { + return { + table: null, + cell: null, + column: null + }; + }, + + + computed: { + filters: function filters() { + return this.column && this.column.filters; + }, + + + filterValue: { + get: function get() { + return (this.column.filteredValue || [])[0]; + }, + set: function set(value) { + if (this.filteredValue) { + if (typeof value !== 'undefined' && value !== null) { + this.filteredValue.splice(0, 1, value); + } else { + this.filteredValue.splice(0, 1); + } + } + } + }, + + filteredValue: { + get: function get() { + if (this.column) { + return this.column.filteredValue || []; + } + return []; + }, + set: function set(value) { + if (this.column) { + this.column.filteredValue = value; + } + } + }, + + multiple: function multiple() { + if (this.column) { + return this.column.filterMultiple; + } + return true; + } + }, + + mounted: function mounted() { + var _this2 = this; + + this.popperElm = this.$el; + this.referenceElm = this.cell; + this.table.bodyWrapper.addEventListener('scroll', function () { + _this2.updatePopper(); + }); + + this.$watch('showPopper', function (value) { + if (_this2.column) _this2.column.filterOpened = value; + if (value) { + src_dropdown.open(_this2); + } else { + src_dropdown.close(_this2); + } + }); + }, + + watch: { + showPopper: function showPopper(val) { + if (val === true && parseInt(this.popperJS._popper.style.zIndex, 10) < popup_["PopupManager"].zIndex) { + this.popperJS._popper.style.zIndex = popup_["PopupManager"].nextZIndex(); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_filter_panelvue_type_script_lang_js_ = (filter_panelvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue + + + + + +/* normalize component */ + +var filter_panel_component = normalizeComponent( + src_filter_panelvue_type_script_lang_js_, + filter_panelvue_type_template_id_7f2c919f_render, + filter_panelvue_type_template_id_7f2c919f_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var filter_panel_api; } +filter_panel_component.options.__file = "packages/table/src/filter-panel.vue" +/* harmony default export */ var filter_panel = (filter_panel_component.exports); +// CONCATENATED MODULE: ./packages/table/src/table-header.js +var table_header_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + + + +var getAllColumns = function getAllColumns(columns) { + var result = []; + columns.forEach(function (column) { + if (column.children) { + result.push(column); + result.push.apply(result, getAllColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +var convertToRows = function convertToRows(originColumns) { + var maxLevel = 1; + var traverse = function traverse(column, parent) { + if (parent) { + column.level = parent.level + 1; + if (maxLevel < column.level) { + maxLevel = column.level; + } + } + if (column.children) { + var colSpan = 0; + column.children.forEach(function (subColumn) { + traverse(subColumn, column); + colSpan += subColumn.colSpan; + }); + column.colSpan = colSpan; + } else { + column.colSpan = 1; + } + }; + + originColumns.forEach(function (column) { + column.level = 1; + traverse(column); + }); + + var rows = []; + for (var i = 0; i < maxLevel; i++) { + rows.push([]); + } + + var allColumns = getAllColumns(originColumns); + + allColumns.forEach(function (column) { + if (!column.children) { + column.rowSpan = maxLevel - column.level + 1; + } else { + column.rowSpan = 1; + } + rows[column.level - 1].push(column); + }); + + return rows; +}; + +/* harmony default export */ var table_header = ({ + name: 'ElTableHeader', + + mixins: [layout_observer], + + render: function render(h) { + var _this = this; + + var originColumns = this.store.states.originColumns; + var columnRows = convertToRows(originColumns, this.columns); + // ������漣銵典仍 + var isGroup = columnRows.length > 1; + if (isGroup) this.$parent.isGroup = true; + return h( + 'table', + { + 'class': 'el-table__header', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + }), this.hasGutter ? h('col', { + attrs: { name: 'gutter' } + }) : '']), h( + 'thead', + { 'class': [{ 'is-group': isGroup, 'has-gutter': this.hasGutter }] }, + [this._l(columnRows, function (columns, rowIndex) { + return h( + 'tr', + { + style: _this.getHeaderRowStyle(rowIndex), + 'class': _this.getHeaderRowClass(rowIndex) + }, + [columns.map(function (column, cellIndex) { + return h( + 'th', + { + attrs: { + colspan: column.colSpan, + rowspan: column.rowSpan + }, + on: { + 'mousemove': function mousemove($event) { + return _this.handleMouseMove($event, column); + }, + 'mouseout': _this.handleMouseOut, + 'mousedown': function mousedown($event) { + return _this.handleMouseDown($event, column); + }, + 'click': function click($event) { + return _this.handleHeaderClick($event, column); + }, + 'contextmenu': function contextmenu($event) { + return _this.handleHeaderContextMenu($event, column); + } + }, + + style: _this.getHeaderCellStyle(rowIndex, cellIndex, columns, column), + 'class': _this.getHeaderCellClass(rowIndex, cellIndex, columns, column), + key: column.id }, + [h( + 'div', + { 'class': ['cell', column.filteredValue && column.filteredValue.length > 0 ? 'highlight' : '', column.labelClassName] }, + [column.renderHeader ? column.renderHeader.call(_this._renderProxy, h, { column: column, $index: cellIndex, store: _this.store, _self: _this.$parent.$vnode.context }) : column.label, column.sortable ? h( + 'span', + { + 'class': 'caret-wrapper', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column); + } + } + }, + [h('i', { 'class': 'sort-caret ascending', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column, 'ascending'); + } + } + }), h('i', { 'class': 'sort-caret descending', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column, 'descending'); + } + } + })] + ) : '', column.filterable ? h( + 'span', + { + 'class': 'el-table__column-filter-trigger', + on: { + 'click': function click($event) { + return _this.handleFilterClick($event, column); + } + } + }, + [h('i', { 'class': ['el-icon-arrow-down', column.filterOpened ? 'el-icon-arrow-up' : ''] })] + ) : ''] + )] + ); + }), _this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : ''] + ); + })] + )] + ); + }, + + + props: { + fixed: String, + store: { + required: true + }, + border: Boolean, + defaultSort: { + type: Object, + default: function _default() { + return { + prop: '', + order: '' + }; + } + } + }, + + components: { + ElCheckbox: checkbox_default.a + }, + + computed: table_header_extends({ + table: function table() { + return this.$parent; + }, + hasGutter: function hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + } + }, mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + } + })), + + created: function created() { + this.filterPanels = {}; + }, + mounted: function mounted() { + var _this2 = this; + + // nextTick ������� https://github.com/ElemeFE/element/pull/11311 + this.$nextTick(function () { + var _defaultSort = _this2.defaultSort, + prop = _defaultSort.prop, + order = _defaultSort.order; + + var init = true; + _this2.store.commit('sort', { prop: prop, order: order, init: init }); + }); + }, + beforeDestroy: function beforeDestroy() { + var panels = this.filterPanels; + for (var prop in panels) { + if (panels.hasOwnProperty(prop) && panels[prop]) { + panels[prop].$destroy(true); + } + } + }, + + + methods: { + isCellHidden: function isCellHidden(index, columns) { + var start = 0; + for (var i = 0; i < index; i++) { + start += columns[i].colSpan; + } + var after = start + columns[index].colSpan - 1; + if (this.fixed === true || this.fixed === 'left') { + return after >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return start < this.columnsCount - this.rightFixedLeafCount; + } else { + return after < this.leftFixedLeafCount || start >= this.columnsCount - this.rightFixedLeafCount; + } + }, + getHeaderRowStyle: function getHeaderRowStyle(rowIndex) { + var headerRowStyle = this.table.headerRowStyle; + if (typeof headerRowStyle === 'function') { + return headerRowStyle.call(null, { rowIndex: rowIndex }); + } + return headerRowStyle; + }, + getHeaderRowClass: function getHeaderRowClass(rowIndex) { + var classes = []; + + var headerRowClassName = this.table.headerRowClassName; + if (typeof headerRowClassName === 'string') { + classes.push(headerRowClassName); + } else if (typeof headerRowClassName === 'function') { + classes.push(headerRowClassName.call(null, { rowIndex: rowIndex })); + } + + return classes.join(' '); + }, + getHeaderCellStyle: function getHeaderCellStyle(rowIndex, columnIndex, row, column) { + var headerCellStyle = this.table.headerCellStyle; + if (typeof headerCellStyle === 'function') { + return headerCellStyle.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + }); + } + return headerCellStyle; + }, + getHeaderCellClass: function getHeaderCellClass(rowIndex, columnIndex, row, column) { + var classes = [column.id, column.order, column.headerAlign, column.className, column.labelClassName]; + + if (rowIndex === 0 && this.isCellHidden(columnIndex, row)) { + classes.push('is-hidden'); + } + + if (!column.children) { + classes.push('is-leaf'); + } + + if (column.sortable) { + classes.push('is-sortable'); + } + + var headerCellClassName = this.table.headerCellClassName; + if (typeof headerCellClassName === 'string') { + classes.push(headerCellClassName); + } else if (typeof headerCellClassName === 'function') { + classes.push(headerCellClassName.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + toggleAllSelection: function toggleAllSelection() { + this.store.commit('toggleAllSelection'); + }, + handleFilterClick: function handleFilterClick(event, column) { + event.stopPropagation(); + var target = event.target; + var cell = target.tagName === 'TH' ? target : target.parentNode; + if (Object(dom_["hasClass"])(cell, 'noclick')) return; + cell = cell.querySelector('.el-table__column-filter-trigger') || cell; + var table = this.$parent; + + var filterPanel = this.filterPanels[column.id]; + + if (filterPanel && column.filterOpened) { + filterPanel.showPopper = false; + return; + } + + if (!filterPanel) { + filterPanel = new external_vue_default.a(filter_panel); + this.filterPanels[column.id] = filterPanel; + if (column.filterPlacement) { + filterPanel.placement = column.filterPlacement; + } + filterPanel.table = table; + filterPanel.cell = cell; + filterPanel.column = column; + !this.$isServer && filterPanel.$mount(document.createElement('div')); + } + + setTimeout(function () { + filterPanel.showPopper = true; + }, 16); + }, + handleHeaderClick: function handleHeaderClick(event, column) { + if (!column.filters && column.sortable) { + this.handleSortClick(event, column); + } else if (column.filterable && !column.sortable) { + this.handleFilterClick(event, column); + } + + this.$parent.$emit('header-click', column, event); + }, + handleHeaderContextMenu: function handleHeaderContextMenu(event, column) { + this.$parent.$emit('header-contextmenu', column, event); + }, + handleMouseDown: function handleMouseDown(event, column) { + var _this3 = this; + + if (this.$isServer) return; + if (column.children && column.children.length > 0) return; + /* istanbul ignore if */ + if (this.draggingColumn && this.border) { + this.dragging = true; + + this.$parent.resizeProxyVisible = true; + + var table = this.$parent; + var tableEl = table.$el; + var tableLeft = tableEl.getBoundingClientRect().left; + var columnEl = this.$el.querySelector('th.' + column.id); + var columnRect = columnEl.getBoundingClientRect(); + var minLeft = columnRect.left - tableLeft + 30; + + Object(dom_["addClass"])(columnEl, 'noclick'); + + this.dragState = { + startMouseLeft: event.clientX, + startLeft: columnRect.right - tableLeft, + startColumnLeft: columnRect.left - tableLeft, + tableLeft: tableLeft + }; + + var resizeProxy = table.$refs.resizeProxy; + resizeProxy.style.left = this.dragState.startLeft + 'px'; + + document.onselectstart = function () { + return false; + }; + document.ondragstart = function () { + return false; + }; + + var handleMouseMove = function handleMouseMove(event) { + var deltaLeft = event.clientX - _this3.dragState.startMouseLeft; + var proxyLeft = _this3.dragState.startLeft + deltaLeft; + + resizeProxy.style.left = Math.max(minLeft, proxyLeft) + 'px'; + }; + + var handleMouseUp = function handleMouseUp() { + if (_this3.dragging) { + var _dragState = _this3.dragState, + startColumnLeft = _dragState.startColumnLeft, + startLeft = _dragState.startLeft; + + var finalLeft = parseInt(resizeProxy.style.left, 10); + var columnWidth = finalLeft - startColumnLeft; + column.width = column.realWidth = columnWidth; + table.$emit('header-dragend', column.width, startLeft - startColumnLeft, column, event); + + _this3.store.scheduleLayout(); + + document.body.style.cursor = ''; + _this3.dragging = false; + _this3.draggingColumn = null; + _this3.dragState = {}; + + table.resizeProxyVisible = false; + } + + document.removeEventListener('mousemove', handleMouseMove); + document.removeEventListener('mouseup', handleMouseUp); + document.onselectstart = null; + document.ondragstart = null; + + setTimeout(function () { + Object(dom_["removeClass"])(columnEl, 'noclick'); + }, 0); + }; + + document.addEventListener('mousemove', handleMouseMove); + document.addEventListener('mouseup', handleMouseUp); + } + }, + handleMouseMove: function handleMouseMove(event, column) { + if (column.children && column.children.length > 0) return; + var target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (!column || !column.resizable) return; + + if (!this.dragging && this.border) { + var rect = target.getBoundingClientRect(); + + var bodyStyle = document.body.style; + if (rect.width > 12 && rect.right - event.pageX < 8) { + bodyStyle.cursor = 'col-resize'; + if (Object(dom_["hasClass"])(target, 'is-sortable')) { + target.style.cursor = 'col-resize'; + } + this.draggingColumn = column; + } else if (!this.dragging) { + bodyStyle.cursor = ''; + if (Object(dom_["hasClass"])(target, 'is-sortable')) { + target.style.cursor = 'pointer'; + } + this.draggingColumn = null; + } + } + }, + handleMouseOut: function handleMouseOut() { + if (this.$isServer) return; + document.body.style.cursor = ''; + }, + toggleOrder: function toggleOrder(_ref) { + var order = _ref.order, + sortOrders = _ref.sortOrders; + + if (order === '') return sortOrders[0]; + var index = sortOrders.indexOf(order || null); + return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]; + }, + handleSortClick: function handleSortClick(event, column, givenOrder) { + event.stopPropagation(); + var order = column.order === givenOrder ? null : givenOrder || this.toggleOrder(column); + + var target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (target && target.tagName === 'TH') { + if (Object(dom_["hasClass"])(target, 'noclick')) { + Object(dom_["removeClass"])(target, 'noclick'); + return; + } + } + + if (!column.sortable) return; + + var states = this.store.states; + var sortProp = states.sortProp; + var sortOrder = void 0; + var sortingColumn = states.sortingColumn; + + if (sortingColumn !== column || sortingColumn === column && sortingColumn.order === null) { + if (sortingColumn) { + sortingColumn.order = null; + } + states.sortingColumn = column; + sortProp = column.property; + } + + if (!order) { + sortOrder = column.order = null; + } else { + sortOrder = column.order = order; + } + + states.sortProp = sortProp; + states.sortOrder = sortOrder; + + this.store.commit('changeSortCondition'); + } + }, + + data: function data() { + return { + draggingColumn: null, + dragging: false, + dragState: {} + }; + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-footer.js +var table_footer_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + +/* harmony default export */ var table_footer = ({ + name: 'ElTableFooter', + + mixins: [layout_observer], + + render: function render(h) { + var _this = this; + + var sums = []; + if (this.summaryMethod) { + sums = this.summaryMethod({ columns: this.columns, data: this.store.states.data }); + } else { + this.columns.forEach(function (column, index) { + if (index === 0) { + sums[index] = _this.sumText; + return; + } + var values = _this.store.states.data.map(function (item) { + return Number(item[column.property]); + }); + var precisions = []; + var notNumber = true; + values.forEach(function (value) { + if (!isNaN(value)) { + notNumber = false; + var decimal = ('' + value).split('.')[1]; + precisions.push(decimal ? decimal.length : 0); + } + }); + var precision = Math.max.apply(null, precisions); + if (!notNumber) { + sums[index] = values.reduce(function (prev, curr) { + var value = Number(curr); + if (!isNaN(value)) { + return parseFloat((prev + curr).toFixed(Math.min(precision, 20))); + } else { + return prev; + } + }, 0); + } else { + sums[index] = ''; + } + }); + } + + return h( + 'table', + { + 'class': 'el-table__footer', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + }), this.hasGutter ? h('col', { + attrs: { name: 'gutter' } + }) : '']), h( + 'tbody', + { 'class': [{ 'has-gutter': this.hasGutter }] }, + [h('tr', [this.columns.map(function (column, cellIndex) { + return h( + 'td', + { + key: cellIndex, + attrs: { colspan: column.colSpan, + rowspan: column.rowSpan + }, + 'class': [].concat(_this.getRowClasses(column, cellIndex), ['el-table__cell']) }, + [h( + 'div', + { 'class': ['cell', column.labelClassName] }, + [sums[cellIndex]] + )] + ); + }), this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : ''])] + )] + ); + }, + + + props: { + fixed: String, + store: { + required: true + }, + summaryMethod: Function, + sumText: String, + border: Boolean, + defaultSort: { + type: Object, + default: function _default() { + return { + prop: '', + order: '' + }; + } + } + }, + + computed: table_footer_extends({ + table: function table() { + return this.$parent; + }, + hasGutter: function hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + } + }, mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + } + })), + + methods: { + isCellHidden: function isCellHidden(index, columns, column) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + var before = 0; + for (var i = 0; i < index; i++) { + before += columns[i].colSpan; + } + return before < this.columnsCount - this.rightFixedLeafCount; + } else if (!this.fixed && column.fixed) { + // hide cell when footer instance is not fixed and column is fixed + return true; + } else { + return index < this.leftFixedCount || index >= this.columnsCount - this.rightFixedCount; + } + }, + getRowClasses: function getRowClasses(column, cellIndex) { + var classes = [column.id, column.align, column.labelClassName]; + if (column.className) { + classes.push(column.className); + } + if (this.isCellHidden(cellIndex, this.columns, column)) { + classes.push('is-hidden'); + } + if (!column.children) { + classes.push('is-leaf'); + } + return classes; + } + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=script&lang=js& +var tablevue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + +var tableIdSeed = 1; + +/* harmony default export */ var tablevue_type_script_lang_js_ = ({ + name: 'ElTable', + + mixins: [locale_default.a, migrating_default.a], + + directives: { + Mousewheel: directives_mousewheel + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + + size: String, + + width: [String, Number], + + height: [String, Number], + + maxHeight: [String, Number], + + fit: { + type: Boolean, + default: true + }, + + stripe: Boolean, + + border: Boolean, + + rowKey: [String, Function], + + context: {}, + + showHeader: { + type: Boolean, + default: true + }, + + showSummary: Boolean, + + sumText: String, + + summaryMethod: Function, + + rowClassName: [String, Function], + + rowStyle: [Object, Function], + + cellClassName: [String, Function], + + cellStyle: [Object, Function], + + headerRowClassName: [String, Function], + + headerRowStyle: [Object, Function], + + headerCellClassName: [String, Function], + + headerCellStyle: [Object, Function], + + highlightCurrentRow: Boolean, + + currentRowKey: [String, Number], + + emptyText: String, + + expandRowKeys: Array, + + defaultExpandAll: Boolean, + + defaultSort: Object, + + tooltipEffect: String, + + spanMethod: Function, + + selectOnIndeterminate: { + type: Boolean, + default: true + }, + + indent: { + type: Number, + default: 16 + }, + + treeProps: { + type: Object, + default: function _default() { + return { + hasChildren: 'hasChildren', + children: 'children' + }; + } + }, + + lazy: Boolean, + + load: Function + }, + + components: { + TableHeader: table_header, + TableFooter: table_footer, + TableBody: table_body, + ElCheckbox: checkbox_default.a + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + events: { + expand: 'expand is renamed to expand-change' + } + }; + }, + setCurrentRow: function setCurrentRow(row) { + this.store.commit('setCurrentRow', row); + }, + toggleRowSelection: function toggleRowSelection(row, selected) { + this.store.toggleRowSelection(row, selected, false); + this.store.updateAllSelected(); + }, + toggleRowExpansion: function toggleRowExpansion(row, expanded) { + this.store.toggleRowExpansionAdapter(row, expanded); + }, + clearSelection: function clearSelection() { + this.store.clearSelection(); + }, + clearFilter: function clearFilter(columnKeys) { + this.store.clearFilter(columnKeys); + }, + clearSort: function clearSort() { + this.store.clearSort(); + }, + handleMouseLeave: function handleMouseLeave() { + this.store.commit('setHoverRow', null); + if (this.hoverState) this.hoverState = null; + }, + updateScrollY: function updateScrollY() { + var changed = this.layout.updateScrollY(); + if (changed) { + this.layout.notifyObservers('scrollable'); + this.layout.updateColumnsWidth(); + } + }, + handleFixedMousewheel: function handleFixedMousewheel(event, data) { + var bodyWrapper = this.bodyWrapper; + if (Math.abs(data.spinY) > 0) { + var currentScrollTop = bodyWrapper.scrollTop; + if (data.pixelY < 0 && currentScrollTop !== 0) { + event.preventDefault(); + } + if (data.pixelY > 0 && bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop) { + event.preventDefault(); + } + bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5); + } else { + bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5); + } + }, + handleHeaderFooterMousewheel: function handleHeaderFooterMousewheel(event, data) { + var pixelX = data.pixelX, + pixelY = data.pixelY; + + if (Math.abs(pixelX) >= Math.abs(pixelY)) { + this.bodyWrapper.scrollLeft += data.pixelX / 5; + } + }, + + + // TODO 雿輻 CSS transform + syncPostion: function syncPostion() { + var _bodyWrapper = this.bodyWrapper, + scrollLeft = _bodyWrapper.scrollLeft, + scrollTop = _bodyWrapper.scrollTop, + offsetWidth = _bodyWrapper.offsetWidth, + scrollWidth = _bodyWrapper.scrollWidth; + var _$refs = this.$refs, + headerWrapper = _$refs.headerWrapper, + footerWrapper = _$refs.footerWrapper, + fixedBodyWrapper = _$refs.fixedBodyWrapper, + rightFixedBodyWrapper = _$refs.rightFixedBodyWrapper; + + if (headerWrapper) headerWrapper.scrollLeft = scrollLeft; + if (footerWrapper) footerWrapper.scrollLeft = scrollLeft; + if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop; + if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop; + var maxScrollLeftPosition = scrollWidth - offsetWidth - 1; + if (scrollLeft >= maxScrollLeftPosition) { + this.scrollPosition = 'right'; + } else if (scrollLeft === 0) { + this.scrollPosition = 'left'; + } else { + this.scrollPosition = 'middle'; + } + }, + + + throttleSyncPostion: Object(external_throttle_debounce_["throttle"])(16, function () { + this.syncPostion(); + }), + + onScroll: function onScroll(evt) { + var raf = window.requestAnimationFrame; + if (!raf) { + this.throttleSyncPostion(); + } else { + raf(this.syncPostion); + } + }, + bindEvents: function bindEvents() { + this.bodyWrapper.addEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + Object(resize_event_["addResizeListener"])(this.$el, this.resizeListener); + } + }, + unbindEvents: function unbindEvents() { + this.bodyWrapper.removeEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + Object(resize_event_["removeResizeListener"])(this.$el, this.resizeListener); + } + }, + resizeListener: function resizeListener() { + if (!this.$ready) return; + var shouldUpdateLayout = false; + var el = this.$el; + var _resizeState = this.resizeState, + oldWidth = _resizeState.width, + oldHeight = _resizeState.height; + + + var width = el.offsetWidth; + if (oldWidth !== width) { + shouldUpdateLayout = true; + } + + var height = el.offsetHeight; + if ((this.height || this.shouldUpdateHeight) && oldHeight !== height) { + shouldUpdateLayout = true; + } + + if (shouldUpdateLayout) { + this.resizeState.width = width; + this.resizeState.height = height; + this.doLayout(); + } + }, + doLayout: function doLayout() { + if (this.shouldUpdateHeight) { + this.layout.updateElsHeight(); + } + this.layout.updateColumnsWidth(); + }, + sort: function sort(prop, order) { + this.store.commit('sort', { prop: prop, order: order }); + }, + toggleAllSelection: function toggleAllSelection() { + this.store.commit('toggleAllSelection'); + } + }, + + computed: tablevue_type_script_lang_js_extends({ + tableSize: function tableSize() { + return this.size || (this.$ELEMENT || {}).size; + }, + bodyWrapper: function bodyWrapper() { + return this.$refs.bodyWrapper; + }, + shouldUpdateHeight: function shouldUpdateHeight() { + return this.height || this.maxHeight || this.fixedColumns.length > 0 || this.rightFixedColumns.length > 0; + }, + bodyWidth: function bodyWidth() { + var _layout = this.layout, + bodyWidth = _layout.bodyWidth, + scrollY = _layout.scrollY, + gutterWidth = _layout.gutterWidth; + + return bodyWidth ? bodyWidth - (scrollY ? gutterWidth : 0) + 'px' : ''; + }, + bodyHeight: function bodyHeight() { + var _layout2 = this.layout, + _layout2$headerHeight = _layout2.headerHeight, + headerHeight = _layout2$headerHeight === undefined ? 0 : _layout2$headerHeight, + bodyHeight = _layout2.bodyHeight, + _layout2$footerHeight = _layout2.footerHeight, + footerHeight = _layout2$footerHeight === undefined ? 0 : _layout2$footerHeight; + + if (this.height) { + return { + height: bodyHeight ? bodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + var maxHeight = parseHeight(this.maxHeight); + if (typeof maxHeight === 'number') { + return { + 'max-height': maxHeight - footerHeight - (this.showHeader ? headerHeight : 0) + 'px' + }; + } + } + return {}; + }, + fixedBodyHeight: function fixedBodyHeight() { + if (this.height) { + return { + height: this.layout.fixedBodyHeight ? this.layout.fixedBodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + var maxHeight = parseHeight(this.maxHeight); + if (typeof maxHeight === 'number') { + maxHeight = this.layout.scrollX ? maxHeight - this.layout.gutterWidth : maxHeight; + if (this.showHeader) { + maxHeight -= this.layout.headerHeight; + } + maxHeight -= this.layout.footerHeight; + return { + 'max-height': maxHeight + 'px' + }; + } + } + return {}; + }, + fixedHeight: function fixedHeight() { + if (this.maxHeight) { + if (this.showSummary) { + return { + bottom: 0 + }; + } + return { + bottom: this.layout.scrollX && this.data.length ? this.layout.gutterWidth + 'px' : '' + }; + } else { + if (this.showSummary) { + return { + height: this.layout.tableHeight ? this.layout.tableHeight + 'px' : '' + }; + } + return { + height: this.layout.viewportHeight ? this.layout.viewportHeight + 'px' : '' + }; + } + }, + emptyBlockStyle: function emptyBlockStyle() { + if (this.data && this.data.length) return null; + var height = '100%'; + if (this.layout.appendHeight) { + height = 'calc(100% - ' + this.layout.appendHeight + 'px)'; + } + return { + width: this.bodyWidth, + height: height + }; + } + }, mapStates({ + selection: 'selection', + columns: 'columns', + tableData: 'data', + fixedColumns: 'fixedColumns', + rightFixedColumns: 'rightFixedColumns' + })), + + watch: { + height: { + immediate: true, + handler: function handler(value) { + this.layout.setHeight(value); + } + }, + + maxHeight: { + immediate: true, + handler: function handler(value) { + this.layout.setMaxHeight(value); + } + }, + + currentRowKey: { + immediate: true, + handler: function handler(value) { + if (!this.rowKey) return; + this.store.setCurrentRowKey(value); + } + }, + + data: { + immediate: true, + handler: function handler(value) { + this.store.commit('setData', value); + } + }, + + expandRowKeys: { + immediate: true, + handler: function handler(newVal) { + if (newVal) { + this.store.setExpandRowKeysAdapter(newVal); + } + } + } + }, + + created: function created() { + var _this = this; + + this.tableId = 'el-table_' + tableIdSeed++; + this.debouncedUpdateLayout = Object(external_throttle_debounce_["debounce"])(50, function () { + return _this.doLayout(); + }); + }, + mounted: function mounted() { + var _this2 = this; + + this.bindEvents(); + this.store.updateColumns(); + this.doLayout(); + + this.resizeState = { + width: this.$el.offsetWidth, + height: this.$el.offsetHeight + }; + + // init filters + this.store.states.columns.forEach(function (column) { + if (column.filteredValue && column.filteredValue.length) { + _this2.store.commit('filterChange', { + column: column, + values: column.filteredValue, + silent: true + }); + } + }); + + this.$ready = true; + }, + destroyed: function destroyed() { + this.unbindEvents(); + }, + data: function data() { + var _treeProps = this.treeProps, + _treeProps$hasChildre = _treeProps.hasChildren, + hasChildren = _treeProps$hasChildre === undefined ? 'hasChildren' : _treeProps$hasChildre, + _treeProps$children = _treeProps.children, + children = _treeProps$children === undefined ? 'children' : _treeProps$children; + + this.store = createStore(this, { + rowKey: this.rowKey, + defaultExpandAll: this.defaultExpandAll, + selectOnIndeterminate: this.selectOnIndeterminate, + // TreeTable �����蔭 + indent: this.indent, + lazy: this.lazy, + lazyColumnIdentifier: hasChildren, + childrenColumnName: children + }); + var layout = new table_layout({ + store: this.store, + table: this, + fit: this.fit, + showHeader: this.showHeader + }); + return { + layout: layout, + isHidden: false, + renderExpanded: null, + resizeProxyVisible: false, + resizeState: { + width: null, + height: null + }, + // ������漣銵典仍 + isGroup: false, + scrollPosition: 'left' + }; + } +}); +// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tablevue_type_script_lang_js_ = (tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/table/src/table.vue + + + + + +/* normalize component */ + +var table_component = normalizeComponent( + src_tablevue_type_script_lang_js_, + tablevue_type_template_id_493fe34e_render, + tablevue_type_template_id_493fe34e_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var table_api; } +table_component.options.__file = "packages/table/src/table.vue" +/* harmony default export */ var src_table = (table_component.exports); +// CONCATENATED MODULE: ./packages/table/index.js + + +/* istanbul ignore next */ +src_table.install = function (Vue) { + Vue.component(src_table.name, src_table); +}; + +/* harmony default export */ var packages_table = (src_table); +// CONCATENATED MODULE: ./packages/table/src/config.js + + +var cellStarts = { + default: { + order: '' + }, + selection: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '', + className: 'el-table-column--selection' + }, + expand: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + }, + index: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + } +}; + +// 餈��★銝�砲鋡怨��� +var cellForced = { + selection: { + renderHeader: function renderHeader(h, _ref) { + var store = _ref.store; + + return h('el-checkbox', { + attrs: { + disabled: store.states.data && store.states.data.length === 0, + indeterminate: store.states.selection.length > 0 && !this.isAllSelected, + + value: this.isAllSelected }, + on: { + 'input': this.toggleAllSelection + } + }); + }, + renderCell: function renderCell(h, _ref2) { + var row = _ref2.row, + column = _ref2.column, + isSelected = _ref2.isSelected, + store = _ref2.store, + $index = _ref2.$index; + + return h('el-checkbox', { + nativeOn: { + 'click': function click(event) { + return event.stopPropagation(); + } + }, + attrs: { + value: isSelected, + disabled: column.selectable ? !column.selectable.call(null, row, $index) : false + }, + on: { + 'input': function input() { + store.commit('rowSelectedChanged', row); + } + } + }); + }, + sortable: false, + resizable: false + }, + index: { + renderHeader: function renderHeader(h, _ref3) { + var column = _ref3.column; + + return column.label || '#'; + }, + renderCell: function renderCell(h, _ref4) { + var $index = _ref4.$index, + column = _ref4.column; + + var i = $index + 1; + var index = column.index; + + if (typeof index === 'number') { + i = $index + index; + } else if (typeof index === 'function') { + i = index($index); + } + + return h('div', [i]); + }, + sortable: false + }, + expand: { + renderHeader: function renderHeader(h, _ref5) { + var column = _ref5.column; + + return column.label || ''; + }, + renderCell: function renderCell(h, _ref6) { + var row = _ref6.row, + store = _ref6.store, + isExpanded = _ref6.isExpanded; + + var classes = ['el-table__expand-icon']; + if (isExpanded) { + classes.push('el-table__expand-icon--expanded'); + } + var callback = function callback(e) { + e.stopPropagation(); + store.toggleRowExpansion(row); + }; + return h( + 'div', + { 'class': classes, + on: { + 'click': callback + } + }, + [h('i', { 'class': 'el-icon el-icon-arrow-right' })] + ); + }, + sortable: false, + resizable: false, + className: 'el-table__expand-column' + } +}; + +function defaultRenderCell(h, _ref7) { + var row = _ref7.row, + column = _ref7.column, + $index = _ref7.$index; + + var property = column.property; + var value = property && Object(util_["getPropByPath"])(row, property).v; + if (column && column.formatter) { + return column.formatter(row, column, value, $index); + } + return value; +} + +function treeCellPrefix(h, _ref8) { + var row = _ref8.row, + treeNode = _ref8.treeNode, + store = _ref8.store; + + if (!treeNode) return null; + var ele = []; + var callback = function callback(e) { + e.stopPropagation(); + store.loadOrToggle(row); + }; + if (treeNode.indent) { + ele.push(h('span', { 'class': 'el-table__indent', style: { 'padding-left': treeNode.indent + 'px' } })); + } + if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) { + var expandClasses = ['el-table__expand-icon', treeNode.expanded ? 'el-table__expand-icon--expanded' : '']; + var iconClasses = ['el-icon-arrow-right']; + if (treeNode.loading) { + iconClasses = ['el-icon-loading']; + } + ele.push(h( + 'div', + { 'class': expandClasses, + on: { + 'click': callback + } + }, + [h('i', { 'class': iconClasses })] + )); + } else { + ele.push(h('span', { 'class': 'el-table__placeholder' })); + } + return ele; +} +// CONCATENATED MODULE: ./packages/table/src/table-column.js +var table_column_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + +var columnIdSeed = 1; + +/* harmony default export */ var table_column = ({ + name: 'ElTableColumn', + + props: { + type: { + type: String, + default: 'default' + }, + label: String, + className: String, + labelClassName: String, + property: String, + prop: String, + width: {}, + minWidth: {}, + renderHeader: Function, + sortable: { + type: [Boolean, String], + default: false + }, + sortMethod: Function, + sortBy: [String, Function, Array], + resizable: { + type: Boolean, + default: true + }, + columnKey: String, + align: String, + headerAlign: String, + showTooltipWhenOverflow: Boolean, + showOverflowTooltip: Boolean, + fixed: [Boolean, String], + formatter: Function, + selectable: Function, + reserveSelection: Boolean, + filterMethod: Function, + filteredValue: Array, + filters: Array, + filterPlacement: String, + filterMultiple: { + type: Boolean, + default: true + }, + index: [Number, Function], + sortOrders: { + type: Array, + default: function _default() { + return ['ascending', 'descending', null]; + }, + validator: function validator(val) { + return val.every(function (order) { + return ['ascending', 'descending', null].indexOf(order) > -1; + }); + } + } + }, + + data: function data() { + return { + isSubColumn: false, + columns: [] + }; + }, + + + computed: { + owner: function owner() { + var parent = this.$parent; + while (parent && !parent.tableId) { + parent = parent.$parent; + } + return parent; + }, + columnOrTableParent: function columnOrTableParent() { + var parent = this.$parent; + while (parent && !parent.tableId && !parent.columnId) { + parent = parent.$parent; + } + return parent; + }, + realWidth: function realWidth() { + return parseWidth(this.width); + }, + realMinWidth: function realMinWidth() { + return parseMinWidth(this.minWidth); + }, + realAlign: function realAlign() { + return this.align ? 'is-' + this.align : null; + }, + realHeaderAlign: function realHeaderAlign() { + return this.headerAlign ? 'is-' + this.headerAlign : this.realAlign; + } + }, + + methods: { + getPropsData: function getPropsData() { + var _this = this; + + for (var _len = arguments.length, props = Array(_len), _key = 0; _key < _len; _key++) { + props[_key] = arguments[_key]; + } + + return props.reduce(function (prev, cur) { + if (Array.isArray(cur)) { + cur.forEach(function (key) { + prev[key] = _this[key]; + }); + } + return prev; + }, {}); + }, + getColumnElIndex: function getColumnElIndex(children, child) { + return [].indexOf.call(children, child); + }, + setColumnWidth: function setColumnWidth(column) { + if (this.realWidth) { + column.width = this.realWidth; + } + if (this.realMinWidth) { + column.minWidth = this.realMinWidth; + } + if (!column.minWidth) { + column.minWidth = 80; + } + column.realWidth = column.width === undefined ? column.minWidth : column.width; + return column; + }, + setColumnForcedProps: function setColumnForcedProps(column) { + // 撖嫣�摰掩���� column嚗����找��捂霈曄蔭 + var type = column.type; + var source = cellForced[type] || {}; + Object.keys(source).forEach(function (prop) { + var value = source[prop]; + if (value !== undefined) { + column[prop] = prop === 'className' ? column[prop] + ' ' + value : value; + } + }); + return column; + }, + setColumnRenders: function setColumnRenders(column) { + var _this2 = this; + + var h = this.$createElement; + + // renderHeader 撅�找���蝙��� + if (this.renderHeader) { + console.warn('[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'); + } else if (column.type !== 'selection') { + column.renderHeader = function (h, scope) { + var renderHeader = _this2.$scopedSlots.header; + return renderHeader ? renderHeader(scope) : column.label; + }; + } + + var originRenderCell = column.renderCell; + // TODO: 餈���靚 + if (column.type === 'expand') { + // 撖嫣���銵�enderCell 銝�捂��蔭���銝�甇乩葉撌脩�挽蝵株�����閬������銝�� + column.renderCell = function (h, data) { + return h( + 'div', + { 'class': 'cell' }, + [originRenderCell(h, data)] + ); + }; + this.owner.renderExpanded = function (h, data) { + return _this2.$scopedSlots.default ? _this2.$scopedSlots.default(data) : _this2.$slots.default; + }; + } else { + originRenderCell = originRenderCell || defaultRenderCell; + // 撖� renderCell 餈���� + column.renderCell = function (h, data) { + var children = null; + if (_this2.$scopedSlots.default) { + children = _this2.$scopedSlots.default(data); + } else { + children = originRenderCell(h, data); + } + var prefix = treeCellPrefix(h, data); + var props = { + class: 'cell', + style: {} + }; + if (column.showOverflowTooltip) { + props.class += ' el-tooltip'; + props.style = { width: (data.column.realWidth || data.column.width) - 1 + 'px' }; + } + return h( + 'div', + props, + [prefix, children] + ); + }; + } + return column; + }, + registerNormalWatchers: function registerNormalWatchers() { + var _this3 = this; + + var props = ['label', 'property', 'filters', 'filterMultiple', 'sortable', 'index', 'formatter', 'className', 'labelClassName', 'showOverflowTooltip']; + // 銝�鈭��批����� + var aliases = { + prop: 'property', + realAlign: 'align', + realHeaderAlign: 'headerAlign', + realWidth: 'width' + }; + var allAliases = props.reduce(function (prev, cur) { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(function (key) { + var columnKey = aliases[key]; + + _this3.$watch(key, function (newVal) { + _this3.columnConfig[columnKey] = newVal; + }); + }); + }, + registerComplexWatchers: function registerComplexWatchers() { + var _this4 = this; + + var props = ['fixed']; + var aliases = { + realWidth: 'width', + realMinWidth: 'minWidth' + }; + var allAliases = props.reduce(function (prev, cur) { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(function (key) { + var columnKey = aliases[key]; + + _this4.$watch(key, function (newVal) { + _this4.columnConfig[columnKey] = newVal; + var updateColumns = columnKey === 'fixed'; + _this4.owner.store.scheduleLayout(updateColumns); + }); + }); + } + }, + + components: { + ElCheckbox: checkbox_default.a + }, + + beforeCreate: function beforeCreate() { + this.row = {}; + this.column = {}; + this.$index = 0; + this.columnId = ''; + }, + created: function created() { + var parent = this.columnOrTableParent; + this.isSubColumn = this.owner !== parent; + this.columnId = (parent.tableId || parent.columnId) + '_column_' + columnIdSeed++; + + var type = this.type || 'default'; + var sortable = this.sortable === '' ? true : this.sortable; + var defaults = table_column_extends({}, cellStarts[type], { + id: this.columnId, + type: type, + property: this.prop || this.property, + align: this.realAlign, + headerAlign: this.realHeaderAlign, + showOverflowTooltip: this.showOverflowTooltip || this.showTooltipWhenOverflow, + // filter ��撅�� + filterable: this.filters || this.filterMethod, + filteredValue: [], + filterPlacement: '', + isColumnGroup: false, + filterOpened: false, + // sort ��撅�� + sortable: sortable, + // index ��� + index: this.index + }); + + var basicProps = ['columnKey', 'label', 'className', 'labelClassName', 'type', 'renderHeader', 'formatter', 'fixed', 'resizable']; + var sortProps = ['sortMethod', 'sortBy', 'sortOrders']; + var selectProps = ['selectable', 'reserveSelection']; + var filterProps = ['filterMethod', 'filters', 'filterMultiple', 'filterOpened', 'filteredValue', 'filterPlacement']; + + var column = this.getPropsData(basicProps, sortProps, selectProps, filterProps); + column = mergeOptions(defaults, column); + + // 瘜冽�� compose 銝剖��銵�◇摨隞�撌� + var chains = compose(this.setColumnRenders, this.setColumnWidth, this.setColumnForcedProps); + column = chains(column); + + this.columnConfig = column; + + // 瘜典�� watcher + this.registerNormalWatchers(); + this.registerComplexWatchers(); + }, + mounted: function mounted() { + var owner = this.owner; + var parent = this.columnOrTableParent; + var children = this.isSubColumn ? parent.$el.children : parent.$refs.hiddenColumns.children; + var columnIndex = this.getColumnElIndex(children, this.$el); + + owner.store.commit('insertColumn', this.columnConfig, columnIndex, this.isSubColumn ? parent.columnConfig : null); + }, + destroyed: function destroyed() { + if (!this.$parent) return; + var parent = this.$parent; + this.owner.store.commit('removeColumn', this.columnConfig, this.isSubColumn ? parent.columnConfig : null); + }, + render: function render(h) { + // slots 銋�葡����閬恣蝞�僎銵典仍 + return h('div', this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/table-column/index.js + + +/* istanbul ignore next */ +table_column.install = function (Vue) { + Vue.component(table_column.name, table_column); +}; + +/* harmony default export */ var packages_table_column = (table_column); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& +var pickervue_type_template_id_79ae069f_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.ranged + ? _c( + "el-input", + _vm._b( + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor", + class: "el-date-editor--" + _vm.type, + attrs: { + readonly: + !_vm.editable || + _vm.readonly || + _vm.type === "dates" || + _vm.type === "week" || + _vm.type === "years" || + _vm.type === "months", + disabled: _vm.pickerDisabled, + size: _vm.pickerSize, + name: _vm.name, + placeholder: _vm.placeholder, + value: _vm.displayValue, + validateEvent: false + }, + on: { + focus: _vm.handleFocus, + input: function(value) { + return (_vm.userInput = value) + }, + change: _vm.handleChange + }, + nativeOn: { + keydown: function($event) { + return _vm.handleKeydown($event) + }, + mouseenter: function($event) { + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + _vm.showClose = false + } + } + }, + "el-input", + _vm.firstInputId, + false + ), + [ + _c("i", { + staticClass: "el-input__icon", + class: _vm.triggerClass, + attrs: { slot: "prefix" }, + on: { click: _vm.handleFocus }, + slot: "prefix" + }), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + attrs: { slot: "suffix" }, + on: { click: _vm.handleClickIcon }, + slot: "suffix" + }) + : _vm._e() + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor el-range-editor el-input__inner", + class: [ + "el-date-editor--" + _vm.type, + _vm.pickerSize ? "el-range-editor--" + _vm.pickerSize : "", + _vm.pickerDisabled ? "is-disabled" : "", + _vm.pickerVisible ? "is-active" : "" + ], + on: { + click: _vm.handleRangeClick, + mouseenter: _vm.handleMouseEnter, + mouseleave: function($event) { + _vm.showClose = false + }, + keydown: _vm.handleKeydown + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-range__icon", _vm.triggerClass] + }), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.startPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[0] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[0] }, + on: { + input: _vm.handleStartInput, + change: _vm.handleStartChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.firstInputId, + false + ) + ), + _vm._t("range-separator", [ + _c("span", { staticClass: "el-range-separator" }, [ + _vm._v(_vm._s(_vm.rangeSeparator)) + ]) + ]), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.endPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[1] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[1] }, + on: { + input: _vm.handleEndInput, + change: _vm.handleEndChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.secondInputId, + false + ) + ), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon el-range__close-icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + on: { click: _vm.handleClickIcon } + }) + : _vm._e() + ], + 2 + ) +} +var pickervue_type_template_id_79ae069f_staticRenderFns = [] +pickervue_type_template_id_79ae069f_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(0); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var NewPopper = { + props: { + appendToBody: vue_popper_default.a.props.appendToBody, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + arrowOffset: vue_popper_default.a.props.arrowOffset, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: function data() { + return merge_default()({ visibleArrow: true }, vue_popper_default.a.data); + }, + + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var DEFAULT_FORMATS = { + date: 'yyyy-MM-dd', + month: 'yyyy-MM', + months: 'yyyy-MM', + datetime: 'yyyy-MM-dd HH:mm:ss', + time: 'HH:mm:ss', + week: 'yyyywWW', + timerange: 'HH:mm:ss', + daterange: 'yyyy-MM-dd', + monthrange: 'yyyy-MM', + datetimerange: 'yyyy-MM-dd HH:mm:ss', + year: 'yyyy', + years: 'yyyy' +}; +var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'months', 'years']; +var pickervue_type_script_lang_js_DATE_FORMATTER = function DATE_FORMATTER(value, format) { + if (format === 'timestamp') return value.getTime(); + return Object(date_util_["formatDate"])(value, format); +}; +var pickervue_type_script_lang_js_DATE_PARSER = function DATE_PARSER(text, format) { + if (format === 'timestamp') return new Date(Number(text)); + return Object(date_util_["parseDate"])(text, format); +}; +var RANGE_FORMATTER = function RANGE_FORMATTER(value, format) { + if (Array.isArray(value) && value.length === 2) { + var start = value[0]; + var end = value[1]; + + if (start && end) { + return [pickervue_type_script_lang_js_DATE_FORMATTER(start, format), pickervue_type_script_lang_js_DATE_FORMATTER(end, format)]; + } + } + return ''; +}; +var RANGE_PARSER = function RANGE_PARSER(array, format, separator) { + if (!Array.isArray(array)) { + array = array.split(separator); + } + if (array.length === 2) { + var range1 = array[0]; + var range2 = array[1]; + + return [pickervue_type_script_lang_js_DATE_PARSER(range1, format), pickervue_type_script_lang_js_DATE_PARSER(range2, format)]; + } + return []; +}; +var TYPE_VALUE_RESOLVER_MAP = { + default: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + if (text === undefined || text === '') return null; + return text; + } + }, + week: { + formatter: function formatter(value, format) { + var week = Object(date_util_["getWeekNumber"])(value); + var month = value.getMonth(); + var trueDate = new Date(value); + if (week === 1 && month === 11) { + trueDate.setHours(0, 0, 0, 0); + trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7); + } + var date = Object(date_util_["formatDate"])(trueDate, format); + + date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? '0' + week : week) : date.replace(/W/, week); + return date; + }, + parser: function parser(text, format) { + // parse as if a normal date + return TYPE_VALUE_RESOLVER_MAP.date.parser(text, format); + } + }, + date: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + datetime: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + daterange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + monthrange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + datetimerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + timerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + time: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + month: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + year: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + number: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + var result = Number(text); + + if (!isNaN(text)) { + return result; + } else { + return null; + } + } + }, + dates: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + months: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + years: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + } +}; +var PLACEMENT_MAP = { + left: 'bottom-start', + center: 'bottom', + right: 'bottom-end' +}; + +var parseAsFormatAndType = function parseAsFormatAndType(value, customFormat, type) { + var rangeSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-'; + + if (!value) return null; + var parser = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).parser; + var format = customFormat || DEFAULT_FORMATS[type]; + return parser(value, format, rangeSeparator); +}; + +var formatAsFormatAndType = function formatAsFormatAndType(value, customFormat, type) { + if (!value) return null; + var formatter = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).formatter; + var format = customFormat || DEFAULT_FORMATS[type]; + return formatter(value, format); +}; + +/* + * Considers: + * 1. Date object + * 2. date string + * 3. array of 1 or 2 + */ +var valueEquals = function valueEquals(a, b) { + // considers Date object and string + var dateEquals = function dateEquals(a, b) { + var aIsDate = a instanceof Date; + var bIsDate = b instanceof Date; + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; + }; + + var aIsArray = a instanceof Array; + var bIsArray = b instanceof Array; + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every(function (item, index) { + return dateEquals(item, b[index]); + }); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; + +var isString = function isString(val) { + return typeof val === 'string' || val instanceof String; +}; + +var pickervue_type_script_lang_js_validator = function validator(val) { + // either: String, Array of String, null / undefined + return val === null || val === undefined || isString(val) || Array.isArray(val) && val.length === 2 && val.every(isString); +}; + +/* harmony default export */ var pickervue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, NewPopper], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + size: String, + format: String, + valueFormat: String, + readonly: Boolean, + placeholder: String, + startPlaceholder: String, + endPlaceholder: String, + prefixIcon: String, + clearIcon: { + type: String, + default: 'el-icon-circle-close' + }, + name: { + default: '', + validator: pickervue_type_script_lang_js_validator + }, + disabled: Boolean, + clearable: { + type: Boolean, + default: true + }, + id: { + default: '', + validator: pickervue_type_script_lang_js_validator + }, + popperClass: String, + editable: { + type: Boolean, + default: true + }, + align: { + type: String, + default: 'left' + }, + value: {}, + defaultValue: {}, + defaultTime: {}, + rangeSeparator: { + default: '-' + }, + pickerOptions: {}, + unlinkPanels: Boolean, + validateEvent: { + type: Boolean, + default: true + } + }, + + components: { ElInput: input_default.a }, + + directives: { Clickoutside: clickoutside_default.a }, + + data: function data() { + return { + pickerVisible: false, + showClose: false, + userInput: null, + valueOnOpen: null, // value when picker opens, used to determine whether to emit change + unwatchPickerOptions: null + }; + }, + + + watch: { + pickerVisible: function pickerVisible(val) { + if (this.readonly || this.pickerDisabled) return; + if (val) { + this.showPicker(); + this.valueOnOpen = Array.isArray(this.value) ? [].concat(this.value) : this.value; + } else { + this.hidePicker(); + this.emitChange(this.value); + this.userInput = null; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur'); + } + this.$emit('blur', this); + this.blur(); + } + }, + + parsedValue: { + immediate: true, + handler: function handler(val) { + if (this.picker) { + this.picker.value = val; + } + } + }, + defaultValue: function defaultValue(val) { + // NOTE: should eventually move to jsx style picker + panel ? + if (this.picker) { + this.picker.defaultValue = val; + } + }, + value: function value(val, oldVal) { + if (!valueEquals(val, oldVal) && !this.pickerVisible && this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + computed: { + ranged: function ranged() { + return this.type.indexOf('range') > -1; + }, + reference: function reference() { + var reference = this.$refs.reference; + return reference.$el || reference; + }, + refInput: function refInput() { + if (this.reference) { + return [].slice.call(this.reference.querySelectorAll('input')); + } + return []; + }, + valueIsEmpty: function valueIsEmpty() { + var val = this.value; + if (Array.isArray(val)) { + for (var i = 0, len = val.length; i < len; i++) { + if (val[i]) { + return false; + } + } + } else { + if (val) { + return false; + } + } + return true; + }, + triggerClass: function triggerClass() { + return this.prefixIcon || (this.type.indexOf('time') !== -1 ? 'el-icon-time' : 'el-icon-date'); + }, + selectionMode: function selectionMode() { + if (this.type === 'week') { + return 'week'; + } else if (this.type === 'month') { + return 'month'; + } else if (this.type === 'year') { + return 'year'; + } else if (this.type === 'dates') { + return 'dates'; + } else if (this.type === 'months') { + return 'months'; + } else if (this.type === 'years') { + return 'years'; + } + + return 'day'; + }, + haveTrigger: function haveTrigger() { + if (typeof this.showTrigger !== 'undefined') { + return this.showTrigger; + } + return HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1; + }, + displayValue: function displayValue() { + var formattedValue = formatAsFormatAndType(this.parsedValue, this.format, this.type, this.rangeSeparator); + if (Array.isArray(this.userInput)) { + return [this.userInput[0] || formattedValue && formattedValue[0] || '', this.userInput[1] || formattedValue && formattedValue[1] || '']; + } else if (this.userInput !== null) { + return this.userInput; + } else if (formattedValue) { + return this.type === 'dates' || this.type === 'years' || this.type === 'months' ? formattedValue.join(', ') : formattedValue; + } else { + return ''; + } + }, + parsedValue: function parsedValue() { + if (!this.value) return this.value; // component value is not set + if (this.type === 'time-select') return this.value; // time-select does not require parsing, this might change in next major version + + var valueIsDateObject = Object(date_util_["isDateObject"])(this.value) || Array.isArray(this.value) && this.value.every(date_util_["isDateObject"]); + if (valueIsDateObject) { + return this.value; + } + + if (this.valueFormat) { + return parseAsFormatAndType(this.value, this.valueFormat, this.type, this.rangeSeparator) || this.value; + } + + // NOTE: deal with common but incorrect usage, should remove in next major version + // user might provide string / timestamp without value-format, coerce them into date (or array of date) + return Array.isArray(this.value) ? this.value.map(function (val) { + return new Date(val); + }) : new Date(this.value); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + pickerSize: function pickerSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + pickerDisabled: function pickerDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + firstInputId: function firstInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[0]; + } else { + id = this.id; + } + if (id) obj.id = id; + return obj; + }, + secondInputId: function secondInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[1]; + } + if (id) obj.id = id; + return obj; + } + }, + + created: function created() { + // vue-popper + this.popperOptions = { + boundariesPadding: 0, + gpuAcceleration: false + }; + this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left; + + this.$on('fieldReset', this.handleFieldReset); + }, + + + methods: { + focus: function focus() { + if (!this.ranged) { + this.$refs.reference.focus(); + } else { + this.handleFocus(); + } + }, + blur: function blur() { + this.refInput.forEach(function (input) { + return input.blur(); + }); + }, + + + // {parse, formatTo} Value deals maps component value with internal Date + parseValue: function parseValue(value) { + var isParsed = Object(date_util_["isDateObject"])(value) || Array.isArray(value) && value.every(date_util_["isDateObject"]); + if (this.valueFormat && !isParsed) { + return parseAsFormatAndType(value, this.valueFormat, this.type, this.rangeSeparator) || value; + } else { + return value; + } + }, + formatToValue: function formatToValue(date) { + var isFormattable = Object(date_util_["isDateObject"])(date) || Array.isArray(date) && date.every(date_util_["isDateObject"]); + if (this.valueFormat && isFormattable) { + return formatAsFormatAndType(date, this.valueFormat, this.type, this.rangeSeparator); + } else { + return date; + } + }, + + + // {parse, formatTo} String deals with user input + parseString: function parseString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return parseAsFormatAndType(value, this.format, type); + }, + formatToString: function formatToString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return formatAsFormatAndType(value, this.format, type); + }, + handleMouseEnter: function handleMouseEnter() { + if (this.readonly || this.pickerDisabled) return; + if (!this.valueIsEmpty && this.clearable) { + this.showClose = true; + } + }, + handleChange: function handleChange() { + if (this.userInput) { + var value = this.parseString(this.displayValue); + if (value) { + this.picker.value = value; + if (this.isValidValue(value)) { + this.emitInput(value); + this.userInput = null; + } + } + } + if (this.userInput === '') { + this.emitInput(null); + this.emitChange(null); + this.userInput = null; + } + }, + handleStartInput: function handleStartInput(event) { + if (this.userInput) { + this.userInput = [event.target.value, this.userInput[1]]; + } else { + this.userInput = [event.target.value, null]; + } + }, + handleEndInput: function handleEndInput(event) { + if (this.userInput) { + this.userInput = [this.userInput[0], event.target.value]; + } else { + this.userInput = [null, event.target.value]; + } + }, + handleStartChange: function handleStartChange(event) { + var value = this.parseString(this.userInput && this.userInput[0]); + if (value) { + this.userInput = [this.formatToString(value), this.displayValue[1]]; + var newValue = [value, this.picker.value && this.picker.value[1]]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleEndChange: function handleEndChange(event) { + var value = this.parseString(this.userInput && this.userInput[1]); + if (value) { + this.userInput = [this.displayValue[0], this.formatToString(value)]; + var newValue = [this.picker.value && this.picker.value[0], value]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleClickIcon: function handleClickIcon(event) { + if (this.readonly || this.pickerDisabled) return; + if (this.showClose) { + this.valueOnOpen = this.value; + event.stopPropagation(); + this.emitInput(null); + this.emitChange(null); + this.showClose = false; + if (this.picker && typeof this.picker.handleClear === 'function') { + this.picker.handleClear(); + } + } else { + this.pickerVisible = !this.pickerVisible; + } + }, + handleClose: function handleClose() { + if (!this.pickerVisible) return; + this.pickerVisible = false; + + if (this.type === 'dates' || this.type === 'years' || this.type === 'months') { + // restore to former value + var oldValue = parseAsFormatAndType(this.valueOnOpen, this.valueFormat, this.type, this.rangeSeparator) || this.valueOnOpen; + this.emitInput(oldValue); + } + }, + handleFieldReset: function handleFieldReset(initialValue) { + this.userInput = initialValue === '' ? null : initialValue; + }, + handleFocus: function handleFocus() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + handleKeydown: function handleKeydown(event) { + var _this = this; + + var keyCode = event.keyCode; + + // ESC + if (keyCode === 27) { + this.pickerVisible = false; + event.stopPropagation(); + return; + } + + // Tab + if (keyCode === 9) { + if (!this.ranged) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + event.stopPropagation(); + } else { + // user may change focus between two input + setTimeout(function () { + if (_this.refInput.indexOf(document.activeElement) === -1) { + _this.pickerVisible = false; + _this.blur(); + event.stopPropagation(); + } + }, 0); + } + return; + } + + // Enter + if (keyCode === 13) { + if (this.userInput === '' || this.isValidValue(this.parseString(this.displayValue))) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + } + event.stopPropagation(); + return; + } + + // if user is typing, do not let picker handle key input + if (this.userInput) { + event.stopPropagation(); + return; + } + + // delegate other keys to panel + if (this.picker && this.picker.handleKeydown) { + this.picker.handleKeydown(event); + } + }, + handleRangeClick: function handleRangeClick() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + hidePicker: function hidePicker() { + if (this.picker) { + this.picker.resetView && this.picker.resetView(); + this.pickerVisible = this.picker.visible = false; + this.destroyPopper(); + } + }, + showPicker: function showPicker() { + var _this2 = this; + + if (this.$isServer) return; + if (!this.picker) { + this.mountPicker(); + } + this.pickerVisible = this.picker.visible = true; + + this.updatePopper(); + + this.picker.value = this.parsedValue; + this.picker.resetView && this.picker.resetView(); + + this.$nextTick(function () { + _this2.picker.adjustSpinners && _this2.picker.adjustSpinners(); + }); + }, + mountPicker: function mountPicker() { + var _this3 = this; + + this.picker = new external_vue_default.a(this.panel).$mount(); + this.picker.defaultValue = this.defaultValue; + this.picker.defaultTime = this.defaultTime; + this.picker.popperClass = this.popperClass; + this.popperElm = this.picker.$el; + this.picker.width = this.reference.getBoundingClientRect().width; + this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'; + this.picker.selectionMode = this.selectionMode; + this.picker.unlinkPanels = this.unlinkPanels; + this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false; + this.$watch('format', function (format) { + _this3.picker.format = format; + }); + + var updateOptions = function updateOptions() { + var options = _this3.pickerOptions; + + if (options && options.selectableRange) { + var ranges = options.selectableRange; + var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser; + var format = DEFAULT_FORMATS.timerange; + + ranges = Array.isArray(ranges) ? ranges : [ranges]; + _this3.picker.selectableRange = ranges.map(function (range) { + return parser(range, format, _this3.rangeSeparator); + }); + } + + for (var option in options) { + if (options.hasOwnProperty(option) && + // 敹賜 time-picker ��砲��蔭憿� + option !== 'selectableRange') { + _this3.picker[option] = options[option]; + } + } + + // main format must prevail over undocumented pickerOptions.format + if (_this3.format) { + _this3.picker.format = _this3.format; + } + }; + updateOptions(); + this.unwatchPickerOptions = this.$watch('pickerOptions', function () { + return updateOptions(); + }, { deep: true }); + this.$el.appendChild(this.picker.$el); + this.picker.resetView && this.picker.resetView(); + + this.picker.$on('dodestroy', this.doDestroy); + this.picker.$on('pick', function () { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + _this3.userInput = null; + _this3.pickerVisible = _this3.picker.visible = visible; + _this3.emitInput(date); + _this3.picker.resetView && _this3.picker.resetView(); + }); + + this.picker.$on('select-range', function (start, end, pos) { + if (_this3.refInput.length === 0) return; + if (!pos || pos === 'min') { + _this3.refInput[0].setSelectionRange(start, end); + _this3.refInput[0].focus(); + } else if (pos === 'max') { + _this3.refInput[1].setSelectionRange(start, end); + _this3.refInput[1].focus(); + } + }); + }, + unmountPicker: function unmountPicker() { + if (this.picker) { + this.picker.$destroy(); + this.picker.$off(); + if (typeof this.unwatchPickerOptions === 'function') { + this.unwatchPickerOptions(); + } + this.picker.$el.parentNode.removeChild(this.picker.$el); + } + }, + emitChange: function emitChange(val) { + // determine user real change only + if (!valueEquals(val, this.valueOnOpen)) { + this.$emit('change', val); + this.valueOnOpen = val; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + emitInput: function emitInput(val) { + var formatted = this.formatToValue(val); + if (!valueEquals(this.value, formatted)) { + this.$emit('input', formatted); + } + }, + isValidValue: function isValidValue(value) { + if (!this.picker) { + this.mountPicker(); + } + if (this.picker.isValidValue) { + return value && this.picker.isValidValue(value); + } else { + return true; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue + + + + + +/* normalize component */ + +var picker_component = normalizeComponent( + src_pickervue_type_script_lang_js_, + pickervue_type_template_id_79ae069f_render, + pickervue_type_template_id_79ae069f_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var picker_api; } +picker_component.options.__file = "packages/date-picker/src/picker.vue" +/* harmony default export */ var picker = (picker_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea& +var datevue_type_template_id_2440d4ea_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { "after-enter": _vm.handleEnter, "after-leave": _vm.handleLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts, + "has-time": _vm.showTime + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _vm.showTime + ? _c("div", { staticClass: "el-date-picker__time-header" }, [ + _c( + "span", + { staticClass: "el-date-picker__editor-wrap" }, + [ + _c("el-input", { + attrs: { + placeholder: _vm.t("el.datepicker.selectDate"), + value: _vm.visibleDate, + size: "small" + }, + on: { + input: function(val) { + return (_vm.userInputDate = val) + }, + change: _vm.handleVisibleDateChange + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleTimePickClose, + expression: "handleTimePickClose" + } + ], + staticClass: "el-date-picker__editor-wrap" + }, + [ + _c("el-input", { + ref: "input", + attrs: { + placeholder: _vm.t("el.datepicker.selectTime"), + value: _vm.visibleTime, + size: "small" + }, + on: { + focus: function($event) { + _vm.timePickerVisible = true + }, + input: function(val) { + return (_vm.userInputTime = val) + }, + change: _vm.handleVisibleTimeChange + } + }), + _c("time-picker", { + ref: "timepicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.timePickerVisible + }, + on: { + pick: _vm.handleTimePick, + mounted: _vm.proxyTimePickerDataProperties + } + }) + ], + 1 + ) + ]) + : _vm._e(), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView !== "time", + expression: "currentView !== 'time'" + } + ], + staticClass: "el-date-picker__header", + class: { + "el-date-picker__header--bordered": + _vm.currentView === "year" || + _vm.currentView === "month" + } + }, + [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.prevYear") + }, + on: { click: _vm.prevYear } + }), + _c("button", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: + "el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.prevMonth") + }, + on: { click: _vm.prevMonth } + }), + _c( + "span", + { + staticClass: "el-date-picker__header-label", + attrs: { role: "button" }, + on: { click: _vm.showYearPicker } + }, + [_vm._v(_vm._s(_vm.yearLabel))] + ), + _c( + "span", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: "el-date-picker__header-label", + class: { active: _vm.currentView === "month" }, + attrs: { role: "button" }, + on: { click: _vm.showMonthPicker } + }, + [ + _vm._v( + _vm._s(_vm.t("el.datepicker.month" + (_vm.month + 1))) + ) + ] + ), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.nextYear") + }, + on: { click: _vm.nextYear } + }), + _c("button", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + staticClass: + "el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right", + attrs: { + type: "button", + "aria-label": _vm.t("el.datepicker.nextMonth") + }, + on: { click: _vm.nextMonth } + }) + ] + ), + _c( + "div", + { staticClass: "el-picker-panel__content" }, + [ + _c("date-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "date", + expression: "currentView === 'date'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + "first-day-of-week": _vm.firstDayOfWeek, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "cell-class-name": _vm.cellClassName, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleDatePick } + }), + _c("year-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "year", + expression: "currentView === 'year'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleYearPick } + }), + _c("month-table", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.currentView === "month", + expression: "currentView === 'month'" + } + ], + attrs: { + "selection-mode": _vm.selectionMode, + value: _vm.value, + "default-value": _vm.defaultValue + ? new Date(_vm.defaultValue) + : null, + date: _vm.date, + "disabled-date": _vm.disabledDate + }, + on: { pick: _vm.handleMonthPick } + }) + ], + 1 + ) + ]) + ], + 2 + ), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + _vm.footerVisible && + (_vm.currentView === "date" || + _vm.currentView === "month" || + _vm.currentView === "year"), + expression: + "footerVisible && (currentView === 'date' || currentView === 'month' || currentView === 'year')" + } + ], + staticClass: "el-picker-panel__footer" + }, + [ + _c( + "el-button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + _vm.selectionMode !== "dates" && + _vm.selectionMode !== "months" && + _vm.selectionMode !== "years", + expression: + "selectionMode !== 'dates' && selectionMode !== 'months' && selectionMode !== 'years'" + } + ], + staticClass: "el-picker-panel__link-btn", + attrs: { size: "mini", type: "text" }, + on: { click: _vm.changeToNow } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.now")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { plain: "", size: "mini" }, + on: { click: _vm.confirm } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + ] + ) + ] + ) +} +var datevue_type_template_id_2440d4ea_staticRenderFns = [] +datevue_type_template_id_2440d4ea_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=template&id=2440d4ea& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& +var timevue_type_template_id_3d939089_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-time-panel el-popper", + class: _vm.popperClass + }, + [ + _c( + "div", + { + staticClass: "el-time-panel__content", + class: { "has-seconds": _vm.showSeconds } + }, + [ + _c("time-spinner", { + ref: "spinner", + attrs: { + "arrow-control": _vm.useArrow, + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + date: _vm.date + }, + on: { + change: _vm.handleChange, + "select-range": _vm.setSelectionRange + } + }) + ], + 1 + ), + _c("div", { staticClass: "el-time-panel__footer" }, [ + _c( + "button", + { + staticClass: "el-time-panel__btn cancel", + attrs: { type: "button" }, + on: { click: _vm.handleCancel } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))] + ), + _c( + "button", + { + staticClass: "el-time-panel__btn", + class: { confirm: !_vm.disabled }, + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleConfirm() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))] + ) + ]) + ] + ) + ] + ) +} +var timevue_type_template_id_3d939089_staticRenderFns = [] +timevue_type_template_id_3d939089_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& +var time_spinnervue_type_template_id_1facadeb_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-time-spinner", + class: { "has-seconds": _vm.showSeconds } + }, + [ + !_vm.arrowControl + ? [ + _c( + "el-scrollbar", + { + ref: "hours", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("hours") + } + } + }, + _vm._l(_vm.hoursList, function(disabled, hour) { + return _c( + "li", + { + key: hour, + staticClass: "el-time-spinner__item", + class: { active: hour === _vm.hours, disabled: disabled }, + on: { + click: function($event) { + _vm.handleClick("hours", { + value: hour, + disabled: disabled + }) + } + } + }, + [ + _vm._v( + _vm._s( + ("0" + (_vm.amPmMode ? hour % 12 || 12 : hour)).slice( + -2 + ) + ) + _vm._s(_vm.amPm(hour)) + ) + ] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + ref: "minutes", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("minutes") + } + } + }, + _vm._l(_vm.minutesList, function(enabled, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.minutes, disabled: !enabled }, + on: { + click: function($event) { + _vm.handleClick("minutes", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showSeconds, + expression: "showSeconds" + } + ], + ref: "seconds", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("seconds") + } + } + }, + _vm._l(60, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.seconds }, + on: { + click: function($event) { + _vm.handleClick("seconds", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ) + ] + : _vm._e(), + _vm.arrowControl + ? [ + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "hours", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowHourList, function(hour, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { + active: hour === _vm.hours, + disabled: _vm.hoursList[hour] + } + }, + [ + _vm._v( + _vm._s( + hour === undefined + ? "" + : ( + "0" + (_vm.amPmMode ? hour % 12 || 12 : hour) + ).slice(-2) + _vm.amPm(hour) + ) + ) + ] + ) + }), + 0 + ) + ] + ), + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "minutes", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowMinuteList, function(minute, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: minute === _vm.minutes } + }, + [ + _vm._v( + "\n " + + _vm._s( + minute === undefined + ? "" + : ("0" + minute).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ), + _vm.showSeconds + ? _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "seconds", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowSecondList, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: second === _vm.seconds } + }, + [ + _vm._v( + "\n " + + _vm._s( + second === undefined + ? "" + : ("0" + second).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) +} +var time_spinnervue_type_template_id_1facadeb_staticRenderFns = [] +time_spinnervue_type_template_id_1facadeb_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_spinnervue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + + directives: { + repeatClick: repeat_click + }, + + props: { + date: {}, + defaultValue: {}, // reserved for future use + showSeconds: { + type: Boolean, + default: true + }, + arrowControl: Boolean, + amPmMode: { + type: String, + default: '' // 'a': am/pm; 'A': AM/PM + } + }, + + computed: { + hours: function hours() { + return this.date.getHours(); + }, + minutes: function minutes() { + return this.date.getMinutes(); + }, + seconds: function seconds() { + return this.date.getSeconds(); + }, + hoursList: function hoursList() { + return Object(date_util_["getRangeHours"])(this.selectableRange); + }, + minutesList: function minutesList() { + return Object(date_util_["getRangeMinutes"])(this.selectableRange, this.hours); + }, + arrowHourList: function arrowHourList() { + var hours = this.hours; + return [hours > 0 ? hours - 1 : undefined, hours, hours < 23 ? hours + 1 : undefined]; + }, + arrowMinuteList: function arrowMinuteList() { + var minutes = this.minutes; + return [minutes > 0 ? minutes - 1 : undefined, minutes, minutes < 59 ? minutes + 1 : undefined]; + }, + arrowSecondList: function arrowSecondList() { + var seconds = this.seconds; + return [seconds > 0 ? seconds - 1 : undefined, seconds, seconds < 59 ? seconds + 1 : undefined]; + } + }, + + data: function data() { + return { + selectableRange: [], + currentScrollbar: null + }; + }, + mounted: function mounted() { + var _this = this; + + this.$nextTick(function () { + !_this.arrowControl && _this.bindScrollEvent(); + }); + }, + + + methods: { + increase: function increase() { + this.scrollDown(1); + }, + decrease: function decrease() { + this.scrollDown(-1); + }, + modifyDateField: function modifyDateField(type, value) { + switch (type) { + case 'hours': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, value, this.minutes, this.seconds));break; + case 'minutes': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, value, this.seconds));break; + case 'seconds': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, this.minutes, value));break; + } + }, + handleClick: function handleClick(type, _ref) { + var value = _ref.value, + disabled = _ref.disabled; + + if (!disabled) { + this.modifyDateField(type, value); + this.emitSelectRange(type); + this.adjustSpinner(type, value); + } + }, + emitSelectRange: function emitSelectRange(type) { + if (type === 'hours') { + this.$emit('select-range', 0, 2); + } else if (type === 'minutes') { + this.$emit('select-range', 3, 5); + } else if (type === 'seconds') { + this.$emit('select-range', 6, 8); + } + this.currentScrollbar = type; + }, + bindScrollEvent: function bindScrollEvent() { + var _this2 = this; + + var bindFunction = function bindFunction(type) { + _this2.$refs[type].wrap.onscroll = function (e) { + // TODO: scroll is emitted when set scrollTop programatically + // should find better solutions in the future! + _this2.handleScroll(type, e); + }; + }; + bindFunction('hours'); + bindFunction('minutes'); + bindFunction('seconds'); + }, + handleScroll: function handleScroll(type) { + var value = Math.min(Math.round((this.$refs[type].wrap.scrollTop - (this.scrollBarHeight(type) * 0.5 - 10) / this.typeItemHeight(type) + 3) / this.typeItemHeight(type)), type === 'hours' ? 23 : 59); + this.modifyDateField(type, value); + }, + + + // NOTE: used by datetime / date-range panel + // renamed from adjustScrollTop + // should try to refactory it + adjustSpinners: function adjustSpinners() { + this.adjustSpinner('hours', this.hours); + this.adjustSpinner('minutes', this.minutes); + this.adjustSpinner('seconds', this.seconds); + }, + adjustCurrentSpinner: function adjustCurrentSpinner(type) { + this.adjustSpinner(type, this[type]); + }, + adjustSpinner: function adjustSpinner(type, value) { + if (this.arrowControl) return; + var el = this.$refs[type].wrap; + if (el) { + el.scrollTop = Math.max(0, value * this.typeItemHeight(type)); + } + }, + scrollDown: function scrollDown(step) { + var _this3 = this; + + if (!this.currentScrollbar) { + this.emitSelectRange('hours'); + } + + var label = this.currentScrollbar; + var hoursList = this.hoursList; + var now = this[label]; + + if (this.currentScrollbar === 'hours') { + var total = Math.abs(step); + step = step > 0 ? 1 : -1; + var length = hoursList.length; + while (length-- && total) { + now = (now + step + hoursList.length) % hoursList.length; + if (hoursList[now]) { + continue; + } + total--; + } + if (hoursList[now]) return; + } else { + now = (now + step + 60) % 60; + } + + this.modifyDateField(label, now); + this.adjustSpinner(label, now); + this.$nextTick(function () { + return _this3.emitSelectRange(_this3.currentScrollbar); + }); + }, + amPm: function amPm(hour) { + var shouldShowAmPm = this.amPmMode.toLowerCase() === 'a'; + if (!shouldShowAmPm) return ''; + var isCapital = this.amPmMode === 'A'; + var content = hour < 12 ? ' am' : ' pm'; + if (isCapital) content = content.toUpperCase(); + return content; + }, + typeItemHeight: function typeItemHeight(type) { + return this.$refs[type].$el.querySelector('li').offsetHeight; + }, + scrollBarHeight: function scrollBarHeight(type) { + return this.$refs[type].$el.offsetHeight; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_time_spinnervue_type_script_lang_js_ = (time_spinnervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue + + + + + +/* normalize component */ + +var time_spinner_component = normalizeComponent( + basic_time_spinnervue_type_script_lang_js_, + time_spinnervue_type_template_id_1facadeb_render, + time_spinnervue_type_template_id_1facadeb_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var time_spinner_api; } +time_spinner_component.options.__file = "packages/date-picker/src/basic/time-spinner.vue" +/* harmony default export */ var time_spinner = (time_spinner_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var timevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + components: { + TimeSpinner: time_spinner + }, + + props: { + visible: Boolean, + timeArrowControl: Boolean + }, + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.oldValue = this.value; + this.$nextTick(function () { + return _this.$refs.spinner.emitSelectRange('hours'); + }); + } else { + this.needInitAdjust = true; + } + }, + value: function value(newVal) { + var _this2 = this; + + var date = void 0; + if (newVal instanceof Date) { + date = Object(date_util_["limitTimeRange"])(newVal, this.selectableRange, this.format); + } else if (!newVal) { + date = this.defaultValue ? new Date(this.defaultValue) : new Date(); + } + + this.date = date; + if (this.visible && this.needInitAdjust) { + this.$nextTick(function (_) { + return _this2.adjustSpinners(); + }); + this.needInitAdjust = false; + } + }, + selectableRange: function selectableRange(val) { + this.$refs.spinner.selectableRange = val; + }, + defaultValue: function defaultValue(val) { + if (!Object(date_util_["isDate"])(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + } + }, + + data: function data() { + return { + popperClass: '', + format: 'HH:mm:ss', + value: '', + defaultValue: null, + date: new Date(), + oldValue: new Date(), + selectableRange: [], + selectionRange: [0, 2], + disabled: false, + arrowControl: false, + needInitAdjust: true + }; + }, + + + computed: { + showSeconds: function showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + useArrow: function useArrow() { + return this.arrowControl || this.timeArrowControl || false; + }, + amPmMode: function amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + methods: { + handleCancel: function handleCancel() { + this.$emit('pick', this.oldValue, false); + }, + handleChange: function handleChange(date) { + // this.visible avoids edge cases, when use scrolls during panel closing animation + if (this.visible) { + this.date = Object(date_util_["clearMilliseconds"])(date); + // if date is out of range, do not emit + if (this.isValidValue(this.date)) { + this.$emit('pick', this.date, true); + } + } + }, + setSelectionRange: function setSelectionRange(start, end) { + this.$emit('select-range', start, end); + this.selectionRange = [start, end]; + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var first = arguments[1]; + + if (first) return; + var date = Object(date_util_["clearMilliseconds"])(Object(date_util_["limitTimeRange"])(this.date, this.selectableRange, this.format)); + this.$emit('pick', date, visible, first); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + var step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + var _step = mapping[keyCode]; + this.$refs.spinner.scrollDown(_step); + event.preventDefault(); + return; + } + }, + isValidValue: function isValidValue(date) { + return Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format); + }, + adjustSpinners: function adjustSpinners() { + return this.$refs.spinner.adjustSpinners(); + }, + changeSelectionRange: function changeSelectionRange(step) { + var list = [0, 3].concat(this.showSeconds ? [6] : []); + var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + var index = list.indexOf(this.selectionRange[0]); + var next = (index + step + list.length) % list.length; + this.$refs.spinner.emitSelectRange(mapping[next]); + } + }, + + mounted: function mounted() { + var _this3 = this; + + this.$nextTick(function () { + return _this3.handleConfirm(true, true); + }); + this.$emit('mounted'); + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue + + + + + +/* normalize component */ + +var time_component = normalizeComponent( + panel_timevue_type_script_lang_js_, + timevue_type_template_id_3d939089_render, + timevue_type_template_id_3d939089_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var time_api; } +time_component.options.__file = "packages/date-picker/src/panel/time.vue" +/* harmony default export */ var panel_time = (time_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0& +var year_tablevue_type_template_id_c86ab5e0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { staticClass: "el-year-table", on: { click: _vm.handleYearTableClick } }, + [ + _c("tbody", [ + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 0) + }, + [_c("a", { staticClass: "cell" }, [_vm._v(_vm._s(_vm.startYear))])] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 1) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 1)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 2) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 2)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 3) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 3)) + ]) + ] + ) + ]), + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 4) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 4)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 5) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 5)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 6) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 6)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 7) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 7)) + ]) + ] + ) + ]), + _c("tr", [ + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 8) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 8)) + ]) + ] + ), + _c( + "td", + { + staticClass: "available", + class: _vm.getCellStyle(_vm.startYear + 9) + }, + [ + _c("a", { staticClass: "cell" }, [ + _vm._v(_vm._s(_vm.startYear + 9)) + ]) + ] + ), + _c("td"), + _c("td") + ]) + ]) + ] + ) +} +var year_tablevue_type_template_id_c86ab5e0_staticRenderFns = [] +year_tablevue_type_template_id_c86ab5e0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=template&id=c86ab5e0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var year_tablevue_type_script_lang_js_datesInYear = function datesInYear(year) { + var numOfDays = Object(date_util_["getDayCountOfYear"])(year); + var firstDay = new Date(year, 0, 1); + return Object(date_util_["range"])(numOfDays).map(function (n) { + return Object(date_util_["nextDate"])(firstDay, n); + }); +}; + +/* harmony default export */ var year_tablevue_type_script_lang_js_ = ({ + props: { + disabledDate: {}, + value: {}, + defaultValue: { + validator: function validator(val) { + // null or valid Date Object + return val === null || val instanceof Date && Object(date_util_["isDate"])(val); + } + }, + date: {}, + selectionMode: {} + }, + + computed: { + startYear: function startYear() { + return Math.floor(this.date.getFullYear() / 10) * 10; + } + }, + + methods: { + getCellStyle: function getCellStyle(year) { + var style = {}; + var today = new Date(); + + style.disabled = typeof this.disabledDate === 'function' ? year_tablevue_type_script_lang_js_datesInYear(year).every(this.disabledDate) : false; + style.current = Object(util_["arrayFindIndex"])(Object(util_["coerceTruthyValueToArray"])(this.value), function (date) { + return date.getFullYear() === year; + }) >= 0; + style.today = today.getFullYear() === year; + style.default = this.defaultValue && this.defaultValue.getFullYear() === year; + + return style; + }, + handleYearTableClick: function handleYearTableClick(event) { + var target = event.target; + if (target.tagName === 'A') { + if (Object(dom_["hasClass"])(target.parentNode, 'disabled')) return; + var year = target.textContent || target.innerText; + if (this.selectionMode === 'years') { + var value = this.value || []; + var idx = Object(util_["arrayFindIndex"])(value, function (date) { + return date.getFullYear() === Number(year); + }); + var newValue = idx > -1 ? [].concat(value.slice(0, idx), value.slice(idx + 1)) : [].concat(value, [new Date(year)]); + this.$emit('pick', newValue); + } else { + this.$emit('pick', Number(year)); + } + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_year_tablevue_type_script_lang_js_ = (year_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/year-table.vue + + + + + +/* normalize component */ + +var year_table_component = normalizeComponent( + basic_year_tablevue_type_script_lang_js_, + year_tablevue_type_template_id_c86ab5e0_render, + year_tablevue_type_template_id_c86ab5e0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var year_table_api; } +year_table_component.options.__file = "packages/date-picker/src/basic/year-table.vue" +/* harmony default export */ var year_table = (year_table_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42& +var month_tablevue_type_template_id_654d4f42_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { + staticClass: "el-month-table", + on: { click: _vm.handleMonthTableClick, mousemove: _vm.handleMouseMove } + }, + [ + _c( + "tbody", + _vm._l(_vm.rows, function(row, key) { + return _c( + "tr", + { key: key }, + _vm._l(row, function(cell, key) { + return _c("td", { key: key, class: _vm.getCellStyle(cell) }, [ + _c("div", [ + _c("a", { staticClass: "cell" }, [ + _vm._v( + _vm._s( + _vm.t("el.datepicker.months." + _vm.months[cell.text]) + ) + ) + ]) + ]) + ]) + }), + 0 + ) + }), + 0 + ) + ] + ) +} +var month_tablevue_type_template_id_654d4f42_staticRenderFns = [] +month_tablevue_type_template_id_654d4f42_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=template&id=654d4f42& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +var month_tablevue_type_script_lang_js_datesInMonth = function datesInMonth(year, month) { + var numOfDays = Object(date_util_["getDayCountOfMonth"])(year, month); + var firstDay = new Date(year, month, 1); + return Object(date_util_["range"])(numOfDays).map(function (n) { + return Object(date_util_["nextDate"])(firstDay, n); + }); +}; + +var clearDate = function clearDate(date) { + return new Date(date.getFullYear(), date.getMonth()); +}; + +var getMonthTimestamp = function getMonthTimestamp(time) { + if (typeof time === 'number' || typeof time === 'string') { + return clearDate(new Date(time)).getTime(); + } else if (time instanceof Date) { + return clearDate(time).getTime(); + } else { + return NaN; + } +}; + +// remove the first element that satisfies `pred` from arr +// return a new array if modification occurs +// return the original array otherwise +var month_tablevue_type_script_lang_js_removeFromArray = function removeFromArray(arr, pred) { + var idx = typeof pred === 'function' ? Object(util_["arrayFindIndex"])(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [].concat(arr.slice(0, idx), arr.slice(idx + 1)) : arr; +}; +/* harmony default export */ var month_tablevue_type_script_lang_js_ = ({ + props: { + disabledDate: {}, + value: {}, + selectionMode: { + default: 'month' + }, + minDate: {}, + + maxDate: {}, + defaultValue: { + validator: function validator(val) { + // null or valid Date Object + return val === null || Object(date_util_["isDate"])(val) || Array.isArray(val) && val.every(date_util_["isDate"]); + } + }, + date: {}, + rangeState: { + default: function _default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + mixins: [locale_default.a], + + watch: { + 'rangeState.endDate': function rangeStateEndDate(newVal) { + this.markRange(this.minDate, newVal); + }, + minDate: function minDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + maxDate: function maxDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data: function data() { + return { + months: ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'], + tableRows: [[], [], []], + lastRow: null, + lastColumn: null + }; + }, + + + methods: { + cellMatchesDate: function cellMatchesDate(cell, date) { + var value = new Date(date); + return this.date.getFullYear() === value.getFullYear() && Number(cell.text) === value.getMonth(); + }, + getCellStyle: function getCellStyle(cell) { + var _this = this; + + var style = {}; + var year = this.date.getFullYear(); + var today = new Date(); + var month = cell.text; + var defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + style.disabled = typeof this.disabledDate === 'function' ? month_tablevue_type_script_lang_js_datesInMonth(year, month).every(this.disabledDate) : false; + style.current = Object(util_["arrayFindIndex"])(Object(util_["coerceTruthyValueToArray"])(this.value), function (date) { + return date.getFullYear() === year && date.getMonth() === month; + }) >= 0; + style.today = today.getFullYear() === year && today.getMonth() === month; + style.default = defaultValue.some(function (date) { + return _this.cellMatchesDate(cell, date); + }); + + if (cell.inRange) { + style['in-range'] = true; + + if (cell.start) { + style['start-date'] = true; + } + + if (cell.end) { + style['end-date'] = true; + } + } + return style; + }, + getMonthOfCell: function getMonthOfCell(month) { + var year = this.date.getFullYear(); + return new Date(year, month, 1); + }, + markRange: function markRange(minDate, maxDate) { + minDate = getMonthTimestamp(minDate); + maxDate = getMonthTimestamp(maxDate) || minDate; + var _ref = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + minDate = _ref[0]; + maxDate = _ref[1]; + + var rows = this.rows; + for (var i = 0, k = rows.length; i < k; i++) { + var row = rows[i]; + for (var j = 0, l = row.length; j < l; j++) { + + var cell = row[j]; + var index = i * 4 + j; + var time = new Date(this.date.getFullYear(), index).getTime(); + + cell.inRange = minDate && time >= minDate && time <= maxDate; + cell.start = minDate && time === minDate; + cell.end = maxDate && time === maxDate; + } + } + }, + handleMouseMove: function handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + var target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex; + var column = target.cellIndex; + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getMonthOfCell(row * 4 + column) + } + }); + } + }, + handleMonthTableClick: function handleMonthTableClick(event) { + var target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + if (Object(dom_["hasClass"])(target, 'disabled')) return; + var column = target.cellIndex; + var row = target.parentNode.rowIndex; + var month = row * 4 + column; + var newDate = this.getMonthOfCell(month); + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', { minDate: newDate, maxDate: null }); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', { minDate: this.minDate, maxDate: newDate }); + } else { + this.$emit('pick', { minDate: newDate, maxDate: this.minDate }); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'months') { + var value = this.value || []; + var year = this.date.getFullYear(); + var newValue = Object(util_["arrayFindIndex"])(value, function (date) { + return date.getFullYear() === year && date.getMonth() === month; + }) >= 0 ? month_tablevue_type_script_lang_js_removeFromArray(value, function (date) { + return date.getTime() === newDate.getTime(); + }) : [].concat(value, [newDate]); + this.$emit('pick', newValue); + } else { + this.$emit('pick', month); + } + } + }, + + computed: { + rows: function rows() { + var _this2 = this; + + // TODO: refactory rows / getCellClasses + var rows = this.tableRows; + var disabledDate = this.disabledDate; + var selectedDate = []; + var now = getMonthTimestamp(new Date()); + + for (var i = 0; i < 3; i++) { + var row = rows[i]; + + var _loop = function _loop(j) { + var cell = row[j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + var index = i * 4 + j; + var time = new Date(_this2.date.getFullYear(), index).getTime(); + cell.inRange = time >= getMonthTimestamp(_this2.minDate) && time <= getMonthTimestamp(_this2.maxDate); + cell.start = _this2.minDate && time === getMonthTimestamp(_this2.minDate); + cell.end = _this2.maxDate && time === getMonthTimestamp(_this2.maxDate); + var isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + cell.text = index; + var cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = Object(util_["arrayFind"])(selectedDate, function (date) { + return date.getTime() === cellDate.getTime(); + }); + + _this2.$set(row, j, cell); + }; + + for (var j = 0; j < 4; j++) { + _loop(j); + } + } + return rows; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_month_tablevue_type_script_lang_js_ = (month_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/month-table.vue + + + + + +/* normalize component */ + +var month_table_component = normalizeComponent( + basic_month_tablevue_type_script_lang_js_, + month_tablevue_type_template_id_654d4f42_render, + month_tablevue_type_template_id_654d4f42_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var month_table_api; } +month_table_component.options.__file = "packages/date-picker/src/basic/month-table.vue" +/* harmony default export */ var month_table = (month_table_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341& +var date_tablevue_type_template_id_5d1f3341_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "table", + { + staticClass: "el-date-table", + class: { "is-week-mode": _vm.selectionMode === "week" }, + attrs: { cellspacing: "0", cellpadding: "0" }, + on: { click: _vm.handleClick, mousemove: _vm.handleMouseMove } + }, + [ + _c( + "tbody", + [ + _c( + "tr", + [ + _vm.showWeekNumber + ? _c("th", [_vm._v(_vm._s(_vm.t("el.datepicker.week")))]) + : _vm._e(), + _vm._l(_vm.WEEKS, function(week, key) { + return _c("th", { key: key }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.weeks." + week))) + ]) + }) + ], + 2 + ), + _vm._l(_vm.rows, function(row, key) { + return _c( + "tr", + { + key: key, + staticClass: "el-date-table__row", + class: { current: _vm.isWeekActive(row[1]) } + }, + _vm._l(row, function(cell, key) { + return _c("td", { key: key, class: _vm.getCellClasses(cell) }, [ + _c("div", [ + _c("span", [ + _vm._v("\n " + _vm._s(cell.text) + "\n ") + ]) + ]) + ]) + }), + 0 + ) + }) + ], + 2 + ) + ] + ) +} +var date_tablevue_type_template_id_5d1f3341_staticRenderFns = [] +date_tablevue_type_template_id_5d1f3341_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=template&id=5d1f3341& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var _WEEKS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; +var date_tablevue_type_script_lang_js_getDateTimestamp = function getDateTimestamp(time) { + if (typeof time === 'number' || typeof time === 'string') { + return Object(date_util_["clearTime"])(new Date(time)).getTime(); + } else if (time instanceof Date) { + return Object(date_util_["clearTime"])(time).getTime(); + } else { + return NaN; + } +}; + +// remove the first element that satisfies `pred` from arr +// return a new array if modification occurs +// return the original array otherwise +var date_tablevue_type_script_lang_js_removeFromArray = function removeFromArray(arr, pred) { + var idx = typeof pred === 'function' ? Object(util_["arrayFindIndex"])(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [].concat(arr.slice(0, idx), arr.slice(idx + 1)) : arr; +}; + +/* harmony default export */ var date_tablevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + props: { + firstDayOfWeek: { + default: 7, + type: Number, + validator: function validator(val) { + return val >= 1 && val <= 7; + } + }, + + value: {}, + + defaultValue: { + validator: function validator(val) { + // either: null, valid Date object, Array of valid Date objects + return val === null || Object(date_util_["isDate"])(val) || Array.isArray(val) && val.every(date_util_["isDate"]); + } + }, + + date: {}, + + selectionMode: { + default: 'day' + }, + + showWeekNumber: { + type: Boolean, + default: false + }, + + disabledDate: {}, + + cellClassName: {}, + + minDate: {}, + + maxDate: {}, + + rangeState: { + default: function _default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + computed: { + offsetDay: function offsetDay() { + var week = this.firstDayOfWeek; + // ��銝箇���椰���宏��予�嚗�3217654 靘�銝�撠望 -1嚗��靚��舅銵����蔭 + return week > 3 ? 7 - week : -week; + }, + WEEKS: function WEEKS() { + var week = this.firstDayOfWeek; + return _WEEKS.concat(_WEEKS).slice(week, week + 7); + }, + year: function year() { + return this.date.getFullYear(); + }, + month: function month() { + return this.date.getMonth(); + }, + startDate: function startDate() { + return Object(date_util_["getStartDateOfMonth"])(this.year, this.month); + }, + rows: function rows() { + var _this = this; + + // TODO: refactory rows / getCellClasses + var date = new Date(this.year, this.month, 1); + var day = Object(date_util_["getFirstDayOfMonth"])(date); // day of first day + var dateCountOfMonth = Object(date_util_["getDayCountOfMonth"])(date.getFullYear(), date.getMonth()); + var dateCountOfLastMonth = Object(date_util_["getDayCountOfMonth"])(date.getFullYear(), date.getMonth() === 0 ? 11 : date.getMonth() - 1); + + day = day === 0 ? 7 : day; + + var offset = this.offsetDay; + var rows = this.tableRows; + var count = 1; + + var startDate = this.startDate; + var disabledDate = this.disabledDate; + var cellClassName = this.cellClassName; + var selectedDate = this.selectionMode === 'dates' ? Object(util_["coerceTruthyValueToArray"])(this.value) : []; + var now = date_tablevue_type_script_lang_js_getDateTimestamp(new Date()); + + for (var i = 0; i < 6; i++) { + var row = rows[i]; + + if (this.showWeekNumber) { + if (!row[0]) { + row[0] = { type: 'week', text: Object(date_util_["getWeekNumber"])(Object(date_util_["nextDate"])(startDate, i * 7 + 1)) }; + } + } + + var _loop = function _loop(j) { + var cell = row[_this.showWeekNumber ? j + 1 : j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + var index = i * 7 + j; + var time = Object(date_util_["nextDate"])(startDate, index - offset).getTime(); + cell.inRange = time >= date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate) && time <= date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate); + cell.start = _this.minDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.minDate); + cell.end = _this.maxDate && time === date_tablevue_type_script_lang_js_getDateTimestamp(_this.maxDate); + var isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + + if (i >= 0 && i <= 1) { + var numberOfDaysFromPreviousMonth = day + offset < 0 ? 7 + day + offset : day + offset; + + if (j + i * 7 >= numberOfDaysFromPreviousMonth) { + cell.text = count++; + } else { + cell.text = dateCountOfLastMonth - (numberOfDaysFromPreviousMonth - j % 7) + 1 + i * 7; + cell.type = 'prev-month'; + } + } else { + if (count <= dateCountOfMonth) { + cell.text = count++; + } else { + cell.text = count++ - dateCountOfMonth; + cell.type = 'next-month'; + } + } + + var cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = Object(util_["arrayFind"])(selectedDate, function (date) { + return date.getTime() === cellDate.getTime(); + }); + cell.customClass = typeof cellClassName === 'function' && cellClassName(cellDate); + _this.$set(row, _this.showWeekNumber ? j + 1 : j, cell); + }; + + for (var j = 0; j < 7; j++) { + _loop(j); + } + + if (this.selectionMode === 'week') { + var start = this.showWeekNumber ? 1 : 0; + var end = this.showWeekNumber ? 7 : 6; + var isWeekActive = this.isWeekActive(row[start + 1]); + + row[start].inRange = isWeekActive; + row[start].start = isWeekActive; + row[end].inRange = isWeekActive; + row[end].end = isWeekActive; + } + } + + return rows; + } + }, + + watch: { + 'rangeState.endDate': function rangeStateEndDate(newVal) { + this.markRange(this.minDate, newVal); + }, + minDate: function minDate(newVal, oldVal) { + if (date_tablevue_type_script_lang_js_getDateTimestamp(newVal) !== date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + maxDate: function maxDate(newVal, oldVal) { + if (date_tablevue_type_script_lang_js_getDateTimestamp(newVal) !== date_tablevue_type_script_lang_js_getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data: function data() { + return { + tableRows: [[], [], [], [], [], []], + lastRow: null, + lastColumn: null + }; + }, + + + methods: { + cellMatchesDate: function cellMatchesDate(cell, date) { + var value = new Date(date); + return this.year === value.getFullYear() && this.month === value.getMonth() && Number(cell.text) === value.getDate(); + }, + getCellClasses: function getCellClasses(cell) { + var _this2 = this; + + var selectionMode = this.selectionMode; + var defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + + var classes = []; + if ((cell.type === 'normal' || cell.type === 'today') && !cell.disabled) { + classes.push('available'); + if (cell.type === 'today') { + classes.push('today'); + } + } else { + classes.push(cell.type); + } + + if (cell.type === 'normal' && defaultValue.some(function (date) { + return _this2.cellMatchesDate(cell, date); + })) { + classes.push('default'); + } + + if (selectionMode === 'day' && (cell.type === 'normal' || cell.type === 'today') && this.cellMatchesDate(cell, this.value)) { + classes.push('current'); + } + + if (cell.inRange && (cell.type === 'normal' || cell.type === 'today' || this.selectionMode === 'week')) { + classes.push('in-range'); + + if (cell.start) { + classes.push('start-date'); + } + + if (cell.end) { + classes.push('end-date'); + } + } + + if (cell.disabled) { + classes.push('disabled'); + } + + if (cell.selected) { + classes.push('selected'); + } + + if (cell.customClass) { + classes.push(cell.customClass); + } + + return classes.join(' '); + }, + getDateOfCell: function getDateOfCell(row, column) { + var offsetFromStart = row * 7 + (column - (this.showWeekNumber ? 1 : 0)) - this.offsetDay; + return Object(date_util_["nextDate"])(this.startDate, offsetFromStart); + }, + isWeekActive: function isWeekActive(cell) { + if (this.selectionMode !== 'week') return false; + var newDate = new Date(this.year, this.month, 1); + var year = newDate.getFullYear(); + var month = newDate.getMonth(); + + if (cell.type === 'prev-month') { + newDate.setMonth(month === 0 ? 11 : month - 1); + newDate.setFullYear(month === 0 ? year - 1 : year); + } + + if (cell.type === 'next-month') { + newDate.setMonth(month === 11 ? 0 : month + 1); + newDate.setFullYear(month === 11 ? year + 1 : year); + } + + newDate.setDate(parseInt(cell.text, 10)); + + if (Object(date_util_["isDate"])(this.value)) { + var dayOffset = (this.value.getDay() - this.firstDayOfWeek + 7) % 7 - 1; + var weekDate = Object(date_util_["prevDate"])(this.value, dayOffset); + return weekDate.getTime() === newDate.getTime(); + } + return false; + }, + markRange: function markRange(minDate, maxDate) { + minDate = date_tablevue_type_script_lang_js_getDateTimestamp(minDate); + maxDate = date_tablevue_type_script_lang_js_getDateTimestamp(maxDate) || minDate; + var _ref = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + minDate = _ref[0]; + maxDate = _ref[1]; + + + var startDate = this.startDate; + var rows = this.rows; + for (var i = 0, k = rows.length; i < k; i++) { + var row = rows[i]; + for (var j = 0, l = row.length; j < l; j++) { + if (this.showWeekNumber && j === 0) continue; + + var _cell = row[j]; + var index = i * 7 + j + (this.showWeekNumber ? -1 : 0); + var time = Object(date_util_["nextDate"])(startDate, index - this.offsetDay).getTime(); + + _cell.inRange = minDate && time >= minDate && time <= maxDate; + _cell.start = minDate && time === minDate; + _cell.end = maxDate && time === maxDate; + } + } + }, + handleMouseMove: function handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + var target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex - 1; + var column = target.cellIndex; + + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getDateOfCell(row, column) + } + }); + } + }, + handleClick: function handleClick(event) { + var target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + + if (target.tagName !== 'TD') return; + + var row = target.parentNode.rowIndex - 1; + var column = this.selectionMode === 'week' ? 1 : target.cellIndex; + var cell = this.rows[row][column]; + + if (cell.disabled || cell.type === 'week') return; + + var newDate = this.getDateOfCell(row, column); + + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', { minDate: newDate, maxDate: null }); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', { minDate: this.minDate, maxDate: newDate }); + } else { + this.$emit('pick', { minDate: newDate, maxDate: this.minDate }); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'day') { + this.$emit('pick', newDate); + } else if (this.selectionMode === 'week') { + var weekNumber = Object(date_util_["getWeekNumber"])(newDate); + var value = newDate.getFullYear() + 'w' + weekNumber; + this.$emit('pick', { + year: newDate.getFullYear(), + week: weekNumber, + value: value, + date: newDate + }); + } else if (this.selectionMode === 'dates') { + var _value = this.value || []; + var newValue = cell.selected ? date_tablevue_type_script_lang_js_removeFromArray(_value, function (date) { + return date.getTime() === newDate.getTime(); + }) : [].concat(_value, [newDate]); + this.$emit('pick', newValue); + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/date-table.vue + + + + + +/* normalize component */ + +var date_table_component = normalizeComponent( + basic_date_tablevue_type_script_lang_js_, + date_tablevue_type_template_id_5d1f3341_render, + date_tablevue_type_template_id_5d1f3341_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_table_api; } +date_table_component.options.__file = "packages/date-picker/src/basic/date-table.vue" +/* harmony default export */ var date_table = (date_table_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + +/* harmony default export */ var datevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + watch: { + showTime: function showTime(val) { + var _this = this; + + /* istanbul ignore if */ + if (!val) return; + this.$nextTick(function (_) { + var inputElm = _this.$refs.input.$el; + if (inputElm) { + _this.pickerWidth = inputElm.getBoundingClientRect().width + 10; + } + }); + }, + value: function value(val) { + if (this.selectionMode === 'dates' && this.value) return; + if (this.selectionMode === 'months' && this.value) return; + if (this.selectionMode === 'years' && this.value) return; + if (Object(date_util_["isDate"])(val)) { + this.date = new Date(val); + } else { + this.date = this.getDefaultValue(); + } + }, + defaultValue: function defaultValue(val) { + if (!Object(date_util_["isDate"])(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + }, + timePickerVisible: function timePickerVisible(val) { + var _this2 = this; + + if (val) this.$nextTick(function () { + return _this2.$refs.timepicker.adjustSpinners(); + }); + }, + selectionMode: function selectionMode(newVal) { + if (newVal === 'month') { + /* istanbul ignore next */ + if (this.currentView !== 'year' || this.currentView !== 'month') { + this.currentView = 'month'; + } + } else if (newVal === 'dates') { + this.currentView = 'date'; + } else if (newVal === 'years') { + this.currentView = 'year'; + } else if (newVal === 'months') { + this.currentView = 'month'; + } + } + }, + + methods: { + proxyTimePickerDataProperties: function proxyTimePickerDataProperties() { + var _this3 = this; + + var format = function format(timeFormat) { + _this3.$refs.timepicker.format = timeFormat; + }; + var value = function value(_value) { + _this3.$refs.timepicker.value = _value; + }; + var date = function date(_date) { + _this3.$refs.timepicker.date = _date; + }; + var selectableRange = function selectableRange(_selectableRange) { + _this3.$refs.timepicker.selectableRange = _selectableRange; + }; + + this.$watch('value', value); + this.$watch('date', date); + this.$watch('selectableRange', selectableRange); + + format(this.timeFormat); + value(this.value); + date(this.date); + selectableRange(this.selectableRange); + }, + handleClear: function handleClear() { + this.date = this.getDefaultValue(); + this.$emit('pick', null); + }, + emit: function emit(value) { + var _this4 = this; + + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (!value) { + this.$emit.apply(this, ['pick', value].concat(args)); + } else if (Array.isArray(value)) { + var dates = value.map(function (date) { + return _this4.showTime ? Object(date_util_["clearMilliseconds"])(date) : Object(date_util_["clearTime"])(date); + }); + this.$emit.apply(this, ['pick', dates].concat(args)); + } else { + this.$emit.apply(this, ['pick', this.showTime ? Object(date_util_["clearMilliseconds"])(value) : Object(date_util_["clearTime"])(value)].concat(args)); + } + this.userInputDate = null; + this.userInputTime = null; + }, + + + // resetDate() { + // this.date = new Date(this.date); + // }, + + showMonthPicker: function showMonthPicker() { + this.currentView = 'month'; + }, + showYearPicker: function showYearPicker() { + this.currentView = 'year'; + }, + + + // XXX: 瘝∠� + // handleLabelClick() { + // if (this.currentView === 'date') { + // this.showMonthPicker(); + // } else if (this.currentView === 'month') { + // this.showYearPicker(); + // } + // }, + + prevMonth: function prevMonth() { + this.date = Object(date_util_["prevMonth"])(this.date); + }, + nextMonth: function nextMonth() { + this.date = Object(date_util_["nextMonth"])(this.date); + }, + prevYear: function prevYear() { + if (this.currentView === 'year') { + this.date = Object(date_util_["prevYear"])(this.date, 10); + } else { + this.date = Object(date_util_["prevYear"])(this.date); + } + }, + nextYear: function nextYear() { + if (this.currentView === 'year') { + this.date = Object(date_util_["nextYear"])(this.date, 10); + } else { + this.date = Object(date_util_["nextYear"])(this.date); + } + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + handleTimePick: function handleTimePick(value, visible, first) { + if (Object(date_util_["isDate"])(value)) { + var newDate = this.value ? Object(date_util_["modifyTime"])(this.value, value.getHours(), value.getMinutes(), value.getSeconds()) : Object(date_util_["modifyWithTimeString"])(this.getDefaultValue(), this.defaultTime); + this.date = newDate; + this.emit(this.date, true); + } else { + this.emit(value, true); + } + if (!first) { + this.timePickerVisible = visible; + } + }, + handleTimePickClose: function handleTimePickClose() { + this.timePickerVisible = false; + }, + handleMonthPick: function handleMonthPick(month) { + if (this.selectionMode === 'month') { + this.date = Object(date_util_["modifyDate"])(this.date, this.year, month, 1); + this.emit(this.date); + } else if (this.selectionMode === 'months') { + this.emit(month, true); + } else { + this.date = Object(date_util_["changeYearMonthAndClampDate"])(this.date, this.year, month); + // TODO: should emit intermediate value ?? + // this.emit(this.date); + this.currentView = 'date'; + } + }, + handleDatePick: function handleDatePick(value) { + if (this.selectionMode === 'day') { + var newDate = this.value ? Object(date_util_["modifyDate"])(this.value, value.getFullYear(), value.getMonth(), value.getDate()) : Object(date_util_["modifyWithTimeString"])(value, this.defaultTime); + // change default time while out of selectableRange + if (!this.checkDateWithinRange(newDate)) { + newDate = Object(date_util_["modifyDate"])(this.selectableRange[0][0], value.getFullYear(), value.getMonth(), value.getDate()); + } + this.date = newDate; + this.emit(this.date, this.showTime); + } else if (this.selectionMode === 'week') { + this.emit(value.date); + } else if (this.selectionMode === 'dates') { + this.emit(value, true); // set false to keep panel open + } + }, + handleYearPick: function handleYearPick(year) { + if (this.selectionMode === 'year') { + this.date = Object(date_util_["modifyDate"])(this.date, year, 0, 1); + this.emit(this.date); + } else if (this.selectionMode === 'years') { + this.emit(year, true); + } else { + this.date = Object(date_util_["changeYearMonthAndClampDate"])(this.date, year, this.month); + // TODO: should emit intermediate value ?? + // this.emit(this.date, true); + this.currentView = 'month'; + } + }, + changeToNow: function changeToNow() { + // NOTE: not a permanent solution + // consider disable "now" button in the future + if ((!this.disabledDate || !this.disabledDate(new Date())) && this.checkDateWithinRange(new Date())) { + this.date = new Date(); + this.emit(this.date); + } + }, + confirm: function confirm() { + if (this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years') { + this.emit(this.value); + } else { + // value were emitted in handle{Date,Time}Pick, nothing to update here + // deal with the scenario where: user opens the picker, then confirm without doing anything + var value = this.value ? this.value : Object(date_util_["modifyWithTimeString"])(this.getDefaultValue(), this.defaultTime); + this.date = new Date(value); // refresh date + this.emit(value); + } + }, + resetView: function resetView() { + if (this.selectionMode === 'month' || this.selectionMode === 'months') { + this.currentView = 'month'; + } else if (this.selectionMode === 'year' || this.selectionMode === 'years') { + this.currentView = 'year'; + } else { + this.currentView = 'date'; + } + }, + handleEnter: function handleEnter() { + document.body.addEventListener('keydown', this.handleKeydown); + }, + handleLeave: function handleLeave() { + this.$emit('dodestroy'); + document.body.removeEventListener('keydown', this.handleKeydown); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var list = [38, 40, 37, 39]; + if (this.visible && !this.timePickerVisible) { + if (list.indexOf(keyCode) !== -1) { + this.handleKeyControl(keyCode); + event.stopPropagation(); + event.preventDefault(); + } + if (keyCode === 13 && this.userInputDate === null && this.userInputTime === null) { + // Enter + this.emit(this.date, false); + } + } + }, + handleKeyControl: function handleKeyControl(keyCode) { + var mapping = { + 'year': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setFullYear(date.getFullYear() + step); + } + }, + 'month': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setMonth(date.getMonth() + step); + } + }, + 'week': { + 38: -1, 40: 1, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setDate(date.getDate() + step * 7); + } + }, + 'day': { + 38: -7, 40: 7, 37: -1, 39: 1, offset: function offset(date, step) { + return date.setDate(date.getDate() + step); + } + } + }; + var mode = this.selectionMode; + var year = 3.1536e10; + var now = this.date.getTime(); + var newDate = new Date(this.date.getTime()); + while (Math.abs(now - newDate.getTime()) <= year) { + var map = mapping[mode]; + map.offset(newDate, map[keyCode]); + if (typeof this.disabledDate === 'function' && this.disabledDate(newDate)) { + continue; + } + this.date = newDate; + this.$emit('pick', newDate, true); + break; + } + }, + handleVisibleTimeChange: function handleVisibleTimeChange(value) { + var time = Object(date_util_["parseDate"])(value, this.timeFormat); + if (time && this.checkDateWithinRange(time)) { + this.date = Object(date_util_["modifyDate"])(time, this.year, this.month, this.monthDate); + this.userInputTime = null; + this.$refs.timepicker.value = this.date; + this.timePickerVisible = false; + this.emit(this.date, true); + } + }, + handleVisibleDateChange: function handleVisibleDateChange(value) { + var date = Object(date_util_["parseDate"])(value, this.dateFormat); + if (date) { + if (typeof this.disabledDate === 'function' && this.disabledDate(date)) { + return; + } + this.date = Object(date_util_["modifyTime"])(date, this.date.getHours(), this.date.getMinutes(), this.date.getSeconds()); + this.userInputDate = null; + this.resetView(); + this.emit(this.date, true); + } + }, + isValidValue: function isValidValue(value) { + return value && !isNaN(value) && (typeof this.disabledDate === 'function' ? !this.disabledDate(value) : true) && this.checkDateWithinRange(value); + }, + getDefaultValue: function getDefaultValue() { + // if default-value is set, return it + // otherwise, return now (the moment this method gets called) + return this.defaultValue ? new Date(this.defaultValue) : new Date(); + }, + checkDateWithinRange: function checkDateWithinRange(date) { + return this.selectableRange.length > 0 ? Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format || 'HH:mm:ss') : true; + } + }, + + components: { + TimePicker: panel_time, YearTable: year_table, MonthTable: month_table, DateTable: date_table, ElInput: input_default.a, ElButton: button_default.a + }, + + data: function data() { + return { + popperClass: '', + date: new Date(), + value: '', + defaultValue: null, // use getDefaultValue() for time computation + defaultTime: null, + showTime: false, + selectionMode: 'day', + shortcuts: '', + visible: false, + currentView: 'date', + disabledDate: '', + cellClassName: '', + selectableRange: [], + firstDayOfWeek: 7, + showWeekNumber: false, + timePickerVisible: false, + format: '', + arrowControl: false, + userInputDate: null, + userInputTime: null + }; + }, + + + computed: { + year: function year() { + return this.date.getFullYear(); + }, + month: function month() { + return this.date.getMonth(); + }, + week: function week() { + return Object(date_util_["getWeekNumber"])(this.date); + }, + monthDate: function monthDate() { + return this.date.getDate(); + }, + footerVisible: function footerVisible() { + return this.showTime || this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years'; + }, + visibleTime: function visibleTime() { + if (this.userInputTime !== null) { + return this.userInputTime; + } else { + return Object(date_util_["formatDate"])(this.value || this.defaultValue, this.timeFormat); + } + }, + visibleDate: function visibleDate() { + if (this.userInputDate !== null) { + return this.userInputDate; + } else { + return Object(date_util_["formatDate"])(this.value || this.defaultValue, this.dateFormat); + } + }, + yearLabel: function yearLabel() { + var yearTranslation = this.t('el.datepicker.year'); + if (this.currentView === 'year') { + var startYear = Math.floor(this.year / 10) * 10; + if (yearTranslation) { + return startYear + ' ' + yearTranslation + ' - ' + (startYear + 9) + ' ' + yearTranslation; + } + return startYear + ' - ' + (startYear + 9); + } + return this.year + ' ' + yearTranslation; + }, + timeFormat: function timeFormat() { + if (this.format) { + return Object(date_util_["extractTimeFormat"])(this.format); + } else { + return 'HH:mm:ss'; + } + }, + dateFormat: function dateFormat() { + if (this.format) { + return Object(date_util_["extractDateFormat"])(this.format); + } else { + return 'yyyy-MM-dd'; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_datevue_type_script_lang_js_ = (datevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date.vue + + + + + +/* normalize component */ + +var date_component = normalizeComponent( + panel_datevue_type_script_lang_js_, + datevue_type_template_id_2440d4ea_render, + datevue_type_template_id_2440d4ea_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_api; } +date_component.options.__file = "packages/date-picker/src/panel/date.vue" +/* harmony default export */ var panel_date = (date_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a& +var date_rangevue_type_template_id_2652849a_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-range-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts, + "has-time": _vm.showTime + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _vm.showTime + ? _c( + "div", + { staticClass: "el-date-range-picker__time-header" }, + [ + _c( + "span", + { staticClass: "el-date-range-picker__editors-wrap" }, + [ + _c( + "span", + { + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + ref: "minInput", + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t( + "el.datepicker.startDate" + ), + value: _vm.minVisibleDate + }, + on: { + input: function(val) { + return _vm.handleDateInput(val, "min") + }, + change: function(val) { + return _vm.handleDateChange(val, "min") + } + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleMinTimeClose, + expression: "handleMinTimeClose" + } + ], + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t( + "el.datepicker.startTime" + ), + value: _vm.minVisibleTime + }, + on: { + focus: function($event) { + _vm.minTimePickerVisible = true + }, + input: function(val) { + return _vm.handleTimeInput(val, "min") + }, + change: function(val) { + return _vm.handleTimeChange(val, "min") + } + } + }), + _c("time-picker", { + ref: "minTimePicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.minTimePickerVisible + }, + on: { + pick: _vm.handleMinTimePick, + mounted: function($event) { + _vm.$refs.minTimePicker.format = + _vm.timeFormat + } + } + }) + ], + 1 + ) + ] + ), + _c("span", { staticClass: "el-icon-arrow-right" }), + _c( + "span", + { + staticClass: + "el-date-range-picker__editors-wrap is-right" + }, + [ + _c( + "span", + { + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t("el.datepicker.endDate"), + value: _vm.maxVisibleDate, + readonly: !_vm.minDate + }, + on: { + input: function(val) { + return _vm.handleDateInput(val, "max") + }, + change: function(val) { + return _vm.handleDateChange(val, "max") + } + } + }) + ], + 1 + ), + _c( + "span", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleMaxTimeClose, + expression: "handleMaxTimeClose" + } + ], + staticClass: + "el-date-range-picker__time-picker-wrap" + }, + [ + _c("el-input", { + staticClass: "el-date-range-picker__editor", + attrs: { + size: "small", + disabled: _vm.rangeState.selecting, + placeholder: _vm.t("el.datepicker.endTime"), + value: _vm.maxVisibleTime, + readonly: !_vm.minDate + }, + on: { + focus: function($event) { + _vm.minDate && + (_vm.maxTimePickerVisible = true) + }, + input: function(val) { + return _vm.handleTimeInput(val, "max") + }, + change: function(val) { + return _vm.handleTimeChange(val, "max") + } + } + }), + _c("time-picker", { + ref: "maxTimePicker", + attrs: { + "time-arrow-control": _vm.arrowControl, + visible: _vm.maxTimePickerVisible + }, + on: { + pick: _vm.handleMaxTimePick, + mounted: function($event) { + _vm.$refs.maxTimePicker.format = + _vm.timeFormat + } + } + }) + ], + 1 + ) + ] + ) + ] + ) + : _vm._e(), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-left" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevYear } + }), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevMonth } + }), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.leftNextYear } + }) + : _vm._e(), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-right", + class: { "is-disabled": !_vm.enableMonthArrow }, + attrs: { + type: "button", + disabled: !_vm.enableMonthArrow + }, + on: { click: _vm.leftNextMonth } + }) + : _vm._e(), + _c("div", [_vm._v(_vm._s(_vm.leftLabel))]) + ]), + _c("date-table", { + attrs: { + "selection-mode": "range", + date: _vm.leftDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate, + "cell-class-name": _vm.cellClassName, + "first-day-of-week": _vm.firstDayOfWeek + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-right" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.rightPrevYear } + }) + : _vm._e(), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-left", + class: { "is-disabled": !_vm.enableMonthArrow }, + attrs: { + type: "button", + disabled: !_vm.enableMonthArrow + }, + on: { click: _vm.rightPrevMonth } + }) + : _vm._e(), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextYear } + }), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextMonth } + }), + _c("div", [_vm._v(_vm._s(_vm.rightLabel))]) + ]), + _c("date-table", { + attrs: { + "selection-mode": "range", + date: _vm.rightDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate, + "cell-class-name": _vm.cellClassName, + "first-day-of-week": _vm.firstDayOfWeek + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ) + ]) + ], + 2 + ), + _vm.showTime + ? _c( + "div", + { staticClass: "el-picker-panel__footer" }, + [ + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { size: "mini", type: "text" }, + on: { click: _vm.handleClear } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.clear")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-picker-panel__link-btn", + attrs: { + plain: "", + size: "mini", + disabled: _vm.btnDisabled + }, + on: { + click: function($event) { + _vm.handleConfirm(false) + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + : _vm._e() + ] + ) + ] + ) +} +var date_rangevue_type_template_id_2652849a_staticRenderFns = [] +date_rangevue_type_template_id_2652849a_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var date_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), Object(date_util_["nextDate"])(new Date(defaultValue), 1)]; + } else { + return [new Date(), Object(date_util_["nextDate"])(new Date(), 1)]; + } +}; + +/* harmony default export */ var date_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + btnDisabled: function btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + leftLabel: function leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + (this.leftDate.getMonth() + 1)); + }, + rightLabel: function rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + (this.rightDate.getMonth() + 1)); + }, + leftYear: function leftYear() { + return this.leftDate.getFullYear(); + }, + leftMonth: function leftMonth() { + return this.leftDate.getMonth(); + }, + leftMonthDate: function leftMonthDate() { + return this.leftDate.getDate(); + }, + rightYear: function rightYear() { + return this.rightDate.getFullYear(); + }, + rightMonth: function rightMonth() { + return this.rightDate.getMonth(); + }, + rightMonthDate: function rightMonthDate() { + return this.rightDate.getDate(); + }, + minVisibleDate: function minVisibleDate() { + if (this.dateUserInput.min !== null) return this.dateUserInput.min; + if (this.minDate) return Object(date_util_["formatDate"])(this.minDate, this.dateFormat); + return ''; + }, + maxVisibleDate: function maxVisibleDate() { + if (this.dateUserInput.max !== null) return this.dateUserInput.max; + if (this.maxDate || this.minDate) return Object(date_util_["formatDate"])(this.maxDate || this.minDate, this.dateFormat); + return ''; + }, + minVisibleTime: function minVisibleTime() { + if (this.timeUserInput.min !== null) return this.timeUserInput.min; + if (this.minDate) return Object(date_util_["formatDate"])(this.minDate, this.timeFormat); + return ''; + }, + maxVisibleTime: function maxVisibleTime() { + if (this.timeUserInput.max !== null) return this.timeUserInput.max; + if (this.maxDate || this.minDate) return Object(date_util_["formatDate"])(this.maxDate || this.minDate, this.timeFormat); + return ''; + }, + timeFormat: function timeFormat() { + if (this.format) { + return Object(date_util_["extractTimeFormat"])(this.format); + } else { + return 'HH:mm:ss'; + } + }, + dateFormat: function dateFormat() { + if (this.format) { + return Object(date_util_["extractDateFormat"])(this.format); + } else { + return 'yyyy-MM-dd'; + } + }, + enableMonthArrow: function enableMonthArrow() { + var nextMonth = (this.leftMonth + 1) % 12; + var yearOffset = this.leftMonth + 1 >= 12 ? 1 : 0; + return this.unlinkPanels && new Date(this.leftYear + yearOffset, nextMonth) < new Date(this.rightYear, this.rightMonth); + }, + enableYearArrow: function enableYearArrow() { + return this.unlinkPanels && this.rightYear * 12 + this.rightMonth - (this.leftYear * 12 + this.leftMonth + 1) >= 12; + } + }, + + data: function data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: Object(date_util_["nextMonth"])(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + showTime: false, + shortcuts: '', + visible: '', + disabledDate: '', + cellClassName: '', + firstDayOfWeek: 7, + minTimePickerVisible: false, + maxTimePickerVisible: false, + format: '', + arrowControl: false, + unlinkPanels: false, + dateUserInput: { + min: null, + max: null + }, + timeUserInput: { + min: null, + max: null + } + }; + }, + + + watch: { + minDate: function minDate(val) { + var _this = this; + + this.dateUserInput.min = null; + this.timeUserInput.min = null; + this.$nextTick(function () { + if (_this.$refs.maxTimePicker && _this.maxDate && _this.maxDate < _this.minDate) { + var format = 'HH:mm:ss'; + _this.$refs.maxTimePicker.selectableRange = [[Object(date_util_["parseDate"])(Object(date_util_["formatDate"])(_this.minDate, format), format), Object(date_util_["parseDate"])('23:59:59', format)]]; + } + }); + if (val && this.$refs.minTimePicker) { + this.$refs.minTimePicker.date = val; + this.$refs.minTimePicker.value = val; + } + }, + maxDate: function maxDate(val) { + this.dateUserInput.max = null; + this.timeUserInput.max = null; + if (val && this.$refs.maxTimePicker) { + this.$refs.maxTimePicker.date = val; + this.$refs.maxTimePicker.value = val; + } + }, + minTimePickerVisible: function minTimePickerVisible(val) { + var _this2 = this; + + if (val) { + this.$nextTick(function () { + _this2.$refs.minTimePicker.date = _this2.minDate; + _this2.$refs.minTimePicker.value = _this2.minDate; + _this2.$refs.minTimePicker.adjustSpinners(); + }); + } + }, + maxTimePickerVisible: function maxTimePickerVisible(val) { + var _this3 = this; + + if (val) { + this.$nextTick(function () { + _this3.$refs.maxTimePicker.date = _this3.maxDate; + _this3.$refs.maxTimePicker.value = _this3.maxDate; + _this3.$refs.maxTimePicker.adjustSpinners(); + }); + } + }, + value: function value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = Object(date_util_["isDate"])(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = Object(date_util_["isDate"])(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + var minDateYear = this.minDate.getFullYear(); + var minDateMonth = this.minDate.getMonth(); + var maxDateYear = this.maxDate.getFullYear(); + var maxDateMonth = this.maxDate.getMonth(); + this.rightDate = minDateYear === maxDateYear && minDateMonth === maxDateMonth ? Object(date_util_["nextMonth"])(this.maxDate) : this.maxDate; + } else { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } else { + this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } + }, + defaultValue: function defaultValue(val) { + if (!Array.isArray(this.value)) { + var _calcDefaultValue = date_rangevue_type_script_lang_js_calcDefaultValue(val), + left = _calcDefaultValue[0], + right = _calcDefaultValue[1]; + + this.leftDate = left; + this.rightDate = val && val[1] && this.unlinkPanels ? right : Object(date_util_["nextMonth"])(this.leftDate); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = date_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + this.$emit('pick', null); + }, + handleChangeRange: function handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + handleDateInput: function handleDateInput(value, type) { + this.dateUserInput[type] = value; + if (value.length !== this.dateFormat.length) return; + var parsedValue = Object(date_util_["parseDate"])(value, this.dateFormat); + + if (parsedValue) { + if (typeof this.disabledDate === 'function' && this.disabledDate(new Date(parsedValue))) { + return; + } + if (type === 'min') { + this.minDate = Object(date_util_["modifyDate"])(this.minDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.leftDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + } else { + this.maxDate = Object(date_util_["modifyDate"])(this.maxDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.rightDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["prevMonth"])(parsedValue); + } + } + } + }, + handleDateChange: function handleDateChange(value, type) { + var parsedValue = Object(date_util_["parseDate"])(value, this.dateFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyDate"])(this.minDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + } else { + this.maxDate = Object(date_util_["modifyDate"])(this.maxDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + } + } + }, + handleTimeInput: function handleTimeInput(value, type) { + var _this4 = this; + + this.timeUserInput[type] = value; + if (value.length !== this.timeFormat.length) return; + var parsedValue = Object(date_util_["parseDate"])(value, this.timeFormat); + + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(function (_) { + return _this4.$refs.minTimePicker.adjustSpinners(); + }); + } else { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(function (_) { + return _this4.$refs.maxTimePicker.adjustSpinners(); + }); + } + } + }, + handleTimeChange: function handleTimeChange(value, type) { + var parsedValue = Object(date_util_["parseDate"])(value, this.timeFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + this.$refs.minTimePicker.value = this.minDate; + this.minTimePickerVisible = false; + } else { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + this.$refs.maxTimePicker.value = this.minDate; + this.maxTimePickerVisible = false; + } + } + }, + handleRangePick: function handleRangePick(val) { + var _this5 = this; + + var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var defaultTime = this.defaultTime || []; + var minDate = Object(date_util_["modifyWithTimeString"])(val.minDate, defaultTime[0]); + var maxDate = Object(date_util_["modifyWithTimeString"])(val.maxDate, defaultTime[1]); + + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(function () { + _this5.maxDate = maxDate; + _this5.minDate = minDate; + }, 10); + if (!close || this.showTime) return; + this.handleConfirm(); + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + handleMinTimePick: function handleMinTimePick(value, visible, first) { + this.minDate = this.minDate || new Date(); + if (value) { + this.minDate = Object(date_util_["modifyTime"])(this.minDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.minTimePickerVisible = visible; + } + + if (!this.maxDate || this.maxDate && this.maxDate.getTime() < this.minDate.getTime()) { + this.maxDate = new Date(this.minDate); + } + }, + handleMinTimeClose: function handleMinTimeClose() { + this.minTimePickerVisible = false; + }, + handleMaxTimePick: function handleMaxTimePick(value, visible, first) { + if (this.maxDate && value) { + this.maxDate = Object(date_util_["modifyTime"])(this.maxDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.maxTimePickerVisible = visible; + } + + if (this.maxDate && this.minDate && this.minDate.getTime() > this.maxDate.getTime()) { + this.minDate = new Date(this.maxDate); + } + }, + handleMaxTimeClose: function handleMaxTimeClose() { + this.maxTimePickerVisible = false; + }, + + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear: function leftPrevYear() { + this.leftDate = Object(date_util_["prevYear"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + }, + leftPrevMonth: function leftPrevMonth() { + this.leftDate = Object(date_util_["prevMonth"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } + }, + rightNextYear: function rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } else { + this.rightDate = Object(date_util_["nextYear"])(this.rightDate); + } + }, + rightNextMonth: function rightNextMonth() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextMonth"])(this.leftDate); + this.rightDate = Object(date_util_["nextMonth"])(this.leftDate); + } else { + this.rightDate = Object(date_util_["nextMonth"])(this.rightDate); + } + }, + + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear: function leftNextYear() { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + }, + leftNextMonth: function leftNextMonth() { + this.leftDate = Object(date_util_["nextMonth"])(this.leftDate); + }, + rightPrevYear: function rightPrevYear() { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + }, + rightPrevMonth: function rightPrevMonth() { + this.rightDate = Object(date_util_["prevMonth"])(this.rightDate); + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + isValidValue: function isValidValue(value) { + return Array.isArray(value) && value && value[0] && value[1] && Object(date_util_["isDate"])(value[0]) && Object(date_util_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true); + }, + resetView: function resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + if (this.minDate && this.maxDate == null) this.rangeState.selecting = false; + this.minDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { TimePicker: panel_time, DateTable: date_table, ElInput: input_default.a, ElButton: button_default.a } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_date_rangevue_type_script_lang_js_ = (date_rangevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/date-range.vue + + + + + +/* normalize component */ + +var date_range_component = normalizeComponent( + panel_date_rangevue_type_script_lang_js_, + date_rangevue_type_template_id_2652849a_render, + date_rangevue_type_template_id_2652849a_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var date_range_api; } +date_range_component.options.__file = "packages/date-picker/src/panel/date-range.vue" +/* harmony default export */ var date_range = (date_range_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8& +var month_rangevue_type_template_id_f2645fb8_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-picker-panel el-date-range-picker el-popper", + class: [ + { + "has-sidebar": _vm.$slots.sidebar || _vm.shortcuts + }, + _vm.popperClass + ] + }, + [ + _c( + "div", + { staticClass: "el-picker-panel__body-wrapper" }, + [ + _vm._t("sidebar"), + _vm.shortcuts + ? _c( + "div", + { staticClass: "el-picker-panel__sidebar" }, + _vm._l(_vm.shortcuts, function(shortcut, key) { + return _c( + "button", + { + key: key, + staticClass: "el-picker-panel__shortcut", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleShortcutClick(shortcut) + } + } + }, + [_vm._v(_vm._s(shortcut.text))] + ) + }), + 0 + ) + : _vm._e(), + _c("div", { staticClass: "el-picker-panel__body" }, [ + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-left" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + attrs: { type: "button" }, + on: { click: _vm.leftPrevYear } + }), + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.leftNextYear } + }) + : _vm._e(), + _c("div", [_vm._v(_vm._s(_vm.leftLabel))]) + ]), + _c("month-table", { + attrs: { + "selection-mode": "range", + date: _vm.leftDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ), + _c( + "div", + { + staticClass: + "el-picker-panel__content el-date-range-picker__content is-right" + }, + [ + _c("div", { staticClass: "el-date-range-picker__header" }, [ + _vm.unlinkPanels + ? _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-left", + class: { "is-disabled": !_vm.enableYearArrow }, + attrs: { + type: "button", + disabled: !_vm.enableYearArrow + }, + on: { click: _vm.rightPrevYear } + }) + : _vm._e(), + _c("button", { + staticClass: + "el-picker-panel__icon-btn el-icon-d-arrow-right", + attrs: { type: "button" }, + on: { click: _vm.rightNextYear } + }), + _c("div", [_vm._v(_vm._s(_vm.rightLabel))]) + ]), + _c("month-table", { + attrs: { + "selection-mode": "range", + date: _vm.rightDate, + "default-value": _vm.defaultValue, + "min-date": _vm.minDate, + "max-date": _vm.maxDate, + "range-state": _vm.rangeState, + "disabled-date": _vm.disabledDate + }, + on: { + changerange: _vm.handleChangeRange, + pick: _vm.handleRangePick + } + }) + ], + 1 + ) + ]) + ], + 2 + ) + ] + ) + ] + ) +} +var month_rangevue_type_template_id_f2645fb8_staticRenderFns = [] +month_rangevue_type_template_id_f2645fb8_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), Object(date_util_["nextMonth"])(new Date(defaultValue))]; + } else { + return [new Date(), Object(date_util_["nextMonth"])(new Date())]; + } +}; +/* harmony default export */ var month_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + btnDisabled: function btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + leftLabel: function leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + rightLabel: function rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + leftYear: function leftYear() { + return this.leftDate.getFullYear(); + }, + rightYear: function rightYear() { + return this.rightDate.getFullYear() === this.leftDate.getFullYear() ? this.leftDate.getFullYear() + 1 : this.rightDate.getFullYear(); + }, + enableYearArrow: function enableYearArrow() { + return this.unlinkPanels && this.rightYear > this.leftYear + 1; + } + }, + + data: function data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: Object(date_util_["nextYear"])(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + shortcuts: '', + visible: '', + disabledDate: '', + format: '', + arrowControl: false, + unlinkPanels: false + }; + }, + + + watch: { + value: function value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = Object(date_util_["isDate"])(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = Object(date_util_["isDate"])(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + var minDateYear = this.minDate.getFullYear(); + var maxDateYear = this.maxDate.getFullYear(); + this.rightDate = minDateYear === maxDateYear ? Object(date_util_["nextYear"])(this.maxDate) : this.maxDate; + } else { + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + } + } else { + this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + } + } + }, + defaultValue: function defaultValue(val) { + if (!Array.isArray(this.value)) { + var _calcDefaultValue = month_rangevue_type_script_lang_js_calcDefaultValue(val), + left = _calcDefaultValue[0], + right = _calcDefaultValue[1]; + + this.leftDate = left; + this.rightDate = val && val[1] && left.getFullYear() !== right.getFullYear() && this.unlinkPanels ? right : Object(date_util_["nextYear"])(this.leftDate); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0]; + this.rightDate = Object(date_util_["nextYear"])(this.leftDate); + this.$emit('pick', null); + }, + handleChangeRange: function handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + handleRangePick: function handleRangePick(val) { + var _this = this; + + var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var defaultTime = this.defaultTime || []; + var minDate = Object(date_util_["modifyWithTimeString"])(val.minDate, defaultTime[0]); + var maxDate = Object(date_util_["modifyWithTimeString"])(val.maxDate, defaultTime[1]); + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(function () { + _this.maxDate = maxDate; + _this.minDate = minDate; + }, 10); + if (!close) return; + this.handleConfirm(); + }, + handleShortcutClick: function handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear: function leftPrevYear() { + this.leftDate = Object(date_util_["prevYear"])(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + } + }, + rightNextYear: function rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + } + this.rightDate = Object(date_util_["nextYear"])(this.rightDate); + }, + + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear: function leftNextYear() { + this.leftDate = Object(date_util_["nextYear"])(this.leftDate); + }, + rightPrevYear: function rightPrevYear() { + this.rightDate = Object(date_util_["prevYear"])(this.rightDate); + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + isValidValue: function isValidValue(value) { + return Array.isArray(value) && value && value[0] && value[1] && Object(date_util_["isDate"])(value[0]) && Object(date_util_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true); + }, + resetView: function resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + this.minDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { MonthTable: month_table, ElInput: input_default.a, ElButton: button_default.a } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_month_rangevue_type_script_lang_js_ = (month_rangevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue + + + + + +/* normalize component */ + +var month_range_component = normalizeComponent( + panel_month_rangevue_type_script_lang_js_, + month_rangevue_type_template_id_f2645fb8_render, + month_rangevue_type_template_id_f2645fb8_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var month_range_api; } +month_range_component.options.__file = "packages/date-picker/src/panel/month-range.vue" +/* harmony default export */ var month_range = (month_range_component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/date-picker.js + + + + + +var date_picker_getPanel = function getPanel(type) { + if (type === 'daterange' || type === 'datetimerange') { + return date_range; + } else if (type === 'monthrange') { + return month_range; + } + return panel_date; +}; + +/* harmony default export */ var date_picker = ({ + mixins: [picker], + + name: 'ElDatePicker', + + props: { + type: { + type: String, + default: 'date' + }, + timeArrowControl: Boolean + }, + + watch: { + type: function type(_type) { + if (this.picker) { + this.unmountPicker(); + this.panel = date_picker_getPanel(_type); + this.mountPicker(); + } else { + this.panel = date_picker_getPanel(_type); + } + } + }, + + created: function created() { + this.panel = date_picker_getPanel(this.type); + } +}); +// CONCATENATED MODULE: ./packages/date-picker/index.js + + +/* istanbul ignore next */ +date_picker.install = function install(Vue) { + Vue.component(date_picker.name, date_picker); +}; + +/* harmony default export */ var packages_date_picker = (date_picker); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320& +var time_selectvue_type_template_id_51ab9320_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "before-enter": _vm.handleMenuEnter, + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + ref: "popper", + staticClass: "el-picker-panel time-select el-popper", + class: _vm.popperClass, + style: { width: _vm.width + "px" } + }, + [ + _c( + "el-scrollbar", + { + attrs: { noresize: "", "wrap-class": "el-picker-panel__content" } + }, + _vm._l(_vm.items, function(item) { + return _c( + "div", + { + key: item.value, + staticClass: "time-select-item", + class: { + selected: _vm.value === item.value, + disabled: item.disabled, + default: item.value === _vm.defaultValue + }, + attrs: { disabled: item.disabled }, + on: { + click: function($event) { + _vm.handleClick(item) + } + } + }, + [_vm._v(_vm._s(item.value))] + ) + }), + 0 + ) + ], + 1 + ) + ] + ) +} +var time_selectvue_type_template_id_51ab9320_staticRenderFns = [] +time_selectvue_type_template_id_51ab9320_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +var parseTime = function parseTime(time) { + var values = (time || '').split(':'); + if (values.length >= 2) { + var hours = parseInt(values[0], 10); + var minutes = parseInt(values[1], 10); + + return { + hours: hours, + minutes: minutes + }; + } + /* istanbul ignore next */ + return null; +}; + +var compareTime = function compareTime(time1, time2) { + var value1 = parseTime(time1); + var value2 = parseTime(time2); + + var minutes1 = value1.minutes + value1.hours * 60; + var minutes2 = value2.minutes + value2.hours * 60; + + if (minutes1 === minutes2) { + return 0; + } + + return minutes1 > minutes2 ? 1 : -1; +}; + +var formatTime = function formatTime(time) { + return (time.hours < 10 ? '0' + time.hours : time.hours) + ':' + (time.minutes < 10 ? '0' + time.minutes : time.minutes); +}; + +var nextTime = function nextTime(time, step) { + var timeValue = parseTime(time); + var stepValue = parseTime(step); + + var next = { + hours: timeValue.hours, + minutes: timeValue.minutes + }; + + next.minutes += stepValue.minutes; + next.hours += stepValue.hours; + + next.hours += Math.floor(next.minutes / 60); + next.minutes = next.minutes % 60; + + return formatTime(next); +}; + +/* harmony default export */ var time_selectvue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + + watch: { + value: function value(val) { + var _this = this; + + if (!val) return; + this.$nextTick(function () { + return _this.scrollToOption(); + }); + } + }, + + methods: { + handleClick: function handleClick(item) { + if (!item.disabled) { + this.$emit('pick', item.value); + } + }, + handleClear: function handleClear() { + this.$emit('pick', null); + }, + scrollToOption: function scrollToOption() { + var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.selected'; + + var menu = this.$refs.popper.querySelector('.el-picker-panel__content'); + scroll_into_view_default()(menu, menu.querySelector(selector)); + }, + handleMenuEnter: function handleMenuEnter() { + var _this2 = this; + + var selected = this.items.map(function (item) { + return item.value; + }).indexOf(this.value) !== -1; + var hasDefault = this.items.map(function (item) { + return item.value; + }).indexOf(this.defaultValue) !== -1; + var option = selected && '.selected' || hasDefault && '.default' || '.time-select-item:not(.disabled)'; + this.$nextTick(function () { + return _this2.scrollToOption(option); + }); + }, + scrollDown: function scrollDown(step) { + var items = this.items; + var length = items.length; + var total = items.length; + var index = items.map(function (item) { + return item.value; + }).indexOf(this.value); + while (total--) { + index = (index + step + length) % length; + if (!items[index].disabled) { + this.$emit('pick', items[index].value, true); + return; + } + } + }, + isValidValue: function isValidValue(date) { + return this.items.filter(function (item) { + return !item.disabled; + }).map(function (item) { + return item.value; + }).indexOf(date) !== -1; + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + if (keyCode === 38 || keyCode === 40) { + var mapping = { 40: 1, 38: -1 }; + var offset = mapping[keyCode.toString()]; + this.scrollDown(offset); + event.stopPropagation(); + return; + } + } + }, + + data: function data() { + return { + popperClass: '', + start: '09:00', + end: '18:00', + step: '00:30', + value: '', + defaultValue: '', + visible: false, + minTime: '', + maxTime: '', + width: 0 + }; + }, + + + computed: { + items: function items() { + var start = this.start; + var end = this.end; + var step = this.step; + + var result = []; + + if (start && end && step) { + var current = start; + while (compareTime(current, end) <= 0) { + result.push({ + value: current, + disabled: compareTime(current, this.minTime || '-1:-1') <= 0 || compareTime(current, this.maxTime || '100:100') >= 0 + }); + current = nextTime(current, step); + } + } + + return result; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_time_selectvue_type_script_lang_js_ = (time_selectvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue + + + + + +/* normalize component */ + +var time_select_component = normalizeComponent( + panel_time_selectvue_type_script_lang_js_, + time_selectvue_type_template_id_51ab9320_render, + time_selectvue_type_template_id_51ab9320_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var time_select_api; } +time_select_component.options.__file = "packages/date-picker/src/panel/time-select.vue" +/* harmony default export */ var time_select = (time_select_component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-select.js + + + +/* harmony default export */ var picker_time_select = ({ + mixins: [picker], + + name: 'ElTimeSelect', + + componentName: 'ElTimeSelect', + + props: { + type: { + type: String, + default: 'time-select' + } + }, + + beforeCreate: function beforeCreate() { + this.panel = time_select; + } +}); +// CONCATENATED MODULE: ./packages/time-select/index.js + + +/* istanbul ignore next */ +picker_time_select.install = function (Vue) { + Vue.component(picker_time_select.name, picker_time_select); +}; + +/* harmony default export */ var packages_time_select = (picker_time_select); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e& +var time_rangevue_type_template_id_fb28660e_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-time-range-picker el-picker-panel el-popper", + class: _vm.popperClass + }, + [ + _c("div", { staticClass: "el-time-range-picker__content" }, [ + _c("div", { staticClass: "el-time-range-picker__cell" }, [ + _c("div", { staticClass: "el-time-range-picker__header" }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.startTime"))) + ]), + _c( + "div", + { + staticClass: + "el-time-range-picker__body el-time-panel__content", + class: { + "has-seconds": _vm.showSeconds, + "is-arrow": _vm.arrowControl + } + }, + [ + _c("time-spinner", { + ref: "minSpinner", + attrs: { + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + "arrow-control": _vm.arrowControl, + date: _vm.minDate + }, + on: { + change: _vm.handleMinChange, + "select-range": _vm.setMinSelectionRange + } + }) + ], + 1 + ) + ]), + _c("div", { staticClass: "el-time-range-picker__cell" }, [ + _c("div", { staticClass: "el-time-range-picker__header" }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.endTime"))) + ]), + _c( + "div", + { + staticClass: + "el-time-range-picker__body el-time-panel__content", + class: { + "has-seconds": _vm.showSeconds, + "is-arrow": _vm.arrowControl + } + }, + [ + _c("time-spinner", { + ref: "maxSpinner", + attrs: { + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + "arrow-control": _vm.arrowControl, + date: _vm.maxDate + }, + on: { + change: _vm.handleMaxChange, + "select-range": _vm.setMaxSelectionRange + } + }) + ], + 1 + ) + ]) + ]), + _c("div", { staticClass: "el-time-panel__footer" }, [ + _c( + "button", + { + staticClass: "el-time-panel__btn cancel", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleCancel() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))] + ), + _c( + "button", + { + staticClass: "el-time-panel__btn confirm", + attrs: { type: "button", disabled: _vm.btnDisabled }, + on: { + click: function($event) { + _vm.handleConfirm() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))] + ) + ]) + ] + ) + ] + ) +} +var time_rangevue_type_template_id_fb28660e_staticRenderFns = [] +time_rangevue_type_template_id_fb28660e_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var MIN_TIME = Object(date_util_["parseDate"])('00:00:00', 'HH:mm:ss'); +var MAX_TIME = Object(date_util_["parseDate"])('23:59:59', 'HH:mm:ss'); + +var time_rangevue_type_script_lang_js_minTimeOfDay = function minTimeOfDay(date) { + return Object(date_util_["modifyDate"])(MIN_TIME, date.getFullYear(), date.getMonth(), date.getDate()); +}; + +var time_rangevue_type_script_lang_js_maxTimeOfDay = function maxTimeOfDay(date) { + return Object(date_util_["modifyDate"])(MAX_TIME, date.getFullYear(), date.getMonth(), date.getDate()); +}; + +// increase time by amount of milliseconds, but within the range of day +var advanceTime = function advanceTime(date, amount) { + return new Date(Math.min(date.getTime() + amount, time_rangevue_type_script_lang_js_maxTimeOfDay(date).getTime())); +}; + +/* harmony default export */ var time_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + components: { TimeSpinner: time_spinner }, + + computed: { + showSeconds: function showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + offset: function offset() { + return this.showSeconds ? 11 : 8; + }, + spinner: function spinner() { + return this.selectionRange[0] < this.offset ? this.$refs.minSpinner : this.$refs.maxSpinner; + }, + btnDisabled: function btnDisabled() { + return this.minDate.getTime() > this.maxDate.getTime(); + }, + amPmMode: function amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + data: function data() { + return { + popperClass: '', + minDate: new Date(), + maxDate: new Date(), + value: [], + oldValue: [new Date(), new Date()], + defaultValue: null, + format: 'HH:mm:ss', + visible: false, + selectionRange: [0, 2], + arrowControl: false + }; + }, + + + watch: { + value: function value(_value) { + if (Array.isArray(_value)) { + this.minDate = new Date(_value[0]); + this.maxDate = new Date(_value[1]); + } else { + if (Array.isArray(this.defaultValue)) { + this.minDate = new Date(this.defaultValue[0]); + this.maxDate = new Date(this.defaultValue[1]); + } else if (this.defaultValue) { + this.minDate = new Date(this.defaultValue); + this.maxDate = advanceTime(new Date(this.defaultValue), 60 * 60 * 1000); + } else { + this.minDate = new Date(); + this.maxDate = advanceTime(new Date(), 60 * 60 * 1000); + } + } + }, + visible: function visible(val) { + var _this = this; + + if (val) { + this.oldValue = this.value; + this.$nextTick(function () { + return _this.$refs.minSpinner.emitSelectRange('hours'); + }); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.$emit('pick', null); + }, + handleCancel: function handleCancel() { + this.$emit('pick', this.oldValue); + }, + handleMinChange: function handleMinChange(date) { + this.minDate = Object(date_util_["clearMilliseconds"])(date); + this.handleChange(); + }, + handleMaxChange: function handleMaxChange(date) { + this.maxDate = Object(date_util_["clearMilliseconds"])(date); + this.handleChange(); + }, + handleChange: function handleChange() { + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$refs.minSpinner.selectableRange = [[time_rangevue_type_script_lang_js_minTimeOfDay(this.minDate), this.maxDate]]; + this.$refs.maxSpinner.selectableRange = [[this.minDate, time_rangevue_type_script_lang_js_maxTimeOfDay(this.maxDate)]]; + this.$emit('pick', [this.minDate, this.maxDate], true); + } + }, + setMinSelectionRange: function setMinSelectionRange(start, end) { + this.$emit('select-range', start, end, 'min'); + this.selectionRange = [start, end]; + }, + setMaxSelectionRange: function setMaxSelectionRange(start, end) { + this.$emit('select-range', start, end, 'max'); + this.selectionRange = [start + this.offset, end + this.offset]; + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + var minSelectableRange = this.$refs.minSpinner.selectableRange; + var maxSelectableRange = this.$refs.maxSpinner.selectableRange; + + this.minDate = Object(date_util_["limitTimeRange"])(this.minDate, minSelectableRange, this.format); + this.maxDate = Object(date_util_["limitTimeRange"])(this.maxDate, maxSelectableRange, this.format); + + this.$emit('pick', [this.minDate, this.maxDate], visible); + }, + adjustSpinners: function adjustSpinners() { + this.$refs.minSpinner.adjustSpinners(); + this.$refs.maxSpinner.adjustSpinners(); + }, + changeSelectionRange: function changeSelectionRange(step) { + var list = this.showSeconds ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]; + var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + var index = list.indexOf(this.selectionRange[0]); + var next = (index + step + list.length) % list.length; + var half = list.length / 2; + if (next < half) { + this.$refs.minSpinner.emitSelectRange(mapping[next]); + } else { + this.$refs.maxSpinner.emitSelectRange(mapping[next - half]); + } + }, + isValidValue: function isValidValue(date) { + return Array.isArray(date) && Object(date_util_["timeWithinRange"])(this.minDate, this.$refs.minSpinner.selectableRange) && Object(date_util_["timeWithinRange"])(this.maxDate, this.$refs.maxSpinner.selectableRange); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + var step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + var _step = mapping[keyCode]; + this.spinner.scrollDown(_step); + event.preventDefault(); + return; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_time_rangevue_type_script_lang_js_ = (time_rangevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue + + + + + +/* normalize component */ + +var time_range_component = normalizeComponent( + panel_time_rangevue_type_script_lang_js_, + time_rangevue_type_template_id_fb28660e_render, + time_rangevue_type_template_id_fb28660e_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var time_range_api; } +time_range_component.options.__file = "packages/date-picker/src/panel/time-range.vue" +/* harmony default export */ var time_range = (time_range_component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-picker.js + + + + +/* harmony default export */ var time_picker = ({ + mixins: [picker], + + name: 'ElTimePicker', + + props: { + isRange: Boolean, + arrowControl: Boolean + }, + + data: function data() { + return { + type: '' + }; + }, + + + watch: { + isRange: function isRange(_isRange) { + if (this.picker) { + this.unmountPicker(); + this.type = _isRange ? 'timerange' : 'time'; + this.panel = _isRange ? time_range : panel_time; + this.mountPicker(); + } else { + this.type = _isRange ? 'timerange' : 'time'; + this.panel = _isRange ? time_range : panel_time; + } + } + }, + + created: function created() { + this.type = this.isRange ? 'timerange' : 'time'; + this.panel = this.isRange ? time_range : panel_time; + } +}); +// CONCATENATED MODULE: ./packages/time-picker/index.js + + +/* istanbul ignore next */ +time_picker.install = function (Vue) { + Vue.component(time_picker.name, time_picker); +}; + +/* harmony default export */ var packages_time_picker = (time_picker); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272& +var mainvue_type_template_id_52060272_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "span", + [ + _c( + "transition", + { + attrs: { name: _vm.transition }, + on: { + "after-enter": _vm.handleAfterEnter, + "after-leave": _vm.handleAfterLeave + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.disabled && _vm.showPopper, + expression: "!disabled && showPopper" + } + ], + ref: "popper", + staticClass: "el-popover el-popper", + class: [_vm.popperClass, _vm.content && "el-popover--plain"], + style: { width: _vm.width + "px" }, + attrs: { + role: "tooltip", + id: _vm.tooltipId, + "aria-hidden": + _vm.disabled || !_vm.showPopper ? "true" : "false" + } + }, + [ + _vm.title + ? _c("div", { + staticClass: "el-popover__title", + domProps: { textContent: _vm._s(_vm.title) } + }) + : _vm._e(), + _vm._t("default", [_vm._v(_vm._s(_vm.content))]) + ], + 2 + ) + ] + ), + _c( + "span", + { ref: "wrapper", staticClass: "el-popover__reference-wrapper" }, + [_vm._t("reference")], + 2 + ) + ], + 1 + ) +} +var mainvue_type_template_id_52060272_staticRenderFns = [] +mainvue_type_template_id_52060272_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElPopover', + + mixins: [vue_popper_default.a], + + props: { + trigger: { + type: String, + default: 'click', + validator: function validator(value) { + return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1; + } + }, + openDelay: { + type: Number, + default: 0 + }, + closeDelay: { + type: Number, + default: 200 + }, + title: String, + disabled: Boolean, + content: String, + reference: {}, + popperClass: String, + width: {}, + visibleArrow: { + default: true + }, + arrowOffset: { + type: Number, + default: 0 + }, + transition: { + type: String, + default: 'fade-in-linear' + }, + tabindex: { + type: Number, + default: 0 + } + }, + + computed: { + tooltipId: function tooltipId() { + return 'el-popover-' + Object(util_["generateId"])(); + } + }, + watch: { + showPopper: function showPopper(val) { + if (this.disabled) { + return; + } + val ? this.$emit('show') : this.$emit('hide'); + } + }, + + mounted: function mounted() { + var _this = this; + + var reference = this.referenceElm = this.reference || this.$refs.reference; + var popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + // �霈輸�� + if (reference) { + Object(dom_["addClass"])(reference, 'el-popover__reference'); + reference.setAttribute('aria-describedby', this.tooltipId); + reference.setAttribute('tabindex', this.tabindex); // tab摨�� + popper.setAttribute('tabindex', 0); + + if (this.trigger !== 'click') { + Object(dom_["on"])(reference, 'focusin', function () { + _this.handleFocus(); + var instance = reference.__vue__; + if (instance && typeof instance.focus === 'function') { + instance.focus(); + } + }); + Object(dom_["on"])(popper, 'focusin', this.handleFocus); + Object(dom_["on"])(reference, 'focusout', this.handleBlur); + Object(dom_["on"])(popper, 'focusout', this.handleBlur); + } + Object(dom_["on"])(reference, 'keydown', this.handleKeydown); + Object(dom_["on"])(reference, 'click', this.handleClick); + } + if (this.trigger === 'click') { + Object(dom_["on"])(reference, 'click', this.doToggle); + Object(dom_["on"])(document, 'click', this.handleDocumentClick); + } else if (this.trigger === 'hover') { + Object(dom_["on"])(reference, 'mouseenter', this.handleMouseEnter); + Object(dom_["on"])(popper, 'mouseenter', this.handleMouseEnter); + Object(dom_["on"])(reference, 'mouseleave', this.handleMouseLeave); + Object(dom_["on"])(popper, 'mouseleave', this.handleMouseLeave); + } else if (this.trigger === 'focus') { + if (this.tabindex < 0) { + console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key'); + } + if (reference.querySelector('input, textarea')) { + Object(dom_["on"])(reference, 'focusin', this.doShow); + Object(dom_["on"])(reference, 'focusout', this.doClose); + } else { + Object(dom_["on"])(reference, 'mousedown', this.doShow); + Object(dom_["on"])(reference, 'mouseup', this.doClose); + } + } + }, + beforeDestroy: function beforeDestroy() { + this.cleanup(); + }, + deactivated: function deactivated() { + this.cleanup(); + }, + + + methods: { + doToggle: function doToggle() { + this.showPopper = !this.showPopper; + }, + doShow: function doShow() { + this.showPopper = true; + }, + doClose: function doClose() { + this.showPopper = false; + }, + handleFocus: function handleFocus() { + Object(dom_["addClass"])(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true; + }, + handleClick: function handleClick() { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + }, + handleBlur: function handleBlur() { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false; + }, + handleMouseEnter: function handleMouseEnter() { + var _this2 = this; + + clearTimeout(this._timer); + if (this.openDelay) { + this._timer = setTimeout(function () { + _this2.showPopper = true; + }, this.openDelay); + } else { + this.showPopper = true; + } + }, + handleKeydown: function handleKeydown(ev) { + if (ev.keyCode === 27 && this.trigger !== 'manual') { + // esc + this.doClose(); + } + }, + handleMouseLeave: function handleMouseLeave() { + var _this3 = this; + + clearTimeout(this._timer); + if (this.closeDelay) { + this._timer = setTimeout(function () { + _this3.showPopper = false; + }, this.closeDelay); + } else { + this.showPopper = false; + } + }, + handleDocumentClick: function handleDocumentClick(e) { + var reference = this.reference || this.$refs.reference; + var popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return; + this.showPopper = false; + }, + handleAfterEnter: function handleAfterEnter() { + this.$emit('after-enter'); + }, + handleAfterLeave: function handleAfterLeave() { + this.$emit('after-leave'); + this.doDestroy(); + }, + cleanup: function cleanup() { + if (this.openDelay || this.closeDelay) { + clearTimeout(this._timer); + } + } + }, + + destroyed: function destroyed() { + var reference = this.reference; + + Object(dom_["off"])(reference, 'click', this.doToggle); + Object(dom_["off"])(reference, 'mouseup', this.doClose); + Object(dom_["off"])(reference, 'mousedown', this.doShow); + Object(dom_["off"])(reference, 'focusin', this.doShow); + Object(dom_["off"])(reference, 'focusout', this.doClose); + Object(dom_["off"])(reference, 'mousedown', this.doShow); + Object(dom_["off"])(reference, 'mouseup', this.doClose); + Object(dom_["off"])(reference, 'mouseleave', this.handleMouseLeave); + Object(dom_["off"])(reference, 'mouseenter', this.handleMouseEnter); + Object(dom_["off"])(document, 'click', this.handleDocumentClick); + } +}); +// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/popover/src/main.vue + + + + + +/* normalize component */ + +var main_component = normalizeComponent( + src_mainvue_type_script_lang_js_, + mainvue_type_template_id_52060272_render, + mainvue_type_template_id_52060272_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/popover/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/popover/src/directive.js +var getReference = function getReference(el, binding, vnode) { + var _ref = binding.expression ? binding.value : binding.arg; + var popper = vnode.context.$refs[_ref]; + if (popper) { + if (Array.isArray(popper)) { + popper[0].$refs.reference = el; + } else { + popper.$refs.reference = el; + } + } +}; + +/* harmony default export */ var directive = ({ + bind: function bind(el, binding, vnode) { + getReference(el, binding, vnode); + }, + inserted: function inserted(el, binding, vnode) { + getReference(el, binding, vnode); + } +}); +// CONCATENATED MODULE: ./packages/popover/index.js + + + + +external_vue_default.a.directive('popover', directive); + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.directive('popover', directive); + Vue.component(main.name, main); +}; +main.directive = directive; + +/* harmony default export */ var popover = (main); +// CONCATENATED MODULE: ./packages/tooltip/src/main.js + + + + + + +/* harmony default export */ var src_main = ({ + name: 'ElTooltip', + + mixins: [vue_popper_default.a], + + props: { + openDelay: { + type: Number, + default: 0 + }, + disabled: Boolean, + manual: Boolean, + effect: { + type: String, + default: 'dark' + }, + arrowOffset: { + type: Number, + default: 0 + }, + popperClass: String, + content: String, + visibleArrow: { + default: true + }, + transition: { + type: String, + default: 'el-fade-in-linear' + }, + popperOptions: { + default: function _default() { + return { + boundariesPadding: 10, + gpuAcceleration: false + }; + } + }, + enterable: { + type: Boolean, + default: true + }, + hideAfter: { + type: Number, + default: 0 + }, + tabindex: { + type: Number, + default: 0 + } + }, + + data: function data() { + return { + tooltipId: 'el-tooltip-' + Object(util_["generateId"])(), + timeoutPending: null, + focusing: false + }; + }, + beforeCreate: function beforeCreate() { + var _this = this; + + if (this.$isServer) return; + + this.popperVM = new external_vue_default.a({ + data: { node: '' }, + render: function render(h) { + return this.node; + } + }).$mount(); + + this.debounceClose = debounce_default()(200, function () { + return _this.handleClosePopper(); + }); + }, + render: function render(h) { + var _this2 = this; + + if (this.popperVM) { + this.popperVM.node = h( + 'transition', + { + attrs: { + name: this.transition + }, + on: { + 'afterLeave': this.doDestroy + } + }, + [h( + 'div', + { + on: { + 'mouseleave': function mouseleave() { + _this2.setExpectedState(false);_this2.debounceClose(); + }, + 'mouseenter': function mouseenter() { + _this2.setExpectedState(true); + } + }, + + ref: 'popper', + attrs: { role: 'tooltip', + id: this.tooltipId, + 'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false' + }, + directives: [{ + name: 'show', + value: !this.disabled && this.showPopper + }], + + 'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] }, + [this.$slots.content || this.content] + )] + ); + } + + var firstElement = this.getFirstElement(); + if (!firstElement) return null; + + var data = firstElement.data = firstElement.data || {}; + data.staticClass = this.addTooltipClass(data.staticClass); + + return firstElement; + }, + mounted: function mounted() { + var _this3 = this; + + this.referenceElm = this.$el; + if (this.$el.nodeType === 1) { + this.$el.setAttribute('aria-describedby', this.tooltipId); + this.$el.setAttribute('tabindex', this.tabindex); + Object(dom_["on"])(this.referenceElm, 'mouseenter', this.show); + Object(dom_["on"])(this.referenceElm, 'mouseleave', this.hide); + Object(dom_["on"])(this.referenceElm, 'focus', function () { + if (!_this3.$slots.default || !_this3.$slots.default.length) { + _this3.handleFocus(); + return; + } + var instance = _this3.$slots.default[0].componentInstance; + if (instance && instance.focus) { + instance.focus(); + } else { + _this3.handleFocus(); + } + }); + Object(dom_["on"])(this.referenceElm, 'blur', this.handleBlur); + Object(dom_["on"])(this.referenceElm, 'click', this.removeFocusing); + } + // fix issue https://github.com/ElemeFE/element/issues/14424 + if (this.value && this.popperVM) { + this.popperVM.$nextTick(function () { + if (_this3.value) { + _this3.updatePopper(); + } + }); + } + }, + + watch: { + focusing: function focusing(val) { + if (val) { + Object(dom_["addClass"])(this.referenceElm, 'focusing'); + } else { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + } + } + }, + methods: { + show: function show() { + this.setExpectedState(true); + this.handleShowPopper(); + }, + hide: function hide() { + this.setExpectedState(false); + this.debounceClose(); + }, + handleFocus: function handleFocus() { + this.focusing = true; + this.show(); + }, + handleBlur: function handleBlur() { + this.focusing = false; + this.hide(); + }, + removeFocusing: function removeFocusing() { + this.focusing = false; + }, + addTooltipClass: function addTooltipClass(prev) { + if (!prev) { + return 'el-tooltip'; + } else { + return 'el-tooltip ' + prev.replace('el-tooltip', ''); + } + }, + handleShowPopper: function handleShowPopper() { + var _this4 = this; + + if (!this.expectedState || this.manual) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this4.showPopper = true; + }, this.openDelay); + + if (this.hideAfter > 0) { + this.timeoutPending = setTimeout(function () { + _this4.showPopper = false; + }, this.hideAfter); + } + }, + handleClosePopper: function handleClosePopper() { + if (this.enterable && this.expectedState || this.manual) return; + clearTimeout(this.timeout); + + if (this.timeoutPending) { + clearTimeout(this.timeoutPending); + } + this.showPopper = false; + + if (this.disabled) { + this.doDestroy(); + } + }, + setExpectedState: function setExpectedState(expectedState) { + if (expectedState === false) { + clearTimeout(this.timeoutPending); + } + this.expectedState = expectedState; + }, + getFirstElement: function getFirstElement() { + var slots = this.$slots.default; + if (!Array.isArray(slots)) return null; + var element = null; + for (var index = 0; index < slots.length; index++) { + if (slots[index] && slots[index].tag) { + element = slots[index]; + break; + }; + } + return element; + } + }, + + beforeDestroy: function beforeDestroy() { + this.popperVM && this.popperVM.$destroy(); + }, + destroyed: function destroyed() { + var reference = this.referenceElm; + if (reference.nodeType === 1) { + Object(dom_["off"])(reference, 'mouseenter', this.show); + Object(dom_["off"])(reference, 'mouseleave', this.hide); + Object(dom_["off"])(reference, 'focus', this.handleFocus); + Object(dom_["off"])(reference, 'blur', this.handleBlur); + Object(dom_["off"])(reference, 'click', this.removeFocusing); + } + } +}); +// CONCATENATED MODULE: ./packages/tooltip/index.js + + +/* istanbul ignore next */ +src_main.install = function (Vue) { + Vue.component(src_main.name, src_main); +}; + +/* harmony default export */ var packages_tooltip = (src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=template&id=6b29b012& +var mainvue_type_template_id_6b29b012_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "msgbox-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-message-box__wrapper", + attrs: { + tabindex: "-1", + role: "dialog", + "aria-modal": "true", + "aria-label": _vm.title || "dialog" + }, + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-message-box", + class: [_vm.customClass, _vm.center && "el-message-box--center"] + }, + [ + _vm.title !== null + ? _c("div", { staticClass: "el-message-box__header" }, [ + _c("div", { staticClass: "el-message-box__title" }, [ + _vm.icon && _vm.center + ? _c("div", { + class: ["el-message-box__status", _vm.icon] + }) + : _vm._e(), + _c("span", [_vm._v(_vm._s(_vm.title))]) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-message-box__headerbtn", + attrs: { type: "button", "aria-label": "Close" }, + on: { + click: function($event) { + _vm.handleAction( + _vm.distinguishCancelAndClose + ? "close" + : "cancel" + ) + }, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction( + _vm.distinguishCancelAndClose + ? "close" + : "cancel" + ) + } + } + }, + [ + _c("i", { + staticClass: "el-message-box__close el-icon-close" + }) + ] + ) + : _vm._e() + ]) + : _vm._e(), + _c("div", { staticClass: "el-message-box__content" }, [ + _c("div", { staticClass: "el-message-box__container" }, [ + _vm.icon && !_vm.center && _vm.message !== "" + ? _c("div", { class: ["el-message-box__status", _vm.icon] }) + : _vm._e(), + _vm.message !== "" + ? _c( + "div", + { staticClass: "el-message-box__message" }, + [ + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", [_vm._v(_vm._s(_vm.message))]) + : _c("p", { + domProps: { innerHTML: _vm._s(_vm.message) } + }) + ]) + ], + 2 + ) + : _vm._e() + ]), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showInput, + expression: "showInput" + } + ], + staticClass: "el-message-box__input" + }, + [ + _c("el-input", { + ref: "input", + attrs: { + type: _vm.inputType, + placeholder: _vm.inputPlaceholder + }, + nativeOn: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.handleInputEnter($event) + } + }, + model: { + value: _vm.inputValue, + callback: function($$v) { + _vm.inputValue = $$v + }, + expression: "inputValue" + } + }), + _c( + "div", + { + staticClass: "el-message-box__errormsg", + style: { + visibility: !!_vm.editorErrorMessage + ? "visible" + : "hidden" + } + }, + [_vm._v(_vm._s(_vm.editorErrorMessage))] + ) + ], + 1 + ) + ]), + _c( + "div", + { staticClass: "el-message-box__btns" }, + [ + _vm.showCancelButton + ? _c( + "el-button", + { + class: [_vm.cancelButtonClasses], + attrs: { + loading: _vm.cancelButtonLoading, + round: _vm.roundButton, + size: "small" + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction("cancel") + } + }, + nativeOn: { + click: function($event) { + _vm.handleAction("cancel") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s( + _vm.cancelButtonText || + _vm.t("el.messagebox.cancel") + ) + + "\n " + ) + ] + ) + : _vm._e(), + _c( + "el-button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showConfirmButton, + expression: "showConfirmButton" + } + ], + ref: "confirm", + class: [_vm.confirmButtonClasses], + attrs: { + loading: _vm.confirmButtonLoading, + round: _vm.roundButton, + size: "small" + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction("confirm") + } + }, + nativeOn: { + click: function($event) { + _vm.handleAction("confirm") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s( + _vm.confirmButtonText || + _vm.t("el.messagebox.confirm") + ) + + "\n " + ) + ] + ) + ], + 1 + ) + ] + ) + ] + ) + ]) +} +var mainvue_type_template_id_6b29b012_staticRenderFns = [] +mainvue_type_template_id_6b29b012_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=template&id=6b29b012& + +// EXTERNAL MODULE: external "element-ui/lib/locale" +var lib_locale_ = __webpack_require__(12); +var lib_locale_default = /*#__PURE__*/__webpack_require__.n(lib_locale_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/aria-dialog" +var aria_dialog_ = __webpack_require__(40); +var aria_dialog_default = /*#__PURE__*/__webpack_require__.n(aria_dialog_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var messageBox = void 0; +var typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var message_box_src_mainvue_type_script_lang_js_ = ({ + mixins: [popup_default.a, locale_default.a], + + props: { + modal: { + default: true + }, + lockScroll: { + default: true + }, + showClose: { + type: Boolean, + default: true + }, + closeOnClickModal: { + default: true + }, + closeOnPressEscape: { + default: true + }, + closeOnHashChange: { + default: true + }, + center: { + default: false, + type: Boolean + }, + roundButton: { + default: false, + type: Boolean + } + }, + + components: { + ElInput: input_default.a, + ElButton: button_default.a + }, + + computed: { + icon: function icon() { + var type = this.type, + iconClass = this.iconClass; + + return iconClass || (type && typeMap[type] ? 'el-icon-' + typeMap[type] : ''); + }, + confirmButtonClasses: function confirmButtonClasses() { + return 'el-button--primary ' + this.confirmButtonClass; + }, + cancelButtonClasses: function cancelButtonClasses() { + return '' + this.cancelButtonClass; + } + }, + + methods: { + getSafeClose: function getSafeClose() { + var _this = this; + + var currentId = this.uid; + return function () { + _this.$nextTick(function () { + if (currentId === _this.uid) _this.doClose(); + }); + }; + }, + doClose: function doClose() { + var _this2 = this; + + if (!this.visible) return; + this.visible = false; + this._closing = true; + + this.onClose && this.onClose(); + messageBox.closeDialog(); // 閫�蝏� + if (this.lockScroll) { + setTimeout(this.restoreBodyStyle, 200); + } + this.opened = false; + this.doAfterClose(); + setTimeout(function () { + if (_this2.action) _this2.callback(_this2.action, _this2); + }); + }, + handleWrapperClick: function handleWrapperClick() { + if (this.closeOnClickModal) { + this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel'); + } + }, + handleInputEnter: function handleInputEnter() { + if (this.inputType !== 'textarea') { + return this.handleAction('confirm'); + } + }, + handleAction: function handleAction(action) { + if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) { + return; + } + this.action = action; + if (typeof this.beforeClose === 'function') { + this.close = this.getSafeClose(); + this.beforeClose(action, this, this.close); + } else { + this.doClose(); + } + }, + validate: function validate() { + if (this.$type === 'prompt') { + var inputPattern = this.inputPattern; + if (inputPattern && !inputPattern.test(this.inputValue || '')) { + this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error'); + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + var inputValidator = this.inputValidator; + if (typeof inputValidator === 'function') { + var validateResult = inputValidator(this.inputValue); + if (validateResult === false) { + this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error'); + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + if (typeof validateResult === 'string') { + this.editorErrorMessage = validateResult; + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + } + } + this.editorErrorMessage = ''; + Object(dom_["removeClass"])(this.getInputElement(), 'invalid'); + return true; + }, + getFirstFocus: function getFirstFocus() { + var btn = this.$el.querySelector('.el-message-box__btns .el-button'); + var title = this.$el.querySelector('.el-message-box__btns .el-message-box__title'); + return btn || title; + }, + getInputElement: function getInputElement() { + var inputRefs = this.$refs.input.$refs; + return inputRefs.input || inputRefs.textarea; + }, + handleClose: function handleClose() { + this.handleAction('close'); + } + }, + + watch: { + inputValue: { + immediate: true, + handler: function handler(val) { + var _this3 = this; + + this.$nextTick(function (_) { + if (_this3.$type === 'prompt' && val !== null) { + _this3.validate(); + } + }); + } + }, + + visible: function visible(val) { + var _this4 = this; + + if (val) { + this.uid++; + if (this.$type === 'alert' || this.$type === 'confirm') { + this.$nextTick(function () { + _this4.$refs.confirm.$el.focus(); + }); + } + this.focusAfterClosed = document.activeElement; + messageBox = new aria_dialog_default.a(this.$el, this.focusAfterClosed, this.getFirstFocus()); + } + + // prompt + if (this.$type !== 'prompt') return; + if (val) { + setTimeout(function () { + if (_this4.$refs.input && _this4.$refs.input.$el) { + _this4.getInputElement().focus(); + } + }, 500); + } else { + this.editorErrorMessage = ''; + Object(dom_["removeClass"])(this.getInputElement(), 'invalid'); + } + } + }, + + mounted: function mounted() { + var _this5 = this; + + this.$nextTick(function () { + if (_this5.closeOnHashChange) { + window.addEventListener('hashchange', _this5.close); + } + }); + }, + beforeDestroy: function beforeDestroy() { + if (this.closeOnHashChange) { + window.removeEventListener('hashchange', this.close); + } + setTimeout(function () { + messageBox.closeDialog(); + }); + }, + data: function data() { + return { + uid: 1, + title: undefined, + message: '', + type: '', + iconClass: '', + customClass: '', + showInput: false, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + action: '', + confirmButtonText: '', + cancelButtonText: '', + confirmButtonLoading: false, + cancelButtonLoading: false, + confirmButtonClass: '', + confirmButtonDisabled: false, + cancelButtonClass: '', + editorErrorMessage: null, + callback: null, + dangerouslyUseHTMLString: false, + focusAfterClosed: null, + isOnComposition: false, + distinguishCancelAndClose: false + }; + } +}); +// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_message_box_src_mainvue_type_script_lang_js_ = (message_box_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/message-box/src/main.vue + + + + + +/* normalize component */ + +var src_main_component = normalizeComponent( + packages_message_box_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_6b29b012_render, + mainvue_type_template_id_6b29b012_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_main_api; } +src_main_component.options.__file = "packages/message-box/src/main.vue" +/* harmony default export */ var message_box_src_main = (src_main_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/vdom" +var vdom_ = __webpack_require__(22); + +// CONCATENATED MODULE: ./packages/message-box/src/main.js +var main_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var main_defaults = { + title: null, + message: '', + type: '', + iconClass: '', + showInput: false, + showClose: true, + modalFade: true, + lockScroll: true, + closeOnClickModal: true, + closeOnPressEscape: true, + closeOnHashChange: true, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + confirmButtonPosition: 'right', + confirmButtonHighlight: false, + cancelButtonHighlight: false, + confirmButtonText: '', + cancelButtonText: '', + confirmButtonClass: '', + cancelButtonClass: '', + customClass: '', + beforeClose: null, + dangerouslyUseHTMLString: false, + center: false, + roundButton: false, + distinguishCancelAndClose: false +}; + + + + + + +var MessageBoxConstructor = external_vue_default.a.extend(message_box_src_main); + +var currentMsg = void 0, + main_instance = void 0; +var msgQueue = []; + +var defaultCallback = function defaultCallback(action) { + if (currentMsg) { + var callback = currentMsg.callback; + if (typeof callback === 'function') { + if (main_instance.showInput) { + callback(main_instance.inputValue, action); + } else { + callback(action); + } + } + if (currentMsg.resolve) { + if (action === 'confirm') { + if (main_instance.showInput) { + currentMsg.resolve({ value: main_instance.inputValue, action: action }); + } else { + currentMsg.resolve(action); + } + } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) { + currentMsg.reject(action); + } + } + } +}; + +var initInstance = function initInstance() { + main_instance = new MessageBoxConstructor({ + el: document.createElement('div') + }); + + main_instance.callback = defaultCallback; +}; + +var main_showNextMsg = function showNextMsg() { + if (!main_instance) { + initInstance(); + } + main_instance.action = ''; + + if (!main_instance.visible || main_instance.closeTimer) { + if (msgQueue.length > 0) { + currentMsg = msgQueue.shift(); + + var options = currentMsg.options; + for (var prop in options) { + if (options.hasOwnProperty(prop)) { + main_instance[prop] = options[prop]; + } + } + if (options.callback === undefined) { + main_instance.callback = defaultCallback; + } + + var oldCb = main_instance.callback; + main_instance.callback = function (action, instance) { + oldCb(action, instance); + showNextMsg(); + }; + if (Object(vdom_["isVNode"])(main_instance.message)) { + main_instance.$slots.default = [main_instance.message]; + main_instance.message = null; + } else { + delete main_instance.$slots.default; + } + ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(function (prop) { + if (main_instance[prop] === undefined) { + main_instance[prop] = true; + } + }); + document.body.appendChild(main_instance.$el); + + external_vue_default.a.nextTick(function () { + main_instance.visible = true; + }); + } + } +}; + +var main_MessageBox = function MessageBox(options, callback) { + if (external_vue_default.a.prototype.$isServer) return; + if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) { + options = { + message: options + }; + if (typeof arguments[1] === 'string') { + options.title = arguments[1]; + } + } else if (options.callback && !callback) { + callback = options.callback; + } + + if (typeof Promise !== 'undefined') { + return new Promise(function (resolve, reject) { + // eslint-disable-line + msgQueue.push({ + options: merge_default()({}, main_defaults, MessageBox.defaults, options), + callback: callback, + resolve: resolve, + reject: reject + }); + + main_showNextMsg(); + }); + } else { + msgQueue.push({ + options: merge_default()({}, main_defaults, MessageBox.defaults, options), + callback: callback + }); + + main_showNextMsg(); + } +}; + +main_MessageBox.setDefaults = function (defaults) { + main_MessageBox.defaults = defaults; +}; + +main_MessageBox.alert = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : main_typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + $type: 'alert', + closeOnPressEscape: false, + closeOnClickModal: false + }, options)); +}; + +main_MessageBox.confirm = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : main_typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + $type: 'confirm', + showCancelButton: true + }, options)); +}; + +main_MessageBox.prompt = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : main_typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + showCancelButton: true, + showInput: true, + $type: 'prompt' + }, options)); +}; + +main_MessageBox.close = function () { + main_instance.doClose(); + main_instance.visible = false; + msgQueue = []; + currentMsg = null; +}; + +/* harmony default export */ var packages_message_box_src_main = (main_MessageBox); + +// CONCATENATED MODULE: ./packages/message-box/index.js + +/* harmony default export */ var message_box = (packages_message_box_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06& +var breadcrumbvue_type_template_id_4b464c06_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-breadcrumb", + attrs: { "aria-label": "Breadcrumb", role: "navigation" } + }, + [_vm._t("default")], + 2 + ) +} +var breadcrumbvue_type_template_id_4b464c06_staticRenderFns = [] +breadcrumbvue_type_template_id_4b464c06_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=template&id=4b464c06& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var breadcrumbvue_type_script_lang_js_ = ({ + name: 'ElBreadcrumb', + + props: { + separator: { + type: String, + default: '/' + }, + separatorClass: { + type: String, + default: '' + } + }, + + provide: function provide() { + return { + elBreadcrumb: this + }; + }, + mounted: function mounted() { + var items = this.$el.querySelectorAll('.el-breadcrumb__item'); + if (items.length) { + items[items.length - 1].setAttribute('aria-current', 'page'); + } + } +}); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue?vue&type=script&lang=js& + /* harmony default export */ var src_breadcrumbvue_type_script_lang_js_ = (breadcrumbvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb.vue + + + + + +/* normalize component */ + +var breadcrumb_component = normalizeComponent( + src_breadcrumbvue_type_script_lang_js_, + breadcrumbvue_type_template_id_4b464c06_render, + breadcrumbvue_type_template_id_4b464c06_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var breadcrumb_api; } +breadcrumb_component.options.__file = "packages/breadcrumb/src/breadcrumb.vue" +/* harmony default export */ var breadcrumb = (breadcrumb_component.exports); +// CONCATENATED MODULE: ./packages/breadcrumb/index.js + + +/* istanbul ignore next */ +breadcrumb.install = function (Vue) { + Vue.component(breadcrumb.name, breadcrumb); +}; + +/* harmony default export */ var packages_breadcrumb = (breadcrumb); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac& +var breadcrumb_itemvue_type_template_id_fcf9eaac_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("span", { staticClass: "el-breadcrumb__item" }, [ + _c( + "span", + { + ref: "link", + class: ["el-breadcrumb__inner", _vm.to ? "is-link" : ""], + attrs: { role: "link" } + }, + [_vm._t("default")], + 2 + ), + _vm.separatorClass + ? _c("i", { + staticClass: "el-breadcrumb__separator", + class: _vm.separatorClass + }) + : _c( + "span", + { + staticClass: "el-breadcrumb__separator", + attrs: { role: "presentation" } + }, + [_vm._v(_vm._s(_vm.separator))] + ) + ]) +} +var breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns = [] +breadcrumb_itemvue_type_template_id_fcf9eaac_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=template&id=fcf9eaac& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var breadcrumb_itemvue_type_script_lang_js_ = ({ + name: 'ElBreadcrumbItem', + props: { + to: {}, + replace: Boolean + }, + data: function data() { + return { + separator: '', + separatorClass: '' + }; + }, + + + inject: ['elBreadcrumb'], + + mounted: function mounted() { + var _this = this; + + this.separator = this.elBreadcrumb.separator; + this.separatorClass = this.elBreadcrumb.separatorClass; + var link = this.$refs.link; + link.setAttribute('role', 'link'); + link.addEventListener('click', function (_) { + var to = _this.to, + $router = _this.$router; + + if (!to || !$router) return; + _this.replace ? $router.replace(to) : $router.push(to); + }); + } +}); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_breadcrumb_itemvue_type_script_lang_js_ = (breadcrumb_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/breadcrumb/src/breadcrumb-item.vue + + + + + +/* normalize component */ + +var breadcrumb_item_component = normalizeComponent( + src_breadcrumb_itemvue_type_script_lang_js_, + breadcrumb_itemvue_type_template_id_fcf9eaac_render, + breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var breadcrumb_item_api; } +breadcrumb_item_component.options.__file = "packages/breadcrumb/src/breadcrumb-item.vue" +/* harmony default export */ var breadcrumb_item = (breadcrumb_item_component.exports); +// CONCATENATED MODULE: ./packages/breadcrumb-item/index.js + + +/* istanbul ignore next */ +breadcrumb_item.install = function (Vue) { + Vue.component(breadcrumb_item.name, breadcrumb_item); +}; + +/* harmony default export */ var packages_breadcrumb_item = (breadcrumb_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& +var formvue_type_template_id_a1b5ff34_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "form", + { + staticClass: "el-form", + class: [ + _vm.labelPosition ? "el-form--label-" + _vm.labelPosition : "", + { "el-form--inline": _vm.inline } + ] + }, + [_vm._t("default")], + 2 + ) +} +var formvue_type_template_id_a1b5ff34_staticRenderFns = [] +formvue_type_template_id_a1b5ff34_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var formvue_type_script_lang_js_ = ({ + name: 'ElForm', + + componentName: 'ElForm', + + provide: function provide() { + return { + elForm: this + }; + }, + + + props: { + model: Object, + rules: Object, + labelPosition: String, + labelWidth: String, + labelSuffix: { + type: String, + default: '' + }, + inline: Boolean, + inlineMessage: Boolean, + statusIcon: Boolean, + showMessage: { + type: Boolean, + default: true + }, + size: String, + disabled: Boolean, + validateOnRuleChange: { + type: Boolean, + default: true + }, + hideRequiredAsterisk: { + type: Boolean, + default: false + } + }, + watch: { + rules: function rules() { + // remove then add event listeners on form-item after form rules change + this.fields.forEach(function (field) { + field.removeValidateEvents(); + field.addValidateEvents(); + }); + + if (this.validateOnRuleChange) { + this.validate(function () {}); + } + } + }, + computed: { + autoLabelWidth: function autoLabelWidth() { + if (!this.potentialLabelWidthArr.length) return 0; + var max = Math.max.apply(Math, this.potentialLabelWidthArr); + return max ? max + 'px' : ''; + } + }, + data: function data() { + return { + fields: [], + potentialLabelWidthArr: [] // use this array to calculate auto width + }; + }, + created: function created() { + var _this = this; + + this.$on('el.form.addField', function (field) { + if (field) { + _this.fields.push(field); + } + }); + /* istanbul ignore next */ + this.$on('el.form.removeField', function (field) { + if (field.prop) { + _this.fields.splice(_this.fields.indexOf(field), 1); + } + }); + }, + + methods: { + resetFields: function resetFields() { + if (!this.model) { + console.warn('[Element Warn][Form]model is required for resetFields to work.'); + return; + } + this.fields.forEach(function (field) { + field.resetField(); + }); + }, + clearValidate: function clearValidate() { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + + var fields = props.length ? typeof props === 'string' ? this.fields.filter(function (field) { + return props === field.prop; + }) : this.fields.filter(function (field) { + return props.indexOf(field.prop) > -1; + }) : this.fields; + fields.forEach(function (field) { + field.clearValidate(); + }); + }, + validate: function validate(callback) { + var _this2 = this; + + if (!this.model) { + console.warn('[Element Warn][Form]model is required for validate to work!'); + return; + } + + var promise = void 0; + // if no callback, return promise + if (typeof callback !== 'function' && window.Promise) { + promise = new window.Promise(function (resolve, reject) { + callback = function callback(valid, invalidFields) { + valid ? resolve(valid) : reject(invalidFields); + }; + }); + } + + var valid = true; + var count = 0; + // 憒��閬���ields銝箇征嚗�撉�蝡餈�allback + if (this.fields.length === 0 && callback) { + callback(true); + } + var invalidFields = {}; + this.fields.forEach(function (field) { + field.validate('', function (message, field) { + if (message) { + valid = false; + } + invalidFields = merge_default()({}, invalidFields, field); + if (typeof callback === 'function' && ++count === _this2.fields.length) { + callback(valid, invalidFields); + } + }); + }); + + if (promise) { + return promise; + } + }, + validateField: function validateField(props, cb) { + props = [].concat(props); + var fields = this.fields.filter(function (field) { + return props.indexOf(field.prop) !== -1; + }); + if (!fields.length) { + console.warn('[Element Warn]please pass correct props!'); + return; + } + + fields.forEach(function (field) { + field.validate('', cb); + }); + }, + getLabelWidthIndex: function getLabelWidthIndex(width) { + var index = this.potentialLabelWidthArr.indexOf(width); + // it's impossible + if (index === -1) { + throw new Error('[ElementForm]unpected width ', width); + } + return index; + }, + registerLabelWidth: function registerLabelWidth(val, oldVal) { + if (val && oldVal) { + var index = this.getLabelWidthIndex(oldVal); + this.potentialLabelWidthArr.splice(index, 1, val); + } else if (val) { + this.potentialLabelWidthArr.push(val); + } + }, + deregisterLabelWidth: function deregisterLabelWidth(val) { + var index = this.getLabelWidthIndex(val); + this.potentialLabelWidthArr.splice(index, 1); + } + } +}); +// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=script&lang=js& + /* harmony default export */ var src_formvue_type_script_lang_js_ = (formvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/form/src/form.vue + + + + + +/* normalize component */ + +var form_component = normalizeComponent( + src_formvue_type_script_lang_js_, + formvue_type_template_id_a1b5ff34_render, + formvue_type_template_id_a1b5ff34_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var form_api; } +form_component.options.__file = "packages/form/src/form.vue" +/* harmony default export */ var src_form = (form_component.exports); +// CONCATENATED MODULE: ./packages/form/index.js + + +/* istanbul ignore next */ +src_form.install = function (Vue) { + Vue.component(src_form.name, src_form); +}; + +/* harmony default export */ var packages_form = (src_form); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c& +var form_itemvue_type_template_id_b6f3db6c_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-form-item", + class: [ + { + "el-form-item--feedback": _vm.elForm && _vm.elForm.statusIcon, + "is-error": _vm.validateState === "error", + "is-validating": _vm.validateState === "validating", + "is-success": _vm.validateState === "success", + "is-required": _vm.isRequired || _vm.required, + "is-no-asterisk": _vm.elForm && _vm.elForm.hideRequiredAsterisk + }, + _vm.sizeClass ? "el-form-item--" + _vm.sizeClass : "" + ] + }, + [ + _c( + "label-wrap", + { + attrs: { + "is-auto-width": _vm.labelStyle && _vm.labelStyle.width === "auto", + "update-all": _vm.form.labelWidth === "auto" + } + }, + [ + _vm.label || _vm.$slots.label + ? _c( + "label", + { + staticClass: "el-form-item__label", + style: _vm.labelStyle, + attrs: { for: _vm.labelFor } + }, + [ + _vm._t("label", [ + _vm._v(_vm._s(_vm.label + _vm.form.labelSuffix)) + ]) + ], + 2 + ) + : _vm._e() + ] + ), + _c( + "div", + { staticClass: "el-form-item__content", style: _vm.contentStyle }, + [ + _vm._t("default"), + _c( + "transition", + { attrs: { name: "el-zoom-in-top" } }, + [ + _vm.validateState === "error" && + _vm.showMessage && + _vm.form.showMessage + ? _vm._t( + "error", + [ + _c( + "div", + { + staticClass: "el-form-item__error", + class: { + "el-form-item__error--inline": + typeof _vm.inlineMessage === "boolean" + ? _vm.inlineMessage + : (_vm.elForm && _vm.elForm.inlineMessage) || + false + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.validateMessage) + + "\n " + ) + ] + ) + ], + { error: _vm.validateMessage } + ) + : _vm._e() + ], + 2 + ) + ], + 2 + ) + ], + 1 + ) +} +var form_itemvue_type_template_id_b6f3db6c_staticRenderFns = [] +form_itemvue_type_template_id_b6f3db6c_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c& + +// EXTERNAL MODULE: external "async-validator" +var external_async_validator_ = __webpack_require__(41); +var external_async_validator_default = /*#__PURE__*/__webpack_require__.n(external_async_validator_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/label-wrap.vue?vue&type=script&lang=js& + + +/* harmony default export */ var label_wrapvue_type_script_lang_js_ = ({ + props: { + isAutoWidth: Boolean, + updateAll: Boolean + }, + + inject: ['elForm', 'elFormItem'], + + render: function render() { + var h = arguments[0]; + + var slots = this.$slots.default; + if (!slots) return null; + if (this.isAutoWidth) { + var autoLabelWidth = this.elForm.autoLabelWidth; + var style = {}; + if (autoLabelWidth && autoLabelWidth !== 'auto') { + var marginLeft = parseInt(autoLabelWidth, 10) - this.computedWidth; + if (marginLeft) { + style.marginLeft = marginLeft + 'px'; + } + } + return h( + 'div', + { 'class': 'el-form-item__label-wrap', style: style }, + [slots] + ); + } else { + return slots[0]; + } + }, + + + methods: { + getLabelWidth: function getLabelWidth() { + if (this.$el && this.$el.firstElementChild) { + var computedWidth = window.getComputedStyle(this.$el.firstElementChild).width; + return Math.ceil(parseFloat(computedWidth)); + } else { + return 0; + } + }, + updateLabelWidth: function updateLabelWidth() { + var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'update'; + + if (this.$slots.default && this.isAutoWidth && this.$el.firstElementChild) { + if (action === 'update') { + this.computedWidth = this.getLabelWidth(); + } else if (action === 'remove') { + this.elForm.deregisterLabelWidth(this.computedWidth); + } + } + } + }, + + watch: { + computedWidth: function computedWidth(val, oldVal) { + if (this.updateAll) { + this.elForm.registerLabelWidth(val, oldVal); + this.elFormItem.updateComputedLabelWidth(val); + } + } + }, + + data: function data() { + return { + computedWidth: 0 + }; + }, + mounted: function mounted() { + this.updateLabelWidth('update'); + }, + updated: function updated() { + this.updateLabelWidth('update'); + }, + beforeDestroy: function beforeDestroy() { + this.updateLabelWidth('remove'); + } +}); +// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue?vue&type=script&lang=js& + /* harmony default export */ var src_label_wrapvue_type_script_lang_js_ = (label_wrapvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue +var label_wrap_render, label_wrap_staticRenderFns + + + + +/* normalize component */ + +var label_wrap_component = normalizeComponent( + src_label_wrapvue_type_script_lang_js_, + label_wrap_render, + label_wrap_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var label_wrap_api; } +label_wrap_component.options.__file = "packages/form/src/label-wrap.vue" +/* harmony default export */ var label_wrap = (label_wrap_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var form_itemvue_type_script_lang_js_ = ({ + name: 'ElFormItem', + + componentName: 'ElFormItem', + + mixins: [emitter_default.a], + + provide: function provide() { + return { + elFormItem: this + }; + }, + + + inject: ['elForm'], + + props: { + label: String, + labelWidth: String, + prop: String, + required: { + type: Boolean, + default: undefined + }, + rules: [Object, Array], + error: String, + validateStatus: String, + for: String, + inlineMessage: { + type: [String, Boolean], + default: '' + }, + showMessage: { + type: Boolean, + default: true + }, + size: String + }, + components: { + // use this component to calculate auto width + LabelWrap: label_wrap + }, + watch: { + error: { + immediate: true, + handler: function handler(value) { + this.validateMessage = value; + this.validateState = value ? 'error' : ''; + } + }, + validateStatus: function validateStatus(value) { + this.validateState = value; + }, + rules: function rules(value) { + if ((!value || value.length === 0) && this.required === undefined) { + this.clearValidate(); + } + } + }, + computed: { + labelFor: function labelFor() { + return this.for || this.prop; + }, + labelStyle: function labelStyle() { + var ret = {}; + if (this.form.labelPosition === 'top') return ret; + var labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth) { + ret.width = labelWidth; + } + return ret; + }, + contentStyle: function contentStyle() { + var ret = {}; + var label = this.label; + if (this.form.labelPosition === 'top' || this.form.inline) return ret; + if (!label && !this.labelWidth && this.isNested) return ret; + var labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth === 'auto') { + if (this.labelWidth === 'auto') { + ret.marginLeft = this.computedLabelWidth; + } else if (this.form.labelWidth === 'auto') { + ret.marginLeft = this.elForm.autoLabelWidth; + } + } else { + ret.marginLeft = labelWidth; + } + return ret; + }, + form: function form() { + var parent = this.$parent; + var parentName = parent.$options.componentName; + while (parentName !== 'ElForm') { + if (parentName === 'ElFormItem') { + this.isNested = true; + } + parent = parent.$parent; + parentName = parent.$options.componentName; + } + return parent; + }, + fieldValue: function fieldValue() { + var model = this.form.model; + if (!model || !this.prop) { + return; + } + + var path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + return Object(util_["getPropByPath"])(model, path, true).v; + }, + isRequired: function isRequired() { + var rules = this.getRules(); + var isRequired = false; + + if (rules && rules.length) { + rules.every(function (rule) { + if (rule.required) { + isRequired = true; + return false; + } + return true; + }); + } + return isRequired; + }, + _formSize: function _formSize() { + return this.elForm.size; + }, + elFormItemSize: function elFormItemSize() { + return this.size || this._formSize; + }, + sizeClass: function sizeClass() { + return this.elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + data: function data() { + return { + validateState: '', + validateMessage: '', + validateDisabled: false, + validator: {}, + isNested: false, + computedLabelWidth: '' + }; + }, + + methods: { + validate: function validate(trigger) { + var _this = this; + + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : util_["noop"]; + + this.validateDisabled = false; + var rules = this.getFilteredRule(trigger); + if ((!rules || rules.length === 0) && this.required === undefined) { + callback(); + return true; + } + + this.validateState = 'validating'; + + var descriptor = {}; + if (rules && rules.length > 0) { + rules.forEach(function (rule) { + delete rule.trigger; + }); + } + descriptor[this.prop] = rules; + + var validator = new external_async_validator_default.a(descriptor); + var model = {}; + + model[this.prop] = this.fieldValue; + + validator.validate(model, { firstFields: true }, function (errors, invalidFields) { + _this.validateState = !errors ? 'success' : 'error'; + _this.validateMessage = errors ? errors[0].message : ''; + + callback(_this.validateMessage, invalidFields); + _this.elForm && _this.elForm.$emit('validate', _this.prop, !errors, _this.validateMessage || null); + }); + }, + clearValidate: function clearValidate() { + this.validateState = ''; + this.validateMessage = ''; + this.validateDisabled = false; + }, + resetField: function resetField() { + var _this2 = this; + + this.validateState = ''; + this.validateMessage = ''; + + var model = this.form.model; + var value = this.fieldValue; + var path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + var prop = Object(util_["getPropByPath"])(model, path, true); + + this.validateDisabled = true; + if (Array.isArray(value)) { + prop.o[prop.k] = [].concat(this.initialValue); + } else { + prop.o[prop.k] = this.initialValue; + } + + // reset validateDisabled after onFieldChange triggered + this.$nextTick(function () { + _this2.validateDisabled = false; + }); + + this.broadcast('ElTimeSelect', 'fieldReset', this.initialValue); + }, + getRules: function getRules() { + var formRules = this.form.rules; + var selfRules = this.rules; + var requiredRule = this.required !== undefined ? { required: !!this.required } : []; + + var prop = Object(util_["getPropByPath"])(formRules, this.prop || ''); + formRules = formRules ? prop.o[this.prop || ''] || prop.v : []; + + return [].concat(selfRules || formRules || []).concat(requiredRule); + }, + getFilteredRule: function getFilteredRule(trigger) { + var rules = this.getRules(); + + return rules.filter(function (rule) { + if (!rule.trigger || trigger === '') return true; + if (Array.isArray(rule.trigger)) { + return rule.trigger.indexOf(trigger) > -1; + } else { + return rule.trigger === trigger; + } + }).map(function (rule) { + return merge_default()({}, rule); + }); + }, + onFieldBlur: function onFieldBlur() { + this.validate('blur'); + }, + onFieldChange: function onFieldChange() { + if (this.validateDisabled) { + this.validateDisabled = false; + return; + } + + this.validate('change'); + }, + updateComputedLabelWidth: function updateComputedLabelWidth(width) { + this.computedLabelWidth = width ? width + 'px' : ''; + }, + addValidateEvents: function addValidateEvents() { + var rules = this.getRules(); + + if (rules.length || this.required !== undefined) { + this.$on('el.form.blur', this.onFieldBlur); + this.$on('el.form.change', this.onFieldChange); + } + }, + removeValidateEvents: function removeValidateEvents() { + this.$off(); + } + }, + mounted: function mounted() { + if (this.prop) { + this.dispatch('ElForm', 'el.form.addField', [this]); + + var initialValue = this.fieldValue; + if (Array.isArray(initialValue)) { + initialValue = [].concat(initialValue); + } + Object.defineProperty(this, 'initialValue', { + value: initialValue + }); + + this.addValidateEvents(); + } + }, + beforeDestroy: function beforeDestroy() { + this.dispatch('ElForm', 'el.form.removeField', [this]); + } +}); +// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_form_itemvue_type_script_lang_js_ = (form_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/form/src/form-item.vue + + + + + +/* normalize component */ + +var form_item_component = normalizeComponent( + src_form_itemvue_type_script_lang_js_, + form_itemvue_type_template_id_b6f3db6c_render, + form_itemvue_type_template_id_b6f3db6c_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var form_item_api; } +form_item_component.options.__file = "packages/form/src/form-item.vue" +/* harmony default export */ var form_item = (form_item_component.exports); +// CONCATENATED MODULE: ./packages/form-item/index.js + + +/* istanbul ignore next */ +form_item.install = function (Vue) { + Vue.component(form_item.name, form_item); +}; + +/* harmony default export */ var packages_form_item = (form_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a& +var tab_barvue_type_template_id_2031f33a_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { + staticClass: "el-tabs__active-bar", + class: "is-" + _vm.rootTabs.tabPosition, + style: _vm.barStyle + }) +} +var tab_barvue_type_template_id_2031f33a_staticRenderFns = [] +tab_barvue_type_template_id_2031f33a_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js& +// +// +// + + +/* harmony default export */ var tab_barvue_type_script_lang_js_ = ({ + name: 'TabBar', + + props: { + tabs: Array + }, + + inject: ['rootTabs'], + + computed: { + barStyle: { + get: function get() { + var _this = this; + + var style = {}; + var offset = 0; + var tabSize = 0; + var sizeName = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + var sizeDir = sizeName === 'width' ? 'x' : 'y'; + var firstUpperCase = function firstUpperCase(str) { + return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) { + return L.toUpperCase(); + }); + }; + this.tabs.every(function (tab, index) { + var $el = Object(util_["arrayFind"])(_this.$parent.$refs.tabs || [], function (t) { + return t.id.replace('tab-', '') === tab.paneName; + }); + if (!$el) { + return false; + } + + if (!tab.active) { + offset += $el['client' + firstUpperCase(sizeName)]; + return true; + } else { + tabSize = $el['client' + firstUpperCase(sizeName)]; + var tabStyles = window.getComputedStyle($el); + if (sizeName === 'width' && _this.tabs.length > 1) { + tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight); + } + if (sizeName === 'width') { + offset += parseFloat(tabStyles.paddingLeft); + } + return false; + } + }); + + var transform = 'translate' + firstUpperCase(sizeDir) + '(' + offset + 'px)'; + style[sizeName] = tabSize + 'px'; + style.transform = transform; + style.msTransform = transform; + style.webkitTransform = transform; + + return style; + } + } + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_barvue_type_script_lang_js_ = (tab_barvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue + + + + + +/* normalize component */ + +var tab_bar_component = normalizeComponent( + src_tab_barvue_type_script_lang_js_, + tab_barvue_type_template_id_2031f33a_render, + tab_barvue_type_template_id_2031f33a_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tab_bar_api; } +tab_bar_component.options.__file = "packages/tabs/src/tab-bar.vue" +/* harmony default export */ var tab_bar = (tab_bar_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js& + + + + +function noop() {} +var tab_navvue_type_script_lang_js_firstUpperCase = function firstUpperCase(str) { + return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) { + return L.toUpperCase(); + }); +}; + +/* harmony default export */ var tab_navvue_type_script_lang_js_ = ({ + name: 'TabNav', + + components: { + TabBar: tab_bar + }, + + inject: ['rootTabs'], + + props: { + panes: Array, + currentName: String, + editable: Boolean, + onTabClick: { + type: Function, + default: noop + }, + onTabRemove: { + type: Function, + default: noop + }, + type: String, + stretch: Boolean + }, + + data: function data() { + return { + scrollable: false, + navOffset: 0, + isFocus: false, + focusable: true + }; + }, + + + computed: { + navStyle: function navStyle() { + var dir = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'X' : 'Y'; + return { + transform: 'translate' + dir + '(-' + this.navOffset + 'px)' + }; + }, + sizeName: function sizeName() { + return ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + } + }, + + methods: { + scrollPrev: function scrollPrev() { + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var currentOffset = this.navOffset; + + if (!currentOffset) return; + + var newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0; + + this.navOffset = newOffset; + }, + scrollNext: function scrollNext() { + var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var currentOffset = this.navOffset; + + if (navSize - currentOffset <= containerSize) return; + + var newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize; + + this.navOffset = newOffset; + }, + scrollToActiveTab: function scrollToActiveTab() { + if (!this.scrollable) return; + var nav = this.$refs.nav; + var activeTab = this.$el.querySelector('.is-active'); + if (!activeTab) return; + var navScroll = this.$refs.navScroll; + var isHorizontal = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1; + var activeTabBounding = activeTab.getBoundingClientRect(); + var navScrollBounding = navScroll.getBoundingClientRect(); + var maxOffset = isHorizontal ? nav.offsetWidth - navScrollBounding.width : nav.offsetHeight - navScrollBounding.height; + var currentOffset = this.navOffset; + var newOffset = currentOffset; + + if (isHorizontal) { + if (activeTabBounding.left < navScrollBounding.left) { + newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left); + } + if (activeTabBounding.right > navScrollBounding.right) { + newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right; + } + } else { + if (activeTabBounding.top < navScrollBounding.top) { + newOffset = currentOffset - (navScrollBounding.top - activeTabBounding.top); + } + if (activeTabBounding.bottom > navScrollBounding.bottom) { + newOffset = currentOffset + (activeTabBounding.bottom - navScrollBounding.bottom); + } + } + newOffset = Math.max(newOffset, 0); + this.navOffset = Math.min(newOffset, maxOffset); + }, + update: function update() { + if (!this.$refs.nav) return; + var sizeName = this.sizeName; + var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)]; + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)]; + var currentOffset = this.navOffset; + + if (containerSize < navSize) { + var _currentOffset = this.navOffset; + this.scrollable = this.scrollable || {}; + this.scrollable.prev = _currentOffset; + this.scrollable.next = _currentOffset + containerSize < navSize; + if (navSize - _currentOffset < containerSize) { + this.navOffset = navSize - containerSize; + } + } else { + this.scrollable = false; + if (currentOffset > 0) { + this.navOffset = 0; + } + } + }, + changeTab: function changeTab(e) { + var keyCode = e.keyCode; + var nextIndex = void 0; + var currentIndex = void 0, + tabList = void 0; + if ([37, 38, 39, 40].indexOf(keyCode) !== -1) { + // 撌血銝���tab + tabList = e.currentTarget.querySelectorAll('[role=tab]'); + currentIndex = Array.prototype.indexOf.call(tabList, e.target); + } else { + return; + } + if (keyCode === 37 || keyCode === 38) { + // left + if (currentIndex === 0) { + // first + nextIndex = tabList.length - 1; + } else { + nextIndex = currentIndex - 1; + } + } else { + // right + if (currentIndex < tabList.length - 1) { + // not last + nextIndex = currentIndex + 1; + } else { + nextIndex = 0; + } + } + tabList[nextIndex].focus(); // �������� + tabList[nextIndex].click(); // �葉銝�銝泱ab + this.setFocus(); + }, + setFocus: function setFocus() { + if (this.focusable) { + this.isFocus = true; + } + }, + removeFocus: function removeFocus() { + this.isFocus = false; + }, + visibilityChangeHandler: function visibilityChangeHandler() { + var _this = this; + + var visibility = document.visibilityState; + if (visibility === 'hidden') { + this.focusable = false; + } else if (visibility === 'visible') { + setTimeout(function () { + _this.focusable = true; + }, 50); + } + }, + windowBlurHandler: function windowBlurHandler() { + this.focusable = false; + }, + windowFocusHandler: function windowFocusHandler() { + var _this2 = this; + + setTimeout(function () { + _this2.focusable = true; + }, 50); + } + }, + + updated: function updated() { + this.update(); + }, + render: function render(h) { + var _this3 = this; + + var type = this.type, + panes = this.panes, + editable = this.editable, + stretch = this.stretch, + onTabClick = this.onTabClick, + onTabRemove = this.onTabRemove, + navStyle = this.navStyle, + scrollable = this.scrollable, + scrollNext = this.scrollNext, + scrollPrev = this.scrollPrev, + changeTab = this.changeTab, + setFocus = this.setFocus, + removeFocus = this.removeFocus; + + var scrollBtn = scrollable ? [h( + 'span', + { 'class': ['el-tabs__nav-prev', scrollable.prev ? '' : 'is-disabled'], on: { + 'click': scrollPrev + } + }, + [h('i', { 'class': 'el-icon-arrow-left' })] + ), h( + 'span', + { 'class': ['el-tabs__nav-next', scrollable.next ? '' : 'is-disabled'], on: { + 'click': scrollNext + } + }, + [h('i', { 'class': 'el-icon-arrow-right' })] + )] : null; + + var tabs = this._l(panes, function (pane, index) { + var _ref; + + var tabName = pane.name || pane.index || index; + var closable = pane.isClosable || editable; + + pane.index = '' + index; + + var btnClose = closable ? h('span', { 'class': 'el-icon-close', on: { + 'click': function click(ev) { + onTabRemove(pane, ev); + } + } + }) : null; + + var tabLabelContent = pane.$slots.label || pane.label; + var tabindex = pane.active ? 0 : -1; + return h( + 'div', + { + 'class': (_ref = { + 'el-tabs__item': true + }, _ref['is-' + _this3.rootTabs.tabPosition] = true, _ref['is-active'] = pane.active, _ref['is-disabled'] = pane.disabled, _ref['is-closable'] = closable, _ref['is-focus'] = _this3.isFocus, _ref), + attrs: { id: 'tab-' + tabName, + + 'aria-controls': 'pane-' + tabName, + role: 'tab', + 'aria-selected': pane.active, + + tabindex: tabindex + }, + key: 'tab-' + tabName, ref: 'tabs', refInFor: true, + on: { + 'focus': function focus() { + setFocus(); + }, + 'blur': function blur() { + removeFocus(); + }, + 'click': function click(ev) { + removeFocus();onTabClick(pane, tabName, ev); + }, + 'keydown': function keydown(ev) { + if (closable && (ev.keyCode === 46 || ev.keyCode === 8)) { + onTabRemove(pane, ev); + } + } + } + }, + [tabLabelContent, btnClose] + ); + }); + return h( + 'div', + { 'class': ['el-tabs__nav-wrap', scrollable ? 'is-scrollable' : '', 'is-' + this.rootTabs.tabPosition] }, + [scrollBtn, h( + 'div', + { 'class': ['el-tabs__nav-scroll'], ref: 'navScroll' }, + [h( + 'div', + { + 'class': ['el-tabs__nav', 'is-' + this.rootTabs.tabPosition, stretch && ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'is-stretch' : ''], + ref: 'nav', + style: navStyle, + attrs: { role: 'tablist' + }, + on: { + 'keydown': changeTab + } + }, + [!type ? h('tab-bar', { + attrs: { tabs: panes } + }) : null, tabs] + )] + )] + ); + }, + mounted: function mounted() { + var _this4 = this; + + Object(resize_event_["addResizeListener"])(this.$el, this.update); + document.addEventListener('visibilitychange', this.visibilityChangeHandler); + window.addEventListener('blur', this.windowBlurHandler); + window.addEventListener('focus', this.windowFocusHandler); + setTimeout(function () { + _this4.scrollToActiveTab(); + }, 0); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el && this.update) Object(resize_event_["removeResizeListener"])(this.$el, this.update); + document.removeEventListener('visibilitychange', this.visibilityChangeHandler); + window.removeEventListener('blur', this.windowBlurHandler); + window.removeEventListener('focus', this.windowFocusHandler); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_navvue_type_script_lang_js_ = (tab_navvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue +var tab_nav_render, tab_nav_staticRenderFns + + + + +/* normalize component */ + +var tab_nav_component = normalizeComponent( + src_tab_navvue_type_script_lang_js_, + tab_nav_render, + tab_nav_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tab_nav_api; } +tab_nav_component.options.__file = "packages/tabs/src/tab-nav.vue" +/* harmony default export */ var tab_nav = (tab_nav_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tabs.vue?vue&type=script&lang=js& + + + +/* harmony default export */ var tabsvue_type_script_lang_js_ = ({ + name: 'ElTabs', + + components: { + TabNav: tab_nav + }, + + props: { + type: String, + activeName: String, + closable: Boolean, + addable: Boolean, + value: {}, + editable: Boolean, + tabPosition: { + type: String, + default: 'top' + }, + beforeLeave: Function, + stretch: Boolean + }, + + provide: function provide() { + return { + rootTabs: this + }; + }, + data: function data() { + return { + currentName: this.value || this.activeName, + panes: [] + }; + }, + + + watch: { + activeName: function activeName(value) { + this.setCurrentName(value); + }, + value: function value(_value) { + this.setCurrentName(_value); + }, + currentName: function currentName(value) { + var _this = this; + + if (this.$refs.nav) { + this.$nextTick(function () { + _this.$refs.nav.$nextTick(function (_) { + _this.$refs.nav.scrollToActiveTab(); + }); + }); + } + } + }, + + methods: { + calcPaneInstances: function calcPaneInstances() { + var _this2 = this; + + var isForceUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.$slots.default) { + var paneSlots = this.$slots.default.filter(function (vnode) { + return vnode.tag && vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElTabPane'; + }); + // update indeed + var panes = paneSlots.map(function (_ref) { + var componentInstance = _ref.componentInstance; + return componentInstance; + }); + var panesChanged = !(panes.length === this.panes.length && panes.every(function (pane, index) { + return pane === _this2.panes[index]; + })); + if (isForceUpdate || panesChanged) { + this.panes = panes; + } + } else if (this.panes.length !== 0) { + this.panes = []; + } + }, + handleTabClick: function handleTabClick(tab, tabName, event) { + if (tab.disabled) return; + this.setCurrentName(tabName); + this.$emit('tab-click', tab, event); + }, + handleTabRemove: function handleTabRemove(pane, ev) { + if (pane.disabled) return; + ev.stopPropagation(); + this.$emit('edit', pane.name, 'remove'); + this.$emit('tab-remove', pane.name); + }, + handleTabAdd: function handleTabAdd() { + this.$emit('edit', null, 'add'); + this.$emit('tab-add'); + }, + setCurrentName: function setCurrentName(value) { + var _this3 = this; + + var changeCurrentName = function changeCurrentName() { + _this3.currentName = value; + _this3.$emit('input', value); + }; + if (this.currentName !== value && this.beforeLeave) { + var before = this.beforeLeave(value, this.currentName); + if (before && before.then) { + before.then(function () { + changeCurrentName(); + _this3.$refs.nav && _this3.$refs.nav.removeFocus(); + }, function () { + // https://github.com/ElemeFE/element/pull/14816 + // ignore promise rejection in `before-leave` hook + }); + } else if (before !== false) { + changeCurrentName(); + } + } else { + changeCurrentName(); + } + } + }, + + render: function render(h) { + var _ref2; + + var type = this.type, + handleTabClick = this.handleTabClick, + handleTabRemove = this.handleTabRemove, + handleTabAdd = this.handleTabAdd, + currentName = this.currentName, + panes = this.panes, + editable = this.editable, + addable = this.addable, + tabPosition = this.tabPosition, + stretch = this.stretch; + + + var newButton = editable || addable ? h( + 'span', + { + 'class': 'el-tabs__new-tab', + on: { + 'click': handleTabAdd, + 'keydown': function keydown(ev) { + if (ev.keyCode === 13) { + handleTabAdd(); + } + } + }, + attrs: { + tabindex: '0' + } + }, + [h('i', { 'class': 'el-icon-plus' })] + ) : null; + + var navData = { + props: { + currentName: currentName, + onTabClick: handleTabClick, + onTabRemove: handleTabRemove, + editable: editable, + type: type, + panes: panes, + stretch: stretch + }, + ref: 'nav' + }; + var header = h( + 'div', + { 'class': ['el-tabs__header', 'is-' + tabPosition] }, + [newButton, h('tab-nav', navData)] + ); + var panels = h( + 'div', + { 'class': 'el-tabs__content' }, + [this.$slots.default] + ); + + return h( + 'div', + { 'class': (_ref2 = { + 'el-tabs': true, + 'el-tabs--card': type === 'card' + }, _ref2['el-tabs--' + tabPosition] = true, _ref2['el-tabs--border-card'] = type === 'border-card', _ref2) }, + [tabPosition !== 'bottom' ? [header, panels] : [panels, header]] + ); + }, + created: function created() { + if (!this.currentName) { + this.setCurrentName('0'); + } + + this.$on('tab-nav-update', this.calcPaneInstances.bind(null, true)); + }, + mounted: function mounted() { + this.calcPaneInstances(); + }, + updated: function updated() { + this.calcPaneInstances(); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tabsvue_type_script_lang_js_ = (tabsvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue +var tabs_render, tabs_staticRenderFns + + + + +/* normalize component */ + +var tabs_component = normalizeComponent( + src_tabsvue_type_script_lang_js_, + tabs_render, + tabs_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tabs_api; } +tabs_component.options.__file = "packages/tabs/src/tabs.vue" +/* harmony default export */ var tabs = (tabs_component.exports); +// CONCATENATED MODULE: ./packages/tabs/index.js + + +/* istanbul ignore next */ +tabs.install = function (Vue) { + Vue.component(tabs.name, tabs); +}; + +/* harmony default export */ var packages_tabs = (tabs); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070& +var tab_panevue_type_template_id_9145a070_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.lazy || _vm.loaded || _vm.active + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.active, + expression: "active" + } + ], + staticClass: "el-tab-pane", + attrs: { + role: "tabpanel", + "aria-hidden": !_vm.active, + id: "pane-" + _vm.paneName, + "aria-labelledby": "tab-" + _vm.paneName + } + }, + [_vm._t("default")], + 2 + ) + : _vm._e() +} +var tab_panevue_type_template_id_9145a070_staticRenderFns = [] +tab_panevue_type_template_id_9145a070_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var tab_panevue_type_script_lang_js_ = ({ + name: 'ElTabPane', + + componentName: 'ElTabPane', + + props: { + label: String, + labelContent: Function, + name: String, + closable: Boolean, + disabled: Boolean, + lazy: Boolean + }, + + data: function data() { + return { + index: null, + loaded: false + }; + }, + + + computed: { + isClosable: function isClosable() { + return this.closable || this.$parent.closable; + }, + active: function active() { + var active = this.$parent.currentName === (this.name || this.index); + if (active) { + this.loaded = true; + } + return active; + }, + paneName: function paneName() { + return this.name || this.index; + } + }, + + updated: function updated() { + this.$parent.$emit('tab-nav-update'); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_panevue_type_script_lang_js_ = (tab_panevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue + + + + + +/* normalize component */ + +var tab_pane_component = normalizeComponent( + src_tab_panevue_type_script_lang_js_, + tab_panevue_type_template_id_9145a070_render, + tab_panevue_type_template_id_9145a070_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tab_pane_api; } +tab_pane_component.options.__file = "packages/tabs/src/tab-pane.vue" +/* harmony default export */ var tab_pane = (tab_pane_component.exports); +// CONCATENATED MODULE: ./packages/tab-pane/index.js + + +/* istanbul ignore next */ +tab_pane.install = function (Vue) { + Vue.component(tab_pane.name, tab_pane); +}; + +/* harmony default export */ var packages_tab_pane = (tab_pane); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js& + +/* harmony default export */ var tagvue_type_script_lang_js_ = ({ + name: 'ElTag', + props: { + text: String, + closable: Boolean, + type: String, + hit: Boolean, + disableTransitions: Boolean, + color: String, + size: String, + effect: { + type: String, + default: 'light', + validator: function validator(val) { + return ['dark', 'light', 'plain'].indexOf(val) !== -1; + } + } + }, + methods: { + handleClose: function handleClose(event) { + event.stopPropagation(); + this.$emit('close', event); + }, + handleClick: function handleClick(event) { + this.$emit('click', event); + } + }, + computed: { + tagSize: function tagSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + render: function render(h) { + var type = this.type, + tagSize = this.tagSize, + hit = this.hit, + effect = this.effect; + + var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit']; + var tagEl = h( + 'span', + { + 'class': classes, + style: { backgroundColor: this.color }, + on: { + 'click': this.handleClick + } + }, + [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: { + 'click': this.handleClose + } + })] + ); + + return this.disableTransitions ? tagEl : h( + 'transition', + { + attrs: { name: 'el-zoom-in-center' } + }, + [tagEl] + ); + } +}); +// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tag/src/tag.vue +var tag_render, tag_staticRenderFns + + + + +/* normalize component */ + +var tag_component = normalizeComponent( + src_tagvue_type_script_lang_js_, + tag_render, + tag_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tag_api; } +tag_component.options.__file = "packages/tag/src/tag.vue" +/* harmony default export */ var src_tag = (tag_component.exports); +// CONCATENATED MODULE: ./packages/tag/index.js + + +/* istanbul ignore next */ +src_tag.install = function (Vue) { + Vue.component(src_tag.name, src_tag); +}; + +/* harmony default export */ var packages_tag = (src_tag); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=547575a6& +var treevue_type_template_id_547575a6_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-tree", + class: { + "el-tree--highlight-current": _vm.highlightCurrent, + "is-dragging": !!_vm.dragState.draggingNode, + "is-drop-not-allow": !_vm.dragState.allowDrop, + "is-drop-inner": _vm.dragState.dropType === "inner" + }, + attrs: { role: "tree" } + }, + [ + _vm._l(_vm.root.childNodes, function(child) { + return _c("el-tree-node", { + key: _vm.getNodeKey(child), + attrs: { + node: child, + props: _vm.props, + "render-after-expand": _vm.renderAfterExpand, + "show-checkbox": _vm.showCheckbox, + "render-content": _vm.renderContent + }, + on: { "node-expand": _vm.handleNodeExpand } + }) + }), + _vm.isEmpty + ? _c("div", { staticClass: "el-tree__empty-block" }, [ + _c("span", { staticClass: "el-tree__empty-text" }, [ + _vm._v(_vm._s(_vm.emptyText)) + ]) + ]) + : _vm._e(), + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.dragState.showDropIndicator, + expression: "dragState.showDropIndicator" + } + ], + ref: "dropIndicator", + staticClass: "el-tree__drop-indicator" + }) + ], + 2 + ) +} +var treevue_type_template_id_547575a6_staticRenderFns = [] +treevue_type_template_id_547575a6_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=547575a6& + +// CONCATENATED MODULE: ./packages/tree/src/model/util.js +var NODE_KEY = '$treeNodeId'; + +var markNodeData = function markNodeData(node, data) { + if (!data || data[NODE_KEY]) return; + Object.defineProperty(data, NODE_KEY, { + value: node.id, + enumerable: false, + configurable: false, + writable: false + }); +}; + +var util_getNodeKey = function getNodeKey(key, data) { + if (!key) return data[NODE_KEY]; + return data[key]; +}; + +var findNearestComponent = function findNearestComponent(element, componentName) { + var target = element; + while (target && target.tagName !== 'BODY') { + if (target.__vue__ && target.__vue__.$options.name === componentName) { + return target.__vue__; + } + target = target.parentNode; + } + return null; +}; +// CONCATENATED MODULE: ./packages/tree/src/model/node.js +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function node_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + + +var getChildState = function getChildState(node) { + var all = true; + var none = true; + var allWithoutDisable = true; + for (var i = 0, j = node.length; i < j; i++) { + var n = node[i]; + if (n.checked !== true || n.indeterminate) { + all = false; + if (!n.disabled) { + allWithoutDisable = false; + } + } + if (n.checked !== false || n.indeterminate) { + none = false; + } + } + + return { all: all, none: none, allWithoutDisable: allWithoutDisable, half: !all && !none }; +}; + +var reInitChecked = function reInitChecked(node) { + if (node.childNodes.length === 0 || node.loading) return; + + var _getChildState = getChildState(node.childNodes), + all = _getChildState.all, + none = _getChildState.none, + half = _getChildState.half; + + if (all) { + node.checked = true; + node.indeterminate = false; + } else if (half) { + node.checked = false; + node.indeterminate = true; + } else if (none) { + node.checked = false; + node.indeterminate = false; + } + + var parent = node.parent; + if (!parent || parent.level === 0) return; + + if (!node.store.checkStrictly) { + reInitChecked(parent); + } +}; + +var getPropertyFromData = function getPropertyFromData(node, prop) { + var props = node.store.props; + var data = node.data || {}; + var config = props[prop]; + + if (typeof config === 'function') { + return config(data, node); + } else if (typeof config === 'string') { + return data[config]; + } else if (typeof config === 'undefined') { + var dataProp = data[prop]; + return dataProp === undefined ? '' : dataProp; + } +}; + +var nodeIdSeed = 0; + +var node_Node = function () { + function Node(options) { + node_classCallCheck(this, Node); + + this.id = nodeIdSeed++; + this.text = null; + this.checked = false; + this.indeterminate = false; + this.data = null; + this.expanded = false; + this.parent = null; + this.visible = true; + this.isCurrent = false; + + for (var name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + // internal + this.level = 0; + this.loaded = false; + this.childNodes = []; + this.loading = false; + + if (this.parent) { + this.level = this.parent.level + 1; + } + + var store = this.store; + if (!store) { + throw new Error('[Node]store is required!'); + } + store.registerNode(this); + + var props = store.props; + if (props && typeof props.isLeaf !== 'undefined') { + var isLeaf = getPropertyFromData(this, 'isLeaf'); + if (typeof isLeaf === 'boolean') { + this.isLeafByUser = isLeaf; + } + } + + if (store.lazy !== true && this.data) { + this.setData(this.data); + + if (store.defaultExpandAll) { + this.expanded = true; + } + } else if (this.level > 0 && store.lazy && store.defaultExpandAll) { + this.expand(); + } + if (!Array.isArray(this.data)) { + markNodeData(this, this.data); + } + if (!this.data) return; + var defaultExpandedKeys = store.defaultExpandedKeys; + var key = store.key; + if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) { + this.expand(null, store.autoExpandParent); + } + + if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) { + store.currentNode = this; + store.currentNode.isCurrent = true; + } + + if (store.lazy) { + store._initDefaultCheckedNode(this); + } + + this.updateLeafState(); + } + + Node.prototype.setData = function setData(data) { + if (!Array.isArray(data)) { + markNodeData(this, data); + } + + this.data = data; + this.childNodes = []; + + var children = void 0; + if (this.level === 0 && this.data instanceof Array) { + children = this.data; + } else { + children = getPropertyFromData(this, 'children') || []; + } + + for (var i = 0, j = children.length; i < j; i++) { + this.insertChild({ data: children[i] }); + } + }; + + Node.prototype.contains = function contains(target) { + var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var walk = function walk(parent) { + var children = parent.childNodes || []; + var result = false; + for (var i = 0, j = children.length; i < j; i++) { + var child = children[i]; + if (child === target || deep && walk(child)) { + result = true; + break; + } + } + return result; + }; + + return walk(this); + }; + + Node.prototype.remove = function remove() { + var parent = this.parent; + if (parent) { + parent.removeChild(this); + } + }; + + Node.prototype.insertChild = function insertChild(child, index, batch) { + if (!child) throw new Error('insertChild error: child is required.'); + + if (!(child instanceof Node)) { + if (!batch) { + var children = this.getChildren(true) || []; + if (children.indexOf(child.data) === -1) { + if (typeof index === 'undefined' || index < 0) { + children.push(child.data); + } else { + children.splice(index, 0, child.data); + } + } + } + merge_default()(child, { + parent: this, + store: this.store + }); + child = new Node(child); + } + + child.level = this.level + 1; + + if (typeof index === 'undefined' || index < 0) { + this.childNodes.push(child); + } else { + this.childNodes.splice(index, 0, child); + } + + this.updateLeafState(); + }; + + Node.prototype.insertBefore = function insertBefore(child, ref) { + var index = void 0; + if (ref) { + index = this.childNodes.indexOf(ref); + } + this.insertChild(child, index); + }; + + Node.prototype.insertAfter = function insertAfter(child, ref) { + var index = void 0; + if (ref) { + index = this.childNodes.indexOf(ref); + if (index !== -1) index += 1; + } + this.insertChild(child, index); + }; + + Node.prototype.removeChild = function removeChild(child) { + var children = this.getChildren() || []; + var dataIndex = children.indexOf(child.data); + if (dataIndex > -1) { + children.splice(dataIndex, 1); + } + + var index = this.childNodes.indexOf(child); + + if (index > -1) { + this.store && this.store.deregisterNode(child); + child.parent = null; + this.childNodes.splice(index, 1); + } + + this.updateLeafState(); + }; + + Node.prototype.removeChildByData = function removeChildByData(data) { + var targetNode = null; + + for (var i = 0; i < this.childNodes.length; i++) { + if (this.childNodes[i].data === data) { + targetNode = this.childNodes[i]; + break; + } + } + + if (targetNode) { + this.removeChild(targetNode); + } + }; + + Node.prototype.expand = function expand(callback, expandParent) { + var _this = this; + + var done = function done() { + if (expandParent) { + var parent = _this.parent; + while (parent.level > 0) { + parent.expanded = true; + parent = parent.parent; + } + } + _this.expanded = true; + if (callback) callback(); + }; + + if (this.shouldLoadData()) { + this.loadData(function (data) { + if (data instanceof Array) { + if (_this.checked) { + _this.setChecked(true, true); + } else if (!_this.store.checkStrictly) { + reInitChecked(_this); + } + done(); + } + }); + } else { + done(); + } + }; + + Node.prototype.doCreateChildren = function doCreateChildren(array) { + var _this2 = this; + + var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + array.forEach(function (item) { + _this2.insertChild(merge_default()({ data: item }, defaultProps), undefined, true); + }); + }; + + Node.prototype.collapse = function collapse() { + this.expanded = false; + }; + + Node.prototype.shouldLoadData = function shouldLoadData() { + return this.store.lazy === true && this.store.load && !this.loaded; + }; + + Node.prototype.updateLeafState = function updateLeafState() { + if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') { + this.isLeaf = this.isLeafByUser; + return; + } + var childNodes = this.childNodes; + if (!this.store.lazy || this.store.lazy === true && this.loaded === true) { + this.isLeaf = !childNodes || childNodes.length === 0; + return; + } + this.isLeaf = false; + }; + + Node.prototype.setChecked = function setChecked(value, deep, recursion, passValue) { + var _this3 = this; + + this.indeterminate = value === 'half'; + this.checked = value === true; + + if (this.store.checkStrictly) return; + + if (!(this.shouldLoadData() && !this.store.checkDescendants)) { + var _getChildState2 = getChildState(this.childNodes), + all = _getChildState2.all, + allWithoutDisable = _getChildState2.allWithoutDisable; + + if (!this.isLeaf && !all && allWithoutDisable) { + this.checked = false; + value = false; + } + + var handleDescendants = function handleDescendants() { + if (deep) { + var childNodes = _this3.childNodes; + for (var i = 0, j = childNodes.length; i < j; i++) { + var child = childNodes[i]; + passValue = passValue || value !== false; + var isCheck = child.disabled ? child.checked : passValue; + child.setChecked(isCheck, deep, true, passValue); + } + + var _getChildState3 = getChildState(childNodes), + half = _getChildState3.half, + _all = _getChildState3.all; + + if (!_all) { + _this3.checked = _all; + _this3.indeterminate = half; + } + } + }; + + if (this.shouldLoadData()) { + // Only work on lazy load data. + this.loadData(function () { + handleDescendants(); + reInitChecked(_this3); + }, { + checked: value !== false + }); + return; + } else { + handleDescendants(); + } + } + + var parent = this.parent; + if (!parent || parent.level === 0) return; + + if (!recursion) { + reInitChecked(parent); + } + }; + + Node.prototype.getChildren = function getChildren() { + var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + // this is data + if (this.level === 0) return this.data; + var data = this.data; + if (!data) return null; + + var props = this.store.props; + var children = 'children'; + if (props) { + children = props.children || 'children'; + } + + if (data[children] === undefined) { + data[children] = null; + } + + if (forceInit && !data[children]) { + data[children] = []; + } + + return data[children]; + }; + + Node.prototype.updateChildren = function updateChildren() { + var _this4 = this; + + var newData = this.getChildren() || []; + var oldData = this.childNodes.map(function (node) { + return node.data; + }); + + var newDataMap = {}; + var newNodes = []; + + newData.forEach(function (item, index) { + var key = item[NODE_KEY]; + var isNodeExists = !!key && Object(util_["arrayFindIndex"])(oldData, function (data) { + return data[NODE_KEY] === key; + }) >= 0; + if (isNodeExists) { + newDataMap[key] = { index: index, data: item }; + } else { + newNodes.push({ index: index, data: item }); + } + }); + + if (!this.store.lazy) { + oldData.forEach(function (item) { + if (!newDataMap[item[NODE_KEY]]) _this4.removeChildByData(item); + }); + } + + newNodes.forEach(function (_ref) { + var index = _ref.index, + data = _ref.data; + + _this4.insertChild({ data: data }, index); + }); + + this.updateLeafState(); + }; + + Node.prototype.loadData = function loadData(callback) { + var _this5 = this; + + var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) { + this.loading = true; + + var resolve = function resolve(children) { + _this5.childNodes = []; + + _this5.doCreateChildren(children, defaultProps); + _this5.loaded = true; + _this5.loading = false; + _this5.updateLeafState(); + if (callback) { + callback.call(_this5, children); + } + }; + + this.store.load(this, resolve); + } else { + if (callback) { + callback.call(this); + } + } + }; + + _createClass(Node, [{ + key: 'label', + get: function get() { + return getPropertyFromData(this, 'label'); + } + }, { + key: 'key', + get: function get() { + var nodeKey = this.store.key; + if (this.data) return this.data[nodeKey]; + return null; + } + }, { + key: 'disabled', + get: function get() { + return getPropertyFromData(this, 'disabled'); + } + }, { + key: 'nextSibling', + get: function get() { + var parent = this.parent; + if (parent) { + var index = parent.childNodes.indexOf(this); + if (index > -1) { + return parent.childNodes[index + 1]; + } + } + return null; + } + }, { + key: 'previousSibling', + get: function get() { + var parent = this.parent; + if (parent) { + var index = parent.childNodes.indexOf(this); + if (index > -1) { + return index > 0 ? parent.childNodes[index - 1] : null; + } + } + return null; + } + }]); + + return Node; +}(); + +/* harmony default export */ var model_node = (node_Node); +// CONCATENATED MODULE: ./packages/tree/src/model/tree-store.js +var tree_store_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function tree_store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var tree_store_TreeStore = function () { + function TreeStore(options) { + var _this = this; + + tree_store_classCallCheck(this, TreeStore); + + this.currentNode = null; + this.currentNodeKey = null; + + for (var option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.nodesMap = {}; + + this.root = new model_node({ + data: this.data, + store: this + }); + + if (this.lazy && this.load) { + var loadFn = this.load; + loadFn(this.root, function (data) { + _this.root.doCreateChildren(data); + _this._initDefaultCheckedNodes(); + }); + } else { + this._initDefaultCheckedNodes(); + } + } + + TreeStore.prototype.filter = function filter(value) { + var filterNodeMethod = this.filterNodeMethod; + var lazy = this.lazy; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + child.visible = filterNodeMethod.call(child, value, child.data, child); + + traverse(child); + }); + + if (!node.visible && childNodes.length) { + var allHidden = true; + allHidden = !childNodes.some(function (child) { + return child.visible; + }); + + if (node.root) { + node.root.visible = allHidden === false; + } else { + node.visible = allHidden === false; + } + } + if (!value) return; + + if (node.visible && !node.isLeaf && !lazy) node.expand(); + }; + + traverse(this); + }; + + TreeStore.prototype.setData = function setData(newVal) { + var instanceChanged = newVal !== this.root.data; + if (instanceChanged) { + this.root.setData(newVal); + this._initDefaultCheckedNodes(); + } else { + this.root.updateChildren(); + } + }; + + TreeStore.prototype.getNode = function getNode(data) { + if (data instanceof model_node) return data; + var key = (typeof data === 'undefined' ? 'undefined' : tree_store_typeof(data)) !== 'object' ? data : util_getNodeKey(this.key, data); + return this.nodesMap[key] || null; + }; + + TreeStore.prototype.insertBefore = function insertBefore(data, refData) { + var refNode = this.getNode(refData); + refNode.parent.insertBefore({ data: data }, refNode); + }; + + TreeStore.prototype.insertAfter = function insertAfter(data, refData) { + var refNode = this.getNode(refData); + refNode.parent.insertAfter({ data: data }, refNode); + }; + + TreeStore.prototype.remove = function remove(data) { + var node = this.getNode(data); + + if (node && node.parent) { + if (node === this.currentNode) { + this.currentNode = null; + } + node.parent.removeChild(node); + } + }; + + TreeStore.prototype.append = function append(data, parentData) { + var parentNode = parentData ? this.getNode(parentData) : this.root; + + if (parentNode) { + parentNode.insertChild({ data: data }); + } + }; + + TreeStore.prototype._initDefaultCheckedNodes = function _initDefaultCheckedNodes() { + var _this2 = this; + + var defaultCheckedKeys = this.defaultCheckedKeys || []; + var nodesMap = this.nodesMap; + + defaultCheckedKeys.forEach(function (checkedKey) { + var node = nodesMap[checkedKey]; + + if (node) { + node.setChecked(true, !_this2.checkStrictly); + } + }); + }; + + TreeStore.prototype._initDefaultCheckedNode = function _initDefaultCheckedNode(node) { + var defaultCheckedKeys = this.defaultCheckedKeys || []; + + if (defaultCheckedKeys.indexOf(node.key) !== -1) { + node.setChecked(true, !this.checkStrictly); + } + }; + + TreeStore.prototype.setDefaultCheckedKey = function setDefaultCheckedKey(newVal) { + if (newVal !== this.defaultCheckedKeys) { + this.defaultCheckedKeys = newVal; + this._initDefaultCheckedNodes(); + } + }; + + TreeStore.prototype.registerNode = function registerNode(node) { + var key = this.key; + if (!key || !node || !node.data) return; + + var nodeKey = node.key; + if (nodeKey !== undefined) this.nodesMap[node.key] = node; + }; + + TreeStore.prototype.deregisterNode = function deregisterNode(node) { + var _this3 = this; + + var key = this.key; + if (!key || !node || !node.data) return; + + node.childNodes.forEach(function (child) { + _this3.deregisterNode(child); + }); + + delete this.nodesMap[node.key]; + }; + + TreeStore.prototype.getCheckedNodes = function getCheckedNodes() { + var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var includeHalfChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var checkedNodes = []; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) { + checkedNodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return checkedNodes; + }; + + TreeStore.prototype.getCheckedKeys = function getCheckedKeys() { + var _this4 = this; + + var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + return this.getCheckedNodes(leafOnly).map(function (data) { + return (data || {})[_this4.key]; + }); + }; + + TreeStore.prototype.getHalfCheckedNodes = function getHalfCheckedNodes() { + var nodes = []; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + if (child.indeterminate) { + nodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return nodes; + }; + + TreeStore.prototype.getHalfCheckedKeys = function getHalfCheckedKeys() { + var _this5 = this; + + return this.getHalfCheckedNodes().map(function (data) { + return (data || {})[_this5.key]; + }); + }; + + TreeStore.prototype._getAllNodes = function _getAllNodes() { + var allNodes = []; + var nodesMap = this.nodesMap; + for (var nodeKey in nodesMap) { + if (nodesMap.hasOwnProperty(nodeKey)) { + allNodes.push(nodesMap[nodeKey]); + } + } + + return allNodes; + }; + + TreeStore.prototype.updateChildren = function updateChildren(key, data) { + var node = this.nodesMap[key]; + if (!node) return; + var childNodes = node.childNodes; + for (var i = childNodes.length - 1; i >= 0; i--) { + var child = childNodes[i]; + this.remove(child.data); + } + for (var _i = 0, j = data.length; _i < j; _i++) { + var _child = data[_i]; + this.append(_child, node.data); + } + }; + + TreeStore.prototype._setCheckedKeys = function _setCheckedKeys(key) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var checkedKeys = arguments[2]; + + var allNodes = this._getAllNodes().sort(function (a, b) { + return b.level - a.level; + }); + var cache = Object.create(null); + var keys = Object.keys(checkedKeys); + allNodes.forEach(function (node) { + return node.setChecked(false, false); + }); + for (var i = 0, j = allNodes.length; i < j; i++) { + var node = allNodes[i]; + var nodeKey = node.data[key].toString(); + var checked = keys.indexOf(nodeKey) > -1; + if (!checked) { + if (node.checked && !cache[nodeKey]) { + node.setChecked(false, false); + } + continue; + } + + var parent = node.parent; + while (parent && parent.level > 0) { + cache[parent.data[key]] = true; + parent = parent.parent; + } + + if (node.isLeaf || this.checkStrictly) { + node.setChecked(true, false); + continue; + } + node.setChecked(true, true); + + if (leafOnly) { + (function () { + node.setChecked(false, false); + var traverse = function traverse(node) { + var childNodes = node.childNodes; + childNodes.forEach(function (child) { + if (!child.isLeaf) { + child.setChecked(false, false); + } + traverse(child); + }); + }; + traverse(node); + })(); + } + } + }; + + TreeStore.prototype.setCheckedNodes = function setCheckedNodes(array) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var key = this.key; + var checkedKeys = {}; + array.forEach(function (item) { + checkedKeys[(item || {})[key]] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + }; + + TreeStore.prototype.setCheckedKeys = function setCheckedKeys(keys) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this.defaultCheckedKeys = keys; + var key = this.key; + var checkedKeys = {}; + keys.forEach(function (key) { + checkedKeys[key] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + }; + + TreeStore.prototype.setDefaultExpandedKeys = function setDefaultExpandedKeys(keys) { + var _this6 = this; + + keys = keys || []; + this.defaultExpandedKeys = keys; + + keys.forEach(function (key) { + var node = _this6.getNode(key); + if (node) node.expand(null, _this6.autoExpandParent); + }); + }; + + TreeStore.prototype.setChecked = function setChecked(data, checked, deep) { + var node = this.getNode(data); + + if (node) { + node.setChecked(!!checked, deep); + } + }; + + TreeStore.prototype.getCurrentNode = function getCurrentNode() { + return this.currentNode; + }; + + TreeStore.prototype.setCurrentNode = function setCurrentNode(currentNode) { + var prevCurrentNode = this.currentNode; + if (prevCurrentNode) { + prevCurrentNode.isCurrent = false; + } + this.currentNode = currentNode; + this.currentNode.isCurrent = true; + }; + + TreeStore.prototype.setUserCurrentNode = function setUserCurrentNode(node) { + var key = node[this.key]; + var currNode = this.nodesMap[key]; + this.setCurrentNode(currNode); + }; + + TreeStore.prototype.setCurrentNodeKey = function setCurrentNodeKey(key) { + if (key === null || key === undefined) { + this.currentNode && (this.currentNode.isCurrent = false); + this.currentNode = null; + return; + } + var node = this.getNode(key); + if (node) { + this.setCurrentNode(node); + } + }; + + return TreeStore; +}(); + +/* harmony default export */ var tree_store = (tree_store_TreeStore); +; +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e& +var tree_nodevue_type_template_id_3ba3ef0e_render = function() { + var this$1 = this + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.node.visible, + expression: "node.visible" + } + ], + ref: "node", + staticClass: "el-tree-node", + class: { + "is-expanded": _vm.expanded, + "is-current": _vm.node.isCurrent, + "is-hidden": !_vm.node.visible, + "is-focusable": !_vm.node.disabled, + "is-checked": !_vm.node.disabled && _vm.node.checked + }, + attrs: { + role: "treeitem", + tabindex: "-1", + "aria-expanded": _vm.expanded, + "aria-disabled": _vm.node.disabled, + "aria-checked": _vm.node.checked, + draggable: _vm.tree.draggable + }, + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClick($event) + }, + contextmenu: function($event) { + return this$1.handleContextMenu($event) + }, + dragstart: function($event) { + $event.stopPropagation() + return _vm.handleDragStart($event) + }, + dragover: function($event) { + $event.stopPropagation() + return _vm.handleDragOver($event) + }, + dragend: function($event) { + $event.stopPropagation() + return _vm.handleDragEnd($event) + }, + drop: function($event) { + $event.stopPropagation() + return _vm.handleDrop($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-tree-node__content", + style: { + "padding-left": (_vm.node.level - 1) * _vm.tree.indent + "px" + } + }, + [ + _c("span", { + class: [ + { + "is-leaf": _vm.node.isLeaf, + expanded: !_vm.node.isLeaf && _vm.expanded + }, + "el-tree-node__expand-icon", + _vm.tree.iconClass ? _vm.tree.iconClass : "el-icon-caret-right" + ], + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleExpandIconClick($event) + } + } + }), + _vm.showCheckbox + ? _c("el-checkbox", { + attrs: { + indeterminate: _vm.node.indeterminate, + disabled: !!_vm.node.disabled + }, + on: { change: _vm.handleCheckChange }, + nativeOn: { + click: function($event) { + $event.stopPropagation() + } + }, + model: { + value: _vm.node.checked, + callback: function($$v) { + _vm.$set(_vm.node, "checked", $$v) + }, + expression: "node.checked" + } + }) + : _vm._e(), + _vm.node.loading + ? _c("span", { + staticClass: "el-tree-node__loading-icon el-icon-loading" + }) + : _vm._e(), + _c("node-content", { attrs: { node: _vm.node } }) + ], + 1 + ), + _c("el-collapse-transition", [ + !_vm.renderAfterExpand || _vm.childNodeRendered + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.expanded, + expression: "expanded" + } + ], + staticClass: "el-tree-node__children", + attrs: { role: "group", "aria-expanded": _vm.expanded } + }, + _vm._l(_vm.node.childNodes, function(child) { + return _c("el-tree-node", { + key: _vm.getNodeKey(child), + attrs: { + "render-content": _vm.renderContent, + "render-after-expand": _vm.renderAfterExpand, + "show-checkbox": _vm.showCheckbox, + node: child + }, + on: { "node-expand": _vm.handleChildNodeExpand } + }) + }), + 1 + ) + : _vm._e() + ]) + ], + 1 + ) +} +var tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns = [] +tree_nodevue_type_template_id_3ba3ef0e_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var tree_nodevue_type_script_lang_js_ = ({ + name: 'ElTreeNode', + + componentName: 'ElTreeNode', + + mixins: [emitter_default.a], + + props: { + node: { + default: function _default() { + return {}; + } + }, + props: {}, + renderContent: Function, + renderAfterExpand: { + type: Boolean, + default: true + }, + showCheckbox: { + type: Boolean, + default: false + } + }, + + components: { + ElCollapseTransition: collapse_transition_default.a, + ElCheckbox: checkbox_default.a, + NodeContent: { + props: { + node: { + required: true + } + }, + render: function render(h) { + var parent = this.$parent; + var tree = parent.tree; + var node = this.node; + var data = node.data, + store = node.store; + + return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node: node, data: data, store: store }) : tree.$scopedSlots.default ? tree.$scopedSlots.default({ node: node, data: data }) : h( + 'span', + { 'class': 'el-tree-node__label' }, + [node.label] + ); + } + } + }, + + data: function data() { + return { + tree: null, + expanded: false, + childNodeRendered: false, + oldChecked: null, + oldIndeterminate: null + }; + }, + + + watch: { + 'node.indeterminate': function nodeIndeterminate(val) { + this.handleSelectChange(this.node.checked, val); + }, + 'node.checked': function nodeChecked(val) { + this.handleSelectChange(val, this.node.indeterminate); + }, + 'node.expanded': function nodeExpanded(val) { + var _this = this; + + this.$nextTick(function () { + return _this.expanded = val; + }); + if (val) { + this.childNodeRendered = true; + } + } + }, + + methods: { + getNodeKey: function getNodeKey(node) { + return util_getNodeKey(this.tree.nodeKey, node.data); + }, + handleSelectChange: function handleSelectChange(checked, indeterminate) { + if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) { + this.tree.$emit('check-change', this.node.data, checked, indeterminate); + } + this.oldChecked = checked; + this.indeterminate = indeterminate; + }, + handleClick: function handleClick() { + var store = this.tree.store; + store.setCurrentNode(this.node); + this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode); + this.tree.currentNode = this; + if (this.tree.expandOnClickNode) { + this.handleExpandIconClick(); + } + if (this.tree.checkOnClickNode && !this.node.disabled) { + this.handleCheckChange(null, { + target: { checked: !this.node.checked } + }); + } + this.tree.$emit('node-click', this.node.data, this.node, this); + }, + handleContextMenu: function handleContextMenu(event) { + if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) { + event.stopPropagation(); + event.preventDefault(); + } + this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this); + }, + handleExpandIconClick: function handleExpandIconClick() { + if (this.node.isLeaf) return; + if (this.expanded) { + this.tree.$emit('node-collapse', this.node.data, this.node, this); + this.node.collapse(); + } else { + this.node.expand(); + this.$emit('node-expand', this.node.data, this.node, this); + } + }, + handleCheckChange: function handleCheckChange(value, ev) { + var _this2 = this; + + this.node.setChecked(ev.target.checked, !this.tree.checkStrictly); + this.$nextTick(function () { + var store = _this2.tree.store; + _this2.tree.$emit('check', _this2.node.data, { + checkedNodes: store.getCheckedNodes(), + checkedKeys: store.getCheckedKeys(), + halfCheckedNodes: store.getHalfCheckedNodes(), + halfCheckedKeys: store.getHalfCheckedKeys() + }); + }); + }, + handleChildNodeExpand: function handleChildNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.tree.$emit('node-expand', nodeData, node, instance); + }, + handleDragStart: function handleDragStart(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-start', event, this); + }, + handleDragOver: function handleDragOver(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-over', event, this); + event.preventDefault(); + }, + handleDrop: function handleDrop(event) { + event.preventDefault(); + }, + handleDragEnd: function handleDragEnd(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-end', event, this); + } + }, + + created: function created() { + var _this3 = this; + + var parent = this.$parent; + + if (parent.isTree) { + this.tree = parent; + } else { + this.tree = parent.tree; + } + + var tree = this.tree; + if (!tree) { + console.warn('Can not find node\'s tree.'); + } + + var props = tree.props || {}; + var childrenKey = props['children'] || 'children'; + + this.$watch('node.data.' + childrenKey, function () { + _this3.node.updateChildren(); + }); + + if (this.node.expanded) { + this.expanded = true; + this.childNodeRendered = true; + } + + if (this.tree.accordion) { + this.$on('tree-node-expand', function (node) { + if (_this3.node !== node) { + _this3.node.collapse(); + } + }); + } + } +}); +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tree_nodevue_type_script_lang_js_ = (tree_nodevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue + + + + + +/* normalize component */ + +var tree_node_component = normalizeComponent( + src_tree_nodevue_type_script_lang_js_, + tree_nodevue_type_template_id_3ba3ef0e_render, + tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tree_node_api; } +tree_node_component.options.__file = "packages/tree/src/tree-node.vue" +/* harmony default export */ var tree_node = (tree_node_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +/* harmony default export */ var treevue_type_script_lang_js_ = ({ + name: 'ElTree', + + mixins: [emitter_default.a], + + components: { + ElTreeNode: tree_node + }, + + data: function data() { + return { + store: null, + root: null, + currentNode: null, + treeItems: null, + checkboxItems: [], + dragState: { + showDropIndicator: false, + draggingNode: null, + dropNode: null, + allowDrop: true + } + }; + }, + + + props: { + data: { + type: Array + }, + emptyText: { + type: String, + default: function _default() { + return Object(lib_locale_["t"])('el.tree.emptyText'); + } + }, + renderAfterExpand: { + type: Boolean, + default: true + }, + nodeKey: String, + checkStrictly: Boolean, + defaultExpandAll: Boolean, + expandOnClickNode: { + type: Boolean, + default: true + }, + checkOnClickNode: Boolean, + checkDescendants: { + type: Boolean, + default: false + }, + autoExpandParent: { + type: Boolean, + default: true + }, + defaultCheckedKeys: Array, + defaultExpandedKeys: Array, + currentNodeKey: [String, Number], + renderContent: Function, + showCheckbox: { + type: Boolean, + default: false + }, + draggable: { + type: Boolean, + default: false + }, + allowDrag: Function, + allowDrop: Function, + props: { + default: function _default() { + return { + children: 'children', + label: 'label', + disabled: 'disabled' + }; + } + }, + lazy: { + type: Boolean, + default: false + }, + highlightCurrent: Boolean, + load: Function, + filterNodeMethod: Function, + accordion: Boolean, + indent: { + type: Number, + default: 18 + }, + iconClass: String + }, + + computed: { + children: { + set: function set(value) { + this.data = value; + }, + get: function get() { + return this.data; + } + }, + + treeItemArray: function treeItemArray() { + return Array.prototype.slice.call(this.treeItems); + }, + isEmpty: function isEmpty() { + var childNodes = this.root.childNodes; + + return !childNodes || childNodes.length === 0 || childNodes.every(function (_ref) { + var visible = _ref.visible; + return !visible; + }); + } + }, + + watch: { + defaultCheckedKeys: function defaultCheckedKeys(newVal) { + this.store.setDefaultCheckedKey(newVal); + }, + defaultExpandedKeys: function defaultExpandedKeys(newVal) { + this.store.defaultExpandedKeys = newVal; + this.store.setDefaultExpandedKeys(newVal); + }, + data: function data(newVal) { + this.store.setData(newVal); + }, + checkboxItems: function checkboxItems(val) { + Array.prototype.forEach.call(val, function (checkbox) { + checkbox.setAttribute('tabindex', -1); + }); + }, + checkStrictly: function checkStrictly(newVal) { + this.store.checkStrictly = newVal; + } + }, + + methods: { + filter: function filter(value) { + if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter'); + this.store.filter(value); + }, + getNodeKey: function getNodeKey(node) { + return util_getNodeKey(this.nodeKey, node.data); + }, + getNodePath: function getNodePath(data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath'); + var node = this.store.getNode(data); + if (!node) return []; + var path = [node.data]; + var parent = node.parent; + while (parent && parent !== this.root) { + path.push(parent.data); + parent = parent.parent; + } + return path.reverse(); + }, + getCheckedNodes: function getCheckedNodes(leafOnly, includeHalfChecked) { + return this.store.getCheckedNodes(leafOnly, includeHalfChecked); + }, + getCheckedKeys: function getCheckedKeys(leafOnly) { + return this.store.getCheckedKeys(leafOnly); + }, + getCurrentNode: function getCurrentNode() { + var currentNode = this.store.getCurrentNode(); + return currentNode ? currentNode.data : null; + }, + getCurrentKey: function getCurrentKey() { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey'); + var currentNode = this.getCurrentNode(); + return currentNode ? currentNode[this.nodeKey] : null; + }, + setCheckedNodes: function setCheckedNodes(nodes, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes'); + this.store.setCheckedNodes(nodes, leafOnly); + }, + setCheckedKeys: function setCheckedKeys(keys, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys'); + this.store.setCheckedKeys(keys, leafOnly); + }, + setChecked: function setChecked(data, checked, deep) { + this.store.setChecked(data, checked, deep); + }, + getHalfCheckedNodes: function getHalfCheckedNodes() { + return this.store.getHalfCheckedNodes(); + }, + getHalfCheckedKeys: function getHalfCheckedKeys() { + return this.store.getHalfCheckedKeys(); + }, + setCurrentNode: function setCurrentNode(node) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode'); + this.store.setUserCurrentNode(node); + }, + setCurrentKey: function setCurrentKey(key) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey'); + this.store.setCurrentNodeKey(key); + }, + getNode: function getNode(data) { + return this.store.getNode(data); + }, + remove: function remove(data) { + this.store.remove(data); + }, + append: function append(data, parentNode) { + this.store.append(data, parentNode); + }, + insertBefore: function insertBefore(data, refNode) { + this.store.insertBefore(data, refNode); + }, + insertAfter: function insertAfter(data, refNode) { + this.store.insertAfter(data, refNode); + }, + handleNodeExpand: function handleNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.$emit('node-expand', nodeData, node, instance); + }, + updateKeyChildren: function updateKeyChildren(key, data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild'); + this.store.updateChildren(key, data); + }, + initTabIndex: function initTabIndex() { + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + var checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]'); + if (checkedItem.length) { + checkedItem[0].setAttribute('tabindex', 0); + return; + } + this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0); + }, + handleKeydown: function handleKeydown(ev) { + var currentItem = ev.target; + if (currentItem.className.indexOf('el-tree-node') === -1) return; + var keyCode = ev.keyCode; + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + var currentIndex = this.treeItemArray.indexOf(currentItem); + var nextIndex = void 0; + if ([38, 40].indexOf(keyCode) > -1) { + // up�own + ev.preventDefault(); + if (keyCode === 38) { + // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { + nextIndex = currentIndex < this.treeItemArray.length - 1 ? currentIndex + 1 : 0; + } + this.treeItemArray[nextIndex].focus(); // �葉 + } + if ([37, 39].indexOf(keyCode) > -1) { + // left�ight 撅� + ev.preventDefault(); + currentItem.click(); // �葉 + } + var hasInput = currentItem.querySelector('[type="checkbox"]'); + if ([13, 32].indexOf(keyCode) > -1 && hasInput) { + // space enter�葉checkbox + ev.preventDefault(); + hasInput.click(); + } + } + }, + + created: function created() { + var _this = this; + + this.isTree = true; + + this.store = new tree_store({ + key: this.nodeKey, + data: this.data, + lazy: this.lazy, + props: this.props, + load: this.load, + currentNodeKey: this.currentNodeKey, + checkStrictly: this.checkStrictly, + checkDescendants: this.checkDescendants, + defaultCheckedKeys: this.defaultCheckedKeys, + defaultExpandedKeys: this.defaultExpandedKeys, + autoExpandParent: this.autoExpandParent, + defaultExpandAll: this.defaultExpandAll, + filterNodeMethod: this.filterNodeMethod + }); + + this.root = this.store.root; + + var dragState = this.dragState; + this.$on('tree-node-drag-start', function (event, treeNode) { + if (typeof _this.allowDrag === 'function' && !_this.allowDrag(treeNode.node)) { + event.preventDefault(); + return false; + } + event.dataTransfer.effectAllowed = 'move'; + + // wrap in try catch to address IE's error when first param is 'text/plain' + try { + // setData is required for draggable to work in FireFox + // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox + event.dataTransfer.setData('text/plain', ''); + } catch (e) {} + dragState.draggingNode = treeNode; + _this.$emit('node-drag-start', treeNode.node, event); + }); + + this.$on('tree-node-drag-over', function (event, treeNode) { + var dropNode = findNearestComponent(event.target, 'ElTreeNode'); + var oldDropNode = dragState.dropNode; + if (oldDropNode && oldDropNode !== dropNode) { + Object(dom_["removeClass"])(oldDropNode.$el, 'is-drop-inner'); + } + var draggingNode = dragState.draggingNode; + if (!draggingNode || !dropNode) return; + + var dropPrev = true; + var dropInner = true; + var dropNext = true; + var userAllowDropInner = true; + if (typeof _this.allowDrop === 'function') { + dropPrev = _this.allowDrop(draggingNode.node, dropNode.node, 'prev'); + userAllowDropInner = dropInner = _this.allowDrop(draggingNode.node, dropNode.node, 'inner'); + dropNext = _this.allowDrop(draggingNode.node, dropNode.node, 'next'); + } + event.dataTransfer.dropEffect = dropInner ? 'move' : 'none'; + if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) { + if (oldDropNode) { + _this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event); + } + _this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event); + } + + if (dropPrev || dropInner || dropNext) { + dragState.dropNode = dropNode; + } + + if (dropNode.node.nextSibling === draggingNode.node) { + dropNext = false; + } + if (dropNode.node.previousSibling === draggingNode.node) { + dropPrev = false; + } + if (dropNode.node.contains(draggingNode.node, false)) { + dropInner = false; + } + if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) { + dropPrev = false; + dropInner = false; + dropNext = false; + } + + var targetPosition = dropNode.$el.getBoundingClientRect(); + var treePosition = _this.$el.getBoundingClientRect(); + + var dropType = void 0; + var prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1; + var nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1; + + var indicatorTop = -9999; + var distance = event.clientY - targetPosition.top; + if (distance < targetPosition.height * prevPercent) { + dropType = 'before'; + } else if (distance > targetPosition.height * nextPercent) { + dropType = 'after'; + } else if (dropInner) { + dropType = 'inner'; + } else { + dropType = 'none'; + } + + var iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect(); + var dropIndicator = _this.$refs.dropIndicator; + if (dropType === 'before') { + indicatorTop = iconPosition.top - treePosition.top; + } else if (dropType === 'after') { + indicatorTop = iconPosition.bottom - treePosition.top; + } + dropIndicator.style.top = indicatorTop + 'px'; + dropIndicator.style.left = iconPosition.right - treePosition.left + 'px'; + + if (dropType === 'inner') { + Object(dom_["addClass"])(dropNode.$el, 'is-drop-inner'); + } else { + Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner'); + } + + dragState.showDropIndicator = dropType === 'before' || dropType === 'after'; + dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner; + dragState.dropType = dropType; + _this.$emit('node-drag-over', draggingNode.node, dropNode.node, event); + }); + + this.$on('tree-node-drag-end', function (event) { + var draggingNode = dragState.draggingNode, + dropType = dragState.dropType, + dropNode = dragState.dropNode; + + event.preventDefault(); + event.dataTransfer.dropEffect = 'move'; + + if (draggingNode && dropNode) { + var draggingNodeCopy = { data: draggingNode.node.data }; + if (dropType !== 'none') { + draggingNode.node.remove(); + } + if (dropType === 'before') { + dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node); + } else if (dropType === 'after') { + dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node); + } else if (dropType === 'inner') { + dropNode.node.insertChild(draggingNodeCopy); + } + if (dropType !== 'none') { + _this.store.registerNode(draggingNodeCopy); + } + + Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner'); + + _this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event); + if (dropType !== 'none') { + _this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event); + } + } + if (draggingNode && !dropNode) { + _this.$emit('node-drag-end', draggingNode.node, null, dropType, event); + } + + dragState.showDropIndicator = false; + dragState.draggingNode = null; + dragState.dropNode = null; + dragState.allowDrop = true; + }); + }, + mounted: function mounted() { + this.initTabIndex(); + this.$el.addEventListener('keydown', this.handleKeydown); + }, + updated: function updated() { + this.treeItems = this.$el.querySelectorAll('[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + } +}); +// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=script&lang=js& + /* harmony default export */ var src_treevue_type_script_lang_js_ = (treevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tree/src/tree.vue + + + + + +/* normalize component */ + +var tree_component = normalizeComponent( + src_treevue_type_script_lang_js_, + treevue_type_template_id_547575a6_render, + treevue_type_template_id_547575a6_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tree_api; } +tree_component.options.__file = "packages/tree/src/tree.vue" +/* harmony default export */ var src_tree = (tree_component.exports); +// CONCATENATED MODULE: ./packages/tree/index.js + + +/* istanbul ignore next */ +src_tree.install = function (Vue) { + Vue.component(src_tree.name, src_tree); +}; + +/* harmony default export */ var packages_tree = (src_tree); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=template&id=6e53341b& +var mainvue_type_template_id_6e53341b_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-alert-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-alert", + class: [ + _vm.typeClass, + _vm.center ? "is-center" : "", + "is-" + _vm.effect + ], + attrs: { role: "alert" } + }, + [ + _vm.showIcon + ? _c("i", { + staticClass: "el-alert__icon", + class: [_vm.iconClass, _vm.isBigIcon] + }) + : _vm._e(), + _c("div", { staticClass: "el-alert__content" }, [ + _vm.title || _vm.$slots.title + ? _c( + "span", + { staticClass: "el-alert__title", class: [_vm.isBoldTitle] }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ) + : _vm._e(), + _vm.$slots.default && !_vm.description + ? _c( + "p", + { staticClass: "el-alert__description" }, + [_vm._t("default")], + 2 + ) + : _vm._e(), + _vm.description && !_vm.$slots.default + ? _c("p", { staticClass: "el-alert__description" }, [ + _vm._v(_vm._s(_vm.description)) + ]) + : _vm._e(), + _c( + "i", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.closable, + expression: "closable" + } + ], + staticClass: "el-alert__closebtn", + class: { + "is-customed": _vm.closeText !== "", + "el-icon-close": _vm.closeText === "" + }, + on: { + click: function($event) { + _vm.close() + } + } + }, + [_vm._v(_vm._s(_vm.closeText))] + ) + ]) + ] + ) + ]) +} +var mainvue_type_template_id_6e53341b_staticRenderFns = [] +mainvue_type_template_id_6e53341b_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=template&id=6e53341b& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/alert/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var TYPE_CLASSES_MAP = { + 'success': 'el-icon-success', + 'warning': 'el-icon-warning', + 'error': 'el-icon-error' +}; +/* harmony default export */ var alert_src_mainvue_type_script_lang_js_ = ({ + name: 'ElAlert', + + props: { + title: { + type: String, + default: '' + }, + description: { + type: String, + default: '' + }, + type: { + type: String, + default: 'info' + }, + closable: { + type: Boolean, + default: true + }, + closeText: { + type: String, + default: '' + }, + showIcon: Boolean, + center: Boolean, + effect: { + type: String, + default: 'light', + validator: function validator(value) { + return ['light', 'dark'].indexOf(value) !== -1; + } + } + }, + + data: function data() { + return { + visible: true + }; + }, + + + methods: { + close: function close() { + this.visible = false; + this.$emit('close'); + } + }, + + computed: { + typeClass: function typeClass() { + return 'el-alert--' + this.type; + }, + iconClass: function iconClass() { + return TYPE_CLASSES_MAP[this.type] || 'el-icon-info'; + }, + isBigIcon: function isBigIcon() { + return this.description || this.$slots.default ? 'is-big' : ''; + }, + isBoldTitle: function isBoldTitle() { + return this.description || this.$slots.default ? 'is-bold' : ''; + } + } +}); +// CONCATENATED MODULE: ./packages/alert/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_alert_src_mainvue_type_script_lang_js_ = (alert_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/alert/src/main.vue + + + + + +/* normalize component */ + +var alert_src_main_component = normalizeComponent( + packages_alert_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_6e53341b_render, + mainvue_type_template_id_6e53341b_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var alert_src_main_api; } +alert_src_main_component.options.__file = "packages/alert/src/main.vue" +/* harmony default export */ var alert_src_main = (alert_src_main_component.exports); +// CONCATENATED MODULE: ./packages/alert/index.js + + +/* istanbul ignore next */ +alert_src_main.install = function (Vue) { + Vue.component(alert_src_main.name, alert_src_main); +}; + +/* harmony default export */ var packages_alert = (alert_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8& +var mainvue_type_template_id_43dbc3d8_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-notification-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + class: ["el-notification", _vm.customClass, _vm.horizontalClass], + style: _vm.positionStyle, + attrs: { role: "alert" }, + on: { + mouseenter: function($event) { + _vm.clearTimer() + }, + mouseleave: function($event) { + _vm.startTimer() + }, + click: _vm.click + } + }, + [ + _vm.type || _vm.iconClass + ? _c("i", { + staticClass: "el-notification__icon", + class: [_vm.typeClass, _vm.iconClass] + }) + : _vm._e(), + _c( + "div", + { + staticClass: "el-notification__group", + class: { "is-with-icon": _vm.typeClass || _vm.iconClass } + }, + [ + _c("h2", { + staticClass: "el-notification__title", + domProps: { textContent: _vm._s(_vm.title) } + }), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.message, + expression: "message" + } + ], + staticClass: "el-notification__content" + }, + [ + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", [_vm._v(_vm._s(_vm.message))]) + : _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }) + ]) + ], + 2 + ), + _vm.showClose + ? _c("div", { + staticClass: "el-notification__closeBtn el-icon-close", + on: { + click: function($event) { + $event.stopPropagation() + return _vm.close($event) + } + } + }) + : _vm._e() + ] + ) + ] + ) + ]) +} +var mainvue_type_template_id_43dbc3d8_staticRenderFns = [] +mainvue_type_template_id_43dbc3d8_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var mainvue_type_script_lang_js_typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var notification_src_mainvue_type_script_lang_js_ = ({ + data: function data() { + return { + visible: false, + title: '', + message: '', + duration: 4500, + type: '', + showClose: true, + customClass: '', + iconClass: '', + onClose: null, + onClick: null, + closed: false, + verticalOffset: 0, + timer: null, + dangerouslyUseHTMLString: false, + position: 'top-right' + }; + }, + + + computed: { + typeClass: function typeClass() { + return this.type && mainvue_type_script_lang_js_typeMap[this.type] ? 'el-icon-' + mainvue_type_script_lang_js_typeMap[this.type] : ''; + }, + horizontalClass: function horizontalClass() { + return this.position.indexOf('right') > -1 ? 'right' : 'left'; + }, + verticalProperty: function verticalProperty() { + return (/^top-/.test(this.position) ? 'top' : 'bottom' + ); + }, + positionStyle: function positionStyle() { + var _ref; + + return _ref = {}, _ref[this.verticalProperty] = this.verticalOffset + 'px', _ref; + } + }, + + watch: { + closed: function closed(newVal) { + if (newVal) { + this.visible = false; + this.$el.addEventListener('transitionend', this.destroyElement); + } + } + }, + + methods: { + destroyElement: function destroyElement() { + this.$el.removeEventListener('transitionend', this.destroyElement); + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + click: function click() { + if (typeof this.onClick === 'function') { + this.onClick(); + } + }, + close: function close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(); + } + }, + clearTimer: function clearTimer() { + clearTimeout(this.timer); + }, + startTimer: function startTimer() { + var _this = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this.closed) { + _this.close(); + } + }, this.duration); + } + }, + keydown: function keydown(e) { + if (e.keyCode === 46 || e.keyCode === 8) { + this.clearTimer(); // detele ����恣� + } else if (e.keyCode === 27) { + // esc��瘨 + if (!this.closed) { + this.close(); + } + } else { + this.startTimer(); // �憭�恣� + } + } + }, + mounted: function mounted() { + var _this2 = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this2.closed) { + _this2.close(); + } + }, this.duration); + } + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy: function beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } +}); +// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_notification_src_mainvue_type_script_lang_js_ = (notification_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/notification/src/main.vue + + + + + +/* normalize component */ + +var notification_src_main_component = normalizeComponent( + packages_notification_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_43dbc3d8_render, + mainvue_type_template_id_43dbc3d8_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var notification_src_main_api; } +notification_src_main_component.options.__file = "packages/notification/src/main.vue" +/* harmony default export */ var notification_src_main = (notification_src_main_component.exports); +// CONCATENATED MODULE: ./packages/notification/src/main.js + + + + + +var NotificationConstructor = external_vue_default.a.extend(notification_src_main); + +var src_main_instance = void 0; +var instances = []; +var seed = 1; + +var main_Notification = function Notification(options) { + if (external_vue_default.a.prototype.$isServer) return; + options = merge_default()({}, options); + var userOnClose = options.onClose; + var id = 'notification_' + seed++; + var position = options.position || 'top-right'; + + options.onClose = function () { + Notification.close(id, userOnClose); + }; + + src_main_instance = new NotificationConstructor({ + data: options + }); + + if (Object(vdom_["isVNode"])(options.message)) { + src_main_instance.$slots.default = [options.message]; + options.message = 'REPLACED_BY_VNODE'; + } + src_main_instance.id = id; + src_main_instance.$mount(); + document.body.appendChild(src_main_instance.$el); + src_main_instance.visible = true; + src_main_instance.dom = src_main_instance.$el; + src_main_instance.dom.style.zIndex = popup_["PopupManager"].nextZIndex(); + + var verticalOffset = options.offset || 0; + instances.filter(function (item) { + return item.position === position; + }).forEach(function (item) { + verticalOffset += item.$el.offsetHeight + 16; + }); + verticalOffset += 16; + src_main_instance.verticalOffset = verticalOffset; + instances.push(src_main_instance); + return src_main_instance; +}; + +['success', 'warning', 'info', 'error'].forEach(function (type) { + main_Notification[type] = function (options) { + if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) { + options = { + message: options + }; + } + options.type = type; + return main_Notification(options); + }; +}); + +main_Notification.close = function (id, userOnClose) { + var index = -1; + var len = instances.length; + var instance = instances.filter(function (instance, i) { + if (instance.id === id) { + index = i; + return true; + } + return false; + })[0]; + if (!instance) return; + + if (typeof userOnClose === 'function') { + userOnClose(instance); + } + instances.splice(index, 1); + + if (len <= 1) return; + var position = instance.position; + var removedHeight = instance.dom.offsetHeight; + for (var i = index; i < len - 1; i++) { + if (instances[i].position === position) { + instances[i].dom.style[instance.verticalProperty] = parseInt(instances[i].dom.style[instance.verticalProperty], 10) - removedHeight - 16 + 'px'; + } + } +}; + +main_Notification.closeAll = function () { + for (var i = instances.length - 1; i >= 0; i--) { + instances[i].close(); + } +}; + +/* harmony default export */ var packages_notification_src_main = (main_Notification); +// CONCATENATED MODULE: ./packages/notification/index.js + +/* harmony default export */ var notification = (packages_notification_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=template&id=32708644& +var mainvue_type_template_id_32708644_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-slider", + class: { + "is-vertical": _vm.vertical, + "el-slider--with-input": _vm.showInput + }, + attrs: { + role: "slider", + "aria-valuemin": _vm.min, + "aria-valuemax": _vm.max, + "aria-orientation": _vm.vertical ? "vertical" : "horizontal", + "aria-disabled": _vm.sliderDisabled + } + }, + [ + _vm.showInput && !_vm.range + ? _c("el-input-number", { + ref: "input", + staticClass: "el-slider__input", + attrs: { + step: _vm.step, + disabled: _vm.sliderDisabled, + controls: _vm.showInputControls, + min: _vm.min, + max: _vm.max, + debounce: _vm.debounce, + size: _vm.inputSize + }, + on: { change: _vm.emitChange }, + model: { + value: _vm.firstValue, + callback: function($$v) { + _vm.firstValue = $$v + }, + expression: "firstValue" + } + }) + : _vm._e(), + _c( + "div", + { + ref: "slider", + staticClass: "el-slider__runway", + class: { "show-input": _vm.showInput, disabled: _vm.sliderDisabled }, + style: _vm.runwayStyle, + on: { click: _vm.onSliderClick } + }, + [ + _c("div", { staticClass: "el-slider__bar", style: _vm.barStyle }), + _c("slider-button", { + ref: "button1", + attrs: { + vertical: _vm.vertical, + "tooltip-class": _vm.tooltipClass + }, + model: { + value: _vm.firstValue, + callback: function($$v) { + _vm.firstValue = $$v + }, + expression: "firstValue" + } + }), + _vm.range + ? _c("slider-button", { + ref: "button2", + attrs: { + vertical: _vm.vertical, + "tooltip-class": _vm.tooltipClass + }, + model: { + value: _vm.secondValue, + callback: function($$v) { + _vm.secondValue = $$v + }, + expression: "secondValue" + } + }) + : _vm._e(), + _vm._l(_vm.stops, function(item, key) { + return _vm.showStops + ? _c("div", { + key: key, + staticClass: "el-slider__stop", + style: _vm.getStopStyle(item) + }) + : _vm._e() + }), + _vm.markList.length > 0 + ? [ + _c( + "div", + _vm._l(_vm.markList, function(item, key) { + return _c("div", { + key: key, + staticClass: "el-slider__stop el-slider__marks-stop", + style: _vm.getStopStyle(item.position) + }) + }), + 0 + ), + _c( + "div", + { staticClass: "el-slider__marks" }, + _vm._l(_vm.markList, function(item, key) { + return _c("slider-marker", { + key: key, + style: _vm.getStopStyle(item.position), + attrs: { mark: item.mark } + }) + }), + 1 + ) + ] + : _vm._e() + ], + 2 + ) + ], + 1 + ) +} +var mainvue_type_template_id_32708644_staticRenderFns = [] +mainvue_type_template_id_32708644_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=template&id=32708644& + +// EXTERNAL MODULE: external "element-ui/lib/input-number" +var input_number_ = __webpack_require__(42); +var input_number_default = /*#__PURE__*/__webpack_require__.n(input_number_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2& +var buttonvue_type_template_id_e72d2ad2_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + ref: "button", + staticClass: "el-slider__button-wrapper", + class: { hover: _vm.hovering, dragging: _vm.dragging }, + style: _vm.wrapperStyle, + attrs: { tabindex: "0" }, + on: { + mouseenter: _vm.handleMouseEnter, + mouseleave: _vm.handleMouseLeave, + mousedown: _vm.onButtonDown, + touchstart: _vm.onButtonDown, + focus: _vm.handleMouseEnter, + blur: _vm.handleMouseLeave, + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "left", 37, $event.key, [ + "Left", + "ArrowLeft" + ]) + ) { + return null + } + if ("button" in $event && $event.button !== 0) { + return null + } + return _vm.onLeftKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "right", 39, $event.key, [ + "Right", + "ArrowRight" + ]) + ) { + return null + } + if ("button" in $event && $event.button !== 2) { + return null + } + return _vm.onRightKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + return _vm.onLeftKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"]) + ) { + return null + } + $event.preventDefault() + return _vm.onRightKeyDown($event) + } + ] + } + }, + [ + _c( + "el-tooltip", + { + ref: "tooltip", + attrs: { + placement: "top", + "popper-class": _vm.tooltipClass, + disabled: !_vm.showTooltip + } + }, + [ + _c("span", { attrs: { slot: "content" }, slot: "content" }, [ + _vm._v(_vm._s(_vm.formatValue)) + ]), + _c("div", { + staticClass: "el-slider__button", + class: { hover: _vm.hovering, dragging: _vm.dragging } + }) + ] + ) + ], + 1 + ) +} +var buttonvue_type_template_id_e72d2ad2_staticRenderFns = [] +buttonvue_type_template_id_e72d2ad2_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var slider_src_buttonvue_type_script_lang_js_ = ({ + name: 'ElSliderButton', + + components: { + ElTooltip: tooltip_default.a + }, + + props: { + value: { + type: Number, + default: 0 + }, + vertical: { + type: Boolean, + default: false + }, + tooltipClass: String + }, + + data: function data() { + return { + hovering: false, + dragging: false, + isClick: false, + startX: 0, + currentX: 0, + startY: 0, + currentY: 0, + startPosition: 0, + newPosition: null, + oldValue: this.value + }; + }, + + + computed: { + disabled: function disabled() { + return this.$parent.sliderDisabled; + }, + max: function max() { + return this.$parent.max; + }, + min: function min() { + return this.$parent.min; + }, + step: function step() { + return this.$parent.step; + }, + showTooltip: function showTooltip() { + return this.$parent.showTooltip; + }, + precision: function precision() { + return this.$parent.precision; + }, + currentPosition: function currentPosition() { + return (this.value - this.min) / (this.max - this.min) * 100 + '%'; + }, + enableFormat: function enableFormat() { + return this.$parent.formatTooltip instanceof Function; + }, + formatValue: function formatValue() { + return this.enableFormat && this.$parent.formatTooltip(this.value) || this.value; + }, + wrapperStyle: function wrapperStyle() { + return this.vertical ? { bottom: this.currentPosition } : { left: this.currentPosition }; + } + }, + + watch: { + dragging: function dragging(val) { + this.$parent.dragging = val; + } + }, + + methods: { + displayTooltip: function displayTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = true); + }, + hideTooltip: function hideTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = false); + }, + handleMouseEnter: function handleMouseEnter() { + this.hovering = true; + this.displayTooltip(); + }, + handleMouseLeave: function handleMouseLeave() { + this.hovering = false; + this.hideTooltip(); + }, + onButtonDown: function onButtonDown(event) { + if (this.disabled) return; + event.preventDefault(); + this.onDragStart(event); + window.addEventListener('mousemove', this.onDragging); + window.addEventListener('touchmove', this.onDragging); + window.addEventListener('mouseup', this.onDragEnd); + window.addEventListener('touchend', this.onDragEnd); + window.addEventListener('contextmenu', this.onDragEnd); + }, + onLeftKeyDown: function onLeftKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) - this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onRightKeyDown: function onRightKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) + this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onDragStart: function onDragStart(event) { + this.dragging = true; + this.isClick = true; + if (event.type === 'touchstart') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.startY = event.clientY; + } else { + this.startX = event.clientX; + } + this.startPosition = parseFloat(this.currentPosition); + this.newPosition = this.startPosition; + }, + onDragging: function onDragging(event) { + if (this.dragging) { + this.isClick = false; + this.displayTooltip(); + this.$parent.resetSize(); + var diff = 0; + if (event.type === 'touchmove') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.currentY = event.clientY; + diff = (this.startY - this.currentY) / this.$parent.sliderSize * 100; + } else { + this.currentX = event.clientX; + diff = (this.currentX - this.startX) / this.$parent.sliderSize * 100; + } + this.newPosition = this.startPosition + diff; + this.setPosition(this.newPosition); + } + }, + onDragEnd: function onDragEnd() { + var _this = this; + + if (this.dragging) { + /* + * �甇W mouseup ���閫血�� click嚗紡�皛����漣���撠挾雿宏 + * 銝蝙� preventDefault ���蛹 mouseup ��� click 瘝⊥�釣�����銝� DOM 銝� + */ + setTimeout(function () { + _this.dragging = false; + _this.hideTooltip(); + if (!_this.isClick) { + _this.setPosition(_this.newPosition); + _this.$parent.emitChange(); + } + }, 0); + window.removeEventListener('mousemove', this.onDragging); + window.removeEventListener('touchmove', this.onDragging); + window.removeEventListener('mouseup', this.onDragEnd); + window.removeEventListener('touchend', this.onDragEnd); + window.removeEventListener('contextmenu', this.onDragEnd); + } + }, + setPosition: function setPosition(newPosition) { + var _this2 = this; + + if (newPosition === null || isNaN(newPosition)) return; + if (newPosition < 0) { + newPosition = 0; + } else if (newPosition > 100) { + newPosition = 100; + } + var lengthPerStep = 100 / ((this.max - this.min) / this.step); + var steps = Math.round(newPosition / lengthPerStep); + var value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min; + value = parseFloat(value.toFixed(this.precision)); + this.$emit('input', value); + this.$nextTick(function () { + _this2.displayTooltip(); + _this2.$refs.tooltip && _this2.$refs.tooltip.updatePopper(); + }); + if (!this.dragging && this.value !== this.oldValue) { + this.oldValue = this.value; + } + } + } +}); +// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_slider_src_buttonvue_type_script_lang_js_ = (slider_src_buttonvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/slider/src/button.vue + + + + + +/* normalize component */ + +var src_button_component = normalizeComponent( + packages_slider_src_buttonvue_type_script_lang_js_, + buttonvue_type_template_id_e72d2ad2_render, + buttonvue_type_template_id_e72d2ad2_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_button_api; } +src_button_component.options.__file = "packages/slider/src/button.vue" +/* harmony default export */ var slider_src_button = (src_button_component.exports); +// CONCATENATED MODULE: ./packages/slider/src/marker.js +/* harmony default export */ var marker = ({ + name: 'ElMarker', + + props: { + mark: { + type: [String, Object] + } + }, + render: function render() { + var h = arguments[0]; + + var label = typeof this.mark === 'string' ? this.mark : this.mark.label; + + return h( + 'div', + { 'class': 'el-slider__marks-text', style: this.mark.style || {} }, + [label] + ); + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var slider_src_mainvue_type_script_lang_js_ = ({ + name: 'ElSlider', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + } + }, + + props: { + min: { + type: Number, + default: 0 + }, + max: { + type: Number, + default: 100 + }, + step: { + type: Number, + default: 1 + }, + value: { + type: [Number, Array], + default: 0 + }, + showInput: { + type: Boolean, + default: false + }, + showInputControls: { + type: Boolean, + default: true + }, + inputSize: { + type: String, + default: 'small' + }, + showStops: { + type: Boolean, + default: false + }, + showTooltip: { + type: Boolean, + default: true + }, + formatTooltip: Function, + disabled: { + type: Boolean, + default: false + }, + range: { + type: Boolean, + default: false + }, + vertical: { + type: Boolean, + default: false + }, + height: { + type: String + }, + debounce: { + type: Number, + default: 300 + }, + label: { + type: String + }, + tooltipClass: String, + marks: Object + }, + + components: { + ElInputNumber: input_number_default.a, + SliderButton: slider_src_button, + SliderMarker: marker + }, + + data: function data() { + return { + firstValue: null, + secondValue: null, + oldValue: null, + dragging: false, + sliderSize: 1 + }; + }, + + + watch: { + value: function value(val, oldVal) { + if (this.dragging || Array.isArray(val) && Array.isArray(oldVal) && val.every(function (item, index) { + return item === oldVal[index]; + })) { + return; + } + this.setValues(); + }, + dragging: function dragging(val) { + if (!val) { + this.setValues(); + } + }, + firstValue: function firstValue(val) { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } else { + this.$emit('input', val); + } + }, + secondValue: function secondValue() { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } + }, + min: function min() { + this.setValues(); + }, + max: function max() { + this.setValues(); + } + }, + + methods: { + valueChanged: function valueChanged() { + var _this = this; + + if (this.range) { + return ![this.minValue, this.maxValue].every(function (item, index) { + return item === _this.oldValue[index]; + }); + } else { + return this.value !== this.oldValue; + } + }, + setValues: function setValues() { + if (this.min > this.max) { + console.error('[Element Error][Slider]min should not be greater than max.'); + return; + } + var val = this.value; + if (this.range && Array.isArray(val)) { + if (val[1] < this.min) { + this.$emit('input', [this.min, this.min]); + } else if (val[0] > this.max) { + this.$emit('input', [this.max, this.max]); + } else if (val[0] < this.min) { + this.$emit('input', [this.min, val[1]]); + } else if (val[1] > this.max) { + this.$emit('input', [val[0], this.max]); + } else { + this.firstValue = val[0]; + this.secondValue = val[1]; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', [this.minValue, this.maxValue]); + this.oldValue = val.slice(); + } + } + } else if (!this.range && typeof val === 'number' && !isNaN(val)) { + if (val < this.min) { + this.$emit('input', this.min); + } else if (val > this.max) { + this.$emit('input', this.max); + } else { + this.firstValue = val; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', val); + this.oldValue = val; + } + } + } + }, + setPosition: function setPosition(percent) { + var targetValue = this.min + percent * (this.max - this.min) / 100; + if (!this.range) { + this.$refs.button1.setPosition(percent); + return; + } + var button = void 0; + if (Math.abs(this.minValue - targetValue) < Math.abs(this.maxValue - targetValue)) { + button = this.firstValue < this.secondValue ? 'button1' : 'button2'; + } else { + button = this.firstValue > this.secondValue ? 'button1' : 'button2'; + } + this.$refs[button].setPosition(percent); + }, + onSliderClick: function onSliderClick(event) { + if (this.sliderDisabled || this.dragging) return; + this.resetSize(); + if (this.vertical) { + var sliderOffsetBottom = this.$refs.slider.getBoundingClientRect().bottom; + this.setPosition((sliderOffsetBottom - event.clientY) / this.sliderSize * 100); + } else { + var sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left; + this.setPosition((event.clientX - sliderOffsetLeft) / this.sliderSize * 100); + } + this.emitChange(); + }, + resetSize: function resetSize() { + if (this.$refs.slider) { + this.sliderSize = this.$refs.slider['client' + (this.vertical ? 'Height' : 'Width')]; + } + }, + emitChange: function emitChange() { + var _this2 = this; + + this.$nextTick(function () { + _this2.$emit('change', _this2.range ? [_this2.minValue, _this2.maxValue] : _this2.value); + }); + }, + getStopStyle: function getStopStyle(position) { + return this.vertical ? { 'bottom': position + '%' } : { 'left': position + '%' }; + } + }, + + computed: { + stops: function stops() { + var _this3 = this; + + if (!this.showStops || this.min > this.max) return []; + if (this.step === 0) { + false && false; + return []; + } + var stopCount = (this.max - this.min) / this.step; + var stepWidth = 100 * this.step / (this.max - this.min); + var result = []; + for (var i = 1; i < stopCount; i++) { + result.push(i * stepWidth); + } + if (this.range) { + return result.filter(function (step) { + return step < 100 * (_this3.minValue - _this3.min) / (_this3.max - _this3.min) || step > 100 * (_this3.maxValue - _this3.min) / (_this3.max - _this3.min); + }); + } else { + return result.filter(function (step) { + return step > 100 * (_this3.firstValue - _this3.min) / (_this3.max - _this3.min); + }); + } + }, + markList: function markList() { + var _this4 = this; + + if (!this.marks) { + return []; + } + + var marksKeys = Object.keys(this.marks); + return marksKeys.map(parseFloat).sort(function (a, b) { + return a - b; + }).filter(function (point) { + return point <= _this4.max && point >= _this4.min; + }).map(function (point) { + return { + point: point, + position: (point - _this4.min) * 100 / (_this4.max - _this4.min), + mark: _this4.marks[point] + }; + }); + }, + minValue: function minValue() { + return Math.min(this.firstValue, this.secondValue); + }, + maxValue: function maxValue() { + return Math.max(this.firstValue, this.secondValue); + }, + barSize: function barSize() { + return this.range ? 100 * (this.maxValue - this.minValue) / (this.max - this.min) + '%' : 100 * (this.firstValue - this.min) / (this.max - this.min) + '%'; + }, + barStart: function barStart() { + return this.range ? 100 * (this.minValue - this.min) / (this.max - this.min) + '%' : '0%'; + }, + precision: function precision() { + var precisions = [this.min, this.max, this.step].map(function (item) { + var decimal = ('' + item).split('.')[1]; + return decimal ? decimal.length : 0; + }); + return Math.max.apply(null, precisions); + }, + runwayStyle: function runwayStyle() { + return this.vertical ? { height: this.height } : {}; + }, + barStyle: function barStyle() { + return this.vertical ? { + height: this.barSize, + bottom: this.barStart + } : { + width: this.barSize, + left: this.barStart + }; + }, + sliderDisabled: function sliderDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + mounted: function mounted() { + var valuetext = void 0; + if (this.range) { + if (Array.isArray(this.value)) { + this.firstValue = Math.max(this.min, this.value[0]); + this.secondValue = Math.min(this.max, this.value[1]); + } else { + this.firstValue = this.min; + this.secondValue = this.max; + } + this.oldValue = [this.firstValue, this.secondValue]; + valuetext = this.firstValue + '-' + this.secondValue; + } else { + if (typeof this.value !== 'number' || isNaN(this.value)) { + this.firstValue = this.min; + } else { + this.firstValue = Math.min(this.max, Math.max(this.min, this.value)); + } + this.oldValue = this.firstValue; + valuetext = this.firstValue; + } + this.$el.setAttribute('aria-valuetext', valuetext); + + // label screen reader + this.$el.setAttribute('aria-label', this.label ? this.label : 'slider between ' + this.min + ' and ' + this.max); + + this.resetSize(); + window.addEventListener('resize', this.resetSize); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('resize', this.resetSize); + } +}); +// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_slider_src_mainvue_type_script_lang_js_ = (slider_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/slider/src/main.vue + + + + + +/* normalize component */ + +var slider_src_main_component = normalizeComponent( + packages_slider_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_32708644_render, + mainvue_type_template_id_32708644_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var slider_src_main_api; } +slider_src_main_component.options.__file = "packages/slider/src/main.vue" +/* harmony default export */ var slider_src_main = (slider_src_main_component.exports); +// CONCATENATED MODULE: ./packages/slider/index.js + + +/* istanbul ignore next */ +slider_src_main.install = function (Vue) { + Vue.component(slider_src_main.name, slider_src_main); +}; + +/* harmony default export */ var slider = (slider_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac& +var loadingvue_type_template_id_eee0a7ac_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-loading-fade" }, + on: { "after-leave": _vm.handleAfterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-loading-mask", + class: [_vm.customClass, { "is-fullscreen": _vm.fullscreen }], + style: { backgroundColor: _vm.background || "" } + }, + [ + _c("div", { staticClass: "el-loading-spinner" }, [ + !_vm.spinner + ? _c( + "svg", + { + staticClass: "circular", + attrs: { viewBox: "25 25 50 50" } + }, + [ + _c("circle", { + staticClass: "path", + attrs: { cx: "50", cy: "50", r: "20", fill: "none" } + }) + ] + ) + : _c("i", { class: _vm.spinner }), + _vm.text + ? _c("p", { staticClass: "el-loading-text" }, [ + _vm._v(_vm._s(_vm.text)) + ]) + : _vm._e() + ]) + ] + ) + ] + ) +} +var loadingvue_type_template_id_eee0a7ac_staticRenderFns = [] +loadingvue_type_template_id_eee0a7ac_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var loadingvue_type_script_lang_js_ = ({ + data: function data() { + return { + text: null, + spinner: null, + background: null, + fullscreen: true, + visible: false, + customClass: '' + }; + }, + + + methods: { + handleAfterLeave: function handleAfterLeave() { + this.$emit('after-leave'); + }, + setText: function setText(text) { + this.text = text; + } + } +}); +// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=script&lang=js& + /* harmony default export */ var src_loadingvue_type_script_lang_js_ = (loadingvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/loading/src/loading.vue + + + + + +/* normalize component */ + +var loading_component = normalizeComponent( + src_loadingvue_type_script_lang_js_, + loadingvue_type_template_id_eee0a7ac_render, + loadingvue_type_template_id_eee0a7ac_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var loading_api; } +loading_component.options.__file = "packages/loading/src/loading.vue" +/* harmony default export */ var loading = (loading_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/after-leave" +var after_leave_ = __webpack_require__(33); +var after_leave_default = /*#__PURE__*/__webpack_require__.n(after_leave_); + +// CONCATENATED MODULE: ./packages/loading/src/directive.js + + + + + +var Mask = external_vue_default.a.extend(loading); + +var loadingDirective = {}; +loadingDirective.install = function (Vue) { + if (Vue.prototype.$isServer) return; + var toggleLoading = function toggleLoading(el, binding) { + if (binding.value) { + Vue.nextTick(function () { + if (binding.modifiers.fullscreen) { + el.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + el.originalOverflow = Object(dom_["getStyle"])(document.body, 'overflow'); + el.maskStyle.zIndex = popup_["PopupManager"].nextZIndex(); + + Object(dom_["addClass"])(el.mask, 'is-fullscreen'); + insertDom(document.body, el, binding); + } else { + Object(dom_["removeClass"])(el.mask, 'is-fullscreen'); + + if (binding.modifiers.body) { + el.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + + ['top', 'left'].forEach(function (property) { + var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + el.maskStyle[property] = el.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] - parseInt(Object(dom_["getStyle"])(document.body, 'margin-' + property), 10) + 'px'; + }); + ['height', 'width'].forEach(function (property) { + el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px'; + }); + + insertDom(document.body, el, binding); + } else { + el.originalPosition = Object(dom_["getStyle"])(el, 'position'); + insertDom(el, el, binding); + } + } + }); + } else { + after_leave_default()(el.instance, function (_) { + if (!el.instance.hiding) return; + el.domVisible = false; + var target = binding.modifiers.fullscreen || binding.modifiers.body ? document.body : el; + Object(dom_["removeClass"])(target, 'el-loading-parent--relative'); + Object(dom_["removeClass"])(target, 'el-loading-parent--hidden'); + el.instance.hiding = false; + }, 300, true); + el.instance.visible = false; + el.instance.hiding = true; + } + }; + var insertDom = function insertDom(parent, el, binding) { + if (!el.domVisible && Object(dom_["getStyle"])(el, 'display') !== 'none' && Object(dom_["getStyle"])(el, 'visibility') !== 'hidden') { + Object.keys(el.maskStyle).forEach(function (property) { + el.mask.style[property] = el.maskStyle[property]; + }); + + if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed' && el.originalPosition !== 'sticky') { + Object(dom_["addClass"])(parent, 'el-loading-parent--relative'); + } + if (binding.modifiers.fullscreen && binding.modifiers.lock) { + Object(dom_["addClass"])(parent, 'el-loading-parent--hidden'); + } + el.domVisible = true; + + parent.appendChild(el.mask); + Vue.nextTick(function () { + if (el.instance.hiding) { + el.instance.$emit('after-leave'); + } else { + el.instance.visible = true; + } + }); + el.domInserted = true; + } else if (el.domVisible && el.instance.hiding === true) { + el.instance.visible = true; + el.instance.hiding = false; + } + }; + + Vue.directive('loading', { + bind: function bind(el, binding, vnode) { + var textExr = el.getAttribute('element-loading-text'); + var spinnerExr = el.getAttribute('element-loading-spinner'); + var backgroundExr = el.getAttribute('element-loading-background'); + var customClassExr = el.getAttribute('element-loading-custom-class'); + var vm = vnode.context; + var mask = new Mask({ + el: document.createElement('div'), + data: { + text: vm && vm[textExr] || textExr, + spinner: vm && vm[spinnerExr] || spinnerExr, + background: vm && vm[backgroundExr] || backgroundExr, + customClass: vm && vm[customClassExr] || customClassExr, + fullscreen: !!binding.modifiers.fullscreen + } + }); + el.instance = mask; + el.mask = mask.$el; + el.maskStyle = {}; + + binding.value && toggleLoading(el, binding); + }, + + update: function update(el, binding) { + el.instance.setText(el.getAttribute('element-loading-text')); + if (binding.oldValue !== binding.value) { + toggleLoading(el, binding); + } + }, + + unbind: function unbind(el, binding) { + if (el.domInserted) { + el.mask && el.mask.parentNode && el.mask.parentNode.removeChild(el.mask); + toggleLoading(el, { value: false, modifiers: binding.modifiers }); + } + el.instance && el.instance.$destroy(); + } + }); +}; + +/* harmony default export */ var src_directive = (loadingDirective); +// CONCATENATED MODULE: ./packages/loading/src/index.js + + + + + + + +var LoadingConstructor = external_vue_default.a.extend(loading); + +var src_defaults = { + text: null, + fullscreen: true, + body: false, + lock: false, + customClass: '' +}; + +var fullscreenLoading = void 0; + +LoadingConstructor.prototype.originalPosition = ''; +LoadingConstructor.prototype.originalOverflow = ''; + +LoadingConstructor.prototype.close = function () { + var _this = this; + + if (this.fullscreen) { + fullscreenLoading = undefined; + } + after_leave_default()(this, function (_) { + var target = _this.fullscreen || _this.body ? document.body : _this.target; + Object(dom_["removeClass"])(target, 'el-loading-parent--relative'); + Object(dom_["removeClass"])(target, 'el-loading-parent--hidden'); + if (_this.$el && _this.$el.parentNode) { + _this.$el.parentNode.removeChild(_this.$el); + } + _this.$destroy(); + }, 300); + this.visible = false; +}; + +var src_addStyle = function addStyle(options, parent, instance) { + var maskStyle = {}; + if (options.fullscreen) { + instance.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + instance.originalOverflow = Object(dom_["getStyle"])(document.body, 'overflow'); + maskStyle.zIndex = popup_["PopupManager"].nextZIndex(); + } else if (options.body) { + instance.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + ['top', 'left'].forEach(function (property) { + var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + maskStyle[property] = options.target.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] + 'px'; + }); + ['height', 'width'].forEach(function (property) { + maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px'; + }); + } else { + instance.originalPosition = Object(dom_["getStyle"])(parent, 'position'); + } + Object.keys(maskStyle).forEach(function (property) { + instance.$el.style[property] = maskStyle[property]; + }); +}; + +var src_Loading = function Loading() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (external_vue_default.a.prototype.$isServer) return; + options = merge_default()({}, src_defaults, options); + if (typeof options.target === 'string') { + options.target = document.querySelector(options.target); + } + options.target = options.target || document.body; + if (options.target !== document.body) { + options.fullscreen = false; + } else { + options.body = true; + } + if (options.fullscreen && fullscreenLoading) { + return fullscreenLoading; + } + + var parent = options.body ? document.body : options.target; + var instance = new LoadingConstructor({ + el: document.createElement('div'), + data: options + }); + + src_addStyle(options, parent, instance); + if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') { + Object(dom_["addClass"])(parent, 'el-loading-parent--relative'); + } + if (options.fullscreen && options.lock) { + Object(dom_["addClass"])(parent, 'el-loading-parent--hidden'); + } + parent.appendChild(instance.$el); + external_vue_default.a.nextTick(function () { + instance.visible = true; + }); + if (options.fullscreen) { + fullscreenLoading = instance; + } + return instance; +}; + +/* harmony default export */ var src = (src_Loading); +// CONCATENATED MODULE: ./packages/loading/index.js + + + +/* harmony default export */ var packages_loading = ({ + install: function install(Vue) { + Vue.use(src_directive); + Vue.prototype.$loading = src; + }, + + directive: src_directive, + service: src +}); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4& +var iconvue_type_template_id_cb3fe7f4_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("i", { class: "el-icon-" + _vm.name }) +} +var iconvue_type_template_id_cb3fe7f4_staticRenderFns = [] +iconvue_type_template_id_cb3fe7f4_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=script&lang=js& +// +// +// +// + +/* harmony default export */ var iconvue_type_script_lang_js_ = ({ + name: 'ElIcon', + + props: { + name: String + } +}); +// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=script&lang=js& + /* harmony default export */ var src_iconvue_type_script_lang_js_ = (iconvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/icon/src/icon.vue + + + + + +/* normalize component */ + +var icon_component = normalizeComponent( + src_iconvue_type_script_lang_js_, + iconvue_type_template_id_cb3fe7f4_render, + iconvue_type_template_id_cb3fe7f4_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_api; } +icon_component.options.__file = "packages/icon/src/icon.vue" +/* harmony default export */ var icon = (icon_component.exports); +// CONCATENATED MODULE: ./packages/icon/index.js + + +/* istanbul ignore next */ +icon.install = function (Vue) { + Vue.component(icon.name, icon); +}; + +/* harmony default export */ var packages_icon = (icon); +// CONCATENATED MODULE: ./packages/row/src/row.js +/* harmony default export */ var src_row = ({ + name: 'ElRow', + + componentName: 'ElRow', + + props: { + tag: { + type: String, + default: 'div' + }, + gutter: Number, + type: String, + justify: { + type: String, + default: 'start' + }, + align: String + }, + + computed: { + style: function style() { + var ret = {}; + + if (this.gutter) { + ret.marginLeft = '-' + this.gutter / 2 + 'px'; + ret.marginRight = ret.marginLeft; + } + + return ret; + } + }, + + render: function render(h) { + return h(this.tag, { + class: ['el-row', this.justify !== 'start' ? 'is-justify-' + this.justify : '', this.align ? 'is-align-' + this.align : '', { 'el-row--flex': this.type === 'flex' }], + style: this.style + }, this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/row/index.js + + +/* istanbul ignore next */ +src_row.install = function (Vue) { + Vue.component(src_row.name, src_row); +}; + +/* harmony default export */ var packages_row = (src_row); +// CONCATENATED MODULE: ./packages/col/src/col.js +var col_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +/* harmony default export */ var col = ({ + name: 'ElCol', + + props: { + span: { + type: Number, + default: 24 + }, + tag: { + type: String, + default: 'div' + }, + offset: Number, + pull: Number, + push: Number, + xs: [Number, Object], + sm: [Number, Object], + md: [Number, Object], + lg: [Number, Object], + xl: [Number, Object] + }, + + computed: { + gutter: function gutter() { + var parent = this.$parent; + while (parent && parent.$options.componentName !== 'ElRow') { + parent = parent.$parent; + } + return parent ? parent.gutter : 0; + } + }, + render: function render(h) { + var _this = this; + + var classList = []; + var style = {}; + + if (this.gutter) { + style.paddingLeft = this.gutter / 2 + 'px'; + style.paddingRight = style.paddingLeft; + } + + ['span', 'offset', 'pull', 'push'].forEach(function (prop) { + if (_this[prop] || _this[prop] === 0) { + classList.push(prop !== 'span' ? 'el-col-' + prop + '-' + _this[prop] : 'el-col-' + _this[prop]); + } + }); + + ['xs', 'sm', 'md', 'lg', 'xl'].forEach(function (size) { + if (typeof _this[size] === 'number') { + classList.push('el-col-' + size + '-' + _this[size]); + } else if (col_typeof(_this[size]) === 'object') { + var props = _this[size]; + Object.keys(props).forEach(function (prop) { + classList.push(prop !== 'span' ? 'el-col-' + size + '-' + prop + '-' + props[prop] : 'el-col-' + size + '-' + props[prop]); + }); + } + }); + + return h(this.tag, { + class: ['el-col', classList], + style: style + }, this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/col/index.js + + +/* istanbul ignore next */ +col.install = function (Vue) { + Vue.component(col.name, col); +}; + +/* harmony default export */ var packages_col = (col); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5& +var upload_listvue_type_template_id_173fedf5_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition-group", + { + class: [ + "el-upload-list", + "el-upload-list--" + _vm.listType, + { "is-disabled": _vm.disabled } + ], + attrs: { tag: "ul", name: "el-list" } + }, + _vm._l(_vm.files, function(file) { + return _c( + "li", + { + key: file.uid, + class: [ + "el-upload-list__item", + "is-" + file.status, + _vm.focusing ? "focusing" : "" + ], + attrs: { tabindex: "0" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "delete", [8, 46], $event.key, [ + "Backspace", + "Delete", + "Del" + ]) + ) { + return null + } + !_vm.disabled && _vm.$emit("remove", file) + }, + focus: function($event) { + _vm.focusing = true + }, + blur: function($event) { + _vm.focusing = false + }, + click: function($event) { + _vm.focusing = false + } + } + }, + [ + _vm._t( + "default", + [ + file.status !== "uploading" && + ["picture-card", "picture"].indexOf(_vm.listType) > -1 + ? _c("img", { + staticClass: "el-upload-list__item-thumbnail", + attrs: { src: file.url, alt: "" } + }) + : _vm._e(), + _c( + "a", + { + staticClass: "el-upload-list__item-name", + on: { + click: function($event) { + _vm.handleClick(file) + } + } + }, + [ + _c("i", { staticClass: "el-icon-document" }), + _vm._v(_vm._s(file.name) + "\n ") + ] + ), + _c( + "label", + { staticClass: "el-upload-list__item-status-label" }, + [ + _c("i", { + class: { + "el-icon-upload-success": true, + "el-icon-circle-check": _vm.listType === "text", + "el-icon-check": + ["picture-card", "picture"].indexOf(_vm.listType) > -1 + } + }) + ] + ), + !_vm.disabled + ? _c("i", { + staticClass: "el-icon-close", + on: { + click: function($event) { + _vm.$emit("remove", file) + } + } + }) + : _vm._e(), + !_vm.disabled + ? _c("i", { staticClass: "el-icon-close-tip" }, [ + _vm._v(_vm._s(_vm.t("el.upload.deleteTip"))) + ]) + : _vm._e(), + file.status === "uploading" + ? _c("el-progress", { + attrs: { + type: _vm.listType === "picture-card" ? "circle" : "line", + "stroke-width": _vm.listType === "picture-card" ? 6 : 2, + percentage: _vm.parsePercentage(file.percentage) + } + }) + : _vm._e(), + _vm.listType === "picture-card" + ? _c("span", { staticClass: "el-upload-list__item-actions" }, [ + _vm.handlePreview && _vm.listType === "picture-card" + ? _c( + "span", + { + staticClass: "el-upload-list__item-preview", + on: { + click: function($event) { + _vm.handlePreview(file) + } + } + }, + [_c("i", { staticClass: "el-icon-zoom-in" })] + ) + : _vm._e(), + !_vm.disabled + ? _c( + "span", + { + staticClass: "el-upload-list__item-delete", + on: { + click: function($event) { + _vm.$emit("remove", file) + } + } + }, + [_c("i", { staticClass: "el-icon-delete" })] + ) + : _vm._e() + ]) + : _vm._e() + ], + { file: file } + ) + ], + 2 + ) + }), + 0 + ) +} +var upload_listvue_type_template_id_173fedf5_staticRenderFns = [] +upload_listvue_type_template_id_173fedf5_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5& + +// EXTERNAL MODULE: external "element-ui/lib/progress" +var progress_ = __webpack_require__(34); +var progress_default = /*#__PURE__*/__webpack_require__.n(progress_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var upload_listvue_type_script_lang_js_ = ({ + + name: 'ElUploadList', + + mixins: [locale_default.a], + + data: function data() { + return { + focusing: false + }; + }, + + components: { ElProgress: progress_default.a }, + + props: { + files: { + type: Array, + default: function _default() { + return []; + } + }, + disabled: { + type: Boolean, + default: false + }, + handlePreview: Function, + listType: String + }, + methods: { + parsePercentage: function parsePercentage(val) { + return parseInt(val, 10); + }, + handleClick: function handleClick(file) { + this.handlePreview && this.handlePreview(file); + } + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js& + /* harmony default export */ var src_upload_listvue_type_script_lang_js_ = (upload_listvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue + + + + + +/* normalize component */ + +var upload_list_component = normalizeComponent( + src_upload_listvue_type_script_lang_js_, + upload_listvue_type_template_id_173fedf5_render, + upload_listvue_type_template_id_173fedf5_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var upload_list_api; } +upload_list_component.options.__file = "packages/upload/src/upload-list.vue" +/* harmony default export */ var upload_list = (upload_list_component.exports); +// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props" +var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(24); +var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_); + +// CONCATENATED MODULE: ./packages/upload/src/ajax.js +function getError(action, option, xhr) { + var msg = void 0; + if (xhr.response) { + msg = '' + (xhr.response.error || xhr.response); + } else if (xhr.responseText) { + msg = '' + xhr.responseText; + } else { + msg = 'fail to post ' + action + ' ' + xhr.status; + } + + var err = new Error(msg); + err.status = xhr.status; + err.method = 'post'; + err.url = action; + return err; +} + +function getBody(xhr) { + var text = xhr.responseText || xhr.response; + if (!text) { + return text; + } + + try { + return JSON.parse(text); + } catch (e) { + return text; + } +} + +function upload(option) { + if (typeof XMLHttpRequest === 'undefined') { + return; + } + + var xhr = new XMLHttpRequest(); + var action = option.action; + + if (xhr.upload) { + xhr.upload.onprogress = function progress(e) { + if (e.total > 0) { + e.percent = e.loaded / e.total * 100; + } + option.onProgress(e); + }; + } + + var formData = new FormData(); + + if (option.data) { + Object.keys(option.data).forEach(function (key) { + formData.append(key, option.data[key]); + }); + } + + formData.append(option.filename, option.file, option.file.name); + + xhr.onerror = function error(e) { + option.onError(e); + }; + + xhr.onload = function onload() { + if (xhr.status < 200 || xhr.status >= 300) { + return option.onError(getError(action, option, xhr)); + } + + option.onSuccess(getBody(xhr)); + }; + + xhr.open('post', action, true); + + if (option.withCredentials && 'withCredentials' in xhr) { + xhr.withCredentials = true; + } + + var headers = option.headers || {}; + + for (var item in headers) { + if (headers.hasOwnProperty(item) && headers[item] !== null) { + xhr.setRequestHeader(item, headers[item]); + } + } + xhr.send(formData); + return xhr; +} +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219& +var upload_draggervue_type_template_id_7ebbf219_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-upload-dragger", + class: { + "is-dragover": _vm.dragover + }, + on: { + drop: function($event) { + $event.preventDefault() + return _vm.onDrop($event) + }, + dragover: function($event) { + $event.preventDefault() + return _vm.onDragover($event) + }, + dragleave: function($event) { + $event.preventDefault() + _vm.dragover = false + } + } + }, + [_vm._t("default")], + 2 + ) +} +var upload_draggervue_type_template_id_7ebbf219_staticRenderFns = [] +upload_draggervue_type_template_id_7ebbf219_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var upload_draggervue_type_script_lang_js_ = ({ + name: 'ElUploadDrag', + props: { + disabled: Boolean + }, + inject: { + uploader: { + default: '' + } + }, + data: function data() { + return { + dragover: false + }; + }, + + methods: { + onDragover: function onDragover() { + if (!this.disabled) { + this.dragover = true; + } + }, + onDrop: function onDrop(e) { + if (this.disabled || !this.uploader) return; + var accept = this.uploader.accept; + this.dragover = false; + if (!accept) { + this.$emit('file', e.dataTransfer.files); + return; + } + this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) { + var type = file.type, + name = file.name; + + var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : ''; + var baseType = type.replace(/\/.*$/, ''); + return accept.split(',').map(function (type) { + return type.trim(); + }).filter(function (type) { + return type; + }).some(function (acceptedType) { + if (/\..+$/.test(acceptedType)) { + return extension === acceptedType; + } + if (/\/\*$/.test(acceptedType)) { + return baseType === acceptedType.replace(/\/\*$/, ''); + } + if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) { + return type === acceptedType; + } + return false; + }); + })); + } + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js& + /* harmony default export */ var src_upload_draggervue_type_script_lang_js_ = (upload_draggervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue + + + + + +/* normalize component */ + +var upload_dragger_component = normalizeComponent( + src_upload_draggervue_type_script_lang_js_, + upload_draggervue_type_template_id_7ebbf219_render, + upload_draggervue_type_template_id_7ebbf219_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var upload_dragger_api; } +upload_dragger_component.options.__file = "packages/upload/src/upload-dragger.vue" +/* harmony default export */ var upload_dragger = (upload_dragger_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload.vue?vue&type=script&lang=js& + + + + + +/* harmony default export */ var uploadvue_type_script_lang_js_ = ({ + inject: ['uploader'], + components: { + UploadDragger: upload_dragger + }, + props: { + type: String, + action: { + type: String, + required: true + }, + name: { + type: String, + default: 'file' + }, + data: Object, + headers: Object, + withCredentials: Boolean, + multiple: Boolean, + accept: String, + onStart: Function, + onProgress: Function, + onSuccess: Function, + onError: Function, + beforeUpload: Function, + drag: Boolean, + onPreview: { + type: Function, + default: function _default() {} + }, + onRemove: { + type: Function, + default: function _default() {} + }, + fileList: Array, + autoUpload: Boolean, + listType: String, + httpRequest: { + type: Function, + default: upload + }, + disabled: Boolean, + limit: Number, + onExceed: Function + }, + + data: function data() { + return { + mouseover: false, + reqs: {} + }; + }, + + + methods: { + isImage: function isImage(str) { + return str.indexOf('image') !== -1; + }, + handleChange: function handleChange(ev) { + var files = ev.target.files; + + if (!files) return; + this.uploadFiles(files); + }, + uploadFiles: function uploadFiles(files) { + var _this = this; + + if (this.limit && this.fileList.length + files.length > this.limit) { + this.onExceed && this.onExceed(files, this.fileList); + return; + } + + var postFiles = Array.prototype.slice.call(files); + if (!this.multiple) { + postFiles = postFiles.slice(0, 1); + } + + if (postFiles.length === 0) { + return; + } + + postFiles.forEach(function (rawFile) { + _this.onStart(rawFile); + if (_this.autoUpload) _this.upload(rawFile); + }); + }, + upload: function upload(rawFile) { + var _this2 = this; + + this.$refs.input.value = null; + + if (!this.beforeUpload) { + return this.post(rawFile); + } + + var before = this.beforeUpload(rawFile); + if (before && before.then) { + before.then(function (processedFile) { + var fileType = Object.prototype.toString.call(processedFile); + + if (fileType === '[object File]' || fileType === '[object Blob]') { + if (fileType === '[object Blob]') { + processedFile = new File([processedFile], rawFile.name, { + type: rawFile.type + }); + } + for (var p in rawFile) { + if (rawFile.hasOwnProperty(p)) { + processedFile[p] = rawFile[p]; + } + } + _this2.post(processedFile); + } else { + _this2.post(rawFile); + } + }, function () { + _this2.onRemove(null, rawFile); + }); + } else if (before !== false) { + this.post(rawFile); + } else { + this.onRemove(null, rawFile); + } + }, + abort: function abort(file) { + var reqs = this.reqs; + + if (file) { + var uid = file; + if (file.uid) uid = file.uid; + if (reqs[uid]) { + reqs[uid].abort(); + } + } else { + Object.keys(reqs).forEach(function (uid) { + if (reqs[uid]) reqs[uid].abort(); + delete reqs[uid]; + }); + } + }, + post: function post(rawFile) { + var _this3 = this; + + var uid = rawFile.uid; + + var options = { + headers: this.headers, + withCredentials: this.withCredentials, + file: rawFile, + data: this.data, + filename: this.name, + action: this.action, + onProgress: function onProgress(e) { + _this3.onProgress(e, rawFile); + }, + onSuccess: function onSuccess(res) { + _this3.onSuccess(res, rawFile); + delete _this3.reqs[uid]; + }, + onError: function onError(err) { + _this3.onError(err, rawFile); + delete _this3.reqs[uid]; + } + }; + var req = this.httpRequest(options); + this.reqs[uid] = req; + if (req && req.then) { + req.then(options.onSuccess, options.onError); + } + }, + handleClick: function handleClick() { + if (!this.disabled) { + this.$refs.input.value = null; + this.$refs.input.click(); + } + }, + handleKeydown: function handleKeydown(e) { + if (e.target !== e.currentTarget) return; + if (e.keyCode === 13 || e.keyCode === 32) { + this.handleClick(); + } + } + }, + + render: function render(h) { + var handleClick = this.handleClick, + drag = this.drag, + name = this.name, + handleChange = this.handleChange, + multiple = this.multiple, + accept = this.accept, + listType = this.listType, + uploadFiles = this.uploadFiles, + disabled = this.disabled, + handleKeydown = this.handleKeydown; + + var data = { + class: { + 'el-upload': true + }, + on: { + click: handleClick, + keydown: handleKeydown + } + }; + data.class['el-upload--' + listType] = true; + return h( + 'div', + external_babel_helper_vue_jsx_merge_props_default()([data, { + attrs: { tabindex: '0' } + }]), + [drag ? h( + 'upload-dragger', + { + attrs: { disabled: disabled }, + on: { + 'file': uploadFiles + } + }, + [this.$slots.default] + ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept }, + ref: 'input', on: { + 'change': handleChange + } + })] + ); + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js& + /* harmony default export */ var src_uploadvue_type_script_lang_js_ = (uploadvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/upload.vue +var upload_render, upload_staticRenderFns + + + + +/* normalize component */ + +var upload_component = normalizeComponent( + src_uploadvue_type_script_lang_js_, + upload_render, + upload_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var upload_api; } +upload_component.options.__file = "packages/upload/src/upload.vue" +/* harmony default export */ var src_upload = (upload_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js& + + + + + + +function srcvue_type_script_lang_js_noop() {} + +/* harmony default export */ var srcvue_type_script_lang_js_ = ({ + name: 'ElUpload', + + mixins: [migrating_default.a], + + components: { + ElProgress: progress_default.a, + UploadList: upload_list, + Upload: src_upload + }, + + provide: function provide() { + return { + uploader: this + }; + }, + + + inject: { + elForm: { + default: '' + } + }, + + props: { + action: { + type: String, + required: true + }, + headers: { + type: Object, + default: function _default() { + return {}; + } + }, + data: Object, + multiple: Boolean, + name: { + type: String, + default: 'file' + }, + drag: Boolean, + dragger: Boolean, + withCredentials: Boolean, + showFileList: { + type: Boolean, + default: true + }, + accept: String, + type: { + type: String, + default: 'select' + }, + beforeUpload: Function, + beforeRemove: Function, + onRemove: { + type: Function, + default: srcvue_type_script_lang_js_noop + }, + onChange: { + type: Function, + default: srcvue_type_script_lang_js_noop + }, + onPreview: { + type: Function + }, + onSuccess: { + type: Function, + default: srcvue_type_script_lang_js_noop + }, + onProgress: { + type: Function, + default: srcvue_type_script_lang_js_noop + }, + onError: { + type: Function, + default: srcvue_type_script_lang_js_noop + }, + fileList: { + type: Array, + default: function _default() { + return []; + } + }, + autoUpload: { + type: Boolean, + default: true + }, + listType: { + type: String, + default: 'text' // text,picture,picture-card + }, + httpRequest: Function, + disabled: Boolean, + limit: Number, + onExceed: { + type: Function, + default: srcvue_type_script_lang_js_noop + } + }, + + data: function data() { + return { + uploadFiles: [], + dragOver: false, + draging: false, + tempIndex: 1 + }; + }, + + + computed: { + uploadDisabled: function uploadDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + listType: function listType(type) { + if (type === 'picture-card' || type === 'picture') { + this.uploadFiles = this.uploadFiles.map(function (file) { + if (!file.url && file.raw) { + try { + file.url = URL.createObjectURL(file.raw); + } catch (err) { + console.error('[Element Error][Upload]', err); + } + } + return file; + }); + } + }, + + fileList: { + immediate: true, + handler: function handler(fileList) { + var _this = this; + + this.uploadFiles = fileList.map(function (item) { + item.uid = item.uid || Date.now() + _this.tempIndex++; + item.status = item.status || 'success'; + return item; + }); + } + } + }, + + methods: { + handleStart: function handleStart(rawFile) { + rawFile.uid = Date.now() + this.tempIndex++; + var file = { + status: 'ready', + name: rawFile.name, + size: rawFile.size, + percentage: 0, + uid: rawFile.uid, + raw: rawFile + }; + + if (this.listType === 'picture-card' || this.listType === 'picture') { + try { + file.url = URL.createObjectURL(rawFile); + } catch (err) { + console.error('[Element Error][Upload]', err); + return; + } + } + + this.uploadFiles.push(file); + this.onChange(file, this.uploadFiles); + }, + handleProgress: function handleProgress(ev, rawFile) { + var file = this.getFile(rawFile); + this.onProgress(ev, file, this.uploadFiles); + file.status = 'uploading'; + file.percentage = ev.percent || 0; + }, + handleSuccess: function handleSuccess(res, rawFile) { + var file = this.getFile(rawFile); + + if (file) { + file.status = 'success'; + file.response = res; + + this.onSuccess(res, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + } + }, + handleError: function handleError(err, rawFile) { + var file = this.getFile(rawFile); + var fileList = this.uploadFiles; + + file.status = 'fail'; + + fileList.splice(fileList.indexOf(file), 1); + + this.onError(err, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + }, + handleRemove: function handleRemove(file, raw) { + var _this2 = this; + + if (raw) { + file = this.getFile(raw); + } + var doRemove = function doRemove() { + _this2.abort(file); + var fileList = _this2.uploadFiles; + fileList.splice(fileList.indexOf(file), 1); + _this2.onRemove(file, fileList); + }; + + if (!this.beforeRemove) { + doRemove(); + } else if (typeof this.beforeRemove === 'function') { + var before = this.beforeRemove(file, this.uploadFiles); + if (before && before.then) { + before.then(function () { + doRemove(); + }, srcvue_type_script_lang_js_noop); + } else if (before !== false) { + doRemove(); + } + } + }, + getFile: function getFile(rawFile) { + var fileList = this.uploadFiles; + var target = void 0; + fileList.every(function (item) { + target = rawFile.uid === item.uid ? item : null; + return !target; + }); + return target; + }, + abort: function abort(file) { + this.$refs['upload-inner'].abort(file); + }, + clearFiles: function clearFiles() { + this.uploadFiles = []; + }, + submit: function submit() { + var _this3 = this; + + this.uploadFiles.filter(function (file) { + return file.status === 'ready'; + }).forEach(function (file) { + _this3.$refs['upload-inner'].upload(file.raw); + }); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'default-file-list': 'default-file-list is renamed to file-list.', + 'show-upload-list': 'show-upload-list is renamed to show-file-list.', + 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan' + } + }; + } + }, + + beforeDestroy: function beforeDestroy() { + this.uploadFiles.forEach(function (file) { + if (file.url && file.url.indexOf('blob:') === 0) { + URL.revokeObjectURL(file.url); + } + }); + }, + render: function render(h) { + var _this4 = this; + + var uploadList = void 0; + + if (this.showFileList) { + uploadList = h( + upload_list, + { + attrs: { + disabled: this.uploadDisabled, + listType: this.listType, + files: this.uploadFiles, + + handlePreview: this.onPreview }, + on: { + 'remove': this.handleRemove + } + }, + [function (props) { + if (_this4.$scopedSlots.file) { + return _this4.$scopedSlots.file({ + file: props.file + }); + } + }] + ); + } + + var uploadData = { + props: { + type: this.type, + drag: this.drag, + action: this.action, + multiple: this.multiple, + 'before-upload': this.beforeUpload, + 'with-credentials': this.withCredentials, + headers: this.headers, + name: this.name, + data: this.data, + accept: this.accept, + fileList: this.uploadFiles, + autoUpload: this.autoUpload, + listType: this.listType, + disabled: this.uploadDisabled, + limit: this.limit, + 'on-exceed': this.onExceed, + 'on-start': this.handleStart, + 'on-progress': this.handleProgress, + 'on-success': this.handleSuccess, + 'on-error': this.handleError, + 'on-preview': this.onPreview, + 'on-remove': this.handleRemove, + 'http-request': this.httpRequest + }, + ref: 'upload-inner' + }; + + var trigger = this.$slots.trigger || this.$slots.default; + var uploadComponent = h( + 'upload', + uploadData, + [trigger] + ); + + return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']); + } +}); +// CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var upload_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/index.vue +var src_render, src_staticRenderFns + + + + +/* normalize component */ + +var upload_src_component = normalizeComponent( + upload_srcvue_type_script_lang_js_, + src_render, + src_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_api; } +upload_src_component.options.__file = "packages/upload/src/index.vue" +/* harmony default export */ var upload_src = (upload_src_component.exports); +// CONCATENATED MODULE: ./packages/upload/index.js + + +/* istanbul ignore next */ +upload_src.install = function (Vue) { + Vue.component(upload_src.name, upload_src); +}; + +/* harmony default export */ var packages_upload = (upload_src); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406& +var progressvue_type_template_id_229ee406_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-progress", + class: [ + "el-progress--" + _vm.type, + _vm.status ? "is-" + _vm.status : "", + { + "el-progress--without-text": !_vm.showText, + "el-progress--text-inside": _vm.textInside + } + ], + attrs: { + role: "progressbar", + "aria-valuenow": _vm.percentage, + "aria-valuemin": "0", + "aria-valuemax": "100" + } + }, + [ + _vm.type === "line" + ? _c("div", { staticClass: "el-progress-bar" }, [ + _c( + "div", + { + staticClass: "el-progress-bar__outer", + style: { + height: _vm.strokeWidth + "px", + backgroundColor: _vm.defineBackColor + } + }, + [ + _c( + "div", + { + staticClass: "el-progress-bar__inner", + style: _vm.barStyle + }, + [ + _vm.showText && _vm.textInside + ? _c( + "div", + { + staticClass: "el-progress-bar__innerText", + style: { color: _vm.textColor } + }, + [_vm._v(_vm._s(_vm.content))] + ) + : _vm._e() + ] + ) + ] + ) + ]) + : _c( + "div", + { + staticClass: "el-progress-circle", + style: { height: _vm.width + "px", width: _vm.width + "px" } + }, + [ + _c("svg", { attrs: { viewBox: "0 0 100 100" } }, [ + _c("path", { + staticClass: "el-progress-circle__track", + style: _vm.trailPathStyle, + attrs: { + d: _vm.trackPath, + stroke: _vm.defineBackColor, + "stroke-width": _vm.relativeStrokeWidth, + fill: "none" + } + }), + _c("path", { + staticClass: "el-progress-circle__path", + style: _vm.circlePathStyle, + attrs: { + d: _vm.trackPath, + stroke: _vm.stroke, + fill: "none", + "stroke-linecap": _vm.strokeLinecap, + "stroke-width": _vm.percentage ? _vm.relativeStrokeWidth : 0 + } + }) + ]) + ] + ), + _vm.showText && !_vm.textInside + ? _c( + "div", + { + staticClass: "el-progress__text", + style: { + fontSize: _vm.progressTextSize + "px", + color: _vm.textColor + } + }, + [ + !_vm.status + ? [_vm._v(_vm._s(_vm.content))] + : _c("i", { class: _vm.iconClass }) + ], + 2 + ) + : _vm._e() + ] + ) +} +var progressvue_type_template_id_229ee406_staticRenderFns = [] +progressvue_type_template_id_229ee406_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var progressvue_type_script_lang_js_ = ({ + name: 'ElProgress', + props: { + type: { + type: String, + default: 'line', + validator: function validator(val) { + return ['line', 'circle', 'dashboard'].indexOf(val) > -1; + } + }, + percentage: { + type: Number, + default: 0, + required: true, + validator: function validator(val) { + return val >= 0 && val <= 100; + } + }, + status: { + type: String, + validator: function validator(val) { + return ['success', 'exception', 'warning'].indexOf(val) > -1; + } + }, + strokeWidth: { + type: Number, + default: 6 + }, + strokeLinecap: { + type: String, + default: 'round' + }, + textInside: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 126 + }, + showText: { + type: Boolean, + default: true + }, + color: { + type: [String, Array, Function], + default: '' + }, + defineBackColor: { + type: [String, Array, Function], + default: '#ebeef5' + }, + textColor: { + type: [String, Array, Function], + default: '#606266' + }, + format: Function + }, + computed: { + barStyle: function barStyle() { + var style = {}; + style.width = this.percentage + '%'; + style.backgroundColor = this.getCurrentColor(this.percentage); + return style; + }, + relativeStrokeWidth: function relativeStrokeWidth() { + return (this.strokeWidth / this.width * 100).toFixed(1); + }, + radius: function radius() { + if (this.type === 'circle' || this.type === 'dashboard') { + return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10); + } else { + return 0; + } + }, + trackPath: function trackPath() { + var radius = this.radius; + var isDashboard = this.type === 'dashboard'; + return '\n M 50 50\n m 0 ' + (isDashboard ? '' : '-') + radius + '\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '-' : '') + radius * 2 + '\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '' : '-') + radius * 2 + '\n '; + }, + perimeter: function perimeter() { + return 2 * Math.PI * this.radius; + }, + rate: function rate() { + return this.type === 'dashboard' ? 0.75 : 1; + }, + strokeDashoffset: function strokeDashoffset() { + var offset = -1 * this.perimeter * (1 - this.rate) / 2; + return offset + 'px'; + }, + trailPathStyle: function trailPathStyle() { + return { + strokeDasharray: this.perimeter * this.rate + 'px, ' + this.perimeter + 'px', + strokeDashoffset: this.strokeDashoffset + }; + }, + circlePathStyle: function circlePathStyle() { + return { + strokeDasharray: this.perimeter * this.rate * (this.percentage / 100) + 'px, ' + this.perimeter + 'px', + strokeDashoffset: this.strokeDashoffset, + transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease' + }; + }, + stroke: function stroke() { + var ret = void 0; + if (this.color) { + ret = this.getCurrentColor(this.percentage); + } else { + switch (this.status) { + case 'success': + ret = '#13ce66'; + break; + case 'exception': + ret = '#ff4949'; + break; + case 'warning': + ret = '#e6a23c'; + break; + default: + ret = '#20a0ff'; + } + } + return ret; + }, + iconClass: function iconClass() { + if (this.status === 'warning') { + return 'el-icon-warning'; + } + if (this.type === 'line') { + return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close'; + } else { + return this.status === 'success' ? 'el-icon-check' : 'el-icon-close'; + } + }, + progressTextSize: function progressTextSize() { + return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2; + }, + content: function content() { + if (typeof this.format === 'function') { + return this.format(this.percentage) || ''; + } else { + return this.percentage + '%'; + } + } + }, + methods: { + getCurrentColor: function getCurrentColor(percentage) { + if (typeof this.color === 'function') { + return this.color(percentage); + } else if (typeof this.color === 'string') { + return this.color; + } else { + return this.getLevelColor(percentage); + } + }, + getLevelColor: function getLevelColor(percentage) { + var colorArray = this.getColorArray().sort(function (a, b) { + return a.percentage - b.percentage; + }); + + for (var i = 0; i < colorArray.length; i++) { + if (colorArray[i].percentage > percentage) { + return colorArray[i].color; + } + } + return colorArray[colorArray.length - 1].color; + }, + getColorArray: function getColorArray() { + var color = this.color; + var span = 100 / color.length; + return color.map(function (seriesColor, index) { + if (typeof seriesColor === 'string') { + return { + color: seriesColor, + percentage: (index + 1) * span + }; + } + return seriesColor; + }); + } + } +}); +// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js& + /* harmony default export */ var src_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/progress/src/progress.vue + + + + + +/* normalize component */ + +var progress_component = normalizeComponent( + src_progressvue_type_script_lang_js_, + progressvue_type_template_id_229ee406_render, + progressvue_type_template_id_229ee406_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var progress_api; } +progress_component.options.__file = "packages/progress/src/progress.vue" +/* harmony default export */ var progress = (progress_component.exports); +// CONCATENATED MODULE: ./packages/progress/index.js + + +/* istanbul ignore next */ +progress.install = function (Vue) { + Vue.component(progress.name, progress); +}; + +/* harmony default export */ var packages_progress = (progress); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538& +var spinnervue_type_template_id_697b8538_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("span", { staticClass: "el-spinner" }, [ + _c( + "svg", + { + staticClass: "el-spinner-inner", + style: { width: _vm.radius / 2 + "px", height: _vm.radius / 2 + "px" }, + attrs: { viewBox: "0 0 50 50" } + }, + [ + _c("circle", { + staticClass: "path", + attrs: { + cx: "25", + cy: "25", + r: "20", + fill: "none", + stroke: _vm.strokeColor, + "stroke-width": _vm.strokeWidth + } + }) + ] + ) + ]) +} +var spinnervue_type_template_id_697b8538_staticRenderFns = [] +spinnervue_type_template_id_697b8538_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// + +/* harmony default export */ var spinnervue_type_script_lang_js_ = ({ + name: 'ElSpinner', + props: { + type: String, + radius: { + type: Number, + default: 100 + }, + strokeWidth: { + type: Number, + default: 5 + }, + strokeColor: { + type: String, + default: '#efefef' + } + } +}); +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=script&lang=js& + /* harmony default export */ var src_spinnervue_type_script_lang_js_ = (spinnervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue + + + + + +/* normalize component */ + +var spinner_component = normalizeComponent( + src_spinnervue_type_script_lang_js_, + spinnervue_type_template_id_697b8538_render, + spinnervue_type_template_id_697b8538_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var spinner_api; } +spinner_component.options.__file = "packages/spinner/src/spinner.vue" +/* harmony default export */ var spinner = (spinner_component.exports); +// CONCATENATED MODULE: ./packages/spinner/index.js + + +/* istanbul ignore next */ +spinner.install = function (Vue) { + Vue.component(spinner.name, spinner); +}; + +/* harmony default export */ var packages_spinner = (spinner); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=template&id=455b9f60& +var mainvue_type_template_id_455b9f60_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-message-fade" }, + on: { "after-leave": _vm.handleAfterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + class: [ + "el-message", + _vm.type && !_vm.iconClass ? "el-message--" + _vm.type : "", + _vm.center ? "is-center" : "", + _vm.showClose ? "is-closable" : "", + _vm.customClass + ], + style: _vm.positionStyle, + attrs: { role: "alert" }, + on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer } + }, + [ + _vm.iconClass + ? _c("i", { class: _vm.iconClass }) + : _c("i", { class: _vm.typeClass }), + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", { staticClass: "el-message__content" }, [ + _vm._v(_vm._s(_vm.message)) + ]) + : _c("p", { + staticClass: "el-message__content", + domProps: { innerHTML: _vm._s(_vm.message) } + }) + ]), + _vm.showClose + ? _c("i", { + staticClass: "el-message__closeBtn el-icon-close", + on: { click: _vm.close } + }) + : _vm._e() + ], + 2 + ) + ] + ) +} +var mainvue_type_template_id_455b9f60_staticRenderFns = [] +mainvue_type_template_id_455b9f60_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=template&id=455b9f60& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var src_mainvue_type_script_lang_js_typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var message_src_mainvue_type_script_lang_js_ = ({ + data: function data() { + return { + visible: false, + message: '', + duration: 3000, + type: 'info', + iconClass: '', + customClass: '', + onClose: null, + showClose: false, + closed: false, + verticalOffset: 20, + timer: null, + dangerouslyUseHTMLString: false, + center: false + }; + }, + + + computed: { + typeClass: function typeClass() { + return this.type && !this.iconClass ? 'el-message__icon el-icon-' + src_mainvue_type_script_lang_js_typeMap[this.type] : ''; + }, + positionStyle: function positionStyle() { + return { + 'top': this.verticalOffset + 'px' + }; + } + }, + + watch: { + closed: function closed(newVal) { + if (newVal) { + this.visible = false; + } + } + }, + + methods: { + handleAfterLeave: function handleAfterLeave() { + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + close: function close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(this); + } + }, + clearTimer: function clearTimer() { + clearTimeout(this.timer); + }, + startTimer: function startTimer() { + var _this = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this.closed) { + _this.close(); + } + }, this.duration); + } + }, + keydown: function keydown(e) { + if (e.keyCode === 27) { + // esc��瘨 + if (!this.closed) { + this.close(); + } + } + } + }, + mounted: function mounted() { + this.startTimer(); + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy: function beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } +}); +// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_message_src_mainvue_type_script_lang_js_ = (message_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/message/src/main.vue + + + + + +/* normalize component */ + +var message_src_main_component = normalizeComponent( + packages_message_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_455b9f60_render, + mainvue_type_template_id_455b9f60_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var message_src_main_api; } +message_src_main_component.options.__file = "packages/message/src/main.vue" +/* harmony default export */ var message_src_main = (message_src_main_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(16); + +// CONCATENATED MODULE: ./packages/message/src/main.js +var main_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + +var MessageConstructor = external_vue_default.a.extend(message_src_main); + +var message_src_main_instance = void 0; +var main_instances = []; +var main_seed = 1; + +var main_Message = function Message(options) { + if (external_vue_default.a.prototype.$isServer) return; + options = options || {}; + if (typeof options === 'string') { + options = { + message: options + }; + } + var userOnClose = options.onClose; + var id = 'message_' + main_seed++; + + options.onClose = function () { + Message.close(id, userOnClose); + }; + message_src_main_instance = new MessageConstructor({ + data: options + }); + message_src_main_instance.id = id; + if (Object(vdom_["isVNode"])(message_src_main_instance.message)) { + message_src_main_instance.$slots.default = [message_src_main_instance.message]; + message_src_main_instance.message = null; + } + message_src_main_instance.$mount(); + document.body.appendChild(message_src_main_instance.$el); + var verticalOffset = options.offset || 20; + main_instances.forEach(function (item) { + verticalOffset += item.$el.offsetHeight + 16; + }); + message_src_main_instance.verticalOffset = verticalOffset; + message_src_main_instance.visible = true; + message_src_main_instance.$el.style.zIndex = popup_["PopupManager"].nextZIndex(); + main_instances.push(message_src_main_instance); + return message_src_main_instance; +}; + +['success', 'warning', 'info', 'error'].forEach(function (type) { + main_Message[type] = function (options) { + if (Object(types_["isObject"])(options) && !Object(vdom_["isVNode"])(options)) { + return main_Message(main_extends({}, options, { + type: type + })); + } + return main_Message({ + type: type, + message: options + }); + }; +}); + +main_Message.close = function (id, userOnClose) { + var len = main_instances.length; + var index = -1; + var removedHeight = void 0; + for (var i = 0; i < len; i++) { + if (id === main_instances[i].id) { + removedHeight = main_instances[i].$el.offsetHeight; + index = i; + if (typeof userOnClose === 'function') { + userOnClose(main_instances[i]); + } + main_instances.splice(i, 1); + break; + } + } + if (len <= 1 || index === -1 || index > main_instances.length - 1) return; + for (var _i = index; _i < len - 1; _i++) { + var dom = main_instances[_i].$el; + dom.style['top'] = parseInt(dom.style['top'], 10) - removedHeight - 16 + 'px'; + } +}; + +main_Message.closeAll = function () { + for (var i = main_instances.length - 1; i >= 0; i--) { + main_instances[i].close(); + } +}; + +/* harmony default export */ var packages_message_src_main = (main_Message); +// CONCATENATED MODULE: ./packages/message/index.js + +/* harmony default export */ var packages_message = (packages_message_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=template&id=7ccb6598& +var mainvue_type_template_id_7ccb6598_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-badge" }, + [ + _vm._t("default"), + _c("transition", { attrs: { name: "el-zoom-in-center" } }, [ + _c("sup", { + directives: [ + { + name: "show", + rawName: "v-show", + value: + !_vm.hidden && (_vm.content || _vm.content === 0 || _vm.isDot), + expression: "!hidden && (content || content === 0 || isDot)" + } + ], + staticClass: "el-badge__content", + class: [ + _vm.type ? "el-badge__content--" + _vm.type : null, + { + "is-fixed": _vm.$slots.default, + "is-dot": _vm.isDot + } + ], + domProps: { textContent: _vm._s(_vm.content) } + }) + ]) + ], + 2 + ) +} +var mainvue_type_template_id_7ccb6598_staticRenderFns = [] +mainvue_type_template_id_7ccb6598_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=template&id=7ccb6598& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/badge/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var badge_src_mainvue_type_script_lang_js_ = ({ + name: 'ElBadge', + + props: { + value: [String, Number], + max: Number, + isDot: Boolean, + hidden: Boolean, + type: { + type: String, + validator: function validator(val) { + return ['primary', 'success', 'warning', 'info', 'danger'].indexOf(val) > -1; + } + } + }, + + computed: { + content: function content() { + if (this.isDot) return; + + var value = this.value; + var max = this.max; + + if (typeof value === 'number' && typeof max === 'number') { + return max < value ? max + '+' : value; + } + + return value; + } + } +}); +// CONCATENATED MODULE: ./packages/badge/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_badge_src_mainvue_type_script_lang_js_ = (badge_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/badge/src/main.vue + + + + + +/* normalize component */ + +var badge_src_main_component = normalizeComponent( + packages_badge_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_7ccb6598_render, + mainvue_type_template_id_7ccb6598_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var badge_src_main_api; } +badge_src_main_component.options.__file = "packages/badge/src/main.vue" +/* harmony default export */ var badge_src_main = (badge_src_main_component.exports); +// CONCATENATED MODULE: ./packages/badge/index.js + + +/* istanbul ignore next */ +badge_src_main.install = function (Vue) { + Vue.component(badge_src_main.name, badge_src_main); +}; + +/* harmony default export */ var badge = (badge_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=template&id=59a4a40f& +var mainvue_type_template_id_59a4a40f_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-card", + class: _vm.shadow ? "is-" + _vm.shadow + "-shadow" : "is-always-shadow" + }, + [ + _vm.$slots.header || _vm.header + ? _c( + "div", + { staticClass: "el-card__header" }, + [_vm._t("header", [_vm._v(_vm._s(_vm.header))])], + 2 + ) + : _vm._e(), + _c( + "div", + { staticClass: "el-card__body", style: _vm.bodyStyle }, + [_vm._t("default")], + 2 + ) + ] + ) +} +var mainvue_type_template_id_59a4a40f_staticRenderFns = [] +mainvue_type_template_id_59a4a40f_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=template&id=59a4a40f& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/card/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var card_src_mainvue_type_script_lang_js_ = ({ + name: 'ElCard', + props: { + header: {}, + bodyStyle: {}, + shadow: { + type: String + } + } +}); +// CONCATENATED MODULE: ./packages/card/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_card_src_mainvue_type_script_lang_js_ = (card_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/card/src/main.vue + + + + + +/* normalize component */ + +var card_src_main_component = normalizeComponent( + packages_card_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_59a4a40f_render, + mainvue_type_template_id_59a4a40f_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var card_src_main_api; } +card_src_main_component.options.__file = "packages/card/src/main.vue" +/* harmony default export */ var card_src_main = (card_src_main_component.exports); +// CONCATENATED MODULE: ./packages/card/index.js + + +/* istanbul ignore next */ +card_src_main.install = function (Vue) { + Vue.component(card_src_main.name, card_src_main); +}; + +/* harmony default export */ var card = (card_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=template&id=ada57782& +var mainvue_type_template_id_ada57782_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-rate", + attrs: { + role: "slider", + "aria-valuenow": _vm.currentValue, + "aria-valuetext": _vm.text, + "aria-valuemin": "0", + "aria-valuemax": _vm.max, + tabindex: "0" + }, + on: { keydown: _vm.handleKey } + }, + [ + _vm._l(_vm.max, function(item, key) { + return _c( + "span", + { + key: key, + staticClass: "el-rate__item", + style: { cursor: _vm.rateDisabled ? "auto" : "pointer" }, + on: { + mousemove: function($event) { + _vm.setCurrentValue(item, $event) + }, + mouseleave: _vm.resetCurrentValue, + click: function($event) { + _vm.selectValue(item) + } + } + }, + [ + _c( + "i", + { + staticClass: "el-rate__icon", + class: [ + _vm.classes[item - 1], + { hover: _vm.hoverIndex === item } + ], + style: _vm.getIconStyle(item) + }, + [ + _vm.showDecimalIcon(item) + ? _c("i", { + staticClass: "el-rate__decimal", + class: _vm.decimalIconClass, + style: _vm.decimalStyle + }) + : _vm._e() + ] + ) + ] + ) + }), + _vm.showText || _vm.showScore + ? _c( + "span", + { staticClass: "el-rate__text", style: { color: _vm.textColor } }, + [_vm._v(_vm._s(_vm.text))] + ) + : _vm._e() + ], + 2 + ) +} +var mainvue_type_template_id_ada57782_staticRenderFns = [] +mainvue_type_template_id_ada57782_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=template&id=ada57782& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var rate_src_mainvue_type_script_lang_js_ = ({ + name: 'ElRate', + + mixins: [migrating_default.a], + + inject: { + elForm: { + default: '' + } + }, + + data: function data() { + return { + pointerAtLeftHalf: true, + currentValue: this.value, + hoverIndex: -1 + }; + }, + + + props: { + value: { + type: Number, + default: 0 + }, + lowThreshold: { + type: Number, + default: 2 + }, + highThreshold: { + type: Number, + default: 4 + }, + max: { + type: Number, + default: 5 + }, + colors: { + type: [Array, Object], + default: function _default() { + return ['#F7BA2A', '#F7BA2A', '#F7BA2A']; + } + }, + voidColor: { + type: String, + default: '#C6D1DE' + }, + disabledVoidColor: { + type: String, + default: '#EFF2F7' + }, + iconClasses: { + type: [Array, Object], + default: function _default() { + return ['el-icon-star-on', 'el-icon-star-on', 'el-icon-star-on']; + } + }, + voidIconClass: { + type: String, + default: 'el-icon-star-off' + }, + disabledVoidIconClass: { + type: String, + default: 'el-icon-star-on' + }, + disabled: { + type: Boolean, + default: false + }, + allowHalf: { + type: Boolean, + default: false + }, + showText: { + type: Boolean, + default: false + }, + showScore: { + type: Boolean, + default: false + }, + textColor: { + type: String, + default: '#1f2d3d' + }, + texts: { + type: Array, + default: function _default() { + return ['��榆', '憭望��', '銝��', '皛⊥��', '����']; + } + }, + scoreTemplate: { + type: String, + default: '{value}' + } + }, + + computed: { + text: function text() { + var result = ''; + if (this.showScore) { + result = this.scoreTemplate.replace(/\{\s*value\s*\}/, this.rateDisabled ? this.value : this.currentValue); + } else if (this.showText) { + result = this.texts[Math.ceil(this.currentValue) - 1]; + } + return result; + }, + decimalStyle: function decimalStyle() { + var width = ''; + if (this.rateDisabled) { + width = this.valueDecimal + '%'; + } else if (this.allowHalf) { + width = '50%'; + } + return { + color: this.activeColor, + width: width + }; + }, + valueDecimal: function valueDecimal() { + return this.value * 100 - Math.floor(this.value) * 100; + }, + classMap: function classMap() { + var _ref; + + return Array.isArray(this.iconClasses) ? (_ref = {}, _ref[this.lowThreshold] = this.iconClasses[0], _ref[this.highThreshold] = { value: this.iconClasses[1], excluded: true }, _ref[this.max] = this.iconClasses[2], _ref) : this.iconClasses; + }, + decimalIconClass: function decimalIconClass() { + return this.getValueFromMap(this.value, this.classMap); + }, + voidClass: function voidClass() { + return this.rateDisabled ? this.disabledVoidIconClass : this.voidIconClass; + }, + activeClass: function activeClass() { + return this.getValueFromMap(this.currentValue, this.classMap); + }, + colorMap: function colorMap() { + var _ref2; + + return Array.isArray(this.colors) ? (_ref2 = {}, _ref2[this.lowThreshold] = this.colors[0], _ref2[this.highThreshold] = { value: this.colors[1], excluded: true }, _ref2[this.max] = this.colors[2], _ref2) : this.colors; + }, + activeColor: function activeColor() { + return this.getValueFromMap(this.currentValue, this.colorMap); + }, + classes: function classes() { + var result = []; + var i = 0; + var threshold = this.currentValue; + if (this.allowHalf && this.currentValue !== Math.floor(this.currentValue)) { + threshold--; + } + for (; i < threshold; i++) { + result.push(this.activeClass); + } + for (; i < this.max; i++) { + result.push(this.voidClass); + } + return result; + }, + rateDisabled: function rateDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value: function value(val) { + this.currentValue = val; + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'text-template': 'text-template is renamed to score-template.' + } + }; + }, + getValueFromMap: function getValueFromMap(value, map) { + var matchedKeys = Object.keys(map).filter(function (key) { + var val = map[key]; + var excluded = Object(types_["isObject"])(val) ? val.excluded : false; + return excluded ? value < key : value <= key; + }).sort(function (a, b) { + return a - b; + }); + var matchedValue = map[matchedKeys[0]]; + return Object(types_["isObject"])(matchedValue) ? matchedValue.value : matchedValue || ''; + }, + showDecimalIcon: function showDecimalIcon(item) { + var showWhenDisabled = this.rateDisabled && this.valueDecimal > 0 && item - 1 < this.value && item > this.value; + /* istanbul ignore next */ + var showWhenAllowHalf = this.allowHalf && this.pointerAtLeftHalf && item - 0.5 <= this.currentValue && item > this.currentValue; + return showWhenDisabled || showWhenAllowHalf; + }, + getIconStyle: function getIconStyle(item) { + var voidColor = this.rateDisabled ? this.disabledVoidColor : this.voidColor; + return { + color: item <= this.currentValue ? this.activeColor : voidColor + }; + }, + selectValue: function selectValue(value) { + if (this.rateDisabled) { + return; + } + if (this.allowHalf && this.pointerAtLeftHalf) { + this.$emit('input', this.currentValue); + this.$emit('change', this.currentValue); + } else { + this.$emit('input', value); + this.$emit('change', value); + } + }, + handleKey: function handleKey(e) { + if (this.rateDisabled) { + return; + } + var currentValue = this.currentValue; + var keyCode = e.keyCode; + if (keyCode === 38 || keyCode === 39) { + // left / down + if (this.allowHalf) { + currentValue += 0.5; + } else { + currentValue += 1; + } + e.stopPropagation(); + e.preventDefault(); + } else if (keyCode === 37 || keyCode === 40) { + if (this.allowHalf) { + currentValue -= 0.5; + } else { + currentValue -= 1; + } + e.stopPropagation(); + e.preventDefault(); + } + currentValue = currentValue < 0 ? 0 : currentValue; + currentValue = currentValue > this.max ? this.max : currentValue; + + this.$emit('input', currentValue); + this.$emit('change', currentValue); + }, + setCurrentValue: function setCurrentValue(value, event) { + if (this.rateDisabled) { + return; + } + /* istanbul ignore if */ + if (this.allowHalf) { + var target = event.target; + if (Object(dom_["hasClass"])(target, 'el-rate__item')) { + target = target.querySelector('.el-rate__icon'); + } + if (Object(dom_["hasClass"])(target, 'el-rate__decimal')) { + target = target.parentNode; + } + this.pointerAtLeftHalf = event.offsetX * 2 <= target.clientWidth; + this.currentValue = this.pointerAtLeftHalf ? value - 0.5 : value; + } else { + this.currentValue = value; + } + this.hoverIndex = value; + }, + resetCurrentValue: function resetCurrentValue() { + if (this.rateDisabled) { + return; + } + if (this.allowHalf) { + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + this.currentValue = this.value; + this.hoverIndex = -1; + } + }, + + created: function created() { + if (!this.value) { + this.$emit('input', 0); + } + } +}); +// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_rate_src_mainvue_type_script_lang_js_ = (rate_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/rate/src/main.vue + + + + + +/* normalize component */ + +var rate_src_main_component = normalizeComponent( + packages_rate_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_ada57782_render, + mainvue_type_template_id_ada57782_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var rate_src_main_api; } +rate_src_main_component.options.__file = "packages/rate/src/main.vue" +/* harmony default export */ var rate_src_main = (rate_src_main_component.exports); +// CONCATENATED MODULE: ./packages/rate/index.js + + +/* istanbul ignore next */ +rate_src_main.install = function (Vue) { + Vue.component(rate_src_main.name, rate_src_main); +}; + +/* harmony default export */ var packages_rate = (rate_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0& +var stepsvue_type_template_id_3c6b6dc0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-steps", + class: [ + !_vm.simple && "el-steps--" + _vm.direction, + _vm.simple && "el-steps--simple" + ] + }, + [_vm._t("default")], + 2 + ) +} +var stepsvue_type_template_id_3c6b6dc0_staticRenderFns = [] +stepsvue_type_template_id_3c6b6dc0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var stepsvue_type_script_lang_js_ = ({ + name: 'ElSteps', + + mixins: [migrating_default.a], + + props: { + space: [Number, String], + active: Number, + direction: { + type: String, + default: 'horizontal' + }, + alignCenter: Boolean, + simple: Boolean, + finishStatus: { + type: String, + default: 'finish' + }, + processStatus: { + type: String, + default: 'process' + } + }, + + data: function data() { + return { + steps: [], + stepOffset: 0 + }; + }, + + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'center': 'center is removed.' + } + }; + } + }, + + watch: { + active: function active(newVal, oldVal) { + this.$emit('change', newVal, oldVal); + }, + steps: function steps(_steps) { + _steps.forEach(function (child, index) { + child.index = index; + }); + } + } +}); +// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=script&lang=js& + /* harmony default export */ var src_stepsvue_type_script_lang_js_ = (stepsvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/steps/src/steps.vue + + + + + +/* normalize component */ + +var steps_component = normalizeComponent( + src_stepsvue_type_script_lang_js_, + stepsvue_type_template_id_3c6b6dc0_render, + stepsvue_type_template_id_3c6b6dc0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var steps_api; } +steps_component.options.__file = "packages/steps/src/steps.vue" +/* harmony default export */ var steps = (steps_component.exports); +// CONCATENATED MODULE: ./packages/steps/index.js + + +/* istanbul ignore next */ +steps.install = function (Vue) { + Vue.component(steps.name, steps); +}; + +/* harmony default export */ var packages_steps = (steps); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=template&id=f414a87a& +var stepvue_type_template_id_f414a87a_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-step", + class: [ + !_vm.isSimple && "is-" + _vm.$parent.direction, + _vm.isSimple && "is-simple", + _vm.isLast && !_vm.space && !_vm.isCenter && "is-flex", + _vm.isCenter && !_vm.isVertical && !_vm.isSimple && "is-center" + ], + style: _vm.style + }, + [ + _c( + "div", + { staticClass: "el-step__head", class: "is-" + _vm.currentStatus }, + [ + _c( + "div", + { + staticClass: "el-step__line", + style: _vm.isLast + ? "" + : { marginRight: _vm.$parent.stepOffset + "px" } + }, + [ + _c("i", { + staticClass: "el-step__line-inner", + style: _vm.lineStyle + }) + ] + ), + _c( + "div", + { + staticClass: "el-step__icon", + class: "is-" + (_vm.icon ? "icon" : "text") + }, + [ + _vm.currentStatus !== "success" && _vm.currentStatus !== "error" + ? _vm._t("icon", [ + _vm.icon + ? _c("i", { + staticClass: "el-step__icon-inner", + class: [_vm.icon] + }) + : _vm._e(), + !_vm.icon && !_vm.isSimple + ? _c("div", { staticClass: "el-step__icon-inner" }, [ + _vm._v(_vm._s(_vm.index + 1)) + ]) + : _vm._e() + ]) + : _c("i", { + staticClass: "el-step__icon-inner is-status", + class: [ + "el-icon-" + + (_vm.currentStatus === "success" ? "check" : "close") + ] + }) + ], + 2 + ) + ] + ), + _c("div", { staticClass: "el-step__main" }, [ + _c( + "div", + { + ref: "title", + staticClass: "el-step__title", + class: ["is-" + _vm.currentStatus] + }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ), + _vm.isSimple + ? _c("div", { staticClass: "el-step__arrow" }) + : _c( + "div", + { + staticClass: "el-step__description", + class: ["is-" + _vm.currentStatus] + }, + [_vm._t("description", [_vm._v(_vm._s(_vm.description))])], + 2 + ) + ]) + ] + ) +} +var stepvue_type_template_id_f414a87a_staticRenderFns = [] +stepvue_type_template_id_f414a87a_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=template&id=f414a87a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var stepvue_type_script_lang_js_ = ({ + name: 'ElStep', + + props: { + title: String, + icon: String, + description: String, + status: String + }, + + data: function data() { + return { + index: -1, + lineStyle: {}, + internalStatus: '' + }; + }, + beforeCreate: function beforeCreate() { + this.$parent.steps.push(this); + }, + beforeDestroy: function beforeDestroy() { + var steps = this.$parent.steps; + var index = steps.indexOf(this); + if (index >= 0) { + steps.splice(index, 1); + } + }, + + + computed: { + currentStatus: function currentStatus() { + return this.status || this.internalStatus; + }, + prevStatus: function prevStatus() { + var prevStep = this.$parent.steps[this.index - 1]; + return prevStep ? prevStep.currentStatus : 'wait'; + }, + isCenter: function isCenter() { + return this.$parent.alignCenter; + }, + isVertical: function isVertical() { + return this.$parent.direction === 'vertical'; + }, + isSimple: function isSimple() { + return this.$parent.simple; + }, + isLast: function isLast() { + var parent = this.$parent; + return parent.steps[parent.steps.length - 1] === this; + }, + stepsCount: function stepsCount() { + return this.$parent.steps.length; + }, + space: function space() { + var isSimple = this.isSimple, + space = this.$parent.space; + + return isSimple ? '' : space; + }, + + style: function style() { + var style = {}; + var parent = this.$parent; + var len = parent.steps.length; + + var space = typeof this.space === 'number' ? this.space + 'px' : this.space ? this.space : 100 / (len - (this.isCenter ? 0 : 1)) + '%'; + style.flexBasis = space; + if (this.isVertical) return style; + if (this.isLast) { + style.maxWidth = 100 / this.stepsCount + '%'; + } else { + style.marginRight = -this.$parent.stepOffset + 'px'; + } + + return style; + } + }, + + methods: { + updateStatus: function updateStatus(val) { + var prevChild = this.$parent.$children[this.index - 1]; + + if (val > this.index) { + this.internalStatus = this.$parent.finishStatus; + } else if (val === this.index && this.prevStatus !== 'error') { + this.internalStatus = this.$parent.processStatus; + } else { + this.internalStatus = 'wait'; + } + + if (prevChild) prevChild.calcProgress(this.internalStatus); + }, + calcProgress: function calcProgress(status) { + var step = 100; + var style = {}; + + style.transitionDelay = 150 * this.index + 'ms'; + if (status === this.$parent.processStatus) { + step = this.currentStatus !== 'error' ? 0 : 0; + } else if (status === 'wait') { + step = 0; + style.transitionDelay = -150 * this.index + 'ms'; + } + + style.borderWidth = step && !this.isSimple ? '1px' : 0; + this.$parent.direction === 'vertical' ? style.height = step + '%' : style.width = step + '%'; + + this.lineStyle = style; + } + }, + + mounted: function mounted() { + var _this = this; + + var unwatch = this.$watch('index', function (val) { + _this.$watch('$parent.active', _this.updateStatus, { immediate: true }); + _this.$watch('$parent.processStatus', function () { + var activeIndex = _this.$parent.active; + _this.updateStatus(activeIndex); + }, { immediate: true }); + unwatch(); + }); + } +}); +// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=script&lang=js& + /* harmony default export */ var src_stepvue_type_script_lang_js_ = (stepvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/steps/src/step.vue + + + + + +/* normalize component */ + +var step_component = normalizeComponent( + src_stepvue_type_script_lang_js_, + stepvue_type_template_id_f414a87a_render, + stepvue_type_template_id_f414a87a_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var step_api; } +step_component.options.__file = "packages/steps/src/step.vue" +/* harmony default export */ var step = (step_component.exports); +// CONCATENATED MODULE: ./packages/step/index.js + + +/* istanbul ignore next */ +step.install = function (Vue) { + Vue.component(step.name, step); +}; + +/* harmony default export */ var packages_step = (step); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482& +var mainvue_type_template_id_5d5d1482_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: _vm.carouselClasses, + on: { + mouseenter: function($event) { + $event.stopPropagation() + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + $event.stopPropagation() + return _vm.handleMouseLeave($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-carousel__container", + style: { height: _vm.height } + }, + [ + _vm.arrowDisplay + ? _c("transition", { attrs: { name: "carousel-arrow-left" } }, [ + _c( + "button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + (_vm.arrow === "always" || _vm.hover) && + (_vm.loop || _vm.activeIndex > 0), + expression: + "(arrow === 'always' || hover) && (loop || activeIndex > 0)" + } + ], + staticClass: "el-carousel__arrow el-carousel__arrow--left", + attrs: { type: "button" }, + on: { + mouseenter: function($event) { + _vm.handleButtonEnter("left") + }, + mouseleave: _vm.handleButtonLeave, + click: function($event) { + $event.stopPropagation() + _vm.throttledArrowClick(_vm.activeIndex - 1) + } + } + }, + [_c("i", { staticClass: "el-icon-arrow-left" })] + ) + ]) + : _vm._e(), + _vm.arrowDisplay + ? _c("transition", { attrs: { name: "carousel-arrow-right" } }, [ + _c( + "button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: + (_vm.arrow === "always" || _vm.hover) && + (_vm.loop || _vm.activeIndex < _vm.items.length - 1), + expression: + "(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)" + } + ], + staticClass: "el-carousel__arrow el-carousel__arrow--right", + attrs: { type: "button" }, + on: { + mouseenter: function($event) { + _vm.handleButtonEnter("right") + }, + mouseleave: _vm.handleButtonLeave, + click: function($event) { + $event.stopPropagation() + _vm.throttledArrowClick(_vm.activeIndex + 1) + } + } + }, + [_c("i", { staticClass: "el-icon-arrow-right" })] + ) + ]) + : _vm._e(), + _vm._t("default") + ], + 2 + ), + _vm.indicatorPosition !== "none" + ? _c( + "ul", + { class: _vm.indicatorsClasses }, + _vm._l(_vm.items, function(item, index) { + return _c( + "li", + { + key: index, + class: [ + "el-carousel__indicator", + "el-carousel__indicator--" + _vm.direction, + { "is-active": index === _vm.activeIndex } + ], + on: { + mouseenter: function($event) { + _vm.throttledIndicatorHover(index) + }, + click: function($event) { + $event.stopPropagation() + _vm.handleIndicatorClick(index) + } + } + }, + [ + _c("button", { staticClass: "el-carousel__button" }, [ + _vm.hasLabel + ? _c("span", [_vm._v(_vm._s(item.label))]) + : _vm._e() + ]) + ] + ) + }), + 0 + ) + : _vm._e() + ] + ) +} +var mainvue_type_template_id_5d5d1482_staticRenderFns = [] +mainvue_type_template_id_5d5d1482_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=template&id=5d5d1482& + +// EXTERNAL MODULE: external "throttle-debounce/throttle" +var throttle_ = __webpack_require__(25); +var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var carousel_src_mainvue_type_script_lang_js_ = ({ + name: 'ElCarousel', + + props: { + initialIndex: { + type: Number, + default: 0 + }, + height: String, + trigger: { + type: String, + default: 'hover' + }, + autoplay: { + type: Boolean, + default: true + }, + interval: { + type: Number, + default: 3000 + }, + indicatorPosition: String, + indicator: { + type: Boolean, + default: true + }, + arrow: { + type: String, + default: 'hover' + }, + type: String, + loop: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'horizontal', + validator: function validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + } + }, + + data: function data() { + return { + items: [], + activeIndex: -1, + containerWidth: 0, + timer: null, + hover: false + }; + }, + + + computed: { + arrowDisplay: function arrowDisplay() { + return this.arrow !== 'never' && this.direction !== 'vertical'; + }, + hasLabel: function hasLabel() { + return this.items.some(function (item) { + return item.label.toString().length > 0; + }); + }, + carouselClasses: function carouselClasses() { + var classes = ['el-carousel', 'el-carousel--' + this.direction]; + if (this.type === 'card') { + classes.push('el-carousel--card'); + } + return classes; + }, + indicatorsClasses: function indicatorsClasses() { + var classes = ['el-carousel__indicators', 'el-carousel__indicators--' + this.direction]; + if (this.hasLabel) { + classes.push('el-carousel__indicators--labels'); + } + if (this.indicatorPosition === 'outside' || this.type === 'card') { + classes.push('el-carousel__indicators--outside'); + } + return classes; + } + }, + + watch: { + items: function items(val) { + if (val.length > 0) this.setActiveItem(this.initialIndex); + }, + activeIndex: function activeIndex(val, oldVal) { + this.resetItemPosition(oldVal); + if (oldVal > -1) { + this.$emit('change', val, oldVal); + } + }, + autoplay: function autoplay(val) { + val ? this.startTimer() : this.pauseTimer(); + }, + loop: function loop() { + this.setActiveItem(this.activeIndex); + }, + interval: function interval() { + this.pauseTimer(); + this.startTimer(); + } + }, + + methods: { + handleMouseEnter: function handleMouseEnter() { + this.hover = true; + this.pauseTimer(); + }, + handleMouseLeave: function handleMouseLeave() { + this.hover = false; + this.startTimer(); + }, + itemInStage: function itemInStage(item, index) { + var length = this.items.length; + if (index === length - 1 && item.inStage && this.items[0].active || item.inStage && this.items[index + 1] && this.items[index + 1].active) { + return 'left'; + } else if (index === 0 && item.inStage && this.items[length - 1].active || item.inStage && this.items[index - 1] && this.items[index - 1].active) { + return 'right'; + } + return false; + }, + handleButtonEnter: function handleButtonEnter(arrow) { + var _this = this; + + if (this.direction === 'vertical') return; + this.items.forEach(function (item, index) { + if (arrow === _this.itemInStage(item, index)) { + item.hover = true; + } + }); + }, + handleButtonLeave: function handleButtonLeave() { + if (this.direction === 'vertical') return; + this.items.forEach(function (item) { + item.hover = false; + }); + }, + updateItems: function updateItems() { + this.items = this.$children.filter(function (child) { + return child.$options.name === 'ElCarouselItem'; + }); + }, + resetItemPosition: function resetItemPosition(oldIndex) { + var _this2 = this; + + this.items.forEach(function (item, index) { + item.translateItem(index, _this2.activeIndex, oldIndex); + }); + }, + playSlides: function playSlides() { + if (this.activeIndex < this.items.length - 1) { + this.activeIndex++; + } else if (this.loop) { + this.activeIndex = 0; + } + }, + pauseTimer: function pauseTimer() { + if (this.timer) { + clearInterval(this.timer); + this.timer = null; + } + }, + startTimer: function startTimer() { + if (this.interval <= 0 || !this.autoplay || this.timer) return; + this.timer = setInterval(this.playSlides, this.interval); + }, + resetTimer: function resetTimer() { + this.pauseTimer(); + this.startTimer(); + }, + setActiveItem: function setActiveItem(index) { + if (typeof index === 'string') { + var filteredItems = this.items.filter(function (item) { + return item.name === index; + }); + if (filteredItems.length > 0) { + index = this.items.indexOf(filteredItems[0]); + } + } + index = Number(index); + if (isNaN(index) || index !== Math.floor(index)) { + console.warn('[Element Warn][Carousel]index must be an integer.'); + return; + } + var length = this.items.length; + var oldIndex = this.activeIndex; + if (index < 0) { + this.activeIndex = this.loop ? length - 1 : 0; + } else if (index >= length) { + this.activeIndex = this.loop ? 0 : length - 1; + } else { + this.activeIndex = index; + } + if (oldIndex === this.activeIndex) { + this.resetItemPosition(oldIndex); + } + this.resetTimer(); + }, + prev: function prev() { + this.setActiveItem(this.activeIndex - 1); + }, + next: function next() { + this.setActiveItem(this.activeIndex + 1); + }, + handleIndicatorClick: function handleIndicatorClick(index) { + this.activeIndex = index; + }, + handleIndicatorHover: function handleIndicatorHover(index) { + if (this.trigger === 'hover' && index !== this.activeIndex) { + this.activeIndex = index; + } + } + }, + + created: function created() { + var _this3 = this; + + this.throttledArrowClick = throttle_default()(300, true, function (index) { + _this3.setActiveItem(index); + }); + this.throttledIndicatorHover = throttle_default()(300, function (index) { + _this3.handleIndicatorHover(index); + }); + }, + mounted: function mounted() { + var _this4 = this; + + this.updateItems(); + this.$nextTick(function () { + Object(resize_event_["addResizeListener"])(_this4.$el, _this4.resetItemPosition); + if (_this4.initialIndex < _this4.items.length && _this4.initialIndex >= 0) { + _this4.activeIndex = _this4.initialIndex; + } + _this4.startTimer(); + }); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el) Object(resize_event_["removeResizeListener"])(this.$el, this.resetItemPosition); + this.pauseTimer(); + } +}); +// CONCATENATED MODULE: ./packages/carousel/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_carousel_src_mainvue_type_script_lang_js_ = (carousel_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/carousel/src/main.vue + + + + + +/* normalize component */ + +var carousel_src_main_component = normalizeComponent( + packages_carousel_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_5d5d1482_render, + mainvue_type_template_id_5d5d1482_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var carousel_src_main_api; } +carousel_src_main_component.options.__file = "packages/carousel/src/main.vue" +/* harmony default export */ var carousel_src_main = (carousel_src_main_component.exports); +// CONCATENATED MODULE: ./packages/carousel/index.js + + +/* istanbul ignore next */ +carousel_src_main.install = function (Vue) { + Vue.component(carousel_src_main.name, carousel_src_main); +}; + +/* harmony default export */ var carousel = (carousel_src_main); +// CONCATENATED MODULE: ./packages/scrollbar/src/util.js +var BAR_MAP = { + vertical: { + offset: 'offsetHeight', + scroll: 'scrollTop', + scrollSize: 'scrollHeight', + size: 'height', + key: 'vertical', + axis: 'Y', + client: 'clientY', + direction: 'top' + }, + horizontal: { + offset: 'offsetWidth', + scroll: 'scrollLeft', + scrollSize: 'scrollWidth', + size: 'width', + key: 'horizontal', + axis: 'X', + client: 'clientX', + direction: 'left' + } +}; + +function renderThumbStyle(_ref) { + var move = _ref.move, + size = _ref.size, + bar = _ref.bar; + + var style = {}; + var translate = 'translate' + bar.axis + '(' + move + '%)'; + + style[bar.size] = size; + style.transform = translate; + style.msTransform = translate; + style.webkitTransform = translate; + + return style; +}; +// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js + + + +/* istanbul ignore next */ +/* harmony default export */ var src_bar = ({ + name: 'Bar', + + props: { + vertical: Boolean, + size: String, + move: Number + }, + + computed: { + bar: function bar() { + return BAR_MAP[this.vertical ? 'vertical' : 'horizontal']; + }, + wrap: function wrap() { + return this.$parent.wrap; + } + }, + + render: function render(h) { + var size = this.size, + move = this.move, + bar = this.bar; + + + return h( + 'div', + { + 'class': ['el-scrollbar__bar', 'is-' + bar.key], + on: { + 'mousedown': this.clickTrackHandler + } + }, + [h('div', { + ref: 'thumb', + 'class': 'el-scrollbar__thumb', + on: { + 'mousedown': this.clickThumbHandler + }, + + style: renderThumbStyle({ size: size, move: move, bar: bar }) })] + ); + }, + + + methods: { + clickThumbHandler: function clickThumbHandler(e) { + // prevent click event of right button + if (e.ctrlKey || e.button === 2) { + return; + } + this.startDrag(e); + this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]); + }, + clickTrackHandler: function clickTrackHandler(e) { + var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]); + var thumbHalf = this.$refs.thumb[this.bar.offset] / 2; + var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset]; + + this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; + }, + startDrag: function startDrag(e) { + e.stopImmediatePropagation(); + this.cursorDown = true; + + Object(dom_["on"])(document, 'mousemove', this.mouseMoveDocumentHandler); + Object(dom_["on"])(document, 'mouseup', this.mouseUpDocumentHandler); + document.onselectstart = function () { + return false; + }; + }, + mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) { + if (this.cursorDown === false) return; + var prevPage = this[this.bar.axis]; + + if (!prevPage) return; + + var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1; + var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage; + var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset]; + + this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; + }, + mouseUpDocumentHandler: function mouseUpDocumentHandler(e) { + this.cursorDown = false; + this[this.bar.axis] = 0; + Object(dom_["off"])(document, 'mousemove', this.mouseMoveDocumentHandler); + document.onselectstart = null; + } + }, + + destroyed: function destroyed() { + Object(dom_["off"])(document, 'mouseup', this.mouseUpDocumentHandler); + } +}); +// CONCATENATED MODULE: ./packages/scrollbar/src/main.js +// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js + + + + + + +/* istanbul ignore next */ +/* harmony default export */ var scrollbar_src_main = ({ + name: 'ElScrollbar', + + components: { Bar: src_bar }, + + props: { + native: Boolean, + wrapStyle: {}, + wrapClass: {}, + viewClass: {}, + viewStyle: {}, + noresize: Boolean, // 憒�� container 撠箏站銝�������憟質挽蝵桀�隞乩���扯 + tag: { + type: String, + default: 'div' + } + }, + + data: function data() { + return { + sizeWidth: '0', + sizeHeight: '0', + moveX: 0, + moveY: 0 + }; + }, + + + computed: { + wrap: function wrap() { + return this.$refs.wrap; + } + }, + + render: function render(h) { + var gutter = scrollbar_width_default()(); + var style = this.wrapStyle; + + if (gutter) { + var gutterWith = '-' + gutter + 'px'; + var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';'; + + if (Array.isArray(this.wrapStyle)) { + style = Object(util_["toObject"])(this.wrapStyle); + style.marginRight = style.marginBottom = gutterWith; + } else if (typeof this.wrapStyle === 'string') { + style += gutterStyle; + } else { + style = gutterStyle; + } + } + var view = h(this.tag, { + class: ['el-scrollbar__view', this.viewClass], + style: this.viewStyle, + ref: 'resize' + }, this.$slots.default); + var wrap = h( + 'div', + { + ref: 'wrap', + style: style, + on: { + 'scroll': this.handleScroll + }, + + 'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] }, + [[view]] + ); + var nodes = void 0; + + if (!this.native) { + nodes = [wrap, h(src_bar, { + attrs: { + move: this.moveX, + size: this.sizeWidth } + }), h(src_bar, { + attrs: { + vertical: true, + move: this.moveY, + size: this.sizeHeight } + })]; + } else { + nodes = [h( + 'div', + { + ref: 'wrap', + 'class': [this.wrapClass, 'el-scrollbar__wrap'], + style: style }, + [[view]] + )]; + } + return h('div', { class: 'el-scrollbar' }, nodes); + }, + + + methods: { + handleScroll: function handleScroll() { + var wrap = this.wrap; + + this.moveY = wrap.scrollTop * 100 / wrap.clientHeight; + this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth; + }, + update: function update() { + var heightPercentage = void 0, + widthPercentage = void 0; + var wrap = this.wrap; + if (!wrap) return; + + heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight; + widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth; + + this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : ''; + this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : ''; + } + }, + + mounted: function mounted() { + if (this.native) return; + this.$nextTick(this.update); + !this.noresize && Object(resize_event_["addResizeListener"])(this.$refs.resize, this.update); + }, + beforeDestroy: function beforeDestroy() { + if (this.native) return; + !this.noresize && Object(resize_event_["removeResizeListener"])(this.$refs.resize, this.update); + } +}); +// CONCATENATED MODULE: ./packages/scrollbar/index.js + + +/* istanbul ignore next */ +scrollbar_src_main.install = function (Vue) { + Vue.component(scrollbar_src_main.name, scrollbar_src_main); +}; + +/* harmony default export */ var scrollbar = (scrollbar_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=template&id=1801ae19& +var itemvue_type_template_id_1801ae19_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.ready, + expression: "ready" + } + ], + staticClass: "el-carousel__item", + class: { + "is-active": _vm.active, + "el-carousel__item--card": _vm.$parent.type === "card", + "is-in-stage": _vm.inStage, + "is-hover": _vm.hover, + "is-animating": _vm.animating + }, + style: _vm.itemStyle, + on: { click: _vm.handleItemClick } + }, + [ + _vm.$parent.type === "card" + ? _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.active, + expression: "!active" + } + ], + staticClass: "el-carousel__mask" + }) + : _vm._e(), + _vm._t("default") + ], + 2 + ) +} +var itemvue_type_template_id_1801ae19_staticRenderFns = [] +itemvue_type_template_id_1801ae19_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=template&id=1801ae19& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/carousel/src/item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +var CARD_SCALE = 0.83; +/* harmony default export */ var itemvue_type_script_lang_js_ = ({ + name: 'ElCarouselItem', + + props: { + name: String, + label: { + type: [String, Number], + default: '' + } + }, + + data: function data() { + return { + hover: false, + translate: 0, + scale: 1, + active: false, + ready: false, + inStage: false, + animating: false + }; + }, + + + methods: { + processIndex: function processIndex(index, activeIndex, length) { + if (activeIndex === 0 && index === length - 1) { + return -1; + } else if (activeIndex === length - 1 && index === 0) { + return length; + } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) { + return length + 1; + } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) { + return -2; + } + return index; + }, + calcCardTranslate: function calcCardTranslate(index, activeIndex) { + var parentWidth = this.$parent.$el.offsetWidth; + if (this.inStage) { + return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4; + } else if (index < activeIndex) { + return -(1 + CARD_SCALE) * parentWidth / 4; + } else { + return (3 + CARD_SCALE) * parentWidth / 4; + } + }, + calcTranslate: function calcTranslate(index, activeIndex, isVertical) { + var distance = this.$parent.$el[isVertical ? 'offsetHeight' : 'offsetWidth']; + return distance * (index - activeIndex); + }, + translateItem: function translateItem(index, activeIndex, oldIndex) { + var parentType = this.$parent.type; + var parentDirection = this.parentDirection; + var length = this.$parent.items.length; + if (parentType !== 'card' && oldIndex !== undefined) { + this.animating = index === activeIndex || index === oldIndex; + } + if (index !== activeIndex && length > 2 && this.$parent.loop) { + index = this.processIndex(index, activeIndex, length); + } + if (parentType === 'card') { + if (parentDirection === 'vertical') { + console.warn('[Element Warn][Carousel]vertical direction is not supported in card mode'); + } + this.inStage = Math.round(Math.abs(index - activeIndex)) <= 1; + this.active = index === activeIndex; + this.translate = this.calcCardTranslate(index, activeIndex); + this.scale = this.active ? 1 : CARD_SCALE; + } else { + this.active = index === activeIndex; + var isVertical = parentDirection === 'vertical'; + this.translate = this.calcTranslate(index, activeIndex, isVertical); + this.scale = 1; + } + this.ready = true; + }, + handleItemClick: function handleItemClick() { + var parent = this.$parent; + if (parent && parent.type === 'card') { + var index = parent.items.indexOf(this); + parent.setActiveItem(index); + } + } + }, + + computed: { + parentDirection: function parentDirection() { + return this.$parent.direction; + }, + itemStyle: function itemStyle() { + var translateType = this.parentDirection === 'vertical' ? 'translateY' : 'translateX'; + var value = translateType + '(' + this.translate + 'px) scale(' + this.scale + ')'; + var style = { + transform: value + }; + return Object(util_["autoprefixer"])(style); + } + }, + + created: function created() { + this.$parent && this.$parent.updateItems(); + }, + destroyed: function destroyed() { + this.$parent && this.$parent.updateItems(); + } +}); +// CONCATENATED MODULE: ./packages/carousel/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_itemvue_type_script_lang_js_ = (itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/carousel/src/item.vue + + + + + +/* normalize component */ + +var item_component = normalizeComponent( + src_itemvue_type_script_lang_js_, + itemvue_type_template_id_1801ae19_render, + itemvue_type_template_id_1801ae19_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var item_api; } +item_component.options.__file = "packages/carousel/src/item.vue" +/* harmony default export */ var src_item = (item_component.exports); +// CONCATENATED MODULE: ./packages/carousel-item/index.js + + +/* istanbul ignore next */ +src_item.install = function (Vue) { + Vue.component(src_item.name, src_item); +}; + +/* harmony default export */ var carousel_item = (src_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4& +var collapsevue_type_template_id_461d57f4_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-collapse", + attrs: { role: "tablist", "aria-multiselectable": "true" } + }, + [_vm._t("default")], + 2 + ) +} +var collapsevue_type_template_id_461d57f4_staticRenderFns = [] +collapsevue_type_template_id_461d57f4_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=template&id=461d57f4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse.vue?vue&type=script&lang=js& +// +// +// +// +// + +/* harmony default export */ var collapsevue_type_script_lang_js_ = ({ + name: 'ElCollapse', + + componentName: 'ElCollapse', + + props: { + accordion: Boolean, + value: { + type: [Array, String, Number], + default: function _default() { + return []; + } + } + }, + + data: function data() { + return { + activeNames: [].concat(this.value) + }; + }, + provide: function provide() { + return { + collapse: this + }; + }, + + + watch: { + value: function value(_value) { + this.activeNames = [].concat(_value); + } + }, + + methods: { + setActiveNames: function setActiveNames(activeNames) { + activeNames = [].concat(activeNames); + var value = this.accordion ? activeNames[0] : activeNames; + this.activeNames = activeNames; + this.$emit('input', value); + this.$emit('change', value); + }, + handleItemClick: function handleItemClick(item) { + if (this.accordion) { + this.setActiveNames((this.activeNames[0] || this.activeNames[0] === 0) && this.activeNames[0] === item.name ? '' : item.name); + } else { + var activeNames = this.activeNames.slice(0); + var index = activeNames.indexOf(item.name); + + if (index > -1) { + activeNames.splice(index, 1); + } else { + activeNames.push(item.name); + } + this.setActiveNames(activeNames); + } + } + }, + + created: function created() { + this.$on('item-click', this.handleItemClick); + } +}); +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue?vue&type=script&lang=js& + /* harmony default export */ var src_collapsevue_type_script_lang_js_ = (collapsevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/collapse/src/collapse.vue + + + + + +/* normalize component */ + +var collapse_component = normalizeComponent( + src_collapsevue_type_script_lang_js_, + collapsevue_type_template_id_461d57f4_render, + collapsevue_type_template_id_461d57f4_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var collapse_api; } +collapse_component.options.__file = "packages/collapse/src/collapse.vue" +/* harmony default export */ var collapse = (collapse_component.exports); +// CONCATENATED MODULE: ./packages/collapse/index.js + + +/* istanbul ignore next */ +collapse.install = function (Vue) { + Vue.component(collapse.name, collapse); +}; + +/* harmony default export */ var packages_collapse = (collapse); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac& +var collapse_itemvue_type_template_id_2d05faac_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-collapse-item", + class: { "is-active": _vm.isActive, "is-disabled": _vm.disabled } + }, + [ + _c( + "div", + { + attrs: { + role: "tab", + "aria-expanded": _vm.isActive, + "aria-controls": "el-collapse-content-" + _vm.id, + "aria-describedby": "el-collapse-content-" + _vm.id + } + }, + [ + _c( + "div", + { + staticClass: "el-collapse-item__header", + class: { + focusing: _vm.focusing, + "is-active": _vm.isActive + }, + attrs: { + role: "button", + id: "el-collapse-head-" + _vm.id, + tabindex: _vm.disabled ? undefined : 0 + }, + on: { + click: _vm.handleHeaderClick, + keyup: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [ + " ", + "Spacebar" + ]) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + $event.stopPropagation() + return _vm.handleEnterClick($event) + }, + focus: _vm.handleFocus, + blur: function($event) { + _vm.focusing = false + } + } + }, + [ + _vm._t("title", [_vm._v(_vm._s(_vm.title))]), + _c("i", { + staticClass: "el-collapse-item__arrow el-icon-arrow-right", + class: { "is-active": _vm.isActive } + }) + ], + 2 + ) + ] + ), + _c("el-collapse-transition", [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.isActive, + expression: "isActive" + } + ], + staticClass: "el-collapse-item__wrap", + attrs: { + role: "tabpanel", + "aria-hidden": !_vm.isActive, + "aria-labelledby": "el-collapse-head-" + _vm.id, + id: "el-collapse-content-" + _vm.id + } + }, + [ + _c( + "div", + { staticClass: "el-collapse-item__content" }, + [_vm._t("default")], + 2 + ) + ] + ) + ]) + ], + 1 + ) +} +var collapse_itemvue_type_template_id_2d05faac_staticRenderFns = [] +collapse_itemvue_type_template_id_2d05faac_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=template&id=2d05faac& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var collapse_itemvue_type_script_lang_js_ = ({ + name: 'ElCollapseItem', + + componentName: 'ElCollapseItem', + + mixins: [emitter_default.a], + + components: { ElCollapseTransition: collapse_transition_default.a }, + + data: function data() { + return { + contentWrapStyle: { + height: 'auto', + display: 'block' + }, + contentHeight: 0, + focusing: false, + isClick: false, + id: Object(util_["generateId"])() + }; + }, + + + inject: ['collapse'], + + props: { + title: String, + name: { + type: [String, Number], + default: function _default() { + return this._uid; + } + }, + disabled: Boolean + }, + + computed: { + isActive: function isActive() { + return this.collapse.activeNames.indexOf(this.name) > -1; + } + }, + + methods: { + handleFocus: function handleFocus() { + var _this = this; + + setTimeout(function () { + if (!_this.isClick) { + _this.focusing = true; + } else { + _this.isClick = false; + } + }, 50); + }, + handleHeaderClick: function handleHeaderClick() { + if (this.disabled) return; + this.dispatch('ElCollapse', 'item-click', this); + this.focusing = false; + this.isClick = true; + }, + handleEnterClick: function handleEnterClick() { + this.dispatch('ElCollapse', 'item-click', this); + } + } +}); +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_collapse_itemvue_type_script_lang_js_ = (collapse_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/collapse/src/collapse-item.vue + + + + + +/* normalize component */ + +var collapse_item_component = normalizeComponent( + src_collapse_itemvue_type_script_lang_js_, + collapse_itemvue_type_template_id_2d05faac_render, + collapse_itemvue_type_template_id_2d05faac_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var collapse_item_api; } +collapse_item_component.options.__file = "packages/collapse/src/collapse-item.vue" +/* harmony default export */ var collapse_item = (collapse_item_component.exports); +// CONCATENATED MODULE: ./packages/collapse-item/index.js + + +/* istanbul ignore next */ +collapse_item.install = function (Vue) { + Vue.component(collapse_item.name, collapse_item); +}; + +/* harmony default export */ var packages_collapse_item = (collapse_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6& +var cascadervue_type_template_id_032537a6_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: function() { + return _vm.toggleDropDownVisible(false) + }, + expression: "() => toggleDropDownVisible(false)" + } + ], + ref: "reference", + class: [ + "el-cascader", + _vm.realSize && "el-cascader--" + _vm.realSize, + { "is-disabled": _vm.isDisabled } + ], + on: { + mouseenter: function($event) { + _vm.inputHover = true + }, + mouseleave: function($event) { + _vm.inputHover = false + }, + click: function() { + return _vm.toggleDropDownVisible(_vm.readonly ? undefined : true) + }, + keydown: _vm.handleKeyDown + } + }, + [ + _c( + "el-input", + { + ref: "input", + class: { "is-focus": _vm.dropDownVisible }, + attrs: { + size: _vm.realSize, + placeholder: _vm.placeholder, + readonly: _vm.readonly, + disabled: _vm.isDisabled, + "validate-event": false + }, + on: { + focus: _vm.handleFocus, + blur: _vm.handleBlur, + input: _vm.handleInput + }, + model: { + value: _vm.multiple ? _vm.presentText : _vm.inputValue, + callback: function($$v) { + _vm.multiple ? _vm.presentText : (_vm.inputValue = $$v) + }, + expression: "multiple ? presentText : inputValue" + } + }, + [ + _c("template", { slot: "suffix" }, [ + _vm.clearBtnVisible + ? _c("i", { + key: "clear", + staticClass: "el-input__icon el-icon-circle-close", + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClear($event) + } + } + }) + : _c("i", { + key: "arrow-down", + class: [ + "el-input__icon", + "el-icon-arrow-down", + _vm.dropDownVisible && "is-reverse" + ], + on: { + click: function($event) { + $event.stopPropagation() + _vm.toggleDropDownVisible() + } + } + }) + ]) + ], + 2 + ), + _vm.multiple + ? _c( + "div", + { staticClass: "el-cascader__tags" }, + [ + _vm._l(_vm.presentTags, function(tag) { + return _c( + "el-tag", + { + key: tag.key, + attrs: { + type: "info", + size: _vm.tagSize, + hit: tag.hitState, + closable: tag.closable, + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag(tag) + } + } + }, + [_c("span", [_vm._v(_vm._s(tag.text))])] + ) + }), + _vm.filterable && !_vm.isDisabled + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model.trim", + value: _vm.inputValue, + expression: "inputValue", + modifiers: { trim: true } + } + ], + staticClass: "el-cascader__search-input", + attrs: { + type: "text", + placeholder: _vm.presentTags.length ? "" : _vm.placeholder + }, + domProps: { value: _vm.inputValue }, + on: { + input: [ + function($event) { + if ($event.target.composing) { + return + } + _vm.inputValue = $event.target.value.trim() + }, + function(e) { + return _vm.handleInput(_vm.inputValue, e) + } + ], + click: function($event) { + $event.stopPropagation() + _vm.toggleDropDownVisible(true) + }, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "delete", + [8, 46], + $event.key, + ["Backspace", "Delete", "Del"] + ) + ) { + return null + } + return _vm.handleDelete($event) + }, + blur: function($event) { + _vm.$forceUpdate() + } + } + }) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { "after-leave": _vm.handleDropdownLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.dropDownVisible, + expression: "dropDownVisible" + } + ], + ref: "popper", + class: ["el-popper", "el-cascader__dropdown", _vm.popperClass] + }, + [ + _c("el-cascader-panel", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.filtering, + expression: "!filtering" + } + ], + ref: "panel", + attrs: { + options: _vm.options, + props: _vm.config, + border: false, + "render-label": _vm.$scopedSlots.default + }, + on: { + "expand-change": _vm.handleExpandChange, + close: function($event) { + _vm.toggleDropDownVisible(false) + } + }, + model: { + value: _vm.checkedValue, + callback: function($$v) { + _vm.checkedValue = $$v + }, + expression: "checkedValue" + } + }), + _vm.filterable + ? _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.filtering, + expression: "filtering" + } + ], + ref: "suggestionPanel", + staticClass: "el-cascader__suggestion-panel", + attrs: { + tag: "ul", + "view-class": "el-cascader__suggestion-list" + }, + nativeOn: { + keydown: function($event) { + return _vm.handleSuggestionKeyDown($event) + } + } + }, + [ + _vm.suggestions.length + ? _vm._l(_vm.suggestions, function(item, index) { + return _c( + "li", + { + key: item.uid, + class: [ + "el-cascader__suggestion-item", + item.checked && "is-checked" + ], + attrs: { tabindex: -1 }, + on: { + click: function($event) { + _vm.handleSuggestionClick(index) + } + } + }, + [ + _c("span", [_vm._v(_vm._s(item.text))]), + item.checked + ? _c("i", { staticClass: "el-icon-check" }) + : _vm._e() + ] + ) + }) + : _vm._t("empty", [ + _c( + "li", + { staticClass: "el-cascader__empty-text" }, + [_vm._v(_vm._s(_vm.t("el.cascader.noMatch")))] + ) + ]) + ], + 2 + ) + : _vm._e() + ], + 1 + ) + ] + ) + ], + 1 + ) +} +var cascadervue_type_template_id_032537a6_staticRenderFns = [] +cascadervue_type_template_id_032537a6_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=template&id=032537a6& + +// EXTERNAL MODULE: external "element-ui/lib/cascader-panel" +var cascader_panel_ = __webpack_require__(43); +var cascader_panel_default = /*#__PURE__*/__webpack_require__.n(cascader_panel_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/aria-utils" +var aria_utils_ = __webpack_require__(35); +var aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader/src/cascader.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + + + + + +var KeyCode = aria_utils_default.a.keys; + +var MigratingProps = { + expandTrigger: { + newProp: 'expandTrigger', + type: String + }, + changeOnSelect: { + newProp: 'checkStrictly', + type: Boolean + }, + hoverThreshold: { + newProp: 'hoverThreshold', + type: Number + } +}; + +var PopperMixin = { + props: { + placement: { + type: String, + default: 'bottom-start' + }, + appendToBody: vue_popper_default.a.props.appendToBody, + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: vue_popper_default.a.props.arrowOffset, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + popperOptions: vue_popper_default.a.props.popperOptions, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: vue_popper_default.a.data, + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var InputSizeMap = { + medium: 36, + small: 32, + mini: 28 +}; + +/* harmony default export */ var cascadervue_type_script_lang_js_ = ({ + name: 'ElCascader', + + directives: { Clickoutside: clickoutside_default.a }, + + mixins: [PopperMixin, emitter_default.a, locale_default.a, migrating_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + components: { + ElInput: input_default.a, + ElTag: tag_default.a, + ElScrollbar: scrollbar_default.a, + ElCascaderPanel: cascader_panel_default.a + }, + + props: { + value: {}, + options: Array, + props: Object, + size: String, + placeholder: { + type: String, + default: function _default() { + return Object(lib_locale_["t"])('el.cascader.placeholder'); + } + }, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + filterMethod: Function, + separator: { + type: String, + default: ' / ' + }, + showAllLevels: { + type: Boolean, + default: true + }, + collapseTags: Boolean, + debounce: { + type: Number, + default: 300 + }, + beforeFilter: { + type: Function, + default: function _default() { + return function () {}; + } + }, + popperClass: String + }, + + data: function data() { + return { + dropDownVisible: false, + checkedValue: this.value, + inputHover: false, + inputValue: null, + presentText: null, + presentTags: [], + checkedNodes: [], + filtering: false, + suggestions: [], + inputInitialHeight: 0, + pressDeleteCount: 0 + }; + }, + + + computed: { + realSize: function realSize() { + var _elFormItemSize = (this.elFormItem || {}).elFormItemSize; + return this.size || _elFormItemSize || (this.$ELEMENT || {}).size; + }, + tagSize: function tagSize() { + return ['small', 'mini'].indexOf(this.realSize) > -1 ? 'mini' : 'small'; + }, + isDisabled: function isDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + config: function config() { + var config = this.props || {}; + var $attrs = this.$attrs; + + + Object.keys(MigratingProps).forEach(function (oldProp) { + var _MigratingProps$oldPr = MigratingProps[oldProp], + newProp = _MigratingProps$oldPr.newProp, + type = _MigratingProps$oldPr.type; + + var oldValue = $attrs[oldProp] || $attrs[Object(util_["kebabCase"])(oldProp)]; + if (Object(shared_["isDef"])(oldProp) && !Object(shared_["isDef"])(config[newProp])) { + if (type === Boolean && oldValue === '') { + oldValue = true; + } + config[newProp] = oldValue; + } + }); + + return config; + }, + multiple: function multiple() { + return this.config.multiple; + }, + leafOnly: function leafOnly() { + return !this.config.checkStrictly; + }, + readonly: function readonly() { + return !this.filterable || this.multiple; + }, + clearBtnVisible: function clearBtnVisible() { + if (!this.clearable || this.isDisabled || this.filtering || !this.inputHover) { + return false; + } + + return this.multiple ? !!this.checkedNodes.filter(function (node) { + return !node.isDisabled; + }).length : !!this.presentText; + }, + panel: function panel() { + return this.$refs.panel; + } + }, + + watch: { + disabled: function disabled() { + this.computePresentContent(); + }, + value: function value(val) { + if (!Object(util_["isEqual"])(val, this.checkedValue)) { + this.checkedValue = val; + this.computePresentContent(); + } + }, + checkedValue: function checkedValue(val) { + var value = this.value, + dropDownVisible = this.dropDownVisible; + var _config = this.config, + checkStrictly = _config.checkStrictly, + multiple = _config.multiple; + + + if (!Object(util_["isEqual"])(val, value) || Object(types_["isUndefined"])(value)) { + this.computePresentContent(); + // hide dropdown when single mode + if (!multiple && !checkStrictly && dropDownVisible) { + this.toggleDropDownVisible(false); + } + + this.$emit('input', val); + this.$emit('change', val); + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + + options: { + handler: function handler() { + this.$nextTick(this.computePresentContent); + }, + deep: true + }, + presentText: function presentText(val) { + this.inputValue = val; + }, + presentTags: function presentTags(val, oldVal) { + if (this.multiple && (val.length || oldVal.length)) { + this.$nextTick(this.updateStyle); + } + }, + filtering: function filtering(val) { + this.$nextTick(this.updatePopper); + } + }, + + mounted: function mounted() { + var _this = this; + + var input = this.$refs.input; + + if (input && input.$el) { + this.inputInitialHeight = input.$el.offsetHeight || InputSizeMap[this.realSize] || 40; + } + + if (!this.isEmptyValue(this.value)) { + this.computePresentContent(); + } + + this.filterHandler = debounce_default()(this.debounce, function () { + var inputValue = _this.inputValue; + + + if (!inputValue) { + _this.filtering = false; + return; + } + + var before = _this.beforeFilter(inputValue); + if (before && before.then) { + before.then(_this.getSuggestions); + } else if (before !== false) { + _this.getSuggestions(); + } else { + _this.filtering = false; + } + }); + + Object(resize_event_["addResizeListener"])(this.$el, this.updateStyle); + }, + beforeDestroy: function beforeDestroy() { + Object(resize_event_["removeResizeListener"])(this.$el, this.updateStyle); + }, + + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'expand-trigger': 'expand-trigger is removed, use `props.expandTrigger` instead.', + 'change-on-select': 'change-on-select is removed, use `props.checkStrictly` instead.', + 'hover-threshold': 'hover-threshold is removed, use `props.hoverThreshold` instead' + }, + events: { + 'active-item-change': 'active-item-change is renamed to expand-change' + } + }; + }, + toggleDropDownVisible: function toggleDropDownVisible(visible) { + var _this2 = this; + + if (this.isDisabled) return; + + var dropDownVisible = this.dropDownVisible; + var input = this.$refs.input; + + visible = Object(shared_["isDef"])(visible) ? visible : !dropDownVisible; + if (visible !== dropDownVisible) { + this.dropDownVisible = visible; + if (visible) { + this.$nextTick(function () { + _this2.updatePopper(); + _this2.panel.scrollIntoView(); + }); + } + input.$refs.input.setAttribute('aria-expanded', visible); + this.$emit('visible-change', visible); + } + }, + handleDropdownLeave: function handleDropdownLeave() { + this.filtering = false; + this.inputValue = this.presentText; + this.doDestroy(); + }, + handleKeyDown: function handleKeyDown(event) { + switch (event.keyCode) { + case KeyCode.enter: + this.toggleDropDownVisible(); + break; + case KeyCode.down: + this.toggleDropDownVisible(true); + this.focusFirstNode(); + event.preventDefault(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleFocus: function handleFocus(e) { + this.$emit('focus', e); + }, + handleBlur: function handleBlur(e) { + this.$emit('blur', e); + }, + handleInput: function handleInput(val, event) { + !this.dropDownVisible && this.toggleDropDownVisible(true); + + if (event && event.isComposing) return; + if (val) { + this.filterHandler(); + } else { + this.filtering = false; + } + }, + handleClear: function handleClear() { + this.presentText = ''; + this.panel.clearCheckedNodes(); + }, + handleExpandChange: function handleExpandChange(value) { + this.$nextTick(this.updatePopper.bind(this)); + this.$emit('expand-change', value); + this.$emit('active-item-change', value); // Deprecated + }, + focusFirstNode: function focusFirstNode() { + var _this3 = this; + + this.$nextTick(function () { + var filtering = _this3.filtering; + var _$refs = _this3.$refs, + popper = _$refs.popper, + suggestionPanel = _$refs.suggestionPanel; + + var firstNode = null; + + if (filtering && suggestionPanel) { + firstNode = suggestionPanel.$el.querySelector('.el-cascader__suggestion-item'); + } else { + var firstMenu = popper.querySelector('.el-cascader-menu'); + firstNode = firstMenu.querySelector('.el-cascader-node[tabindex="-1"]'); + } + + if (firstNode) { + firstNode.focus(); + !filtering && firstNode.click(); + } + }); + }, + computePresentContent: function computePresentContent() { + var _this4 = this; + + // nextTick is required, because checked nodes may not change right now + this.$nextTick(function () { + if (_this4.config.multiple) { + _this4.computePresentTags(); + _this4.presentText = _this4.presentTags.length ? ' ' : null; + } else { + _this4.computePresentText(); + } + }); + }, + isEmptyValue: function isEmptyValue(val) { + var multiple = this.multiple; + var emitPath = this.panel.config.emitPath; + + if (multiple || emitPath) { + return Object(util_["isEmpty"])(val); + } + return false; + }, + computePresentText: function computePresentText() { + var checkedValue = this.checkedValue, + config = this.config; + + if (!this.isEmptyValue(checkedValue)) { + var node = this.panel.getNodeByValue(checkedValue); + if (node && (config.checkStrictly || node.isLeaf)) { + this.presentText = node.getText(this.showAllLevels, this.separator); + return; + } + } + this.presentText = null; + }, + computePresentTags: function computePresentTags() { + var isDisabled = this.isDisabled, + leafOnly = this.leafOnly, + showAllLevels = this.showAllLevels, + separator = this.separator, + collapseTags = this.collapseTags; + + var checkedNodes = this.getCheckedNodes(leafOnly); + var tags = []; + + var genTag = function genTag(node) { + return { + node: node, + key: node.uid, + text: node.getText(showAllLevels, separator), + hitState: false, + closable: !isDisabled && !node.isDisabled + }; + }; + + if (checkedNodes.length) { + var first = checkedNodes[0], + rest = checkedNodes.slice(1); + + var restCount = rest.length; + tags.push(genTag(first)); + + if (restCount) { + if (collapseTags) { + tags.push({ + key: -1, + text: '+ ' + restCount, + closable: false + }); + } else { + rest.forEach(function (node) { + return tags.push(genTag(node)); + }); + } + } + } + + this.checkedNodes = checkedNodes; + this.presentTags = tags; + }, + getSuggestions: function getSuggestions() { + var _this5 = this; + + var filterMethod = this.filterMethod; + + + if (!Object(types_["isFunction"])(filterMethod)) { + filterMethod = function filterMethod(node, keyword) { + return node.text.includes(keyword); + }; + } + + var suggestions = this.panel.getFlattedNodes(this.leafOnly).filter(function (node) { + if (node.isDisabled) return false; + node.text = node.getText(_this5.showAllLevels, _this5.separator) || ''; + return filterMethod(node, _this5.inputValue); + }); + + if (this.multiple) { + this.presentTags.forEach(function (tag) { + tag.hitState = false; + }); + } else { + suggestions.forEach(function (node) { + node.checked = Object(util_["isEqual"])(_this5.checkedValue, node.getValueByOption()); + }); + } + + this.filtering = true; + this.suggestions = suggestions; + this.$nextTick(this.updatePopper); + }, + handleSuggestionKeyDown: function handleSuggestionKeyDown(event) { + var keyCode = event.keyCode, + target = event.target; + + switch (keyCode) { + case KeyCode.enter: + target.click(); + break; + case KeyCode.up: + var prev = target.previousElementSibling; + prev && prev.focus(); + break; + case KeyCode.down: + var next = target.nextElementSibling; + next && next.focus(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleDelete: function handleDelete() { + var inputValue = this.inputValue, + pressDeleteCount = this.pressDeleteCount, + presentTags = this.presentTags; + + var lastIndex = presentTags.length - 1; + var lastTag = presentTags[lastIndex]; + this.pressDeleteCount = inputValue ? 0 : pressDeleteCount + 1; + + if (!lastTag) return; + + if (this.pressDeleteCount) { + if (lastTag.hitState) { + this.deleteTag(lastTag); + } else { + lastTag.hitState = true; + } + } + }, + handleSuggestionClick: function handleSuggestionClick(index) { + var multiple = this.multiple; + + var targetNode = this.suggestions[index]; + + if (multiple) { + var checked = targetNode.checked; + + targetNode.doCheck(!checked); + this.panel.calculateMultiCheckedValue(); + } else { + this.checkedValue = targetNode.getValueByOption(); + this.toggleDropDownVisible(false); + } + }, + deleteTag: function deleteTag(tag) { + var checkedValue = this.checkedValue; + + var current = tag.node.getValueByOption(); + var val = checkedValue.find(function (n) { + return Object(util_["isEqual"])(n, current); + }); + this.checkedValue = checkedValue.filter(function (n) { + return !Object(util_["isEqual"])(n, current); + }); + this.$emit('remove-tag', val); + }, + updateStyle: function updateStyle() { + var $el = this.$el, + inputInitialHeight = this.inputInitialHeight; + + if (this.$isServer || !$el) return; + + var suggestionPanel = this.$refs.suggestionPanel; + + var inputInner = $el.querySelector('.el-input__inner'); + + if (!inputInner) return; + + var tags = $el.querySelector('.el-cascader__tags'); + var suggestionPanelEl = null; + + if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) { + var suggestionList = suggestionPanelEl.querySelector('.el-cascader__suggestion-list'); + suggestionList.style.minWidth = inputInner.offsetWidth + 'px'; + } + + if (tags) { + var offsetHeight = Math.round(tags.getBoundingClientRect().height); + var height = Math.max(offsetHeight + 6, inputInitialHeight) + 'px'; + inputInner.style.height = height; + if (this.dropDownVisible) { + this.updatePopper(); + } + } + }, + + + /** + * public methods + */ + getCheckedNodes: function getCheckedNodes(leafOnly) { + return this.panel.getCheckedNodes(leafOnly); + } + } +}); +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascadervue_type_script_lang_js_ = (cascadervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader/src/cascader.vue + + + + + +/* normalize component */ + +var cascader_component = normalizeComponent( + src_cascadervue_type_script_lang_js_, + cascadervue_type_template_id_032537a6_render, + cascadervue_type_template_id_032537a6_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_api; } +cascader_component.options.__file = "packages/cascader/src/cascader.vue" +/* harmony default export */ var cascader = (cascader_component.exports); +// CONCATENATED MODULE: ./packages/cascader/index.js + + +/* istanbul ignore next */ +cascader.install = function (Vue) { + Vue.component(cascader.name, cascader); +}; + +/* harmony default export */ var packages_cascader = (cascader); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7& +var mainvue_type_template_id_55c8ade7_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.hide, + expression: "hide" + } + ], + class: [ + "el-color-picker", + _vm.colorDisabled ? "is-disabled" : "", + _vm.colorSize ? "el-color-picker--" + _vm.colorSize : "" + ] + }, + [ + _vm.colorDisabled + ? _c("div", { staticClass: "el-color-picker__mask" }) + : _vm._e(), + _c( + "div", + { + staticClass: "el-color-picker__trigger", + on: { click: _vm.handleTrigger } + }, + [ + _c( + "span", + { + staticClass: "el-color-picker__color", + class: { "is-alpha": _vm.showAlpha } + }, + [ + _c("span", { + staticClass: "el-color-picker__color-inner", + style: { + backgroundColor: _vm.displayedColor + } + }), + !_vm.value && !_vm.showPanelColor + ? _c("span", { + staticClass: "el-color-picker__empty el-icon-close" + }) + : _vm._e() + ] + ), + _c("span", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.value || _vm.showPanelColor, + expression: "value || showPanelColor" + } + ], + staticClass: "el-color-picker__icon el-icon-arrow-down" + }) + ] + ), + _c("picker-dropdown", { + ref: "dropdown", + class: ["el-color-picker__panel", _vm.popperClass || ""], + attrs: { + color: _vm.color, + "show-alpha": _vm.showAlpha, + predefine: _vm.predefine + }, + on: { pick: _vm.confirmValue, clear: _vm.clearValue }, + model: { + value: _vm.showPicker, + callback: function($$v) { + _vm.showPicker = $$v + }, + expression: "showPicker" + } + }) + ], + 1 + ) +} +var mainvue_type_template_id_55c8ade7_staticRenderFns = [] +mainvue_type_template_id_55c8ade7_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7& + +// CONCATENATED MODULE: ./packages/color-picker/src/color.js +var color_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function color_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var hsv2hsl = function hsv2hsl(hue, sat, val) { + return [hue, sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2]; +}; + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> +var isOnePointZero = function isOnePointZero(n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +}; + +var isPercentage = function isPercentage(n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +}; + +// Take input from [0, n] and return it as [0, 1] +var bound01 = function bound01(value, max) { + if (isOnePointZero(value)) value = '100%'; + + var processPercent = isPercentage(value); + value = Math.min(max, Math.max(0, parseFloat(value))); + + // Automatically convert percentage into number + if (processPercent) { + value = parseInt(value * max, 10) / 100; + } + + // Handle floating point rounding errors + if (Math.abs(value - max) < 0.000001) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return value % max / parseFloat(max); +}; + +var INT_HEX_MAP = { 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' }; + +var toHex = function toHex(_ref) { + var r = _ref.r, + g = _ref.g, + b = _ref.b; + + var hexOne = function hexOne(value) { + value = Math.min(Math.round(value), 255); + var high = Math.floor(value / 16); + var low = value % 16; + return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low); + }; + + if (isNaN(r) || isNaN(g) || isNaN(b)) return ''; + + return '#' + hexOne(r) + hexOne(g) + hexOne(b); +}; + +var HEX_INT_MAP = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15 }; + +var parseHexChannel = function parseHexChannel(hex) { + if (hex.length === 2) { + return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]); + } + + return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]; +}; + +var hsl2hsv = function hsl2hsv(hue, sat, light) { + sat = sat / 100; + light = light / 100; + var smin = sat; + var lmin = Math.max(light, 0.01); + var sv = void 0; + var v = void 0; + + light *= 2; + sat *= light <= 1 ? light : 2 - light; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (light + sat) / 2; + sv = light === 0 ? 2 * smin / (lmin + smin) : 2 * sat / (light + sat); + + return { + h: hue, + s: sv * 100, + v: v * 100 + }; +}; + +// `rgbToHsv` +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +var rgb2hsv = function rgb2hsv(r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = Math.max(r, g, b); + var min = Math.min(r, g, b); + var h = void 0, + s = void 0; + var v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if (max === min) { + h = 0; // achromatic + } else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + + return { h: h * 360, s: s * 100, v: v * 100 }; +}; + +// `hsvToRgb` +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +var hsv2rgb = function hsv2rgb(h, s, v) { + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = Math.floor(h); + var f = h - i; + var p = v * (1 - s); + var q = v * (1 - f * s); + var t = v * (1 - (1 - f) * s); + var mod = i % 6; + var r = [v, q, p, p, t, v][mod]; + var g = [t, v, v, q, p, p][mod]; + var b = [p, p, t, v, v, q][mod]; + + return { + r: Math.round(r * 255), + g: Math.round(g * 255), + b: Math.round(b * 255) + }; +}; + +var Color = function () { + function Color(options) { + color_classCallCheck(this, Color); + + this._hue = 0; + this._saturation = 100; + this._value = 100; + this._alpha = 100; + + this.enableAlpha = false; + this.format = 'hex'; + this.value = ''; + + options = options || {}; + + for (var option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.doOnChange(); + } + + Color.prototype.set = function set(prop, value) { + if (arguments.length === 1 && (typeof prop === 'undefined' ? 'undefined' : color_typeof(prop)) === 'object') { + for (var p in prop) { + if (prop.hasOwnProperty(p)) { + this.set(p, prop[p]); + } + } + + return; + } + + this['_' + prop] = value; + this.doOnChange(); + }; + + Color.prototype.get = function get(prop) { + return this['_' + prop]; + }; + + Color.prototype.toRgb = function toRgb() { + return hsv2rgb(this._hue, this._saturation, this._value); + }; + + Color.prototype.fromString = function fromString(value) { + var _this = this; + + if (!value) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + + this.doOnChange(); + return; + } + + var fromHSV = function fromHSV(h, s, v) { + _this._hue = Math.max(0, Math.min(360, h)); + _this._saturation = Math.max(0, Math.min(100, s)); + _this._value = Math.max(0, Math.min(100, v)); + + _this.doOnChange(); + }; + + if (value.indexOf('hsl') !== -1) { + var parts = value.replace(/hsla|hsl|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + var _hsl2hsv = hsl2hsv(parts[0], parts[1], parts[2]), + h = _hsl2hsv.h, + s = _hsl2hsv.s, + v = _hsl2hsv.v; + + fromHSV(h, s, v); + } + } else if (value.indexOf('hsv') !== -1) { + var _parts = value.replace(/hsva|hsv|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (_parts.length === 4) { + this._alpha = Math.floor(parseFloat(_parts[3]) * 100); + } else if (_parts.length === 3) { + this._alpha = 100; + } + if (_parts.length >= 3) { + fromHSV(_parts[0], _parts[1], _parts[2]); + } + } else if (value.indexOf('rgb') !== -1) { + var _parts2 = value.replace(/rgba|rgb|\(|\)/gm, '').split(/\s|,/g).filter(function (val) { + return val !== ''; + }).map(function (val, index) { + return index > 2 ? parseFloat(val) : parseInt(val, 10); + }); + + if (_parts2.length === 4) { + this._alpha = Math.floor(parseFloat(_parts2[3]) * 100); + } else if (_parts2.length === 3) { + this._alpha = 100; + } + if (_parts2.length >= 3) { + var _rgb2hsv = rgb2hsv(_parts2[0], _parts2[1], _parts2[2]), + _h = _rgb2hsv.h, + _s = _rgb2hsv.s, + _v = _rgb2hsv.v; + + fromHSV(_h, _s, _v); + } + } else if (value.indexOf('#') !== -1) { + var hex = value.replace('#', '').trim(); + if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) return; + var r = void 0, + g = void 0, + b = void 0; + + if (hex.length === 3) { + r = parseHexChannel(hex[0] + hex[0]); + g = parseHexChannel(hex[1] + hex[1]); + b = parseHexChannel(hex[2] + hex[2]); + } else if (hex.length === 6 || hex.length === 8) { + r = parseHexChannel(hex.substring(0, 2)); + g = parseHexChannel(hex.substring(2, 4)); + b = parseHexChannel(hex.substring(4, 6)); + } + + if (hex.length === 8) { + this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100); + } else if (hex.length === 3 || hex.length === 6) { + this._alpha = 100; + } + + var _rgb2hsv2 = rgb2hsv(r, g, b), + _h2 = _rgb2hsv2.h, + _s2 = _rgb2hsv2.s, + _v2 = _rgb2hsv2.v; + + fromHSV(_h2, _s2, _v2); + } + }; + + Color.prototype.compare = function compare(color) { + return Math.abs(color._hue - this._hue) < 2 && Math.abs(color._saturation - this._saturation) < 1 && Math.abs(color._value - this._value) < 1 && Math.abs(color._alpha - this._alpha) < 1; + }; + + Color.prototype.doOnChange = function doOnChange() { + var _hue = this._hue, + _saturation = this._saturation, + _value = this._value, + _alpha = this._alpha, + format = this.format; + + + if (this.enableAlpha) { + switch (format) { + case 'hsl': + var hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = 'hsla(' + _hue + ', ' + Math.round(hsl[1] * 100) + '%, ' + Math.round(hsl[2] * 100) + '%, ' + _alpha / 100 + ')'; + break; + case 'hsv': + this.value = 'hsva(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%, ' + _alpha / 100 + ')'; + break; + default: + var _hsv2rgb = hsv2rgb(_hue, _saturation, _value), + r = _hsv2rgb.r, + g = _hsv2rgb.g, + b = _hsv2rgb.b; + + this.value = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + _alpha / 100 + ')'; + } + } else { + switch (format) { + case 'hsl': + var _hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = 'hsl(' + _hue + ', ' + Math.round(_hsl[1] * 100) + '%, ' + Math.round(_hsl[2] * 100) + '%)'; + break; + case 'hsv': + this.value = 'hsv(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%)'; + break; + case 'rgb': + var _hsv2rgb2 = hsv2rgb(_hue, _saturation, _value), + _r = _hsv2rgb2.r, + _g = _hsv2rgb2.g, + _b = _hsv2rgb2.b; + + this.value = 'rgb(' + _r + ', ' + _g + ', ' + _b + ')'; + break; + default: + this.value = toHex(hsv2rgb(_hue, _saturation, _value)); + } + } + }; + + return Color; +}(); + +/* harmony default export */ var src_color = (Color); +; +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625& +var picker_dropdownvue_type_template_id_06601625_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { attrs: { name: "el-zoom-in-top" }, on: { "after-leave": _vm.doDestroy } }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-color-dropdown" + }, + [ + _c( + "div", + { staticClass: "el-color-dropdown__main-wrapper" }, + [ + _c("hue-slider", { + ref: "hue", + staticStyle: { float: "right" }, + attrs: { color: _vm.color, vertical: "" } + }), + _c("sv-panel", { ref: "sl", attrs: { color: _vm.color } }) + ], + 1 + ), + _vm.showAlpha + ? _c("alpha-slider", { ref: "alpha", attrs: { color: _vm.color } }) + : _vm._e(), + _vm.predefine + ? _c("predefine", { + attrs: { color: _vm.color, colors: _vm.predefine } + }) + : _vm._e(), + _c( + "div", + { staticClass: "el-color-dropdown__btns" }, + [ + _c( + "span", + { staticClass: "el-color-dropdown__value" }, + [ + _c("el-input", { + attrs: { "validate-event": false, size: "mini" }, + on: { blur: _vm.handleConfirm }, + nativeOn: { + keyup: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.handleConfirm($event) + } + }, + model: { + value: _vm.customInput, + callback: function($$v) { + _vm.customInput = $$v + }, + expression: "customInput" + } + }) + ], + 1 + ), + _c( + "el-button", + { + staticClass: "el-color-dropdown__link-btn", + attrs: { size: "mini", type: "text" }, + on: { + click: function($event) { + _vm.$emit("clear") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.colorpicker.clear")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + staticClass: "el-color-dropdown__btn", + attrs: { plain: "", size: "mini" }, + on: { click: _vm.confirmValue } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.colorpicker.confirm")) + + "\n " + ) + ] + ) + ], + 1 + ) + ], + 1 + ) + ] + ) +} +var picker_dropdownvue_type_template_id_06601625_staticRenderFns = [] +picker_dropdownvue_type_template_id_06601625_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596& +var sv_panelvue_type_template_id_d8583596_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-svpanel", + style: { + backgroundColor: _vm.background + } + }, + [ + _c("div", { staticClass: "el-color-svpanel__white" }), + _c("div", { staticClass: "el-color-svpanel__black" }), + _c( + "div", + { + staticClass: "el-color-svpanel__cursor", + style: { + top: _vm.cursorTop + "px", + left: _vm.cursorLeft + "px" + } + }, + [_c("div")] + ) + ] + ) +} +var sv_panelvue_type_template_id_d8583596_staticRenderFns = [] +sv_panelvue_type_template_id_d8583596_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596& + +// CONCATENATED MODULE: ./packages/color-picker/src/draggable.js + +var isDragging = false; + +/* harmony default export */ var draggable = (function (element, options) { + if (external_vue_default.a.prototype.$isServer) return; + var moveFn = function moveFn(event) { + if (options.drag) { + options.drag(event); + } + }; + var upFn = function upFn(event) { + document.removeEventListener('mousemove', moveFn); + document.removeEventListener('mouseup', upFn); + document.onselectstart = null; + document.ondragstart = null; + + isDragging = false; + + if (options.end) { + options.end(event); + } + }; + element.addEventListener('mousedown', function (event) { + if (isDragging) return; + document.onselectstart = function () { + return false; + }; + document.ondragstart = function () { + return false; + }; + + document.addEventListener('mousemove', moveFn); + document.addEventListener('mouseup', upFn); + isDragging = true; + + if (options.start) { + options.start(event); + } + }); +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var sv_panelvue_type_script_lang_js_ = ({ + name: 'el-sl-panel', + + props: { + color: { + required: true + } + }, + + computed: { + colorValue: function colorValue() { + var hue = this.color.get('hue'); + var value = this.color.get('value'); + return { hue: hue, value: value }; + } + }, + + watch: { + colorValue: function colorValue() { + this.update(); + } + }, + + methods: { + update: function update() { + var saturation = this.color.get('saturation'); + var value = this.color.get('value'); + + var el = this.$el; + var width = el.clientWidth, + height = el.clientHeight; + + + this.cursorLeft = saturation * width / 100; + this.cursorTop = (100 - value) * height / 100; + + this.background = 'hsl(' + this.color.get('hue') + ', 100%, 50%)'; + }, + handleDrag: function handleDrag(event) { + var el = this.$el; + var rect = el.getBoundingClientRect(); + + var left = event.clientX - rect.left; + var top = event.clientY - rect.top; + left = Math.max(0, left); + left = Math.min(left, rect.width); + + top = Math.max(0, top); + top = Math.min(top, rect.height); + + this.cursorLeft = left; + this.cursorTop = top; + this.color.set({ + saturation: left / rect.width * 100, + value: 100 - top / rect.height * 100 + }); + } + }, + + mounted: function mounted() { + var _this = this; + + draggable(this.$el, { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }); + + this.update(); + }, + data: function data() { + return { + cursorTop: 0, + cursorLeft: 0, + background: 'hsl(0, 100%, 50%)' + }; + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var components_sv_panelvue_type_script_lang_js_ = (sv_panelvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue + + + + + +/* normalize component */ + +var sv_panel_component = normalizeComponent( + components_sv_panelvue_type_script_lang_js_, + sv_panelvue_type_template_id_d8583596_render, + sv_panelvue_type_template_id_d8583596_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var sv_panel_api; } +sv_panel_component.options.__file = "packages/color-picker/src/components/sv-panel.vue" +/* harmony default export */ var sv_panel = (sv_panel_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1& +var hue_slidervue_type_template_id_5cdc43b1_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-hue-slider", + class: { "is-vertical": _vm.vertical } + }, + [ + _c("div", { + ref: "bar", + staticClass: "el-color-hue-slider__bar", + on: { click: _vm.handleClick } + }), + _c("div", { + ref: "thumb", + staticClass: "el-color-hue-slider__thumb", + style: { + left: _vm.thumbLeft + "px", + top: _vm.thumbTop + "px" + } + }) + ] + ) +} +var hue_slidervue_type_template_id_5cdc43b1_staticRenderFns = [] +hue_slidervue_type_template_id_5cdc43b1_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var hue_slidervue_type_script_lang_js_ = ({ + name: 'el-color-hue-slider', + + props: { + color: { + required: true + }, + + vertical: Boolean + }, + + data: function data() { + return { + thumbLeft: 0, + thumbTop: 0 + }; + }, + + + computed: { + hueValue: function hueValue() { + var hue = this.color.get('hue'); + return hue; + } + }, + + watch: { + hueValue: function hueValue() { + this.update(); + } + }, + + methods: { + handleClick: function handleClick(event) { + var thumb = this.$refs.thumb; + var target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + handleDrag: function handleDrag(event) { + var rect = this.$el.getBoundingClientRect(); + var thumb = this.$refs.thumb; + + var hue = void 0; + + if (!this.vertical) { + var left = event.clientX - rect.left; + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + left = Math.max(thumb.offsetWidth / 2, left); + + hue = Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 360); + } else { + var top = event.clientY - rect.top; + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + top = Math.max(thumb.offsetHeight / 2, top); + + hue = Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 360); + } + + this.color.set('hue', hue); + }, + getThumbLeft: function getThumbLeft() { + if (this.vertical) return 0; + var el = this.$el; + var hue = this.color.get('hue'); + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetWidth - thumb.offsetWidth / 2) / 360); + }, + getThumbTop: function getThumbTop() { + if (!this.vertical) return 0; + var el = this.$el; + var hue = this.color.get('hue'); + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetHeight - thumb.offsetHeight / 2) / 360); + }, + update: function update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + } + }, + + mounted: function mounted() { + var _this = this; + + var _$refs = this.$refs, + bar = _$refs.bar, + thumb = _$refs.thumb; + + + var dragConfig = { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js& + /* harmony default export */ var components_hue_slidervue_type_script_lang_js_ = (hue_slidervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue + + + + + +/* normalize component */ + +var hue_slider_component = normalizeComponent( + components_hue_slidervue_type_script_lang_js_, + hue_slidervue_type_template_id_5cdc43b1_render, + hue_slidervue_type_template_id_5cdc43b1_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var hue_slider_api; } +hue_slider_component.options.__file = "packages/color-picker/src/components/hue-slider.vue" +/* harmony default export */ var hue_slider = (hue_slider_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb& +var alpha_slidervue_type_template_id_068c66cb_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-color-alpha-slider", + class: { "is-vertical": _vm.vertical } + }, + [ + _c("div", { + ref: "bar", + staticClass: "el-color-alpha-slider__bar", + style: { + background: _vm.background + }, + on: { click: _vm.handleClick } + }), + _c("div", { + ref: "thumb", + staticClass: "el-color-alpha-slider__thumb", + style: { + left: _vm.thumbLeft + "px", + top: _vm.thumbTop + "px" + } + }) + ] + ) +} +var alpha_slidervue_type_template_id_068c66cb_staticRenderFns = [] +alpha_slidervue_type_template_id_068c66cb_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var alpha_slidervue_type_script_lang_js_ = ({ + name: 'el-color-alpha-slider', + + props: { + color: { + required: true + }, + vertical: Boolean + }, + + watch: { + 'color._alpha': function color_alpha() { + this.update(); + }, + 'color.value': function colorValue() { + this.update(); + } + }, + + methods: { + handleClick: function handleClick(event) { + var thumb = this.$refs.thumb; + var target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + handleDrag: function handleDrag(event) { + var rect = this.$el.getBoundingClientRect(); + var thumb = this.$refs.thumb; + + + if (!this.vertical) { + var left = event.clientX - rect.left; + left = Math.max(thumb.offsetWidth / 2, left); + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + + this.color.set('alpha', Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 100)); + } else { + var top = event.clientY - rect.top; + top = Math.max(thumb.offsetHeight / 2, top); + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + + this.color.set('alpha', Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 100)); + } + }, + getThumbLeft: function getThumbLeft() { + if (this.vertical) return 0; + var el = this.$el; + var alpha = this.color._alpha; + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetWidth - thumb.offsetWidth / 2) / 100); + }, + getThumbTop: function getThumbTop() { + if (!this.vertical) return 0; + var el = this.$el; + var alpha = this.color._alpha; + + if (!el) return 0; + var thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetHeight - thumb.offsetHeight / 2) / 100); + }, + getBackground: function getBackground() { + if (this.color && this.color.value) { + var _color$toRgb = this.color.toRgb(), + r = _color$toRgb.r, + g = _color$toRgb.g, + b = _color$toRgb.b; + + return 'linear-gradient(to right, rgba(' + r + ', ' + g + ', ' + b + ', 0) 0%, rgba(' + r + ', ' + g + ', ' + b + ', 1) 100%)'; + } + return null; + }, + update: function update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + this.background = this.getBackground(); + } + }, + + data: function data() { + return { + thumbLeft: 0, + thumbTop: 0, + background: null + }; + }, + mounted: function mounted() { + var _this = this; + + var _$refs = this.$refs, + bar = _$refs.bar, + thumb = _$refs.thumb; + + + var dragConfig = { + drag: function drag(event) { + _this.handleDrag(event); + }, + end: function end(event) { + _this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js& + /* harmony default export */ var components_alpha_slidervue_type_script_lang_js_ = (alpha_slidervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue + + + + + +/* normalize component */ + +var alpha_slider_component = normalizeComponent( + components_alpha_slidervue_type_script_lang_js_, + alpha_slidervue_type_template_id_068c66cb_render, + alpha_slidervue_type_template_id_068c66cb_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var alpha_slider_api; } +alpha_slider_component.options.__file = "packages/color-picker/src/components/alpha-slider.vue" +/* harmony default export */ var alpha_slider = (alpha_slider_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093& +var predefinevue_type_template_id_06e03093_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-color-predefine" }, [ + _c( + "div", + { staticClass: "el-color-predefine__colors" }, + _vm._l(_vm.rgbaColors, function(item, index) { + return _c( + "div", + { + key: _vm.colors[index], + staticClass: "el-color-predefine__color-selector", + class: { selected: item.selected, "is-alpha": item._alpha < 100 }, + on: { + click: function($event) { + _vm.handleSelect(index) + } + } + }, + [_c("div", { style: { "background-color": item.value } })] + ) + }), + 0 + ) + ]) +} +var predefinevue_type_template_id_06e03093_staticRenderFns = [] +predefinevue_type_template_id_06e03093_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var predefinevue_type_script_lang_js_ = ({ + props: { + colors: { type: Array, required: true }, + color: { required: true } + }, + data: function data() { + return { + rgbaColors: this.parseColors(this.colors, this.color) + }; + }, + + methods: { + handleSelect: function handleSelect(index) { + this.color.fromString(this.colors[index]); + }, + parseColors: function parseColors(colors, color) { + return colors.map(function (value) { + var c = new src_color(); + c.enableAlpha = true; + c.format = 'rgba'; + c.fromString(value); + c.selected = c.value === color.value; + return c; + }); + } + }, + watch: { + '$parent.currentColor': function $parentCurrentColor(val) { + var color = new src_color(); + color.fromString(val); + + this.rgbaColors.forEach(function (item) { + item.selected = color.compare(item); + }); + }, + colors: function colors(newVal) { + this.rgbaColors = this.parseColors(newVal, this.color); + }, + color: function color(newVal) { + this.rgbaColors = this.parseColors(this.colors, newVal); + } + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js& + /* harmony default export */ var components_predefinevue_type_script_lang_js_ = (predefinevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue + + + + + +/* normalize component */ + +var predefine_component = normalizeComponent( + components_predefinevue_type_script_lang_js_, + predefinevue_type_template_id_06e03093_render, + predefinevue_type_template_id_06e03093_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var predefine_api; } +predefine_component.options.__file = "packages/color-picker/src/components/predefine.vue" +/* harmony default export */ var predefine = (predefine_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var picker_dropdownvue_type_script_lang_js_ = ({ + name: 'el-color-picker-dropdown', + + mixins: [vue_popper_default.a, locale_default.a], + + components: { + SvPanel: sv_panel, + HueSlider: hue_slider, + AlphaSlider: alpha_slider, + ElInput: input_default.a, + ElButton: button_default.a, + Predefine: predefine + }, + + props: { + color: { + required: true + }, + showAlpha: Boolean, + predefine: Array + }, + + data: function data() { + return { + customInput: '' + }; + }, + + + computed: { + currentColor: function currentColor() { + var parent = this.$parent; + return !parent.value && !parent.showPanelColor ? '' : parent.color.value; + } + }, + + methods: { + confirmValue: function confirmValue() { + this.$emit('pick'); + }, + handleConfirm: function handleConfirm() { + this.color.fromString(this.customInput); + } + }, + + mounted: function mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$el; + }, + + + watch: { + showPopper: function showPopper(val) { + var _this = this; + + if (val === true) { + this.$nextTick(function () { + var _$refs = _this.$refs, + sl = _$refs.sl, + hue = _$refs.hue, + alpha = _$refs.alpha; + + sl && sl.update(); + hue && hue.update(); + alpha && alpha.update(); + }); + } + }, + + + currentColor: { + immediate: true, + handler: function handler(val) { + this.customInput = val; + } + } + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var components_picker_dropdownvue_type_script_lang_js_ = (picker_dropdownvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue + + + + + +/* normalize component */ + +var picker_dropdown_component = normalizeComponent( + components_picker_dropdownvue_type_script_lang_js_, + picker_dropdownvue_type_template_id_06601625_render, + picker_dropdownvue_type_template_id_06601625_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var picker_dropdown_api; } +picker_dropdown_component.options.__file = "packages/color-picker/src/components/picker-dropdown.vue" +/* harmony default export */ var picker_dropdown = (picker_dropdown_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var color_picker_src_mainvue_type_script_lang_js_ = ({ + name: 'ElColorPicker', + + mixins: [emitter_default.a], + + props: { + value: String, + showAlpha: Boolean, + colorFormat: String, + disabled: Boolean, + size: String, + popperClass: String, + predefine: Array + }, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + directives: { Clickoutside: clickoutside_default.a }, + + computed: { + displayedColor: function displayedColor() { + if (!this.value && !this.showPanelColor) { + return 'transparent'; + } + + return this.displayedRgb(this.color, this.showAlpha); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + colorSize: function colorSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + colorDisabled: function colorDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value: function value(val) { + if (!val) { + this.showPanelColor = false; + } else if (val && val !== this.color.value) { + this.color.fromString(val); + } + }, + + color: { + deep: true, + handler: function handler() { + this.showPanelColor = true; + } + }, + displayedColor: function displayedColor(val) { + if (!this.showPicker) return; + var currentValueColor = new src_color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + currentValueColor.fromString(this.value); + + var currentValueColorRgb = this.displayedRgb(currentValueColor, this.showAlpha); + if (val !== currentValueColorRgb) { + this.$emit('active-change', val); + } + } + }, + + methods: { + handleTrigger: function handleTrigger() { + if (this.colorDisabled) return; + this.showPicker = !this.showPicker; + }, + confirmValue: function confirmValue() { + var value = this.color.value; + this.$emit('input', value); + this.$emit('change', value); + this.dispatch('ElFormItem', 'el.form.change', value); + this.showPicker = false; + }, + clearValue: function clearValue() { + this.$emit('input', null); + this.$emit('change', null); + if (this.value !== null) { + this.dispatch('ElFormItem', 'el.form.change', null); + } + this.showPanelColor = false; + this.showPicker = false; + this.resetColor(); + }, + hide: function hide() { + this.showPicker = false; + this.resetColor(); + }, + resetColor: function resetColor() { + var _this = this; + + this.$nextTick(function (_) { + if (_this.value) { + _this.color.fromString(_this.value); + } else { + _this.showPanelColor = false; + } + }); + }, + displayedRgb: function displayedRgb(color, showAlpha) { + if (!(color instanceof src_color)) { + throw Error('color should be instance of Color Class'); + } + + var _color$toRgb = color.toRgb(), + r = _color$toRgb.r, + g = _color$toRgb.g, + b = _color$toRgb.b; + + return showAlpha ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + color.get('alpha') / 100 + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')'; + } + }, + + mounted: function mounted() { + var value = this.value; + if (value) { + this.color.fromString(value); + } + this.popperElm = this.$refs.dropdown.$el; + }, + data: function data() { + var color = new src_color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + + return { + color: color, + showPicker: false, + showPanelColor: false + }; + }, + + + components: { + PickerDropdown: picker_dropdown + } +}); +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_color_picker_src_mainvue_type_script_lang_js_ = (color_picker_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/color-picker/src/main.vue + + + + + +/* normalize component */ + +var color_picker_src_main_component = normalizeComponent( + packages_color_picker_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_55c8ade7_render, + mainvue_type_template_id_55c8ade7_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var color_picker_src_main_api; } +color_picker_src_main_component.options.__file = "packages/color-picker/src/main.vue" +/* harmony default export */ var color_picker_src_main = (color_picker_src_main_component.exports); +// CONCATENATED MODULE: ./packages/color-picker/index.js + + +/* istanbul ignore next */ +color_picker_src_main.install = function (Vue) { + Vue.component(color_picker_src_main.name, color_picker_src_main); +}; + +/* harmony default export */ var color_picker = (color_picker_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8& +var mainvue_type_template_id_5c654dd8_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-transfer" }, + [ + _c( + "transfer-panel", + _vm._b( + { + ref: "leftPanel", + attrs: { + data: _vm.sourceData, + title: _vm.titles[0] || _vm.t("el.transfer.titles.0"), + "default-checked": _vm.leftDefaultChecked, + placeholder: + _vm.filterPlaceholder || _vm.t("el.transfer.filterPlaceholder") + }, + on: { "checked-change": _vm.onSourceCheckedChange } + }, + "transfer-panel", + _vm.$props, + false + ), + [_vm._t("left-footer")], + 2 + ), + _c( + "div", + { staticClass: "el-transfer__buttons" }, + [ + _c( + "el-button", + { + class: [ + "el-transfer__button", + _vm.hasButtonTexts ? "is-with-texts" : "" + ], + attrs: { + type: "primary", + disabled: _vm.rightChecked.length === 0 + }, + nativeOn: { + click: function($event) { + return _vm.addToLeft($event) + } + } + }, + [ + _c("i", { staticClass: "el-icon-arrow-left" }), + _vm.buttonTexts[0] !== undefined + ? _c("span", [_vm._v(_vm._s(_vm.buttonTexts[0]))]) + : _vm._e() + ] + ), + _c( + "el-button", + { + class: [ + "el-transfer__button", + _vm.hasButtonTexts ? "is-with-texts" : "" + ], + attrs: { + type: "primary", + disabled: _vm.leftChecked.length === 0 + }, + nativeOn: { + click: function($event) { + return _vm.addToRight($event) + } + } + }, + [ + _vm.buttonTexts[1] !== undefined + ? _c("span", [_vm._v(_vm._s(_vm.buttonTexts[1]))]) + : _vm._e(), + _c("i", { staticClass: "el-icon-arrow-right" }) + ] + ) + ], + 1 + ), + _c( + "transfer-panel", + _vm._b( + { + ref: "rightPanel", + attrs: { + data: _vm.targetData, + title: _vm.titles[1] || _vm.t("el.transfer.titles.1"), + "default-checked": _vm.rightDefaultChecked, + placeholder: + _vm.filterPlaceholder || _vm.t("el.transfer.filterPlaceholder") + }, + on: { "checked-change": _vm.onTargetCheckedChange } + }, + "transfer-panel", + _vm.$props, + false + ), + [_vm._t("right-footer")], + 2 + ) + ], + 1 + ) +} +var mainvue_type_template_id_5c654dd8_staticRenderFns = [] +mainvue_type_template_id_5c654dd8_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd& +var transfer_panelvue_type_template_id_2ddab8bd_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-transfer-panel" }, [ + _c( + "p", + { staticClass: "el-transfer-panel__header" }, + [ + _c( + "el-checkbox", + { + attrs: { indeterminate: _vm.isIndeterminate }, + on: { change: _vm.handleAllCheckedChange }, + model: { + value: _vm.allChecked, + callback: function($$v) { + _vm.allChecked = $$v + }, + expression: "allChecked" + } + }, + [ + _vm._v("\n " + _vm._s(_vm.title) + "\n "), + _c("span", [_vm._v(_vm._s(_vm.checkedSummary))]) + ] + ) + ], + 1 + ), + _c( + "div", + { + class: [ + "el-transfer-panel__body", + _vm.hasFooter ? "is-with-footer" : "" + ] + }, + [ + _vm.filterable + ? _c( + "el-input", + { + staticClass: "el-transfer-panel__filter", + attrs: { size: "small", placeholder: _vm.placeholder }, + nativeOn: { + mouseenter: function($event) { + _vm.inputHover = true + }, + mouseleave: function($event) { + _vm.inputHover = false + } + }, + model: { + value: _vm.query, + callback: function($$v) { + _vm.query = $$v + }, + expression: "query" + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-icon-" + _vm.inputIcon], + attrs: { slot: "prefix" }, + on: { click: _vm.clearQuery }, + slot: "prefix" + }) + ] + ) + : _vm._e(), + _c( + "el-checkbox-group", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.hasNoMatch && _vm.data.length > 0, + expression: "!hasNoMatch && data.length > 0" + } + ], + staticClass: "el-transfer-panel__list", + class: { "is-filterable": _vm.filterable }, + model: { + value: _vm.checked, + callback: function($$v) { + _vm.checked = $$v + }, + expression: "checked" + } + }, + _vm._l(_vm.filteredData, function(item) { + return _c( + "el-checkbox", + { + key: item[_vm.keyProp], + staticClass: "el-transfer-panel__item", + attrs: { + label: item[_vm.keyProp], + disabled: item[_vm.disabledProp] + } + }, + [_c("option-content", { attrs: { option: item } })], + 1 + ) + }), + 1 + ), + _c( + "p", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.hasNoMatch, + expression: "hasNoMatch" + } + ], + staticClass: "el-transfer-panel__empty" + }, + [_vm._v(_vm._s(_vm.t("el.transfer.noMatch")))] + ), + _c( + "p", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data.length === 0 && !_vm.hasNoMatch, + expression: "data.length === 0 && !hasNoMatch" + } + ], + staticClass: "el-transfer-panel__empty" + }, + [_vm._v(_vm._s(_vm.t("el.transfer.noData")))] + ) + ], + 1 + ), + _vm.hasFooter + ? _c( + "p", + { staticClass: "el-transfer-panel__footer" }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ]) +} +var transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns = [] +transfer_panelvue_type_template_id_2ddab8bd_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var transfer_panelvue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + name: 'ElTransferPanel', + + componentName: 'ElTransferPanel', + + components: { + ElCheckboxGroup: checkbox_group_default.a, + ElCheckbox: checkbox_default.a, + ElInput: input_default.a, + OptionContent: { + props: { + option: Object + }, + render: function render(h) { + var getParent = function getParent(vm) { + if (vm.$options.componentName === 'ElTransferPanel') { + return vm; + } else if (vm.$parent) { + return getParent(vm.$parent); + } else { + return vm; + } + }; + var panel = getParent(this); + var transfer = panel.$parent || panel; + return panel.renderContent ? panel.renderContent(h, this.option) : transfer.$scopedSlots.default ? transfer.$scopedSlots.default({ option: this.option }) : h('span', [this.option[panel.labelProp] || this.option[panel.keyProp]]); + } + } + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + renderContent: Function, + placeholder: String, + title: String, + filterable: Boolean, + format: Object, + filterMethod: Function, + defaultChecked: Array, + props: Object + }, + + data: function data() { + return { + checked: [], + allChecked: false, + query: '', + inputHover: false, + checkChangeByUser: true + }; + }, + + + watch: { + checked: function checked(val, oldVal) { + this.updateAllChecked(); + if (this.checkChangeByUser) { + var movedKeys = val.concat(oldVal).filter(function (v) { + return val.indexOf(v) === -1 || oldVal.indexOf(v) === -1; + }); + this.$emit('checked-change', val, movedKeys); + } else { + this.$emit('checked-change', val); + this.checkChangeByUser = true; + } + }, + data: function data() { + var _this = this; + + var checked = []; + var filteredDataKeys = this.filteredData.map(function (item) { + return item[_this.keyProp]; + }); + this.checked.forEach(function (item) { + if (filteredDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + }, + checkableData: function checkableData() { + this.updateAllChecked(); + }, + + + defaultChecked: { + immediate: true, + handler: function handler(val, oldVal) { + var _this2 = this; + + if (oldVal && val.length === oldVal.length && val.every(function (item) { + return oldVal.indexOf(item) > -1; + })) return; + var checked = []; + var checkableDataKeys = this.checkableData.map(function (item) { + return item[_this2.keyProp]; + }); + val.forEach(function (item) { + if (checkableDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + } + } + }, + + computed: { + filteredData: function filteredData() { + var _this3 = this; + + return this.data.filter(function (item) { + if (typeof _this3.filterMethod === 'function') { + return _this3.filterMethod(_this3.query, item); + } else { + var label = item[_this3.labelProp] || item[_this3.keyProp].toString(); + return label.toLowerCase().indexOf(_this3.query.toLowerCase()) > -1; + } + }); + }, + checkableData: function checkableData() { + var _this4 = this; + + return this.filteredData.filter(function (item) { + return !item[_this4.disabledProp]; + }); + }, + checkedSummary: function checkedSummary() { + var checkedLength = this.checked.length; + var dataLength = this.data.length; + var _format = this.format, + noChecked = _format.noChecked, + hasChecked = _format.hasChecked; + + if (noChecked && hasChecked) { + return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength) : noChecked.replace(/\${total}/g, dataLength); + } else { + return checkedLength + '/' + dataLength; + } + }, + isIndeterminate: function isIndeterminate() { + var checkedLength = this.checked.length; + return checkedLength > 0 && checkedLength < this.checkableData.length; + }, + hasNoMatch: function hasNoMatch() { + return this.query.length > 0 && this.filteredData.length === 0; + }, + inputIcon: function inputIcon() { + return this.query.length > 0 && this.inputHover ? 'circle-close' : 'search'; + }, + labelProp: function labelProp() { + return this.props.label || 'label'; + }, + keyProp: function keyProp() { + return this.props.key || 'key'; + }, + disabledProp: function disabledProp() { + return this.props.disabled || 'disabled'; + }, + hasFooter: function hasFooter() { + return !!this.$slots.default; + } + }, + + methods: { + updateAllChecked: function updateAllChecked() { + var _this5 = this; + + var checkableDataKeys = this.checkableData.map(function (item) { + return item[_this5.keyProp]; + }); + this.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every(function (item) { + return _this5.checked.indexOf(item) > -1; + }); + }, + handleAllCheckedChange: function handleAllCheckedChange(value) { + var _this6 = this; + + this.checked = value ? this.checkableData.map(function (item) { + return item[_this6.keyProp]; + }) : []; + }, + clearQuery: function clearQuery() { + if (this.inputIcon === 'circle-close') { + this.query = ''; + } + } + } +}); +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_transfer_panelvue_type_script_lang_js_ = (transfer_panelvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue + + + + + +/* normalize component */ + +var transfer_panel_component = normalizeComponent( + src_transfer_panelvue_type_script_lang_js_, + transfer_panelvue_type_template_id_2ddab8bd_render, + transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var transfer_panel_api; } +transfer_panel_component.options.__file = "packages/transfer/src/transfer-panel.vue" +/* harmony default export */ var transfer_panel = (transfer_panel_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +/* harmony default export */ var transfer_src_mainvue_type_script_lang_js_ = ({ + name: 'ElTransfer', + + mixins: [emitter_default.a, locale_default.a, migrating_default.a], + + components: { + TransferPanel: transfer_panel, + ElButton: button_default.a + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + titles: { + type: Array, + default: function _default() { + return []; + } + }, + buttonTexts: { + type: Array, + default: function _default() { + return []; + } + }, + filterPlaceholder: { + type: String, + default: '' + }, + filterMethod: Function, + leftDefaultChecked: { + type: Array, + default: function _default() { + return []; + } + }, + rightDefaultChecked: { + type: Array, + default: function _default() { + return []; + } + }, + renderContent: Function, + value: { + type: Array, + default: function _default() { + return []; + } + }, + format: { + type: Object, + default: function _default() { + return {}; + } + }, + filterable: Boolean, + props: { + type: Object, + default: function _default() { + return { + label: 'label', + key: 'key', + disabled: 'disabled' + }; + } + }, + targetOrder: { + type: String, + default: 'original' + } + }, + + data: function data() { + return { + leftChecked: [], + rightChecked: [] + }; + }, + + + computed: { + dataObj: function dataObj() { + var key = this.props.key; + return this.data.reduce(function (o, cur) { + return (o[cur[key]] = cur) && o; + }, {}); + }, + sourceData: function sourceData() { + var _this = this; + + return this.data.filter(function (item) { + return _this.value.indexOf(item[_this.props.key]) === -1; + }); + }, + targetData: function targetData() { + var _this2 = this; + + if (this.targetOrder === 'original') { + return this.data.filter(function (item) { + return _this2.value.indexOf(item[_this2.props.key]) > -1; + }); + } else { + return this.value.reduce(function (arr, cur) { + var val = _this2.dataObj[cur]; + if (val) { + arr.push(val); + } + return arr; + }, []); + } + }, + hasButtonTexts: function hasButtonTexts() { + return this.buttonTexts.length === 2; + } + }, + + watch: { + value: function value(val) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'footer-format': 'footer-format is renamed to format.' + } + }; + }, + onSourceCheckedChange: function onSourceCheckedChange(val, movedKeys) { + this.leftChecked = val; + if (movedKeys === undefined) return; + this.$emit('left-check-change', val, movedKeys); + }, + onTargetCheckedChange: function onTargetCheckedChange(val, movedKeys) { + this.rightChecked = val; + if (movedKeys === undefined) return; + this.$emit('right-check-change', val, movedKeys); + }, + addToLeft: function addToLeft() { + var currentValue = this.value.slice(); + this.rightChecked.forEach(function (item) { + var index = currentValue.indexOf(item); + if (index > -1) { + currentValue.splice(index, 1); + } + }); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'left', this.rightChecked); + }, + addToRight: function addToRight() { + var _this3 = this; + + var currentValue = this.value.slice(); + var itemsToBeMoved = []; + var key = this.props.key; + this.data.forEach(function (item) { + var itemKey = item[key]; + if (_this3.leftChecked.indexOf(itemKey) > -1 && _this3.value.indexOf(itemKey) === -1) { + itemsToBeMoved.push(itemKey); + } + }); + currentValue = this.targetOrder === 'unshift' ? itemsToBeMoved.concat(currentValue) : currentValue.concat(itemsToBeMoved); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'right', this.leftChecked); + }, + clearQuery: function clearQuery(which) { + if (which === 'left') { + this.$refs.leftPanel.query = ''; + } else if (which === 'right') { + this.$refs.rightPanel.query = ''; + } + } + } +}); +// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_transfer_src_mainvue_type_script_lang_js_ = (transfer_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/transfer/src/main.vue + + + + + +/* normalize component */ + +var transfer_src_main_component = normalizeComponent( + packages_transfer_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_5c654dd8_render, + mainvue_type_template_id_5c654dd8_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var transfer_src_main_api; } +transfer_src_main_component.options.__file = "packages/transfer/src/main.vue" +/* harmony default export */ var transfer_src_main = (transfer_src_main_component.exports); +// CONCATENATED MODULE: ./packages/transfer/index.js + + +/* istanbul ignore next */ +transfer_src_main.install = function (Vue) { + Vue.component(transfer_src_main.name, transfer_src_main); +}; + +/* harmony default export */ var transfer = (transfer_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=template&id=5bf181d4& +var mainvue_type_template_id_5bf181d4_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "section", + { staticClass: "el-container", class: { "is-vertical": _vm.isVertical } }, + [_vm._t("default")], + 2 + ) +} +var mainvue_type_template_id_5bf181d4_staticRenderFns = [] +mainvue_type_template_id_5bf181d4_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=template&id=5bf181d4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var container_src_mainvue_type_script_lang_js_ = ({ + name: 'ElContainer', + + componentName: 'ElContainer', + + props: { + direction: String + }, + + computed: { + isVertical: function isVertical() { + if (this.direction === 'vertical') { + return true; + } else if (this.direction === 'horizontal') { + return false; + } + return this.$slots && this.$slots.default ? this.$slots.default.some(function (vnode) { + var tag = vnode.componentOptions && vnode.componentOptions.tag; + return tag === 'el-header' || tag === 'el-footer'; + }) : false; + } + } +}); +// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_container_src_mainvue_type_script_lang_js_ = (container_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/container/src/main.vue + + + + + +/* normalize component */ + +var container_src_main_component = normalizeComponent( + packages_container_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_5bf181d4_render, + mainvue_type_template_id_5bf181d4_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var container_src_main_api; } +container_src_main_component.options.__file = "packages/container/src/main.vue" +/* harmony default export */ var container_src_main = (container_src_main_component.exports); +// CONCATENATED MODULE: ./packages/container/index.js + + +/* istanbul ignore next */ +container_src_main.install = function (Vue) { + Vue.component(container_src_main.name, container_src_main); +}; + +/* harmony default export */ var packages_container = (container_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=template&id=2b296ab2& +var mainvue_type_template_id_2b296ab2_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "header", + { staticClass: "el-header", style: { height: _vm.height } }, + [_vm._t("default")], + 2 + ) +} +var mainvue_type_template_id_2b296ab2_staticRenderFns = [] +mainvue_type_template_id_2b296ab2_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=template&id=2b296ab2& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var header_src_mainvue_type_script_lang_js_ = ({ + name: 'ElHeader', + + componentName: 'ElHeader', + + props: { + height: { + type: String, + default: '60px' + } + } +}); +// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_header_src_mainvue_type_script_lang_js_ = (header_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/header/src/main.vue + + + + + +/* normalize component */ + +var header_src_main_component = normalizeComponent( + packages_header_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_2b296ab2_render, + mainvue_type_template_id_2b296ab2_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var header_src_main_api; } +header_src_main_component.options.__file = "packages/header/src/main.vue" +/* harmony default export */ var header_src_main = (header_src_main_component.exports); +// CONCATENATED MODULE: ./packages/header/index.js + + +/* istanbul ignore next */ +header_src_main.install = function (Vue) { + Vue.component(header_src_main.name, header_src_main); +}; + +/* harmony default export */ var header = (header_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=template&id=03411dbf& +var mainvue_type_template_id_03411dbf_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "aside", + { staticClass: "el-aside", style: { width: _vm.width } }, + [_vm._t("default")], + 2 + ) +} +var mainvue_type_template_id_03411dbf_staticRenderFns = [] +mainvue_type_template_id_03411dbf_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=template&id=03411dbf& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/aside/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var aside_src_mainvue_type_script_lang_js_ = ({ + name: 'ElAside', + + componentName: 'ElAside', + + props: { + width: { + type: String, + default: '300px' + } + } +}); +// CONCATENATED MODULE: ./packages/aside/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_aside_src_mainvue_type_script_lang_js_ = (aside_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/aside/src/main.vue + + + + + +/* normalize component */ + +var aside_src_main_component = normalizeComponent( + packages_aside_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_03411dbf_render, + mainvue_type_template_id_03411dbf_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var aside_src_main_api; } +aside_src_main_component.options.__file = "packages/aside/src/main.vue" +/* harmony default export */ var aside_src_main = (aside_src_main_component.exports); +// CONCATENATED MODULE: ./packages/aside/index.js + + +/* istanbul ignore next */ +aside_src_main.install = function (Vue) { + Vue.component(aside_src_main.name, aside_src_main); +}; + +/* harmony default export */ var aside = (aside_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=2a3a7406& +var mainvue_type_template_id_2a3a7406_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("main", { staticClass: "el-main" }, [_vm._t("default")], 2) +} +var mainvue_type_template_id_2a3a7406_staticRenderFns = [] +mainvue_type_template_id_2a3a7406_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=2a3a7406& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var main_src_mainvue_type_script_lang_js_ = ({ + name: 'ElMain', + componentName: 'ElMain' +}); +// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_main_src_mainvue_type_script_lang_js_ = (main_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/main/src/main.vue + + + + + +/* normalize component */ + +var main_src_main_component = normalizeComponent( + packages_main_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_2a3a7406_render, + mainvue_type_template_id_2a3a7406_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_src_main_api; } +main_src_main_component.options.__file = "packages/main/src/main.vue" +/* harmony default export */ var main_src_main = (main_src_main_component.exports); +// CONCATENATED MODULE: ./packages/main/index.js + + +/* istanbul ignore next */ +main_src_main.install = function (Vue) { + Vue.component(main_src_main.name, main_src_main); +}; + +/* harmony default export */ var packages_main = (main_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=template&id=80210338& +var mainvue_type_template_id_80210338_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "footer", + { staticClass: "el-footer", style: { height: _vm.height } }, + [_vm._t("default")], + 2 + ) +} +var mainvue_type_template_id_80210338_staticRenderFns = [] +mainvue_type_template_id_80210338_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=template&id=80210338& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var footer_src_mainvue_type_script_lang_js_ = ({ + name: 'ElFooter', + + componentName: 'ElFooter', + + props: { + height: { + type: String, + default: '60px' + } + } +}); +// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_footer_src_mainvue_type_script_lang_js_ = (footer_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/footer/src/main.vue + + + + + +/* normalize component */ + +var footer_src_main_component = normalizeComponent( + packages_footer_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_80210338_render, + mainvue_type_template_id_80210338_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var footer_src_main_api; } +footer_src_main_component.options.__file = "packages/footer/src/main.vue" +/* harmony default export */ var footer_src_main = (footer_src_main_component.exports); +// CONCATENATED MODULE: ./packages/footer/index.js + + +/* istanbul ignore next */ +footer_src_main.install = function (Vue) { + Vue.component(footer_src_main.name, footer_src_main); +}; + +/* harmony default export */ var footer = (footer_src_main); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/main.vue?vue&type=script&lang=js& + +/* harmony default export */ var timeline_src_mainvue_type_script_lang_js_ = ({ + name: 'ElTimeline', + + props: { + reverse: { + type: Boolean, + default: false + } + }, + + provide: function provide() { + return { + timeline: this + }; + }, + render: function render() { + var h = arguments[0]; + + var reverse = this.reverse; + var classes = { + 'el-timeline': true, + 'is-reverse': reverse + }; + var slots = this.$slots.default || []; + if (reverse) { + slots = slots.reverse(); + } + return h( + 'ul', + { 'class': classes }, + [slots] + ); + } +}); +// CONCATENATED MODULE: ./packages/timeline/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_timeline_src_mainvue_type_script_lang_js_ = (timeline_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/timeline/src/main.vue +var main_render, main_staticRenderFns + + + + +/* normalize component */ + +var timeline_src_main_component = normalizeComponent( + packages_timeline_src_mainvue_type_script_lang_js_, + main_render, + main_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var timeline_src_main_api; } +timeline_src_main_component.options.__file = "packages/timeline/src/main.vue" +/* harmony default export */ var timeline_src_main = (timeline_src_main_component.exports); +// CONCATENATED MODULE: ./packages/timeline/index.js + + +/* istanbul ignore next */ +timeline_src_main.install = function (Vue) { + Vue.component(timeline_src_main.name, timeline_src_main); +}; + +/* harmony default export */ var timeline = (timeline_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=template&id=61a69e50& +var itemvue_type_template_id_61a69e50_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("li", { staticClass: "el-timeline-item" }, [ + _c("div", { staticClass: "el-timeline-item__tail" }), + !_vm.$slots.dot + ? _c( + "div", + { + staticClass: "el-timeline-item__node", + class: [ + "el-timeline-item__node--" + (_vm.size || ""), + "el-timeline-item__node--" + (_vm.type || "") + ], + style: { + backgroundColor: _vm.color + } + }, + [ + _vm.icon + ? _c("i", { + staticClass: "el-timeline-item__icon", + class: _vm.icon + }) + : _vm._e() + ] + ) + : _vm._e(), + _vm.$slots.dot + ? _c("div", { staticClass: "el-timeline-item__dot" }, [_vm._t("dot")], 2) + : _vm._e(), + _c("div", { staticClass: "el-timeline-item__wrapper" }, [ + !_vm.hideTimestamp && _vm.placement === "top" + ? _c("div", { staticClass: "el-timeline-item__timestamp is-top" }, [ + _vm._v("\n " + _vm._s(_vm.timestamp) + "\n ") + ]) + : _vm._e(), + _c( + "div", + { staticClass: "el-timeline-item__content" }, + [_vm._t("default")], + 2 + ), + !_vm.hideTimestamp && _vm.placement === "bottom" + ? _c("div", { staticClass: "el-timeline-item__timestamp is-bottom" }, [ + _vm._v("\n " + _vm._s(_vm.timestamp) + "\n ") + ]) + : _vm._e() + ]) + ]) +} +var itemvue_type_template_id_61a69e50_staticRenderFns = [] +itemvue_type_template_id_61a69e50_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=template&id=61a69e50& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var timeline_src_itemvue_type_script_lang_js_ = ({ + name: 'ElTimelineItem', + + inject: ['timeline'], + + props: { + timestamp: String, + + hideTimestamp: { + type: Boolean, + default: false + }, + + placement: { + type: String, + default: 'bottom' + }, + + type: String, + + color: String, + + size: { + type: String, + default: 'normal' + }, + + icon: String + } +}); +// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_timeline_src_itemvue_type_script_lang_js_ = (timeline_src_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/timeline/src/item.vue + + + + + +/* normalize component */ + +var src_item_component = normalizeComponent( + packages_timeline_src_itemvue_type_script_lang_js_, + itemvue_type_template_id_61a69e50_render, + itemvue_type_template_id_61a69e50_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_item_api; } +src_item_component.options.__file = "packages/timeline/src/item.vue" +/* harmony default export */ var timeline_src_item = (src_item_component.exports); +// CONCATENATED MODULE: ./packages/timeline-item/index.js + + +/* istanbul ignore next */ +timeline_src_item.install = function (Vue) { + Vue.component(timeline_src_item.name, timeline_src_item); +}; + +/* harmony default export */ var timeline_item = (timeline_src_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=template&id=01cf3b65& +var mainvue_type_template_id_01cf3b65_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "a", + _vm._b( + { + class: [ + "el-link", + _vm.type ? "el-link--" + _vm.type : "", + _vm.disabled && "is-disabled", + _vm.underline && !_vm.disabled && "is-underline" + ], + attrs: { href: _vm.disabled ? null : _vm.href }, + on: { click: _vm.handleClick } + }, + "a", + _vm.$attrs, + false + ), + [ + _vm.icon ? _c("i", { class: _vm.icon }) : _vm._e(), + _vm.$slots.default + ? _c("span", { staticClass: "el-link--inner" }, [_vm._t("default")], 2) + : _vm._e(), + _vm.$slots.icon ? [_vm.$slots.icon ? _vm._t("icon") : _vm._e()] : _vm._e() + ], + 2 + ) +} +var mainvue_type_template_id_01cf3b65_staticRenderFns = [] +mainvue_type_template_id_01cf3b65_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=template&id=01cf3b65& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var link_src_mainvue_type_script_lang_js_ = ({ + name: 'ElLink', + + props: { + type: { + type: String, + default: 'default' + }, + underline: { + type: Boolean, + default: true + }, + disabled: Boolean, + href: String, + icon: String + }, + + methods: { + handleClick: function handleClick(event) { + if (!this.disabled) { + if (!this.href) { + this.$emit('click', event); + } + } + } + } +}); +// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_link_src_mainvue_type_script_lang_js_ = (link_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/link/src/main.vue + + + + + +/* normalize component */ + +var link_src_main_component = normalizeComponent( + packages_link_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_01cf3b65_render, + mainvue_type_template_id_01cf3b65_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var link_src_main_api; } +link_src_main_component.options.__file = "packages/link/src/main.vue" +/* harmony default export */ var link_src_main = (link_src_main_component.exports); +// CONCATENATED MODULE: ./packages/link/index.js + + +/* istanbul ignore next */ +link_src_main.install = function (Vue) { + Vue.component(link_src_main.name, link_src_main); +}; + +/* harmony default export */ var packages_link = (link_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true& +var mainvue_type_template_id_7fa02a7e_functional_true_render = function(_h, _vm) { + var _c = _vm._c + return _c( + "div", + _vm._g( + _vm._b( + { + class: [ + _vm.data.staticClass, + "el-divider", + "el-divider--" + _vm.props.direction + ] + }, + "div", + _vm.data.attrs, + false + ), + _vm.listeners + ), + [ + _vm.slots().default && _vm.props.direction !== "vertical" + ? _c( + "div", + { class: ["el-divider__text", "is-" + _vm.props.contentPosition] }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) +} +var mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns = [] +mainvue_type_template_id_7fa02a7e_functional_true_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=template&id=7fa02a7e&functional=true& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/divider/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var divider_src_mainvue_type_script_lang_js_ = ({ + name: 'ElDivider', + props: { + direction: { + type: String, + default: 'horizontal', + validator: function validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + }, + contentPosition: { + type: String, + default: 'center', + validator: function validator(val) { + return ['left', 'center', 'right'].indexOf(val) !== -1; + } + } + } +}); +// CONCATENATED MODULE: ./packages/divider/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_divider_src_mainvue_type_script_lang_js_ = (divider_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/divider/src/main.vue + + + + + +/* normalize component */ + +var divider_src_main_component = normalizeComponent( + packages_divider_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_7fa02a7e_functional_true_render, + mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns, + true, + null, + null, + null + +) + +/* hot reload */ +if (false) { var divider_src_main_api; } +divider_src_main_component.options.__file = "packages/divider/src/main.vue" +/* harmony default export */ var divider_src_main = (divider_src_main_component.exports); +// CONCATENATED MODULE: ./packages/divider/index.js + + +/* istanbul ignore next */ +divider_src_main.install = function (Vue) { + Vue.component(divider_src_main.name, divider_src_main); +}; + +/* harmony default export */ var divider = (divider_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=template&id=44d84a7c& +var mainvue_type_template_id_44d84a7c_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-image" }, + [ + _vm.loading + ? _vm._t("placeholder", [ + _c("div", { staticClass: "el-image__placeholder" }) + ]) + : _vm.error + ? _vm._t("error", [ + _c("div", { staticClass: "el-image__error" }, [ + _vm._v(_vm._s(_vm.t("el.image.error"))) + ]) + ]) + : _c( + "img", + _vm._g( + _vm._b( + { + staticClass: "el-image__inner", + class: { + "el-image__inner--center": _vm.alignCenter, + "el-image__preview": _vm.preview + }, + style: _vm.imageStyle, + attrs: { src: _vm.src }, + on: { click: _vm.clickHandler } + }, + "img", + _vm.$attrs, + false + ), + _vm.$listeners + ) + ), + _vm.preview + ? [ + _vm.showViewer + ? _c("image-viewer", { + attrs: { + "z-index": _vm.zIndex, + "initial-index": _vm.imageIndex, + "on-close": _vm.closeViewer, + "url-list": _vm.previewSrcList + } + }) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) +} +var mainvue_type_template_id_44d84a7c_staticRenderFns = [] +mainvue_type_template_id_44d84a7c_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=template&id=44d84a7c& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307& +var image_viewervue_type_template_id_5e73b307_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "viewer-fade" } }, [ + _c( + "div", + { + ref: "el-image-viewer__wrapper", + staticClass: "el-image-viewer__wrapper", + style: { "z-index": _vm.viewerZIndex }, + attrs: { tabindex: "-1" } + }, + [ + _c("div", { + staticClass: "el-image-viewer__mask", + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleMaskClick($event) + } + } + }), + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__close", + on: { click: _vm.hide } + }, + [_c("i", { staticClass: "el-icon-close" })] + ), + !_vm.isSingle + ? [ + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__prev", + class: { "is-disabled": !_vm.infinite && _vm.isFirst }, + on: { click: _vm.prev } + }, + [_c("i", { staticClass: "el-icon-arrow-left" })] + ), + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__next", + class: { "is-disabled": !_vm.infinite && _vm.isLast }, + on: { click: _vm.next } + }, + [_c("i", { staticClass: "el-icon-arrow-right" })] + ) + ] + : _vm._e(), + _c( + "div", + { staticClass: "el-image-viewer__btn el-image-viewer__actions" }, + [ + _c("div", { staticClass: "el-image-viewer__actions__inner" }, [ + _c("i", { + staticClass: "el-icon-zoom-out", + on: { + click: function($event) { + _vm.handleActions("zoomOut") + } + } + }), + _c("i", { + staticClass: "el-icon-zoom-in", + on: { + click: function($event) { + _vm.handleActions("zoomIn") + } + } + }), + _c("i", { staticClass: "el-image-viewer__actions__divider" }), + _c("i", { class: _vm.mode.icon, on: { click: _vm.toggleMode } }), + _c("i", { staticClass: "el-image-viewer__actions__divider" }), + _c("i", { + staticClass: "el-icon-refresh-left", + on: { + click: function($event) { + _vm.handleActions("anticlocelise") + } + } + }), + _c("i", { + staticClass: "el-icon-refresh-right", + on: { + click: function($event) { + _vm.handleActions("clocelise") + } + } + }) + ]) + ] + ), + _c( + "div", + { staticClass: "el-image-viewer__canvas" }, + _vm._l(_vm.urlList, function(url, i) { + return i === _vm.index + ? _c("img", { + key: url, + ref: "img", + refInFor: true, + staticClass: "el-image-viewer__img", + style: _vm.imgStyle, + attrs: { src: _vm.currentImg, referrerpolicy: "no-referrer" }, + on: { + load: _vm.handleImgLoad, + error: _vm.handleImgError, + mousedown: _vm.handleMouseDown + } + }) + : _vm._e() + }), + 0 + ) + ], + 2 + ) + ]) +} +var image_viewervue_type_template_id_5e73b307_staticRenderFns = [] +image_viewervue_type_template_id_5e73b307_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=script&lang=js& +var image_viewervue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var Mode = { + CONTAIN: { + name: 'contain', + icon: 'el-icon-full-screen' + }, + ORIGINAL: { + name: 'original', + icon: 'el-icon-c-scale-to-original' + } +}; + +var mousewheelEventName = Object(util_["isFirefox"])() ? 'DOMMouseScroll' : 'mousewheel'; + +/* harmony default export */ var image_viewervue_type_script_lang_js_ = ({ + name: 'elImageViewer', + + props: { + urlList: { + type: Array, + default: function _default() { + return []; + } + }, + zIndex: { + type: Number, + default: 2000 + }, + onSwitch: { + type: Function, + default: function _default() {} + }, + onClose: { + type: Function, + default: function _default() {} + }, + initialIndex: { + type: Number, + default: 0 + }, + appendToBody: { + type: Boolean, + default: true + }, + maskClosable: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + index: this.initialIndex, + isShow: false, + infinite: true, + loading: false, + mode: Mode.CONTAIN, + transform: { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + } + }; + }, + + computed: { + isSingle: function isSingle() { + return this.urlList.length <= 1; + }, + isFirst: function isFirst() { + return this.index === 0; + }, + isLast: function isLast() { + return this.index === this.urlList.length - 1; + }, + currentImg: function currentImg() { + return this.urlList[this.index]; + }, + imgStyle: function imgStyle() { + var _transform = this.transform, + scale = _transform.scale, + deg = _transform.deg, + offsetX = _transform.offsetX, + offsetY = _transform.offsetY, + enableTransition = _transform.enableTransition; + + var style = { + transform: 'scale(' + scale + ') rotate(' + deg + 'deg)', + transition: enableTransition ? 'transform .3s' : '', + 'margin-left': offsetX + 'px', + 'margin-top': offsetY + 'px' + }; + if (this.mode === Mode.CONTAIN) { + style.maxWidth = style.maxHeight = '100%'; + } + return style; + }, + viewerZIndex: function viewerZIndex() { + var nextZIndex = popup_["PopupManager"].nextZIndex(); + return this.zIndex > nextZIndex ? this.zIndex : nextZIndex; + } + }, + watch: { + index: { + handler: function handler(val) { + this.reset(); + this.onSwitch(val); + } + }, + currentImg: function currentImg(val) { + var _this = this; + + this.$nextTick(function (_) { + var $img = _this.$refs.img[0]; + if (!$img.complete) { + _this.loading = true; + } + }); + } + }, + methods: { + hide: function hide() { + this.deviceSupportUninstall(); + this.onClose(); + }, + deviceSupportInstall: function deviceSupportInstall() { + var _this2 = this; + + this._keyDownHandler = function (e) { + e.stopPropagation(); + var keyCode = e.keyCode; + switch (keyCode) { + // ESC + case 27: + _this2.hide(); + break; + // SPACE + case 32: + _this2.toggleMode(); + break; + // LEFT_ARROW + case 37: + _this2.prev(); + break; + // UP_ARROW + case 38: + _this2.handleActions('zoomIn'); + break; + // RIGHT_ARROW + case 39: + _this2.next(); + break; + // DOWN_ARROW + case 40: + _this2.handleActions('zoomOut'); + break; + } + }; + this._mouseWheelHandler = Object(util_["rafThrottle"])(function (e) { + var delta = e.wheelDelta ? e.wheelDelta : -e.detail; + if (delta > 0) { + _this2.handleActions('zoomIn', { + zoomRate: 0.015, + enableTransition: false + }); + } else { + _this2.handleActions('zoomOut', { + zoomRate: 0.015, + enableTransition: false + }); + } + }); + Object(dom_["on"])(document, 'keydown', this._keyDownHandler); + Object(dom_["on"])(document, mousewheelEventName, this._mouseWheelHandler); + }, + deviceSupportUninstall: function deviceSupportUninstall() { + Object(dom_["off"])(document, 'keydown', this._keyDownHandler); + Object(dom_["off"])(document, mousewheelEventName, this._mouseWheelHandler); + this._keyDownHandler = null; + this._mouseWheelHandler = null; + }, + handleImgLoad: function handleImgLoad(e) { + this.loading = false; + }, + handleImgError: function handleImgError(e) { + this.loading = false; + e.target.alt = '��蝸憭梯揖'; + }, + handleMouseDown: function handleMouseDown(e) { + var _this3 = this; + + if (this.loading || e.button !== 0) return; + + var _transform2 = this.transform, + offsetX = _transform2.offsetX, + offsetY = _transform2.offsetY; + + var startX = e.pageX; + var startY = e.pageY; + this._dragHandler = Object(util_["rafThrottle"])(function (ev) { + _this3.transform.offsetX = offsetX + ev.pageX - startX; + _this3.transform.offsetY = offsetY + ev.pageY - startY; + }); + Object(dom_["on"])(document, 'mousemove', this._dragHandler); + Object(dom_["on"])(document, 'mouseup', function (ev) { + Object(dom_["off"])(document, 'mousemove', _this3._dragHandler); + }); + + e.preventDefault(); + }, + handleMaskClick: function handleMaskClick() { + if (this.maskClosable) { + this.hide(); + } + }, + reset: function reset() { + this.transform = { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + }; + }, + toggleMode: function toggleMode() { + if (this.loading) return; + + var modeNames = Object.keys(Mode); + var modeValues = Object.values(Mode); + var index = modeValues.indexOf(this.mode); + var nextIndex = (index + 1) % modeNames.length; + this.mode = Mode[modeNames[nextIndex]]; + this.reset(); + }, + prev: function prev() { + if (this.isFirst && !this.infinite) return; + var len = this.urlList.length; + this.index = (this.index - 1 + len) % len; + }, + next: function next() { + if (this.isLast && !this.infinite) return; + var len = this.urlList.length; + this.index = (this.index + 1) % len; + }, + handleActions: function handleActions(action) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (this.loading) return; + + var _zoomRate$rotateDeg$e = image_viewervue_type_script_lang_js_extends({ + zoomRate: 0.2, + rotateDeg: 90, + enableTransition: true + }, options), + zoomRate = _zoomRate$rotateDeg$e.zoomRate, + rotateDeg = _zoomRate$rotateDeg$e.rotateDeg, + enableTransition = _zoomRate$rotateDeg$e.enableTransition; + + var transform = this.transform; + + switch (action) { + case 'zoomOut': + if (transform.scale > 0.2) { + transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3)); + } + break; + case 'zoomIn': + transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3)); + break; + case 'clocelise': + transform.deg += rotateDeg; + break; + case 'anticlocelise': + transform.deg -= rotateDeg; + break; + } + transform.enableTransition = enableTransition; + } + }, + mounted: function mounted() { + this.deviceSupportInstall(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + // add tabindex then wrapper can be focusable via Javascript + // focus wrapper so arrow key can't cause inner scroll behavior underneath + this.$refs['el-image-viewer__wrapper'].focus(); + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=script&lang=js& + /* harmony default export */ var src_image_viewervue_type_script_lang_js_ = (image_viewervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue + + + + + +/* normalize component */ + +var image_viewer_component = normalizeComponent( + src_image_viewervue_type_script_lang_js_, + image_viewervue_type_template_id_5e73b307_render, + image_viewervue_type_template_id_5e73b307_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var image_viewer_api; } +image_viewer_component.options.__file = "packages/image/src/image-viewer.vue" +/* harmony default export */ var image_viewer = (image_viewer_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +var isSupportObjectFit = function isSupportObjectFit() { + return document.documentElement.style.objectFit !== undefined; +}; + +var ObjectFit = { + NONE: 'none', + CONTAIN: 'contain', + COVER: 'cover', + FILL: 'fill', + SCALE_DOWN: 'scale-down' +}; + +var prevOverflow = ''; + +/* harmony default export */ var image_src_mainvue_type_script_lang_js_ = ({ + name: 'ElImage', + + mixins: [locale_default.a], + inheritAttrs: false, + + components: { + ImageViewer: image_viewer + }, + + props: { + src: String, + fit: String, + lazy: Boolean, + scrollContainer: {}, + previewSrcList: { + type: Array, + default: function _default() { + return []; + } + }, + zIndex: { + type: Number, + default: 2000 + }, + initialIndex: Number + }, + + data: function data() { + return { + loading: true, + error: false, + show: !this.lazy, + imageWidth: 0, + imageHeight: 0, + showViewer: false + }; + }, + + + computed: { + imageStyle: function imageStyle() { + var fit = this.fit; + + if (!this.$isServer && fit) { + return isSupportObjectFit() ? { 'object-fit': fit } : this.getImageStyle(fit); + } + return {}; + }, + alignCenter: function alignCenter() { + return !this.$isServer && !isSupportObjectFit() && this.fit !== ObjectFit.FILL; + }, + preview: function preview() { + var previewSrcList = this.previewSrcList; + + return Array.isArray(previewSrcList) && previewSrcList.length > 0; + }, + imageIndex: function imageIndex() { + var previewIndex = 0; + var initialIndex = this.initialIndex; + if (initialIndex >= 0) { + previewIndex = initialIndex; + return previewIndex; + } + var srcIndex = this.previewSrcList.indexOf(this.src); + if (srcIndex >= 0) { + previewIndex = srcIndex; + return previewIndex; + } + return previewIndex; + } + }, + + watch: { + src: function src(val) { + this.show && this.loadImage(); + }, + show: function show(val) { + val && this.loadImage(); + } + }, + + mounted: function mounted() { + if (this.lazy) { + this.addLazyLoadListener(); + } else { + this.loadImage(); + } + }, + beforeDestroy: function beforeDestroy() { + this.lazy && this.removeLazyLoadListener(); + }, + + + methods: { + loadImage: function loadImage() { + var _this = this; + + if (this.$isServer) return; + + // reset status + this.loading = true; + this.error = false; + + var img = new Image(); + img.onload = function (e) { + return _this.handleLoad(e, img); + }; + img.onerror = this.handleError.bind(this); + + // bind html attrs + // so it can behave consistently + Object.keys(this.$attrs).forEach(function (key) { + var value = _this.$attrs[key]; + img.setAttribute(key, value); + }); + img.src = this.src; + }, + handleLoad: function handleLoad(e, img) { + this.imageWidth = img.width; + this.imageHeight = img.height; + this.loading = false; + this.error = false; + }, + handleError: function handleError(e) { + this.loading = false; + this.error = true; + this.$emit('error', e); + }, + handleLazyLoad: function handleLazyLoad() { + if (Object(dom_["isInContainer"])(this.$el, this._scrollContainer)) { + this.show = true; + this.removeLazyLoadListener(); + } + }, + addLazyLoadListener: function addLazyLoadListener() { + if (this.$isServer) return; + + var scrollContainer = this.scrollContainer; + + var _scrollContainer = null; + + if (Object(types_["isHtmlElement"])(scrollContainer)) { + _scrollContainer = scrollContainer; + } else if (Object(types_["isString"])(scrollContainer)) { + _scrollContainer = document.querySelector(scrollContainer); + } else { + _scrollContainer = Object(dom_["getScrollContainer"])(this.$el); + } + + if (_scrollContainer) { + this._scrollContainer = _scrollContainer; + this._lazyLoadHandler = throttle_default()(200, this.handleLazyLoad); + Object(dom_["on"])(_scrollContainer, 'scroll', this._lazyLoadHandler); + this.handleLazyLoad(); + } + }, + removeLazyLoadListener: function removeLazyLoadListener() { + var _scrollContainer = this._scrollContainer, + _lazyLoadHandler = this._lazyLoadHandler; + + + if (this.$isServer || !_scrollContainer || !_lazyLoadHandler) return; + + Object(dom_["off"])(_scrollContainer, 'scroll', _lazyLoadHandler); + this._scrollContainer = null; + this._lazyLoadHandler = null; + }, + + /** + * simulate object-fit behavior to compatible with IE11 and other browsers which not support object-fit + */ + getImageStyle: function getImageStyle(fit) { + var imageWidth = this.imageWidth, + imageHeight = this.imageHeight; + var _$el = this.$el, + containerWidth = _$el.clientWidth, + containerHeight = _$el.clientHeight; + + + if (!imageWidth || !imageHeight || !containerWidth || !containerHeight) return {}; + + var imageAspectRatio = imageWidth / imageHeight; + var containerAspectRatio = containerWidth / containerHeight; + + if (fit === ObjectFit.SCALE_DOWN) { + var isSmaller = imageWidth < containerWidth && imageHeight < containerHeight; + fit = isSmaller ? ObjectFit.NONE : ObjectFit.CONTAIN; + } + + switch (fit) { + case ObjectFit.NONE: + return { width: 'auto', height: 'auto' }; + case ObjectFit.CONTAIN: + return imageAspectRatio < containerAspectRatio ? { width: 'auto' } : { height: 'auto' }; + case ObjectFit.COVER: + return imageAspectRatio < containerAspectRatio ? { height: 'auto' } : { width: 'auto' }; + default: + return {}; + } + }, + clickHandler: function clickHandler() { + // don't show viewer when preview is false + if (!this.preview) { + return; + } + // prevent body scroll + prevOverflow = document.body.style.overflow; + document.body.style.overflow = 'hidden'; + this.showViewer = true; + }, + closeViewer: function closeViewer() { + document.body.style.overflow = prevOverflow; + this.showViewer = false; + } + } +}); +// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_image_src_mainvue_type_script_lang_js_ = (image_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/image/src/main.vue + + + + + +/* normalize component */ + +var image_src_main_component = normalizeComponent( + packages_image_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_44d84a7c_render, + mainvue_type_template_id_44d84a7c_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var image_src_main_api; } +image_src_main_component.options.__file = "packages/image/src/main.vue" +/* harmony default export */ var image_src_main = (image_src_main_component.exports); +// CONCATENATED MODULE: ./packages/image/index.js + + +/* istanbul ignore next */ +image_src_main.install = function (Vue) { + Vue.component(image_src_main.name, image_src_main); +}; + +/* harmony default export */ var packages_image = (image_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=template&id=6d9756be& +var mainvue_type_template_id_6d9756be_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-calendar" }, [ + _c("div", { staticClass: "el-calendar__header" }, [ + _c("div", { staticClass: "el-calendar__title" }, [ + _vm._v("\n " + _vm._s(_vm.i18nDate) + "\n ") + ]), + _vm.validatedRange.length === 0 + ? _c( + "div", + { staticClass: "el-calendar__button-group" }, + [ + _c( + "el-button-group", + [ + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("prev-month") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.prevMonth")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("today") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.today")) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { type: "plain", size: "mini" }, + on: { + click: function($event) { + _vm.selectDate("next-month") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.t("el.datepicker.nextMonth")) + + "\n " + ) + ] + ) + ], + 1 + ) + ], + 1 + ) + : _vm._e() + ]), + _vm.validatedRange.length === 0 + ? _c( + "div", + { key: "no-range", staticClass: "el-calendar__body" }, + [ + _c("date-table", { + attrs: { + date: _vm.date, + "selected-day": _vm.realSelectedDay, + "first-day-of-week": _vm.realFirstDayOfWeek + }, + on: { pick: _vm.pickDay } + }) + ], + 1 + ) + : _c( + "div", + { key: "has-range", staticClass: "el-calendar__body" }, + _vm._l(_vm.validatedRange, function(range, index) { + return _c("date-table", { + key: index, + attrs: { + date: range[0], + "selected-day": _vm.realSelectedDay, + range: range, + "hide-header": index !== 0, + "first-day-of-week": _vm.realFirstDayOfWeek + }, + on: { pick: _vm.pickDay } + }) + }), + 1 + ) + ]) +} +var mainvue_type_template_id_6d9756be_staticRenderFns = [] +mainvue_type_template_id_6d9756be_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=template&id=6d9756be& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date" +var date_ = __webpack_require__(20); +var date_default = /*#__PURE__*/__webpack_require__.n(date_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/date-table.vue?vue&type=script&lang=js& + + + + +/* harmony default export */ var src_date_tablevue_type_script_lang_js_ = ({ + props: { + selectedDay: String, // formated date yyyy-MM-dd + range: { + type: Array, + validator: function validator(val) { + if (!(val && val.length)) return true; + var start = val[0], + end = val[1]; + + return Object(date_util_["validateRangeInOneMonth"])(start, end); + } + }, + date: Date, + hideHeader: Boolean, + firstDayOfWeek: Number + }, + + inject: ['elCalendar'], + + methods: { + toNestedArr: function toNestedArr(days) { + return Object(date_util_["range"])(days.length / 7).map(function (_, index) { + var start = index * 7; + return days.slice(start, start + 7); + }); + }, + getFormateDate: function getFormateDate(day, type) { + if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) { + throw new Error('invalid day or type'); + } + var prefix = this.curMonthDatePrefix; + if (type === 'prev') { + prefix = this.prevMonthDatePrefix; + } else if (type === 'next') { + prefix = this.nextMonthDatePrefix; + } + day = ('00' + day).slice(-2); + return prefix + '-' + day; + }, + getCellClass: function getCellClass(_ref) { + var text = _ref.text, + type = _ref.type; + + var classes = [type]; + if (type === 'current') { + var date = this.getFormateDate(text, type); + if (date === this.selectedDay) { + classes.push('is-selected'); + } + if (date === this.formatedToday) { + classes.push('is-today'); + } + } + return classes; + }, + pickDay: function pickDay(_ref2) { + var text = _ref2.text, + type = _ref2.type; + + var date = this.getFormateDate(text, type); + this.$emit('pick', date); + }, + cellRenderProxy: function cellRenderProxy(_ref3) { + var text = _ref3.text, + type = _ref3.type; + var h = this.$createElement; + + var render = this.elCalendar.$scopedSlots.dateCell; + if (!render) return h('span', [text]); + + var day = this.getFormateDate(text, type); + var date = new Date(day); + var data = { + isSelected: this.selectedDay === day, + type: type + '-month', + day: day + }; + return render({ date: date, data: data }); + } + }, + + computed: { + WEEK_DAYS: function WEEK_DAYS() { + return Object(date_util_["getI18nSettings"])().dayNames; + }, + prevMonthDatePrefix: function prevMonthDatePrefix() { + var temp = new Date(this.date.getTime()); + temp.setDate(0); + return date_default.a.format(temp, 'yyyy-MM'); + }, + curMonthDatePrefix: function curMonthDatePrefix() { + return date_default.a.format(this.date, 'yyyy-MM'); + }, + nextMonthDatePrefix: function nextMonthDatePrefix() { + var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return date_default.a.format(temp, 'yyyy-MM'); + }, + formatedToday: function formatedToday() { + return this.elCalendar.formatedToday; + }, + isInRange: function isInRange() { + return this.range && this.range.length; + }, + rows: function rows() { + var days = []; + // if range exists, should render days in range. + if (this.isInRange) { + var _range = this.range, + start = _range[0], + end = _range[1]; + + var currentMonthRange = Object(date_util_["range"])(end.getDate() - start.getDate() + 1).map(function (_, index) { + return { + text: start.getDate() + index, + type: 'current' + }; + }); + var remaining = currentMonthRange.length % 7; + remaining = remaining === 0 ? 0 : 7 - remaining; + var nextMonthRange = Object(date_util_["range"])(remaining).map(function (_, index) { + return { + text: index + 1, + type: 'next' + }; + }); + days = currentMonthRange.concat(nextMonthRange); + } else { + var date = this.date; + var firstDay = Object(date_util_["getFirstDayOfMonth"])(date); + firstDay = firstDay === 0 ? 7 : firstDay; + var firstDayOfWeek = typeof this.firstDayOfWeek === 'number' ? this.firstDayOfWeek : 1; + var offset = (7 + firstDay - firstDayOfWeek) % 7; + var prevMonthDays = Object(date_util_["getPrevMonthLastDays"])(date, offset).map(function (day) { + return { + text: day, + type: 'prev' + }; + }); + var currentMonthDays = Object(date_util_["getMonthDays"])(date).map(function (day) { + return { + text: day, + type: 'current' + }; + }); + days = [].concat(prevMonthDays, currentMonthDays); + var nextMonthDays = Object(date_util_["range"])(42 - days.length).map(function (_, index) { + return { + text: index + 1, + type: 'next' + }; + }); + days = days.concat(nextMonthDays); + } + return this.toNestedArr(days); + }, + weekDays: function weekDays() { + var start = this.firstDayOfWeek; + var WEEK_DAYS = this.WEEK_DAYS; + + + if (typeof start !== 'number' || start === 0) { + return WEEK_DAYS.slice(); + } else { + return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0, start)); + } + } + }, + + render: function render() { + var _this = this; + + var h = arguments[0]; + + var thead = this.hideHeader ? null : h('thead', [this.weekDays.map(function (day) { + return h( + 'th', + { key: day }, + [day] + ); + })]); + return h( + 'table', + { + 'class': { + 'el-calendar-table': true, + 'is-range': this.isInRange + }, + attrs: { cellspacing: '0', + cellpadding: '0' } + }, + [thead, h('tbody', [this.rows.map(function (row, index) { + return h( + 'tr', + { + 'class': { + 'el-calendar-table__row': true, + 'el-calendar-table__row--hide-border': index === 0 && _this.hideHeader + }, + key: index }, + [row.map(function (cell, key) { + return h( + 'td', + { key: key, + 'class': _this.getCellClass(cell), + on: { + 'click': _this.pickDay.bind(_this, cell) + } + }, + [h( + 'div', + { 'class': 'el-calendar-day' }, + [_this.cellRenderProxy(cell)] + )] + ); + })] + ); + })])] + ); + } +}); +// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue?vue&type=script&lang=js& + /* harmony default export */ var calendar_src_date_tablevue_type_script_lang_js_ = (src_date_tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/calendar/src/date-table.vue +var date_table_render, date_table_staticRenderFns + + + + +/* normalize component */ + +var src_date_table_component = normalizeComponent( + calendar_src_date_tablevue_type_script_lang_js_, + date_table_render, + date_table_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_date_table_api; } +src_date_table_component.options.__file = "packages/calendar/src/date-table.vue" +/* harmony default export */ var src_date_table = (src_date_table_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var validTypes = ['prev-month', 'today', 'next-month']; +var weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; +var oneDay = 86400000; + +/* harmony default export */ var calendar_src_mainvue_type_script_lang_js_ = ({ + name: 'ElCalendar', + + mixins: [locale_default.a], + + components: { + DateTable: src_date_table, + ElButton: button_default.a, + ElButtonGroup: button_group_default.a + }, + + props: { + value: [Date, String, Number], + range: { + type: Array, + validator: function validator(range) { + if (Array.isArray(range)) { + return range.length === 2 && range.every(function (item) { + return typeof item === 'string' || typeof item === 'number' || item instanceof Date; + }); + } else { + return true; + } + } + }, + firstDayOfWeek: { + type: Number, + default: 1 + } + }, + + provide: function provide() { + return { + elCalendar: this + }; + }, + + + methods: { + pickDay: function pickDay(day) { + this.realSelectedDay = day; + }, + selectDate: function selectDate(type) { + if (validTypes.indexOf(type) === -1) { + throw new Error('invalid type ' + type); + } + var day = ''; + if (type === 'prev-month') { + day = this.prevMonthDatePrefix + '-01'; + } else if (type === 'next-month') { + day = this.nextMonthDatePrefix + '-01'; + } else { + day = this.formatedToday; + } + + if (day === this.formatedDate) return; + this.pickDay(day); + }, + toDate: function toDate(val) { + if (!val) { + throw new Error('invalid val'); + } + return val instanceof Date ? val : new Date(val); + }, + rangeValidator: function rangeValidator(date, isStart) { + var firstDayOfWeek = this.realFirstDayOfWeek; + var expected = isStart ? firstDayOfWeek : firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1; + var message = (isStart ? 'start' : 'end') + ' of range should be ' + weekDays[expected] + '.'; + if (date.getDay() !== expected) { + console.warn('[ElementCalendar]', message, 'Invalid range will be ignored.'); + return false; + } + return true; + } + }, + + computed: { + prevMonthDatePrefix: function prevMonthDatePrefix() { + var temp = new Date(this.date.getTime()); + temp.setDate(0); + return date_default.a.format(temp, 'yyyy-MM'); + }, + curMonthDatePrefix: function curMonthDatePrefix() { + return date_default.a.format(this.date, 'yyyy-MM'); + }, + nextMonthDatePrefix: function nextMonthDatePrefix() { + var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return date_default.a.format(temp, 'yyyy-MM'); + }, + formatedDate: function formatedDate() { + return date_default.a.format(this.date, 'yyyy-MM-dd'); + }, + i18nDate: function i18nDate() { + var year = this.date.getFullYear(); + var month = this.date.getMonth() + 1; + return year + ' ' + this.t('el.datepicker.year') + ' ' + this.t('el.datepicker.month' + month); + }, + formatedToday: function formatedToday() { + return date_default.a.format(this.now, 'yyyy-MM-dd'); + }, + + + realSelectedDay: { + get: function get() { + if (!this.value) return this.selectedDay; + return this.formatedDate; + }, + set: function set(val) { + this.selectedDay = val; + var date = new Date(val); + this.$emit('input', date); + } + }, + + date: function date() { + if (!this.value) { + if (this.realSelectedDay) { + var d = this.selectedDay.split('-'); + return new Date(d[0], d[1] - 1, d[2]); + } else if (this.validatedRange.length) { + return this.validatedRange[0][0]; + } + return this.now; + } else { + return this.toDate(this.value); + } + }, + + + // if range is valid, we get a two-digit array + validatedRange: function validatedRange() { + var _this = this; + + var range = this.range; + if (!range) return []; + range = range.reduce(function (prev, val, index) { + var date = _this.toDate(val); + if (_this.rangeValidator(date, index === 0)) { + prev = prev.concat(date); + } + return prev; + }, []); + if (range.length === 2) { + var _range = range, + start = _range[0], + end = _range[1]; + + if (start > end) { + console.warn('[ElementCalendar]end time should be greater than start time'); + return []; + } + // start time and end time in one month + if (Object(date_util_["validateRangeInOneMonth"])(start, end)) { + return [[start, end]]; + } + var data = []; + var startDay = new Date(start.getFullYear(), start.getMonth() + 1, 1); + var lastDay = this.toDate(startDay.getTime() - oneDay); + if (!Object(date_util_["validateRangeInOneMonth"])(startDay, end)) { + console.warn('[ElementCalendar]start time and end time interval must not exceed two months'); + return []; + } + // 蝚砌�銝芣����� + data.push([start, lastDay]); + // 銝�������嚗�閬恣蝞�銝砲���洵銝�銝芸韏瑕� + var firstDayOfWeek = this.realFirstDayOfWeek; + var nextMontFirstDay = startDay.getDay(); + var interval = 0; + if (nextMontFirstDay !== firstDayOfWeek) { + if (firstDayOfWeek === 0) { + interval = 7 - nextMontFirstDay; + } else { + interval = firstDayOfWeek - nextMontFirstDay; + interval = interval > 0 ? interval : 7 + interval; + } + } + startDay = this.toDate(startDay.getTime() + interval * oneDay); + if (startDay.getDate() < end.getDate()) { + data.push([startDay, end]); + } + return data; + } + return []; + }, + realFirstDayOfWeek: function realFirstDayOfWeek() { + if (this.firstDayOfWeek < 1 || this.firstDayOfWeek > 6) { + return 0; + } + return Math.floor(this.firstDayOfWeek); + } + }, + + data: function data() { + return { + selectedDay: '', + now: new Date() + }; + } +}); +// CONCATENATED MODULE: ./packages/calendar/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_calendar_src_mainvue_type_script_lang_js_ = (calendar_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/calendar/src/main.vue + + + + + +/* normalize component */ + +var calendar_src_main_component = normalizeComponent( + packages_calendar_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_6d9756be_render, + mainvue_type_template_id_6d9756be_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var calendar_src_main_api; } +calendar_src_main_component.options.__file = "packages/calendar/src/main.vue" +/* harmony default export */ var calendar_src_main = (calendar_src_main_component.exports); +// CONCATENATED MODULE: ./packages/calendar/index.js + + +/* istanbul ignore next */ +calendar_src_main.install = function (Vue) { + Vue.component(calendar_src_main.name, calendar_src_main); +}; + +/* harmony default export */ var calendar = (calendar_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9& +var mainvue_type_template_id_257dd4a9_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-fade-in" } }, [ + _vm.visible + ? _c( + "div", + { + staticClass: "el-backtop", + style: { + right: _vm.styleRight, + bottom: _vm.styleBottom + }, + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClick($event) + } + } + }, + [ + _vm._t("default", [_c("el-icon", { attrs: { name: "caret-top" } })]) + ], + 2 + ) + : _vm._e() + ]) +} +var mainvue_type_template_id_257dd4a9_staticRenderFns = [] +mainvue_type_template_id_257dd4a9_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=template&id=257dd4a9& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/backtop/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +var cubic = function cubic(value) { + return Math.pow(value, 3); +}; +var easeInOutCubic = function easeInOutCubic(value) { + return value < 0.5 ? cubic(value * 2) / 2 : 1 - cubic((1 - value) * 2) / 2; +}; + +/* harmony default export */ var backtop_src_mainvue_type_script_lang_js_ = ({ + name: 'ElBacktop', + + props: { + visibilityHeight: { + type: Number, + default: 200 + }, + target: [String], + right: { + type: Number, + default: 40 + }, + bottom: { + type: Number, + default: 40 + } + }, + + data: function data() { + return { + el: null, + container: null, + visible: false + }; + }, + + + computed: { + styleBottom: function styleBottom() { + return this.bottom + 'px'; + }, + styleRight: function styleRight() { + return this.right + 'px'; + } + }, + + mounted: function mounted() { + this.init(); + this.throttledScrollHandler = throttle_default()(300, this.onScroll); + this.container.addEventListener('scroll', this.throttledScrollHandler); + }, + + + methods: { + init: function init() { + this.container = document; + this.el = document.documentElement; + if (this.target) { + this.el = document.querySelector(this.target); + if (!this.el) { + throw new Error('target is not existed: ' + this.target); + } + this.container = this.el; + } + }, + onScroll: function onScroll() { + var scrollTop = this.el.scrollTop; + this.visible = scrollTop >= this.visibilityHeight; + }, + handleClick: function handleClick(e) { + this.scrollToTop(); + this.$emit('click', e); + }, + scrollToTop: function scrollToTop() { + var el = this.el; + var beginTime = Date.now(); + var beginValue = el.scrollTop; + var rAF = window.requestAnimationFrame || function (func) { + return setTimeout(func, 16); + }; + var frameFunc = function frameFunc() { + var progress = (Date.now() - beginTime) / 500; + if (progress < 1) { + el.scrollTop = beginValue * (1 - easeInOutCubic(progress)); + rAF(frameFunc); + } else { + el.scrollTop = 0; + } + }; + rAF(frameFunc); + } + }, + + beforeDestroy: function beforeDestroy() { + this.container.removeEventListener('scroll', this.throttledScrollHandler); + } +}); +// CONCATENATED MODULE: ./packages/backtop/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_backtop_src_mainvue_type_script_lang_js_ = (backtop_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/backtop/src/main.vue + + + + + +/* normalize component */ + +var backtop_src_main_component = normalizeComponent( + packages_backtop_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_257dd4a9_render, + mainvue_type_template_id_257dd4a9_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var backtop_src_main_api; } +backtop_src_main_component.options.__file = "packages/backtop/src/main.vue" +/* harmony default export */ var backtop_src_main = (backtop_src_main_component.exports); +// CONCATENATED MODULE: ./packages/backtop/index.js + + +/* istanbul ignore next */ +backtop_src_main.install = function (Vue) { + Vue.component(backtop_src_main.name, backtop_src_main); +}; + +/* harmony default export */ var backtop = (backtop_src_main); +// CONCATENATED MODULE: ./packages/infinite-scroll/src/main.js + + + + +var getStyleComputedProperty = function getStyleComputedProperty(element, property) { + if (element === window) { + element = document.documentElement; + } + + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; +}; + +var entries = function entries(obj) { + return Object.keys(obj || {}).map(function (key) { + return [key, obj[key]]; + }); +}; + +var getPositionSize = function getPositionSize(el, prop) { + return el === window || el === document ? document.documentElement[prop] : el[prop]; +}; + +var getOffsetHeight = function getOffsetHeight(el) { + return getPositionSize(el, 'offsetHeight'); +}; + +var getClientHeight = function getClientHeight(el) { + return getPositionSize(el, 'clientHeight'); +}; + +var scope = 'ElInfiniteScroll'; +var attributes = { + delay: { + type: Number, + default: 200 + }, + distance: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + }, + immediate: { + type: Boolean, + default: true + } +}; + +var main_getScrollOptions = function getScrollOptions(el, vm) { + if (!Object(types_["isHtmlElement"])(el)) return {}; + + return entries(attributes).reduce(function (map, _ref) { + var key = _ref[0], + option = _ref[1]; + var type = option.type, + defaultValue = option.default; + + var value = el.getAttribute('infinite-scroll-' + key); + value = Object(types_["isUndefined"])(vm[value]) ? value : vm[value]; + switch (type) { + case Number: + value = Number(value); + value = Number.isNaN(value) ? defaultValue : value; + break; + case Boolean: + value = Object(types_["isDefined"])(value) ? value === 'false' ? false : Boolean(value) : defaultValue; + break; + default: + value = type(value); + } + map[key] = value; + return map; + }, {}); +}; + +var getElementTop = function getElementTop(el) { + return el.getBoundingClientRect().top; +}; + +var main_handleScroll = function handleScroll(cb) { + var _scope = this[scope], + el = _scope.el, + vm = _scope.vm, + container = _scope.container, + observer = _scope.observer; + + var _getScrollOptions = main_getScrollOptions(el, vm), + distance = _getScrollOptions.distance, + disabled = _getScrollOptions.disabled; + + if (disabled) return; + + var containerInfo = container.getBoundingClientRect(); + if (!containerInfo.width && !containerInfo.height) return; + + var shouldTrigger = false; + + if (container === el) { + // be aware of difference between clientHeight & offsetHeight & window.getComputedStyle().height + var scrollBottom = container.scrollTop + getClientHeight(container); + shouldTrigger = container.scrollHeight - scrollBottom <= distance; + } else { + var heightBelowTop = getOffsetHeight(el) + getElementTop(el) - getElementTop(container); + var offsetHeight = getOffsetHeight(container); + var borderBottom = Number.parseFloat(getStyleComputedProperty(container, 'borderBottomWidth')); + shouldTrigger = heightBelowTop - offsetHeight + borderBottom <= distance; + } + + if (shouldTrigger && Object(types_["isFunction"])(cb)) { + cb.call(vm); + } else if (observer) { + observer.disconnect(); + this[scope].observer = null; + } +}; + +/* harmony default export */ var infinite_scroll_src_main = ({ + name: 'InfiniteScroll', + inserted: function inserted(el, binding, vnode) { + var cb = binding.value; + + var vm = vnode.context; + // only include vertical scroll + var container = Object(dom_["getScrollContainer"])(el, true); + + var _getScrollOptions2 = main_getScrollOptions(el, vm), + delay = _getScrollOptions2.delay, + immediate = _getScrollOptions2.immediate; + + var onScroll = debounce_default()(delay, main_handleScroll.bind(el, cb)); + + el[scope] = { el: el, vm: vm, container: container, onScroll: onScroll }; + + if (container) { + container.addEventListener('scroll', onScroll); + + if (immediate) { + var observer = el[scope].observer = new MutationObserver(onScroll); + observer.observe(container, { childList: true, subtree: true }); + onScroll(); + } + } + }, + unbind: function unbind(el) { + var _el$scope = el[scope], + container = _el$scope.container, + onScroll = _el$scope.onScroll; + + if (container) { + container.removeEventListener('scroll', onScroll); + } + } +}); +// CONCATENATED MODULE: ./packages/infinite-scroll/index.js + + +/* istanbul ignore next */ +infinite_scroll_src_main.install = function (Vue) { + Vue.directive(infinite_scroll_src_main.name, infinite_scroll_src_main); +}; + +/* harmony default export */ var infinite_scroll = (infinite_scroll_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=template&id=5070954c& +var mainvue_type_template_id_5070954c_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-page-header" }, [ + _c( + "div", + { + staticClass: "el-page-header__left", + on: { + click: function($event) { + _vm.$emit("back") + } + } + }, + [ + _c("i", { staticClass: "el-icon-back" }), + _c( + "div", + { staticClass: "el-page-header__title" }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ) + ] + ), + _c( + "div", + { staticClass: "el-page-header__content" }, + [_vm._t("content", [_vm._v(_vm._s(_vm.content))])], + 2 + ) + ]) +} +var mainvue_type_template_id_5070954c_staticRenderFns = [] +mainvue_type_template_id_5070954c_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=template&id=5070954c& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var page_header_src_mainvue_type_script_lang_js_ = ({ + name: 'ElPageHeader', + + props: { + title: { + type: String, + default: function _default() { + return Object(lib_locale_["t"])('el.pageHeader.title'); + } + }, + content: String + } +}); +// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_page_header_src_mainvue_type_script_lang_js_ = (page_header_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/page-header/src/main.vue + + + + + +/* normalize component */ + +var page_header_src_main_component = normalizeComponent( + packages_page_header_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_5070954c_render, + mainvue_type_template_id_5070954c_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var page_header_src_main_api; } +page_header_src_main_component.options.__file = "packages/page-header/src/main.vue" +/* harmony default export */ var page_header_src_main = (page_header_src_main_component.exports); +// CONCATENATED MODULE: ./packages/page-header/index.js + + +/* istanbul ignore next */ +page_header_src_main.install = function (Vue) { + Vue.component(page_header_src_main.name, page_header_src_main); +}; + +/* harmony default export */ var page_header = (page_header_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346& +var cascader_panelvue_type_template_id_34932346_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: ["el-cascader-panel", _vm.border && "is-bordered"], + on: { keydown: _vm.handleKeyDown } + }, + _vm._l(_vm.menus, function(menu, index) { + return _c("cascader-menu", { + key: index, + ref: "menu", + refInFor: true, + attrs: { index: index, nodes: menu } + }) + }), + 1 + ) +} +var cascader_panelvue_type_template_id_34932346_staticRenderFns = [] +cascader_panelvue_type_template_id_34932346_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346& + +// EXTERNAL MODULE: external "element-ui/lib/radio" +var radio_ = __webpack_require__(44); +var radio_default = /*#__PURE__*/__webpack_require__.n(radio_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js& + + + + + + +var stopPropagation = function stopPropagation(e) { + return e.stopPropagation(); +}; + +/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({ + inject: ['panel'], + + components: { + ElCheckbox: checkbox_default.a, + ElRadio: radio_default.a + }, + + props: { + node: { + required: true + }, + nodeId: String + }, + + computed: { + config: function config() { + return this.panel.config; + }, + isLeaf: function isLeaf() { + return this.node.isLeaf; + }, + isDisabled: function isDisabled() { + return this.node.isDisabled; + }, + checkedValue: function checkedValue() { + return this.panel.checkedValue; + }, + isChecked: function isChecked() { + return this.node.isSameNode(this.checkedValue); + }, + inActivePath: function inActivePath() { + return this.isInPath(this.panel.activePath); + }, + inCheckedPath: function inCheckedPath() { + var _this = this; + + if (!this.config.checkStrictly) return false; + + return this.panel.checkedNodePaths.some(function (checkedPath) { + return _this.isInPath(checkedPath); + }); + }, + value: function value() { + return this.node.getValueByOption(); + } + }, + + methods: { + handleExpand: function handleExpand() { + var _this2 = this; + + var panel = this.panel, + node = this.node, + isDisabled = this.isDisabled, + config = this.config; + var multiple = config.multiple, + checkStrictly = config.checkStrictly; + + + if (!checkStrictly && isDisabled || node.loading) return; + + if (config.lazy && !node.loaded) { + panel.lazyLoad(node, function () { + // do not use cached leaf value here, invoke this.isLeaf to get new value. + var isLeaf = _this2.isLeaf; + + + if (!isLeaf) _this2.handleExpand(); + if (multiple) { + // if leaf sync checked state, else clear checked state + var checked = isLeaf ? node.checked : false; + _this2.handleMultiCheckChange(checked); + } + }); + } else { + panel.handleExpand(node); + } + }, + handleCheckChange: function handleCheckChange() { + var panel = this.panel, + value = this.value, + node = this.node; + + panel.handleCheckChange(value); + panel.handleExpand(node); + }, + handleMultiCheckChange: function handleMultiCheckChange(checked) { + this.node.doCheck(checked); + this.panel.calculateMultiCheckedValue(); + }, + isInPath: function isInPath(pathNodes) { + var node = this.node; + + var selectedPathNode = pathNodes[node.level - 1] || {}; + return selectedPathNode.uid === node.uid; + }, + renderPrefix: function renderPrefix(h) { + var isLeaf = this.isLeaf, + isChecked = this.isChecked, + config = this.config; + var checkStrictly = config.checkStrictly, + multiple = config.multiple; + + + if (multiple) { + return this.renderCheckbox(h); + } else if (checkStrictly) { + return this.renderRadio(h); + } else if (isLeaf && isChecked) { + return this.renderCheckIcon(h); + } + + return null; + }, + renderPostfix: function renderPostfix(h) { + var node = this.node, + isLeaf = this.isLeaf; + + + if (node.loading) { + return this.renderLoadingIcon(h); + } else if (!isLeaf) { + return this.renderExpandIcon(h); + } + + return null; + }, + renderCheckbox: function renderCheckbox(h) { + var node = this.node, + config = this.config, + isDisabled = this.isDisabled; + + var events = { + on: { change: this.handleMultiCheckChange }, + nativeOn: {} + }; + + if (config.checkStrictly) { + // when every node is selectable, click event should not trigger expand event. + events.nativeOn.click = stopPropagation; + } + + return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + value: node.checked, + indeterminate: node.indeterminate, + disabled: isDisabled + } + }, events])); + }, + renderRadio: function renderRadio(h) { + var checkedValue = this.checkedValue, + value = this.value, + isDisabled = this.isDisabled; + + // to keep same reference if value cause radio's checked state is calculated by reference comparision; + + if (Object(util_["isEqual"])(value, checkedValue)) { + value = checkedValue; + } + + return h( + 'el-radio', + { + attrs: { + value: checkedValue, + label: value, + disabled: isDisabled + }, + on: { + 'change': this.handleCheckChange + }, + nativeOn: { + 'click': stopPropagation + } + }, + [h('span')] + ); + }, + renderCheckIcon: function renderCheckIcon(h) { + return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' }); + }, + renderLoadingIcon: function renderLoadingIcon(h) { + return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' }); + }, + renderExpandIcon: function renderExpandIcon(h) { + return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' }); + }, + renderContent: function renderContent(h) { + var panel = this.panel, + node = this.node; + + var render = panel.renderLabelFn; + var vnode = render ? render({ node: node, data: node.data }) : null; + + return h( + 'span', + { 'class': 'el-cascader-node__label' }, + [vnode || node.label] + ); + } + }, + + render: function render(h) { + var _this3 = this; + + var inActivePath = this.inActivePath, + inCheckedPath = this.inCheckedPath, + isChecked = this.isChecked, + isLeaf = this.isLeaf, + isDisabled = this.isDisabled, + config = this.config, + nodeId = this.nodeId; + var expandTrigger = config.expandTrigger, + checkStrictly = config.checkStrictly, + multiple = config.multiple; + + var disabled = !checkStrictly && isDisabled; + var events = { on: {} }; + + if (expandTrigger === 'click') { + events.on.click = this.handleExpand; + } else { + events.on.mouseenter = function (e) { + _this3.handleExpand(); + _this3.$emit('expand', e); + }; + events.on.focus = function (e) { + _this3.handleExpand(); + _this3.$emit('expand', e); + }; + } + if (isLeaf && !isDisabled && !checkStrictly && !multiple) { + events.on.click = this.handleCheckChange; + } + + return h( + 'li', + external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + role: 'menuitem', + id: nodeId, + 'aria-expanded': inActivePath, + tabindex: disabled ? null : -1 + }, + 'class': { + 'el-cascader-node': true, + 'is-selectable': checkStrictly, + 'in-active-path': inActivePath, + 'in-checked-path': inCheckedPath, + 'is-active': isChecked, + 'is-disabled': disabled + } + }, events]), + [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)] + ); + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue +var cascader_node_render, cascader_node_staticRenderFns + + + + +/* normalize component */ + +var cascader_node_component = normalizeComponent( + src_cascader_nodevue_type_script_lang_js_, + cascader_node_render, + cascader_node_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_node_api; } +cascader_node_component.options.__file = "packages/cascader-panel/src/cascader-node.vue" +/* harmony default export */ var cascader_node = (cascader_node_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js& + + + + + + + +/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({ + name: 'ElCascaderMenu', + + mixins: [locale_default.a], + + inject: ['panel'], + + components: { + ElScrollbar: scrollbar_default.a, + CascaderNode: cascader_node + }, + + props: { + nodes: { + type: Array, + required: true + }, + index: Number + }, + + data: function data() { + return { + activeNode: null, + hoverTimer: null, + id: Object(util_["generateId"])() + }; + }, + + + computed: { + isEmpty: function isEmpty() { + return !this.nodes.length; + }, + menuId: function menuId() { + return 'cascader-menu-' + this.id + '-' + this.index; + } + }, + + methods: { + handleExpand: function handleExpand(e) { + this.activeNode = e.target; + }, + handleMouseMove: function handleMouseMove(e) { + var activeNode = this.activeNode, + hoverTimer = this.hoverTimer; + var hoverZone = this.$refs.hoverZone; + + + if (!activeNode || !hoverZone) return; + + if (activeNode.contains(e.target)) { + clearTimeout(hoverTimer); + + var _$el$getBoundingClien = this.$el.getBoundingClientRect(), + left = _$el$getBoundingClien.left; + + var startX = e.clientX - left; + var _$el = this.$el, + offsetWidth = _$el.offsetWidth, + offsetHeight = _$el.offsetHeight; + + var top = activeNode.offsetTop; + var bottom = top + activeNode.offsetHeight; + + hoverZone.innerHTML = '\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + top + ' L' + offsetWidth + ' 0 V' + top + ' Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M' + startX + ' ' + bottom + ' L' + offsetWidth + ' ' + offsetHeight + ' V' + bottom + ' Z" />\n '; + } else if (!hoverTimer) { + this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold); + } + }, + clearHoverZone: function clearHoverZone() { + var hoverZone = this.$refs.hoverZone; + + if (!hoverZone) return; + hoverZone.innerHTML = ''; + }, + renderEmptyText: function renderEmptyText(h) { + return h( + 'div', + { 'class': 'el-cascader-menu__empty-text' }, + [this.t('el.cascader.noData')] + ); + }, + renderNodeList: function renderNodeList(h) { + var menuId = this.menuId; + var isHoverMenu = this.panel.isHoverMenu; + + var events = { on: {} }; + + if (isHoverMenu) { + events.on.expand = this.handleExpand; + } + + var nodes = this.nodes.map(function (node, index) { + var hasChildren = node.hasChildren; + + return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{ + key: node.uid, + attrs: { node: node, + 'node-id': menuId + '-' + index, + 'aria-haspopup': hasChildren, + 'aria-owns': hasChildren ? menuId : null + } + }, events])); + }); + + return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]); + } + }, + + render: function render(h) { + var isEmpty = this.isEmpty, + menuId = this.menuId; + + var events = { nativeOn: {} }; + + // optimize hover to expand experience (#8010) + if (this.panel.isHoverMenu) { + events.nativeOn.mousemove = this.handleMouseMove; + // events.nativeOn.mouseleave = this.clearHoverZone; + } + + return h( + 'el-scrollbar', + external_babel_helper_vue_jsx_merge_props_default()([{ + attrs: { + tag: 'ul', + role: 'menu', + id: menuId, + + 'wrap-class': 'el-cascader-menu__wrap', + 'view-class': { + 'el-cascader-menu__list': true, + 'is-empty': isEmpty + } + }, + 'class': 'el-cascader-menu' }, events]), + [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)] + ); + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue +var cascader_menu_render, cascader_menu_staticRenderFns + + + + +/* normalize component */ + +var cascader_menu_component = normalizeComponent( + src_cascader_menuvue_type_script_lang_js_, + cascader_menu_render, + cascader_menu_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_menu_api; } +cascader_menu_component.options.__file = "packages/cascader-panel/src/cascader-menu.vue" +/* harmony default export */ var cascader_menu = (cascader_menu_component.exports); +// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js +var node_createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function src_node_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var uid = 0; + +var src_node_Node = function () { + function Node(data, config, parentNode) { + src_node_classCallCheck(this, Node); + + this.data = data; + this.config = config; + this.parent = parentNode || null; + this.level = !this.parent ? 1 : this.parent.level + 1; + this.uid = uid++; + + this.initState(); + this.initChildren(); + } + + Node.prototype.initState = function initState() { + var _config = this.config, + valueKey = _config.value, + labelKey = _config.label; + + + this.value = this.data[valueKey]; + this.label = this.data[labelKey]; + this.pathNodes = this.calculatePathNodes(); + this.path = this.pathNodes.map(function (node) { + return node.value; + }); + this.pathLabels = this.pathNodes.map(function (node) { + return node.label; + }); + + // lazy load + this.loading = false; + this.loaded = false; + }; + + Node.prototype.initChildren = function initChildren() { + var _this = this; + + var config = this.config; + + var childrenKey = config.children; + var childrenData = this.data[childrenKey]; + this.hasChildren = Array.isArray(childrenData); + this.children = (childrenData || []).map(function (child) { + return new Node(child, config, _this); + }); + }; + + Node.prototype.calculatePathNodes = function calculatePathNodes() { + var nodes = [this]; + var parent = this.parent; + + while (parent) { + nodes.unshift(parent); + parent = parent.parent; + } + + return nodes; + }; + + Node.prototype.getPath = function getPath() { + return this.path; + }; + + Node.prototype.getValue = function getValue() { + return this.value; + }; + + Node.prototype.getValueByOption = function getValueByOption() { + return this.config.emitPath ? this.getPath() : this.getValue(); + }; + + Node.prototype.getText = function getText(allLevels, separator) { + return allLevels ? this.pathLabels.join(separator) : this.label; + }; + + Node.prototype.isSameNode = function isSameNode(checkedValue) { + var value = this.getValueByOption(); + return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) { + return Object(util_["isEqual"])(val, value); + }) : Object(util_["isEqual"])(checkedValue, value); + }; + + Node.prototype.broadcast = function broadcast(event) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var handlerName = 'onParent' + Object(util_["capitalize"])(event); + + this.children.forEach(function (child) { + if (child) { + // bottom up + child.broadcast.apply(child, [event].concat(args)); + child[handlerName] && child[handlerName].apply(child, args); + } + }); + }; + + Node.prototype.emit = function emit(event) { + var parent = this.parent; + + var handlerName = 'onChild' + Object(util_["capitalize"])(event); + if (parent) { + for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + parent[handlerName] && parent[handlerName].apply(parent, args); + parent.emit.apply(parent, [event].concat(args)); + } + }; + + Node.prototype.onParentCheck = function onParentCheck(checked) { + if (!this.isDisabled) { + this.setCheckState(checked); + } + }; + + Node.prototype.onChildCheck = function onChildCheck() { + var children = this.children; + + var validChildren = children.filter(function (child) { + return !child.isDisabled; + }); + var checked = validChildren.length ? validChildren.every(function (child) { + return child.checked; + }) : false; + + this.setCheckState(checked); + }; + + Node.prototype.setCheckState = function setCheckState(checked) { + var totalNum = this.children.length; + var checkedNum = this.children.reduce(function (c, p) { + var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0; + return c + num; + }, 0); + + this.checked = checked; + this.indeterminate = checkedNum !== totalNum && checkedNum > 0; + }; + + Node.prototype.syncCheckState = function syncCheckState(checkedValue) { + var value = this.getValueByOption(); + var checked = this.isSameNode(checkedValue, value); + + this.doCheck(checked); + }; + + Node.prototype.doCheck = function doCheck(checked) { + if (this.checked !== checked) { + if (this.config.checkStrictly) { + this.checked = checked; + } else { + // bottom up to unify the calculation of the indeterminate state + this.broadcast('check', checked); + this.setCheckState(checked); + this.emit('check'); + } + } + }; + + node_createClass(Node, [{ + key: 'isDisabled', + get: function get() { + var data = this.data, + parent = this.parent, + config = this.config; + + var disabledKey = config.disabled; + var checkStrictly = config.checkStrictly; + + return data[disabledKey] || !checkStrictly && parent && parent.isDisabled; + } + }, { + key: 'isLeaf', + get: function get() { + var data = this.data, + loaded = this.loaded, + hasChildren = this.hasChildren, + children = this.children; + var _config2 = this.config, + lazy = _config2.lazy, + leafKey = _config2.leaf; + + if (lazy) { + var isLeaf = Object(shared_["isDef"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false; + this.hasChildren = !isLeaf; + return isLeaf; + } + return !hasChildren; + } + }]); + + return Node; +}(); + +/* harmony default export */ var src_node = (src_node_Node); +// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js +function store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var flatNodes = function flatNodes(data, leafOnly) { + return data.reduce(function (res, node) { + if (node.isLeaf) { + res.push(node); + } else { + !leafOnly && res.push(node); + res = res.concat(flatNodes(node.children, leafOnly)); + } + return res; + }, []); +}; + +var store_Store = function () { + function Store(data, config) { + store_classCallCheck(this, Store); + + this.config = config; + this.initNodes(data); + } + + Store.prototype.initNodes = function initNodes(data) { + var _this = this; + + data = Object(util_["coerceTruthyValueToArray"])(data); + this.nodes = data.map(function (nodeData) { + return new src_node(nodeData, _this.config); + }); + this.flattedNodes = this.getFlattedNodes(false, false); + this.leafNodes = this.getFlattedNodes(true, false); + }; + + Store.prototype.appendNode = function appendNode(nodeData, parentNode) { + var node = new src_node(nodeData, this.config, parentNode); + var children = parentNode ? parentNode.children : this.nodes; + + children.push(node); + }; + + Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) { + var _this2 = this; + + nodeDataList = Object(util_["coerceTruthyValueToArray"])(nodeDataList); + nodeDataList.forEach(function (nodeData) { + return _this2.appendNode(nodeData, parentNode); + }); + }; + + Store.prototype.getNodes = function getNodes() { + return this.nodes; + }; + + Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) { + var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes; + return cached ? cachedNodes : flatNodes(this.nodes, leafOnly); + }; + + Store.prototype.getNodeByValue = function getNodeByValue(value) { + var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) { + return Object(util_["valueEquals"])(node.path, value) || node.value === value; + }); + return nodes && nodes.length ? nodes[0] : null; + }; + + return Store; +}(); + +/* harmony default export */ var cascader_panel_src_store = (store_Store); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js& +var cascader_panelvue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +var cascader_panelvue_type_script_lang_js_KeyCode = aria_utils_default.a.keys; + +var DefaultProps = { + expandTrigger: 'click', // or hover + multiple: false, + checkStrictly: false, // whether all nodes can be selected + emitPath: true, // wether to emit an array of all levels value in which node is located + lazy: false, + lazyLoad: util_["noop"], + value: 'value', + label: 'label', + children: 'children', + leaf: 'leaf', + disabled: 'disabled', + hoverThreshold: 500 +}; + +var cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) { + return !el.getAttribute('aria-owns'); +}; + +var getSibling = function getSibling(el, distance) { + var parentNode = el.parentNode; + + if (parentNode) { + var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex="-1"]'); + var index = Array.prototype.indexOf.call(siblings, el); + return siblings[index + distance] || null; + } + return null; +}; + +var getMenuIndex = function getMenuIndex(el, distance) { + if (!el) return; + var pieces = el.id.split('-'); + return Number(pieces[pieces.length - 2]); +}; + +var focusNode = function focusNode(el) { + if (!el) return; + el.focus(); + !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click(); +}; + +var checkNode = function checkNode(el) { + if (!el) return; + + var input = el.querySelector('input'); + if (input) { + input.click(); + } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) { + el.click(); + } +}; + +/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({ + name: 'ElCascaderPanel', + + components: { + CascaderMenu: cascader_menu + }, + + props: { + value: {}, + options: Array, + props: Object, + border: { + type: Boolean, + default: true + }, + renderLabel: Function + }, + + provide: function provide() { + return { + panel: this + }; + }, + data: function data() { + return { + checkedValue: null, + checkedNodePaths: [], + store: [], + menus: [], + activePath: [], + loadCount: 0 + }; + }, + + + computed: { + config: function config() { + return merge_default()(cascader_panelvue_type_script_lang_js_extends({}, DefaultProps), this.props || {}); + }, + multiple: function multiple() { + return this.config.multiple; + }, + checkStrictly: function checkStrictly() { + return this.config.checkStrictly; + }, + leafOnly: function leafOnly() { + return !this.checkStrictly; + }, + isHoverMenu: function isHoverMenu() { + return this.config.expandTrigger === 'hover'; + }, + renderLabelFn: function renderLabelFn() { + return this.renderLabel || this.$scopedSlots.default; + } + }, + + watch: { + value: function value() { + this.syncCheckedValue(); + this.checkStrictly && this.calculateCheckedNodePaths(); + }, + + options: { + handler: function handler() { + this.initStore(); + }, + immediate: true, + deep: true + }, + checkedValue: function checkedValue(val) { + if (!Object(util_["isEqual"])(val, this.value)) { + this.checkStrictly && this.calculateCheckedNodePaths(); + this.$emit('input', val); + this.$emit('change', val); + } + } + }, + + mounted: function mounted() { + if (!this.isEmptyValue(this.value)) { + this.syncCheckedValue(); + } + }, + + + methods: { + initStore: function initStore() { + var config = this.config, + options = this.options; + + if (config.lazy && Object(util_["isEmpty"])(options)) { + this.lazyLoad(); + } else { + this.store = new cascader_panel_src_store(options, config); + this.menus = [this.store.getNodes()]; + this.syncMenuState(); + } + }, + syncCheckedValue: function syncCheckedValue() { + var value = this.value, + checkedValue = this.checkedValue; + + if (!Object(util_["isEqual"])(value, checkedValue)) { + this.activePath = []; + this.checkedValue = value; + this.syncMenuState(); + } + }, + syncMenuState: function syncMenuState() { + var multiple = this.multiple, + checkStrictly = this.checkStrictly; + + this.syncActivePath(); + multiple && this.syncMultiCheckState(); + checkStrictly && this.calculateCheckedNodePaths(); + this.$nextTick(this.scrollIntoView); + }, + syncMultiCheckState: function syncMultiCheckState() { + var _this = this; + + var nodes = this.getFlattedNodes(this.leafOnly); + + nodes.forEach(function (node) { + node.syncCheckState(_this.checkedValue); + }); + }, + isEmptyValue: function isEmptyValue(val) { + var multiple = this.multiple, + config = this.config; + var emitPath = config.emitPath; + + if (multiple || emitPath) { + return Object(util_["isEmpty"])(val); + } + return false; + }, + syncActivePath: function syncActivePath() { + var _this2 = this; + + var store = this.store, + multiple = this.multiple, + activePath = this.activePath, + checkedValue = this.checkedValue; + + + if (!Object(util_["isEmpty"])(activePath)) { + var nodes = activePath.map(function (node) { + return _this2.getNodeByValue(node.getValue()); + }); + this.expandNodes(nodes); + } else if (!this.isEmptyValue(checkedValue)) { + var value = multiple ? checkedValue[0] : checkedValue; + var checkedNode = this.getNodeByValue(value) || {}; + var _nodes = (checkedNode.pathNodes || []).slice(0, -1); + this.expandNodes(_nodes); + } else { + this.activePath = []; + this.menus = [store.getNodes()]; + } + }, + expandNodes: function expandNodes(nodes) { + var _this3 = this; + + nodes.forEach(function (node) { + return _this3.handleExpand(node, true /* silent */); + }); + }, + calculateCheckedNodePaths: function calculateCheckedNodePaths() { + var _this4 = this; + + var checkedValue = this.checkedValue, + multiple = this.multiple; + + var checkedValues = multiple ? Object(util_["coerceTruthyValueToArray"])(checkedValue) : [checkedValue]; + this.checkedNodePaths = checkedValues.map(function (v) { + var checkedNode = _this4.getNodeByValue(v); + return checkedNode ? checkedNode.pathNodes : []; + }); + }, + handleKeyDown: function handleKeyDown(e) { + var target = e.target, + keyCode = e.keyCode; + + + switch (keyCode) { + case cascader_panelvue_type_script_lang_js_KeyCode.up: + var prev = getSibling(target, -1); + focusNode(prev); + break; + case cascader_panelvue_type_script_lang_js_KeyCode.down: + var next = getSibling(target, 1); + focusNode(next); + break; + case cascader_panelvue_type_script_lang_js_KeyCode.left: + var preMenu = this.$refs.menu[getMenuIndex(target) - 1]; + if (preMenu) { + var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]'); + focusNode(expandedNode); + } + break; + case cascader_panelvue_type_script_lang_js_KeyCode.right: + var nextMenu = this.$refs.menu[getMenuIndex(target) + 1]; + if (nextMenu) { + var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]'); + focusNode(firstNode); + } + break; + case cascader_panelvue_type_script_lang_js_KeyCode.enter: + checkNode(target); + break; + case cascader_panelvue_type_script_lang_js_KeyCode.esc: + case cascader_panelvue_type_script_lang_js_KeyCode.tab: + this.$emit('close'); + break; + default: + return; + } + }, + handleExpand: function handleExpand(node, silent) { + var activePath = this.activePath; + var level = node.level; + + var path = activePath.slice(0, level - 1); + var menus = this.menus.slice(0, level); + + if (!node.isLeaf) { + path.push(node); + menus.push(node.children); + } + + this.activePath = path; + this.menus = menus; + + if (!silent) { + var pathValues = path.map(function (node) { + return node.getValue(); + }); + var activePathValues = activePath.map(function (node) { + return node.getValue(); + }); + if (!Object(util_["valueEquals"])(pathValues, activePathValues)) { + this.$emit('active-item-change', pathValues); // Deprecated + this.$emit('expand-change', pathValues); + } + } + }, + handleCheckChange: function handleCheckChange(value) { + this.checkedValue = value; + }, + lazyLoad: function lazyLoad(node, onFullfiled) { + var _this5 = this; + + var config = this.config; + + if (!node) { + node = node || { root: true, level: 0 }; + this.store = new cascader_panel_src_store([], config); + this.menus = [this.store.getNodes()]; + } + node.loading = true; + var resolve = function resolve(dataList) { + var parent = node.root ? null : node; + dataList && dataList.length && _this5.store.appendNodes(dataList, parent); + node.loading = false; + node.loaded = true; + + // dispose default value on lazy load mode + if (Array.isArray(_this5.checkedValue)) { + var nodeValue = _this5.checkedValue[_this5.loadCount++]; + var valueKey = _this5.config.value; + var leafKey = _this5.config.leaf; + + if (Array.isArray(dataList) && dataList.filter(function (item) { + return item[valueKey] === nodeValue; + }).length > 0) { + var checkedNode = _this5.store.getNodeByValue(nodeValue); + + if (!checkedNode.data[leafKey]) { + _this5.lazyLoad(checkedNode, function () { + _this5.handleExpand(checkedNode); + }); + } + + if (_this5.loadCount === _this5.checkedValue.length) { + _this5.$parent.computePresentText(); + } + } + } + + onFullfiled && onFullfiled(dataList); + }; + config.lazyLoad(node, resolve); + }, + + + /** + * public methods + */ + calculateMultiCheckedValue: function calculateMultiCheckedValue() { + this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) { + return node.getValueByOption(); + }); + }, + scrollIntoView: function scrollIntoView() { + if (this.$isServer) return; + + var menus = this.$refs.menu || []; + menus.forEach(function (menu) { + var menuElement = menu.$el; + if (menuElement) { + var container = menuElement.querySelector('.el-scrollbar__wrap'); + var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path'); + scroll_into_view_default()(container, activeNode); + } + }); + }, + getNodeByValue: function getNodeByValue(val) { + return this.store.getNodeByValue(val); + }, + getFlattedNodes: function getFlattedNodes(leafOnly) { + var cached = !this.config.lazy; + return this.store.getFlattedNodes(leafOnly, cached); + }, + getCheckedNodes: function getCheckedNodes(leafOnly) { + var checkedValue = this.checkedValue, + multiple = this.multiple; + + if (multiple) { + var nodes = this.getFlattedNodes(leafOnly); + return nodes.filter(function (node) { + return node.checked; + }); + } else { + return this.isEmptyValue(checkedValue) ? [] : [this.getNodeByValue(checkedValue)]; + } + }, + clearCheckedNodes: function clearCheckedNodes() { + var config = this.config, + leafOnly = this.leafOnly; + var multiple = config.multiple, + emitPath = config.emitPath; + + if (multiple) { + this.getCheckedNodes(leafOnly).filter(function (node) { + return !node.isDisabled; + }).forEach(function (node) { + return node.doCheck(false); + }); + this.calculateMultiCheckedValue(); + } else { + this.checkedValue = emitPath ? [] : null; + } + } + } +}); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue + + + + + +/* normalize component */ + +var cascader_panel_component = normalizeComponent( + src_cascader_panelvue_type_script_lang_js_, + cascader_panelvue_type_template_id_34932346_render, + cascader_panelvue_type_template_id_34932346_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var cascader_panel_api; } +cascader_panel_component.options.__file = "packages/cascader-panel/src/cascader-panel.vue" +/* harmony default export */ var cascader_panel = (cascader_panel_component.exports); +// CONCATENATED MODULE: ./packages/cascader-panel/index.js + + +/* istanbul ignore next */ +cascader_panel.install = function (Vue) { + Vue.component(cascader_panel.name, cascader_panel); +}; + +/* harmony default export */ var packages_cascader_panel = (cascader_panel); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/avatar/src/main.vue?vue&type=script&lang=js& + +/* harmony default export */ var avatar_src_mainvue_type_script_lang_js_ = ({ + name: 'ElAvatar', + + props: { + size: { + type: [Number, String], + validator: function validator(val) { + if (typeof val === 'string') { + return ['large', 'medium', 'small'].includes(val); + } + return typeof val === 'number'; + } + }, + shape: { + type: String, + default: 'circle', + validator: function validator(val) { + return ['circle', 'square'].includes(val); + } + }, + icon: String, + src: String, + alt: String, + srcSet: String, + error: Function, + fit: { + type: String, + default: 'cover' + } + }, + + data: function data() { + return { + isImageExist: true + }; + }, + + + computed: { + avatarClass: function avatarClass() { + var size = this.size, + icon = this.icon, + shape = this.shape; + + var classList = ['el-avatar']; + + if (size && typeof size === 'string') { + classList.push('el-avatar--' + size); + } + + if (icon) { + classList.push('el-avatar--icon'); + } + + if (shape) { + classList.push('el-avatar--' + shape); + } + + return classList.join(' '); + } + }, + + methods: { + handleError: function handleError() { + var error = this.error; + + var errorFlag = error ? error() : undefined; + if (errorFlag !== false) { + this.isImageExist = false; + } + }, + renderAvatar: function renderAvatar() { + var h = this.$createElement; + var icon = this.icon, + src = this.src, + alt = this.alt, + isImageExist = this.isImageExist, + srcSet = this.srcSet, + fit = this.fit; + + + if (isImageExist && src) { + return h('img', { + attrs: { + src: src, + + alt: alt, + srcSet: srcSet + }, + on: { + 'error': this.handleError + }, + style: { 'object-fit': fit } }); + } + + if (icon) { + return h('i', { 'class': icon }); + } + + return this.$slots.default; + } + }, + + render: function render() { + var h = arguments[0]; + var avatarClass = this.avatarClass, + size = this.size; + + + var sizeStyle = typeof size === 'number' ? { + height: size + 'px', + width: size + 'px', + lineHeight: size + 'px' + } : {}; + + return h( + 'span', + { 'class': avatarClass, style: sizeStyle }, + [this.renderAvatar()] + ); + } +}); +// CONCATENATED MODULE: ./packages/avatar/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_avatar_src_mainvue_type_script_lang_js_ = (avatar_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/avatar/src/main.vue +var src_main_render, src_main_staticRenderFns + + + + +/* normalize component */ + +var avatar_src_main_component = normalizeComponent( + packages_avatar_src_mainvue_type_script_lang_js_, + src_main_render, + src_main_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var avatar_src_main_api; } +avatar_src_main_component.options.__file = "packages/avatar/src/main.vue" +/* harmony default export */ var avatar_src_main = (avatar_src_main_component.exports); +// CONCATENATED MODULE: ./packages/avatar/index.js + + +/* istanbul ignore next */ +avatar_src_main.install = function (Vue) { + Vue.component(avatar_src_main.name, avatar_src_main); +}; + +/* harmony default export */ var avatar = (avatar_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=template&id=a4885264& +var mainvue_type_template_id_a4885264_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-drawer-fade" }, + on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-drawer__wrapper", + attrs: { tabindex: "-1" } + }, + [ + _c( + "div", + { + staticClass: "el-drawer__container", + class: _vm.visible && "el-drawer__open", + attrs: { role: "document", tabindex: "-1" }, + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + ref: "drawer", + staticClass: "el-drawer", + class: [_vm.direction, _vm.customClass], + style: _vm.isHorizontal + ? "width: " + _vm.drawerSize + : "height: " + _vm.drawerSize, + attrs: { + "aria-modal": "true", + "aria-labelledby": "el-drawer__title", + "aria-label": _vm.title, + role: "dialog", + tabindex: "-1" + } + }, + [ + _vm.withHeader + ? _c( + "header", + { + staticClass: "el-drawer__header", + attrs: { id: "el-drawer__title" } + }, + [ + _vm._t("title", [ + _c( + "span", + { attrs: { role: "heading", title: _vm.title } }, + [_vm._v(_vm._s(_vm.title))] + ) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-drawer__close-btn", + attrs: { + "aria-label": + "close " + (_vm.title || "drawer"), + type: "button" + }, + on: { click: _vm.closeDrawer } + }, + [ + _c("i", { + staticClass: + "el-dialog__close el-icon el-icon-close" + }) + ] + ) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _vm.rendered + ? _c( + "section", + { staticClass: "el-drawer__body" }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ] + ) + ] + ) + ] + ) + ] + ) +} +var mainvue_type_template_id_a4885264_staticRenderFns = [] +mainvue_type_template_id_a4885264_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=template&id=a4885264& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var drawer_src_mainvue_type_script_lang_js_ = ({ + name: 'ElDrawer', + mixins: [popup_default.a, emitter_default.a], + props: { + appendToBody: { + type: Boolean, + default: false + }, + beforeClose: { + type: Function + }, + customClass: { + type: String, + default: '' + }, + closeOnPressEscape: { + type: Boolean, + default: true + }, + destroyOnClose: { + type: Boolean, + default: false + }, + modal: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'rtl', + validator: function validator(val) { + return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1; + } + }, + modalAppendToBody: { + type: Boolean, + default: true + }, + showClose: { + type: Boolean, + default: true + }, + size: { + type: [Number, String], + default: '30%' + }, + title: { + type: String, + default: '' + }, + visible: { + type: Boolean + }, + wrapperClosable: { + type: Boolean, + default: true + }, + withHeader: { + type: Boolean, + default: true + } + }, + computed: { + isHorizontal: function isHorizontal() { + return this.direction === 'rtl' || this.direction === 'ltr'; + }, + drawerSize: function drawerSize() { + return typeof this.size === 'number' ? this.size + 'px' : this.size; + } + }, + data: function data() { + return { + closed: false, + prevActiveElement: null + }; + }, + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.closed = false; + this.$emit('open'); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + this.prevActiveElement = document.activeElement; + } else { + if (!this.closed) { + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + } + this.$nextTick(function () { + if (_this.prevActiveElement) { + _this.prevActiveElement.focus(); + } + }); + } + } + }, + methods: { + afterEnter: function afterEnter() { + this.$emit('opened'); + }, + afterLeave: function afterLeave() { + this.$emit('closed'); + }, + hide: function hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + this.closed = true; + } + }, + handleWrapperClick: function handleWrapperClick() { + if (this.wrapperClosable) { + this.closeDrawer(); + } + }, + closeDrawer: function closeDrawer() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + handleClose: function handleClose() { + // This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true + // pressing `ESC` will call this method, and also close the drawer. + // This method also calls `beforeClose` if there was one. + this.closeDrawer(); + } + }, + mounted: function mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_drawer_src_mainvue_type_script_lang_js_ = (drawer_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/drawer/src/main.vue + + + + + +/* normalize component */ + +var drawer_src_main_component = normalizeComponent( + packages_drawer_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_a4885264_render, + mainvue_type_template_id_a4885264_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var drawer_src_main_api; } +drawer_src_main_component.options.__file = "packages/drawer/src/main.vue" +/* harmony default export */ var drawer_src_main = (drawer_src_main_component.exports); +// CONCATENATED MODULE: ./packages/drawer/index.js + + +/* istanbul ignore next */ +drawer_src_main.install = function (Vue) { + Vue.component(drawer_src_main.name, drawer_src_main); +}; + +/* harmony default export */ var drawer = (drawer_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/statistic/src/main.vue?vue&type=template&id=76339aa7& +var mainvue_type_template_id_76339aa7_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-statistic" }, [ + _vm.title || _vm.$slots.title + ? _c( + "div", + { staticClass: "head" }, + [ + _vm._t("title", [ + _c("span", { staticClass: "title" }, [ + _vm._v("\n " + _vm._s(_vm.title) + "\n ") + ]) + ]) + ], + 2 + ) + : _vm._e(), + _c("div", { staticClass: "con" }, [ + _vm.prefix || _vm.$slots.prefix + ? _c( + "span", + { staticClass: "prefix" }, + [ + _vm._t("prefix", [ + _vm._v("\n " + _vm._s(_vm.prefix) + "\n ") + ]) + ], + 2 + ) + : _vm._e(), + _c( + "span", + { staticClass: "number", style: _vm.valueStyle }, + [_vm._t("formatter", [_vm._v(" " + _vm._s(_vm.disposeValue))])], + 2 + ), + _vm.suffix || _vm.$slots.suffix + ? _c( + "span", + { staticClass: "suffix" }, + [ + _vm._t("suffix", [ + _vm._v("\n " + _vm._s(_vm.suffix) + "\n ") + ]) + ], + 2 + ) + : _vm._e() + ]) + ]) +} +var mainvue_type_template_id_76339aa7_staticRenderFns = [] +mainvue_type_template_id_76339aa7_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/statistic/src/main.vue?vue&type=template&id=76339aa7& + +// EXTERNAL MODULE: external "element-ui/lib/utils/lodash" +var lodash_ = __webpack_require__(28); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/statistic/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var statistic_src_mainvue_type_script_lang_js_ = ({ + name: 'ElStatistic', + data: function data() { + return { + disposeValue: '', + timeTask: null, + REFRESH_INTERVAL: 1000 / 30 + }; + }, + + props: { + decimalSeparator: { + type: String, + default: '.' + }, + groupSeparator: { + type: String, + default: '' + }, + precision: { + type: Number, + default: null + }, + value: { + type: [String, Number], + default: '' + }, + prefix: { + type: String, + default: '' + }, + suffix: { + type: String, + default: '' + }, + title: { + type: [String, Number], + default: '' + }, + timeIndices: { + type: Boolean, + default: false + }, + valueStyle: { + type: Object, + default: function _default() { + return {}; + } + }, + format: { + type: String, + default: 'HH:mm:ss:SSS' + }, + rate: { + type: Number, + default: 1000 + } + }, + created: function created() { + this.branch(); + }, + + watch: { + value: function value() { + this.branch(); + } + }, + methods: { + branch: function branch() { + var timeIndices = this.timeIndices, + countDown = this.countDown, + dispose = this.dispose; + + timeIndices ? countDown() : dispose(); + }, + magnification: function magnification(num) { + var mulriple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000; + var groupSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ','; + + // magnification factor + var level = String(mulriple).length - 1; + var reg = new RegExp('\\d{1,' + level + '}(?=(\\d{' + level + '})+$)', 'g'); + var result = String(num).replace(reg, '$&,').split(',').join(groupSeparator); + return result; + }, + dispose: function dispose() { + var value = this.value, + precision = this.precision, + groupSeparator = this.groupSeparator, + rate = this.rate; + + if (!Object(lodash_["isNumber"])(value)) return false; + + var _String$split = String(value).split('.'), + integer = _String$split[0], + decimal = _String$split[1]; + + if (precision) { + decimal = '' + (decimal || '') + 1 .toFixed(precision).replace('.', '').slice(1); + decimal = decimal.slice(0, precision); + } + var result = 0; + // 1000 multiplying power + if (groupSeparator) { + integer = this.magnification(integer, rate, groupSeparator); + } + + result = [integer, decimal].join(decimal ? this.decimalSeparator : ''); + this.disposeValue = result; + return result; + }, + diffDate: function diffDate(minuend, subtrahend) { + return Math.max(minuend - subtrahend, 0); + }, + suspend: function suspend(isStop) { + if (isStop) { + if (this.timeTask) { + clearInterval(this.timeTask); + this.timeTask = null; + } + } else { + this.branch(); + } + return this.disposeValue; + }, + + formatTimeStr: function formatTimeStr(time) { + var format = this.format; + + var escapeRegex = /\[[^\]]*]/g; + var keepList = (format.match(escapeRegex) || []).map(function (str) { + return str.slice(1, -1); + }); + var timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365], // years + ['M', 1000 * 60 * 60 * 24 * 30], // months + ['D', 1000 * 60 * 60 * 24], // days + ['H', 1000 * 60 * 60], // hours + ['m', 1000 * 60], // minutes + ['s', 1000], // seconds + ['S', 1] // million seconds + ]; + var formatText = Object(lodash_["reduce"])(timeUnits, function (con, item) { + var name = item[0]; + return con.replace(new RegExp(name + '+', 'g'), function (match) { + var sum = Object(lodash_["chain"])(time).divide(item[1]).floor(0).value(); + time -= Object(lodash_["multiply"])(sum, item[1]); + return Object(lodash_["padStart"])(String(sum), String(match).length, 0); + }); + }, format); + var index = 0; + return formatText.replace(escapeRegex, function () { + var match = keepList[index]; + index += 1; + return match; + }); + }, + stopTime: function stopTime(time) { + var result = true; // stop + if (time) { + this.$emit('change', time); + result = false; + } else { + result = true; + this.suspend(true); + this.$emit('finish', true); + } + return result; + }, + countDown: function countDown() { + var REFRESH_INTERVAL = this.REFRESH_INTERVAL, + timeTask = this.timeTask, + diffDate = this.diffDate, + formatTimeStr = this.formatTimeStr, + stopTime = this.stopTime, + suspend = this.suspend; + + if (timeTask) return; + var than = this; + this.timeTask = setInterval(function () { + var diffTiem = diffDate(than.value, Date.now()); + than.disposeValue = formatTimeStr(diffTiem); + stopTime(diffTiem); + }, REFRESH_INTERVAL); + this.$once('hook:beforeDestroy', function () { + suspend(true); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/statistic/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_statistic_src_mainvue_type_script_lang_js_ = (statistic_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/statistic/src/main.vue + + + + + +/* normalize component */ + +var statistic_src_main_component = normalizeComponent( + packages_statistic_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_76339aa7_render, + mainvue_type_template_id_76339aa7_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var statistic_src_main_api; } +statistic_src_main_component.options.__file = "packages/statistic/src/main.vue" +/* harmony default export */ var statistic_src_main = (statistic_src_main_component.exports); +// CONCATENATED MODULE: ./packages/statistic/index.js + + +/* istanbul ignore next */ +statistic_src_main.install = function (Vue) { + Vue.component(statistic_src_main.name, statistic_src_main); +}; + +/* harmony default export */ var statistic = (statistic_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=template&id=048de730& +var mainvue_type_template_id_048de730_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "el-popover", + _vm._b( + { + attrs: { trigger: "click" }, + model: { + value: _vm.visible, + callback: function($$v) { + _vm.visible = $$v + }, + expression: "visible" + } + }, + "el-popover", + _vm.$attrs, + false + ), + [ + _c("div", { staticClass: "el-popconfirm" }, [ + _c("p", { staticClass: "el-popconfirm__main" }, [ + !_vm.hideIcon + ? _c("i", { + staticClass: "el-popconfirm__icon", + class: _vm.icon, + style: { color: _vm.iconColor } + }) + : _vm._e(), + _vm._v("\n " + _vm._s(_vm.title) + "\n ") + ]), + _c( + "div", + { staticClass: "el-popconfirm__action" }, + [ + _c( + "el-button", + { + attrs: { size: "mini", type: _vm.cancelButtonType }, + on: { click: _vm.cancel } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.displayCancelButtonText) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { size: "mini", type: _vm.confirmButtonType }, + on: { click: _vm.confirm } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.displayConfirmButtonText) + + "\n " + ) + ] + ) + ], + 1 + ) + ]), + _vm._t("reference", null, { slot: "reference" }) + ], + 2 + ) +} +var mainvue_type_template_id_048de730_staticRenderFns = [] +mainvue_type_template_id_048de730_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=template&id=048de730& + +// EXTERNAL MODULE: external "element-ui/lib/popover" +var popover_ = __webpack_require__(45); +var popover_default = /*#__PURE__*/__webpack_require__.n(popover_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var popconfirm_src_mainvue_type_script_lang_js_ = ({ + name: 'ElPopconfirm', + props: { + title: { + type: String + }, + confirmButtonText: { + type: String + }, + cancelButtonText: { + type: String + }, + confirmButtonType: { + type: String, + default: 'primary' + }, + cancelButtonType: { + type: String, + default: 'text' + }, + icon: { + type: String, + default: 'el-icon-question' + }, + iconColor: { + type: String, + default: '#f90' + }, + hideIcon: { + type: Boolean, + default: false + } + }, + components: { + ElPopover: popover_default.a, + ElButton: button_default.a + }, + data: function data() { + return { + visible: false + }; + }, + + computed: { + displayConfirmButtonText: function displayConfirmButtonText() { + return this.confirmButtonText || Object(lib_locale_["t"])('el.popconfirm.confirmButtonText'); + }, + displayCancelButtonText: function displayCancelButtonText() { + return this.cancelButtonText || Object(lib_locale_["t"])('el.popconfirm.cancelButtonText'); + } + }, + methods: { + confirm: function confirm() { + this.visible = false; + this.$emit('confirm'); + }, + cancel: function cancel() { + this.visible = false; + this.$emit('cancel'); + } + } +}); +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_popconfirm_src_mainvue_type_script_lang_js_ = (popconfirm_src_mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue + + + + + +/* normalize component */ + +var popconfirm_src_main_component = normalizeComponent( + packages_popconfirm_src_mainvue_type_script_lang_js_, + mainvue_type_template_id_048de730_render, + mainvue_type_template_id_048de730_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var popconfirm_src_main_api; } +popconfirm_src_main_component.options.__file = "packages/popconfirm/src/main.vue" +/* harmony default export */ var popconfirm_src_main = (popconfirm_src_main_component.exports); +// CONCATENATED MODULE: ./packages/popconfirm/index.js + + +/* istanbul ignore next */ +popconfirm_src_main.install = function (Vue) { + Vue.component(popconfirm_src_main.name, popconfirm_src_main); +}; + +/* harmony default export */ var popconfirm = (popconfirm_src_main); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=template&id=7f659269& +var srcvue_type_template_id_7f659269_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + [ + _vm.uiLoading + ? [ + _c( + "div", + _vm._b( + { class: ["el-skeleton", _vm.animated ? "is-animated" : ""] }, + "div", + _vm.$attrs, + false + ), + [ + _vm._l(_vm.count, function(i) { + return [ + _vm.loading + ? _vm._t( + "template", + _vm._l(_vm.rows, function(item) { + return _c("el-skeleton-item", { + key: i + "-" + item, + class: { + "el-skeleton__paragraph": item !== 1, + "is-first": item === 1, + "is-last": item === _vm.rows && _vm.rows > 1 + }, + attrs: { variant: "p" } + }) + }) + ) + : _vm._e() + ] + }) + ], + 2 + ) + ] + : [_vm._t("default", null, null, _vm.$attrs)] + ], + 2 + ) +} +var srcvue_type_template_id_7f659269_staticRenderFns = [] +srcvue_type_template_id_7f659269_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=template&id=7f659269& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var skeleton_srcvue_type_script_lang_js_ = ({ + name: 'ElSkeleton', + props: { + animated: { + type: Boolean, + default: false + }, + count: { + type: Number, + default: 1 + }, + rows: { + type: Number, + default: 4 + }, + loading: { + type: Boolean, + default: true + }, + throttle: { + type: Number, + default: 0 + } + }, + watch: { + loading: { + handler: function handler(loading) { + var _this = this; + + if (this.throttle <= 0) { + this.uiLoading = loading; + return; + } + if (loading) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = setTimeout(function () { + _this.uiLoading = _this.loading; + }, this.throttle); + } else { + this.uiLoading = loading; + } + }, + + immediate: true + } + }, + data: function data() { + return { + uiLoading: this.throttle <= 0 ? this.loading : false + }; + } +}); +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_skeleton_srcvue_type_script_lang_js_ = (skeleton_srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue + + + + + +/* normalize component */ + +var skeleton_src_component = normalizeComponent( + packages_skeleton_srcvue_type_script_lang_js_, + srcvue_type_template_id_7f659269_render, + srcvue_type_template_id_7f659269_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var skeleton_src_api; } +skeleton_src_component.options.__file = "packages/skeleton/src/index.vue" +/* harmony default export */ var skeleton_src = (skeleton_src_component.exports); +// CONCATENATED MODULE: ./packages/skeleton/index.js + + +/* istanbul ignore next */ +skeleton_src.install = function (Vue) { + Vue.component(skeleton_src.name, skeleton_src); +}; + +/* harmony default export */ var skeleton = (skeleton_src); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c& +var itemvue_type_template_id_4bc8804c_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { class: ["el-skeleton__item", "el-skeleton__" + _vm.variant] }, + [_vm.variant === "image" ? _c("img-placeholder") : _vm._e()], + 1 + ) +} +var itemvue_type_template_id_4bc8804c_staticRenderFns = [] +itemvue_type_template_id_4bc8804c_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0& +var img_placeholdervue_type_template_id_1b2cb5c0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { + attrs: { viewBox: "0 0 1024 1024", xmlns: "http://www.w3.org/2000/svg" } + }, + [ + _c("path", { + attrs: { + d: + "M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z" + } + }) + ] + ) +} +var img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns = [] +img_placeholdervue_type_template_id_1b2cb5c0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var img_placeholdervue_type_script_lang_js_ = ({ + name: 'ImgPlaceholder' +}); +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js& + /* harmony default export */ var src_img_placeholdervue_type_script_lang_js_ = (img_placeholdervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue + + + + + +/* normalize component */ + +var img_placeholder_component = normalizeComponent( + src_img_placeholdervue_type_script_lang_js_, + img_placeholdervue_type_template_id_1b2cb5c0_render, + img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var img_placeholder_api; } +img_placeholder_component.options.__file = "packages/skeleton/src/img-placeholder.vue" +/* harmony default export */ var img_placeholder = (img_placeholder_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=script&lang=js& +var _components; + +// +// +// +// +// +// + + + +/* harmony default export */ var skeleton_src_itemvue_type_script_lang_js_ = ({ + name: 'ElSkeletonItem', + props: { + variant: { + type: String, + default: 'text' + } + }, + components: (_components = {}, _components[img_placeholder.name] = img_placeholder, _components) +}); +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_skeleton_src_itemvue_type_script_lang_js_ = (skeleton_src_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue + + + + + +/* normalize component */ + +var skeleton_src_item_component = normalizeComponent( + packages_skeleton_src_itemvue_type_script_lang_js_, + itemvue_type_template_id_4bc8804c_render, + itemvue_type_template_id_4bc8804c_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var skeleton_src_item_api; } +skeleton_src_item_component.options.__file = "packages/skeleton/src/item.vue" +/* harmony default export */ var skeleton_src_item = (skeleton_src_item_component.exports); +// CONCATENATED MODULE: ./packages/skeleton-item/index.js + + +/* istanbul ignore next */ +skeleton_src_item.install = function (Vue) { + Vue.component(skeleton_src_item.name, skeleton_src_item); +}; + +/* harmony default export */ var skeleton_item = (skeleton_src_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=template&id=347ced91& +var srcvue_type_template_id_347ced91_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-empty" }, [ + _c( + "div", + { staticClass: "el-empty__image", style: _vm.imageStyle }, + [ + _vm.image + ? _c("img", { + attrs: { src: _vm.image, ondragstart: "return false" } + }) + : _vm._t("image", [_c("img-empty")]) + ], + 2 + ), + _c( + "div", + { staticClass: "el-empty__description" }, + [ + _vm.$slots.description + ? _vm._t("description") + : _c("p", [_vm._v(_vm._s(_vm.emptyDescription))]) + ], + 2 + ), + _vm.$slots.default + ? _c("div", { staticClass: "el-empty__bottom" }, [_vm._t("default")], 2) + : _vm._e() + ]) +} +var srcvue_type_template_id_347ced91_staticRenderFns = [] +srcvue_type_template_id_347ced91_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=template&id=347ced91& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82& +var img_emptyvue_type_template_id_42918b82_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { + attrs: { + viewBox: "0 0 79 86", + version: "1.1", + xmlns: "http://www.w3.org/2000/svg", + "xmlns:xlink": "http://www.w3.org/1999/xlink" + } + }, + [ + _c( + "defs", + [ + _c( + "linearGradient", + { + attrs: { + id: "linearGradient-1-" + _vm.id, + x1: "38.8503086%", + y1: "0%", + x2: "61.1496914%", + y2: "100%" + } + }, + [ + _c("stop", { attrs: { "stop-color": "#FCFCFD", offset: "0%" } }), + _c("stop", { attrs: { "stop-color": "#EEEFF3", offset: "100%" } }) + ], + 1 + ), + _c( + "linearGradient", + { + attrs: { + id: "linearGradient-2-" + _vm.id, + x1: "0%", + y1: "9.5%", + x2: "100%", + y2: "90.5%" + } + }, + [ + _c("stop", { attrs: { "stop-color": "#FCFCFD", offset: "0%" } }), + _c("stop", { attrs: { "stop-color": "#E9EBEF", offset: "100%" } }) + ], + 1 + ), + _c("rect", { + attrs: { + id: "path-3-" + _vm.id, + x: "0", + y: "0", + width: "17", + height: "36" + } + }) + ], + 1 + ), + _c( + "g", + { + attrs: { + id: "Illustrations", + stroke: "none", + "stroke-width": "1", + fill: "none", + "fill-rule": "evenodd" + } + }, + [ + _c( + "g", + { + attrs: { + id: "B-type", + transform: "translate(-1268.000000, -535.000000)" + } + }, + [ + _c( + "g", + { + attrs: { + id: "Group-2", + transform: "translate(1268.000000, 535.000000)" + } + }, + [ + _c("path", { + attrs: { + id: "Oval-Copy-2", + d: + "M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z", + fill: "#F7F8FC" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-14", + fill: "#E5E7E9", + transform: + "translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ", + points: "13 58 53 58 42 45 2 45" + } + }), + _c( + "g", + { + attrs: { + id: "Group-Copy", + transform: + "translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)" + } + }, + [ + _c("polygon", { + attrs: { + id: "Rectangle-Copy-10", + fill: "#E5E7E9", + transform: + "translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ", + points: "2.84078316e-14 3 18 3 23 7 5 7" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-11", + fill: "#EDEEF2", + points: + "-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43" + } + }), + _c("rect", { + attrs: { + id: "Rectangle-Copy-12", + fill: "url(#linearGradient-1-" + _vm.id + ")", + transform: + "translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ", + x: "38", + y: "7", + width: "17", + height: "36" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-13", + fill: "#F8F9FB", + transform: + "translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ", + points: + "24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12" + } + }) + ] + ), + _c("rect", { + attrs: { + id: "Rectangle-Copy-15", + fill: "url(#linearGradient-2-" + _vm.id + ")", + x: "13", + y: "45", + width: "40", + height: "36" + } + }), + _c( + "g", + { + attrs: { + id: "Rectangle-Copy-17", + transform: "translate(53.000000, 45.000000)" + } + }, + [ + _c( + "mask", + { attrs: { id: "mask-4-" + _vm.id, fill: "white" } }, + [ + _c("use", { + attrs: { "xlink:href": "#path-3-" + _vm.id } + }) + ] + ), + _c("use", { + attrs: { + id: "Mask", + fill: "#E0E3E9", + transform: + "translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ", + "xlink:href": "#path-3-" + _vm.id + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy", + fill: "#D5D7DE", + mask: "url(#mask-4-" + _vm.id + ")", + transform: + "translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ", + points: "7 0 24 0 20 18 -1.70530257e-13 16" + } + }) + ] + ), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-18", + fill: "#F8F9FB", + transform: + "translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ", + points: "62 45 79 45 70 58 53 58" + } + }) + ] + ) + ] + ) + ] + ) + ] + ) +} +var img_emptyvue_type_template_id_42918b82_staticRenderFns = [] +img_emptyvue_type_template_id_42918b82_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var img_emptyvue_type_script_lang_js_id = 0; +/* harmony default export */ var img_emptyvue_type_script_lang_js_ = ({ + name: 'ImgEmpty', + data: function data() { + return { + id: ++img_emptyvue_type_script_lang_js_id + }; + } +}); +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=script&lang=js& + /* harmony default export */ var src_img_emptyvue_type_script_lang_js_ = (img_emptyvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue + + + + + +/* normalize component */ + +var img_empty_component = normalizeComponent( + src_img_emptyvue_type_script_lang_js_, + img_emptyvue_type_template_id_42918b82_render, + img_emptyvue_type_template_id_42918b82_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var img_empty_api; } +img_empty_component.options.__file = "packages/empty/src/img-empty.vue" +/* harmony default export */ var img_empty = (img_empty_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=script&lang=js& +var srcvue_type_script_lang_js_components; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var empty_srcvue_type_script_lang_js_ = ({ + name: 'ElEmpty', + components: (srcvue_type_script_lang_js_components = {}, srcvue_type_script_lang_js_components[img_empty.name] = img_empty, srcvue_type_script_lang_js_components), + props: { + image: { + type: String, + default: '' + }, + imageSize: Number, + description: { + type: String, + default: '' + } + }, + computed: { + emptyDescription: function emptyDescription() { + return this.description || Object(lib_locale_["t"])('el.empty.description'); + }, + imageStyle: function imageStyle() { + return { + width: this.imageSize ? this.imageSize + 'px' : '' + }; + } + } +}); +// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_empty_srcvue_type_script_lang_js_ = (empty_srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/empty/src/index.vue + + + + + +/* normalize component */ + +var empty_src_component = normalizeComponent( + packages_empty_srcvue_type_script_lang_js_, + srcvue_type_template_id_347ced91_render, + srcvue_type_template_id_347ced91_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var empty_src_api; } +empty_src_component.options.__file = "packages/empty/src/index.vue" +/* harmony default export */ var empty_src = (empty_src_component.exports); +// CONCATENATED MODULE: ./packages/empty/index.js + + +empty_src.install = function (Vue) { + Vue.component(empty_src.name, empty_src); +}; + +/* harmony default export */ var empty = (empty_src); +// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-row.js +var descriptions_row_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +/* harmony default export */ var descriptions_row = ({ + name: 'ElDescriptionsRow', + props: { + row: { + type: Array + } + }, + inject: ['elDescriptions'], + render: function render(h) { + var elDescriptions = this.elDescriptions; + + var row = (this.row || []).map(function (item) { + return descriptions_row_extends({}, item, { + label: item.slots.label || item.props.label + }, ['labelClassName', 'contentClassName', 'labelStyle', 'contentStyle'].reduce(function (res, key) { + res[key] = item.props[key] || elDescriptions[key]; + return res; + }, {})); + }); + if (elDescriptions.direction === 'vertical') { + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref; + + return h( + 'th', + { + 'class': (_ref = { + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.border ? false : elDescriptions.colon, + 'is-bordered-label': elDescriptions.border + }, _ref[item.labelClassName] = true, _ref), + style: item.labelStyle, + attrs: { colSpan: item.props.span + } + }, + [item.label] + ); + })] + ), h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + return h( + 'td', + { + 'class': ['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName], + style: item.contentStyle, + attrs: { colSpan: item.props.span + } + }, + [item.slots.default] + ); + })] + )]); + } + if (elDescriptions.border) { + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref2; + + return [h( + 'th', + { + 'class': (_ref2 = { + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'is-bordered-label': elDescriptions.border + }, _ref2[item.labelClassName] = true, _ref2), + style: item.labelStyle, + attrs: { colSpan: '1' + } + }, + [item.label] + ), h( + 'td', + { + 'class': ['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName], + style: item.contentStyle, + attrs: { colSpan: item.props.span * 2 - 1 + } + }, + [item.slots.default] + )]; + })] + )]); + } + return h('tbody', [h( + 'tr', + { 'class': 'el-descriptions-row' }, + [row.map(function (item) { + var _ref3; + + return h( + 'td', + { 'class': 'el-descriptions-item el-descriptions-item__cell', attrs: { colSpan: item.props.span } + }, + [h( + 'div', + { 'class': 'el-descriptions-item__container' }, + [h( + 'span', + { + 'class': (_ref3 = { + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.colon + }, _ref3[item.labelClassName] = true, _ref3), + style: item.labelStyle + }, + [item.label] + ), h( + 'span', + { + 'class': ['el-descriptions-item__content', item.contentClassName], + style: item.contentStyle + }, + [item.slots.default] + )] + )] + ); + })] + )]); + } +}); +// CONCATENATED MODULE: ./packages/descriptions/src/index.js +var src_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var src_components; + + + + +/* harmony default export */ var descriptions_src = ({ + name: 'ElDescriptions', + components: (src_components = {}, src_components[descriptions_row.name] = descriptions_row, src_components), + props: { + border: { + type: Boolean, + default: false + }, + column: { + type: Number, + default: 3 + }, + direction: { + type: String, + default: 'horizontal' + }, + size: { + type: String + // validator: isValidComponentSize, + }, + title: { + type: String, + default: '' + }, + extra: { + type: String, + default: '' + }, + labelStyle: { + type: Object + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + contentClassName: { + type: String, + default: '' + }, + colon: { + type: Boolean, + default: true + } + }, + computed: { + descriptionsSize: function descriptionsSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + provide: function provide() { + return { + elDescriptions: this + }; + }, + + methods: { + getOptionProps: function getOptionProps(vnode) { + if (vnode.componentOptions) { + var componentOptions = vnode.componentOptions; + var _componentOptions$pro = componentOptions.propsData, + propsData = _componentOptions$pro === undefined ? {} : _componentOptions$pro, + _componentOptions$Cto = componentOptions.Ctor, + Ctor = _componentOptions$Cto === undefined ? {} : _componentOptions$Cto; + + var props = (Ctor.options || {}).props || {}; + var res = {}; + for (var k in props) { + var v = props[k]; + var defaultValue = v.default; + if (defaultValue !== undefined) { + res[k] = Object(types_["isFunction"])(defaultValue) ? defaultValue.call(vnode) : defaultValue; + } + } + return src_extends({}, res, propsData); + } + return {}; + }, + getSlots: function getSlots(vnode) { + var _this = this; + + var componentOptions = vnode.componentOptions || {}; + var children = vnode.children || componentOptions.children || []; + var slots = {}; + children.forEach(function (child) { + if (!_this.isEmptyElement(child)) { + var name = child.data && child.data.slot || 'default'; + slots[name] = slots[name] || []; + if (child.tag === 'template') { + slots[name].push(child.children); + } else { + slots[name].push(child); + } + } + }); + return src_extends({}, slots); + }, + isEmptyElement: function isEmptyElement(c) { + return !(c.tag || c.text && c.text.trim() !== ''); + }, + filledNode: function filledNode(node, span, count) { + var isLast = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + + if (!node.props) { + node.props = {}; + } + if (span > count) { + node.props.span = count; + } + if (isLast) { + // set the max span, cause of the last td + node.props.span = count; + } + return node; + }, + getRows: function getRows() { + var _this2 = this; + + var children = (this.$slots.default || []).filter(function (vnode) { + return vnode.tag && vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElDescriptionsItem'; + }); + var nodes = children.map(function (vnode) { + return { + props: _this2.getOptionProps(vnode), + slots: _this2.getSlots(vnode), + vnode: vnode + }; + }); + var rows = []; + var temp = []; + var count = this.column; + + nodes.forEach(function (node, index) { + var span = node.props.span || 1; + + if (index === children.length - 1) { + temp.push(_this2.filledNode(node, span, count, true)); + rows.push(temp); + return; + } + + if (span < count) { + count -= span; + temp.push(node); + } else { + temp.push(_this2.filledNode(node, span, count)); + rows.push(temp); + count = _this2.column; + temp = []; + } + }); + + return rows; + } + }, + render: function render() { + var h = arguments[0]; + var title = this.title, + extra = this.extra, + border = this.border, + descriptionsSize = this.descriptionsSize, + $slots = this.$slots; + + var rows = this.getRows(); + + return h( + 'div', + { 'class': 'el-descriptions' }, + [title || extra || $slots.title || $slots.extra ? h( + 'div', + { 'class': 'el-descriptions__header' }, + [h( + 'div', + { 'class': 'el-descriptions__title' }, + [$slots.title ? $slots.title : title] + ), h( + 'div', + { 'class': 'el-descriptions__extra' }, + [$slots.extra ? $slots.extra : extra] + )] + ) : null, h( + 'div', + { 'class': 'el-descriptions__body' }, + [h( + 'table', + { 'class': ['el-descriptions__table', { 'is-bordered': border }, descriptionsSize ? 'el-descriptions--' + descriptionsSize : ''] }, + [rows.map(function (row) { + return h(descriptions_row, { + attrs: { row: row } + }); + })] + )] + )] + ); + } +}); +// CONCATENATED MODULE: ./packages/descriptions/index.js + + +/* istanbul ignore next */ +descriptions_src.install = function install(Vue) { + Vue.component(descriptions_src.name, descriptions_src); +}; + +/* harmony default export */ var descriptions = (descriptions_src); +// CONCATENATED MODULE: ./packages/descriptions/src/descriptions-item.js +/* harmony default export */ var descriptions_item = ({ + name: 'ElDescriptionsItem', + props: { + label: { + type: String, + default: '' + }, + span: { + type: Number, + default: 1 + }, + contentClassName: { + type: String, + default: '' + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + labelStyle: { + type: Object + } + }, + render: function render() { + return null; + } +}); +// CONCATENATED MODULE: ./packages/descriptions-item/index.js + + +/* istanbul ignore next */ +descriptions_item.install = function install(Vue) { + Vue.component(descriptions_item.name, descriptions_item); +}; + +/* harmony default export */ var packages_descriptions_item = (descriptions_item); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=template&id=3408b139& +var srcvue_type_template_id_3408b139_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-result" }, [ + _c( + "div", + { staticClass: "el-result__icon" }, + [ + _vm._t("icon", [ + _c(_vm.iconElement, { tag: "component", class: _vm.iconElement }) + ]) + ], + 2 + ), + _vm.title || _vm.$slots.title + ? _c( + "div", + { staticClass: "el-result__title" }, + [_vm._t("title", [_c("p", [_vm._v(_vm._s(_vm.title))])])], + 2 + ) + : _vm._e(), + _vm.subTitle || _vm.$slots.subTitle + ? _c( + "div", + { staticClass: "el-result__subtitle" }, + [_vm._t("subTitle", [_c("p", [_vm._v(_vm._s(_vm.subTitle))])])], + 2 + ) + : _vm._e(), + _vm.$slots.extra + ? _c("div", { staticClass: "el-result__extra" }, [_vm._t("extra")], 2) + : _vm._e() + ]) +} +var srcvue_type_template_id_3408b139_staticRenderFns = [] +srcvue_type_template_id_3408b139_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=template&id=3408b139& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=template&id=18119418& +var icon_successvue_type_template_id_18119418_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M34.5548098,16.4485711 C33.9612228,15.8504763 32.9988282,15.8504763 32.4052412,16.4485711 L32.4052412,16.4485711 L21.413757,27.5805811 L21.413757,27.5805811 L21.4034642,27.590855 C21.0097542,27.9781674 20.3766105,27.9729811 19.9892981,27.5792711 L19.9892981,27.5792711 L15.5947588,23.1121428 C15.0011718,22.514048 14.0387772,22.514048 13.4451902,23.1121428 C12.8516033,23.7102376 12.8516033,24.6799409 13.4451902,25.2780357 L13.4451902,25.2780357 L19.6260786,31.5514289 C20.2196656,32.1495237 21.1820602,32.1495237 21.7756472,31.5514289 L21.7756472,31.5514289 L34.5548098,18.614464 C35.1483967,18.0163692 35.1483967,17.0466659 34.5548098,16.4485711 Z" + } + }) + ] + ) +} +var icon_successvue_type_template_id_18119418_staticRenderFns = [] +icon_successvue_type_template_id_18119418_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=template&id=18119418& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + +/* harmony default export */ var icon_successvue_type_script_lang_js_ = ({ + name: 'IconSuccess' +}); +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=script&lang=js& + /* harmony default export */ var src_icon_successvue_type_script_lang_js_ = (icon_successvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue + + + + + +/* normalize component */ + +var icon_success_component = normalizeComponent( + src_icon_successvue_type_script_lang_js_, + icon_successvue_type_template_id_18119418_render, + icon_successvue_type_template_id_18119418_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_success_api; } +icon_success_component.options.__file = "packages/result/src/icon-success.vue" +/* harmony default export */ var icon_success = (icon_success_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=template&id=21199246& +var icon_errorvue_type_template_id_21199246_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.57818,15.42182 C32.0157534,14.8593933 31.1038797,14.8593933 30.541453,15.42182 L30.541453,15.42182 L24.0006789,21.9625941 L17.458547,15.42182 C16.8961203,14.8593933 15.9842466,14.8593933 15.42182,15.42182 C14.8593933,15.9842466 14.8593933,16.8961203 15.42182,17.458547 L15.42182,17.458547 L21.9639519,23.9993211 L15.42182,30.541453 C14.8593933,31.1038797 14.8593933,32.0157534 15.42182,32.57818 C15.9842466,33.1406067 16.8961203,33.1406067 17.458547,32.57818 L17.458547,32.57818 L24.0006789,26.0360481 L30.541453,32.57818 C31.1038797,33.1406067 32.0157534,33.1406067 32.57818,32.57818 C33.1406067,32.0157534 33.1406067,31.1038797 32.57818,30.541453 L32.57818,30.541453 L26.0374059,23.9993211 L32.57818,17.458547 C33.1406067,16.8961203 33.1406067,15.9842466 32.57818,15.42182 Z" + } + }) + ] + ) +} +var icon_errorvue_type_template_id_21199246_staticRenderFns = [] +icon_errorvue_type_template_id_21199246_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=template&id=21199246& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + +/* harmony default export */ var icon_errorvue_type_script_lang_js_ = ({ + name: 'IconError' +}); +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=script&lang=js& + /* harmony default export */ var src_icon_errorvue_type_script_lang_js_ = (icon_errorvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue + + + + + +/* normalize component */ + +var icon_error_component = normalizeComponent( + src_icon_errorvue_type_script_lang_js_, + icon_errorvue_type_template_id_21199246_render, + icon_errorvue_type_template_id_21199246_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_error_api; } +icon_error_component.options.__file = "packages/result/src/icon-error.vue" +/* harmony default export */ var icon_error = (icon_error_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31& +var icon_warningvue_type_template_id_46fe8f31_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,31 C22.8954305,31 22,31.8954305 22,33 C22,34.1045695 22.8954305,35 24,35 C25.1045695,35 26,34.1045695 26,33 C26,31.8954305 25.1045695,31 24,31 Z M24,14 C23.1715729,14 22.5,14.6715729 22.5,15.5 L22.5,15.5 L22.5,27.5 C22.5,28.3284271 23.1715729,29 24,29 C24.8284271,29 25.5,28.3284271 25.5,27.5 L25.5,27.5 L25.5,15.5 C25.5,14.6715729 24.8284271,14 24,14 Z" + } + }) + ] + ) +} +var icon_warningvue_type_template_id_46fe8f31_staticRenderFns = [] +icon_warningvue_type_template_id_46fe8f31_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=script&lang=ts& + + + + + + + + + +/* harmony default export */ var icon_warningvue_type_script_lang_ts_ = ({ + name: 'IconWarning' +}); + +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=script&lang=ts& + /* harmony default export */ var src_icon_warningvue_type_script_lang_ts_ = (icon_warningvue_type_script_lang_ts_); +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue + + + + + +/* normalize component */ + +var icon_warning_component = normalizeComponent( + src_icon_warningvue_type_script_lang_ts_, + icon_warningvue_type_template_id_46fe8f31_render, + icon_warningvue_type_template_id_46fe8f31_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_warning_api; } +icon_warning_component.options.__file = "packages/result/src/icon-warning.vue" +/* harmony default export */ var icon_warning = (icon_warning_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69& +var icon_infovue_type_template_id_19e3de69_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,19 L21,19 C20.1715729,19 19.5,19.6715729 19.5,20.5 C19.5,21.3284271 20.1715729,22 21,22 L21,22 L22.5,22 L22.5,31 L21,31 C20.1715729,31 19.5,31.6715729 19.5,32.5 C19.5,33.3284271 20.1715729,34 21,34 L21,34 L27,34 C27.8284271,34 28.5,33.3284271 28.5,32.5 C28.5,31.6715729 27.8284271,31 27,31 L27,31 L25.5,31 L25.5,20.5 C25.5,19.6715729 24.8284271,19 24,19 L24,19 Z M24,13 C22.8954305,13 22,13.8954305 22,15 C22,16.1045695 22.8954305,17 24,17 C25.1045695,17 26,16.1045695 26,15 C26,13.8954305 25.1045695,13 24,13 Z" + } + }) + ] + ) +} +var icon_infovue_type_template_id_19e3de69_staticRenderFns = [] +icon_infovue_type_template_id_19e3de69_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=script&lang=ts& + + + + + + + + + +/* harmony default export */ var icon_infovue_type_script_lang_ts_ = ({ + name: 'IconInfo' +}); + +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=script&lang=ts& + /* harmony default export */ var src_icon_infovue_type_script_lang_ts_ = (icon_infovue_type_script_lang_ts_); +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue + + + + + +/* normalize component */ + +var icon_info_component = normalizeComponent( + src_icon_infovue_type_script_lang_ts_, + icon_infovue_type_template_id_19e3de69_render, + icon_infovue_type_template_id_19e3de69_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_info_api; } +icon_info_component.options.__file = "packages/result/src/icon-info.vue" +/* harmony default export */ var icon_info = (icon_info_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=script&lang=js& +var result_srcvue_type_script_lang_js_components; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +var IconMap = { + success: 'icon-success', + warning: 'icon-warning', + error: 'icon-error', + info: 'icon-info' +}; + +/* harmony default export */ var result_srcvue_type_script_lang_js_ = ({ + name: 'ElResult', + components: (result_srcvue_type_script_lang_js_components = {}, result_srcvue_type_script_lang_js_components[icon_success.name] = icon_success, result_srcvue_type_script_lang_js_components[icon_error.name] = icon_error, result_srcvue_type_script_lang_js_components[icon_warning.name] = icon_warning, result_srcvue_type_script_lang_js_components[icon_info.name] = icon_info, result_srcvue_type_script_lang_js_components), + props: { + title: { + type: String, + default: '' + }, + subTitle: { + type: String, + default: '' + }, + icon: { + type: String, + default: 'info' + } + }, + computed: { + iconElement: function iconElement() { + var icon = this.icon; + return icon && IconMap[icon] ? IconMap[icon] : 'icon-info'; + } + } +}); +// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var packages_result_srcvue_type_script_lang_js_ = (result_srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/result/src/index.vue + + + + + +/* normalize component */ + +var result_src_component = normalizeComponent( + packages_result_srcvue_type_script_lang_js_, + srcvue_type_template_id_3408b139_render, + srcvue_type_template_id_3408b139_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var result_src_api; } +result_src_component.options.__file = "packages/result/src/index.vue" +/* harmony default export */ var result_src = (result_src_component.exports); +// CONCATENATED MODULE: ./packages/result/index.js + + +/* istanbul ignore next */ +result_src.install = function (Vue) { + Vue.component(result_src.name, result_src); +}; + +/* harmony default export */ var packages_result = (result_src); +// CONCATENATED MODULE: ./src/index.js +/* Automatically generated by './build/bin/build-entry.js' */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var components = [packages_pagination, dialog, packages_autocomplete, packages_dropdown, packages_dropdown_menu, packages_dropdown_item, packages_menu, packages_submenu, packages_menu_item, packages_menu_item_group, packages_input, packages_input_number, packages_radio, packages_radio_group, packages_radio_button, packages_checkbox, packages_checkbox_button, packages_checkbox_group, packages_switch, packages_select, packages_option, packages_option_group, packages_button, packages_button_group, packages_table, packages_table_column, packages_date_picker, packages_time_select, packages_time_picker, popover, packages_tooltip, packages_breadcrumb, packages_breadcrumb_item, packages_form, packages_form_item, packages_tabs, packages_tab_pane, packages_tag, packages_tree, packages_alert, slider, packages_icon, packages_row, packages_col, packages_upload, packages_progress, packages_spinner, badge, card, packages_rate, packages_steps, packages_step, carousel, scrollbar, carousel_item, packages_collapse, packages_collapse_item, packages_cascader, color_picker, transfer, packages_container, header, aside, packages_main, footer, timeline, timeline_item, packages_link, divider, packages_image, calendar, backtop, page_header, packages_cascader_panel, avatar, drawer, statistic, popconfirm, skeleton, skeleton_item, empty, descriptions, packages_descriptions_item, packages_result, collapse_transition_default.a]; + +var src_install = function install(Vue) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + lib_locale_default.a.use(opts.locale); + lib_locale_default.a.i18n(opts.i18n); + + components.forEach(function (component) { + Vue.component(component.name, component); + }); + + Vue.use(infinite_scroll); + Vue.use(packages_loading.directive); + + Vue.prototype.$ELEMENT = { + size: opts.size || '', + zIndex: opts.zIndex || 2000 + }; + + Vue.prototype.$loading = packages_loading.service; + Vue.prototype.$msgbox = message_box; + Vue.prototype.$alert = message_box.alert; + Vue.prototype.$confirm = message_box.confirm; + Vue.prototype.$prompt = message_box.prompt; + Vue.prototype.$notify = notification; + Vue.prototype.$message = packages_message; +}; + +/* istanbul ignore if */ +if (typeof window !== 'undefined' && window.Vue) { + src_install(window.Vue); +} + +/* harmony default export */ var src_0 = __webpack_exports__["default"] = ({ + version: '2.15.13', + locale: lib_locale_default.a.use, + i18n: lib_locale_default.a.i18n, + install: src_install, + CollapseTransition: collapse_transition_default.a, + Loading: packages_loading, + Pagination: packages_pagination, + Dialog: dialog, + Autocomplete: packages_autocomplete, + Dropdown: packages_dropdown, + DropdownMenu: packages_dropdown_menu, + DropdownItem: packages_dropdown_item, + Menu: packages_menu, + Submenu: packages_submenu, + MenuItem: packages_menu_item, + MenuItemGroup: packages_menu_item_group, + Input: packages_input, + InputNumber: packages_input_number, + Radio: packages_radio, + RadioGroup: packages_radio_group, + RadioButton: packages_radio_button, + Checkbox: packages_checkbox, + CheckboxButton: packages_checkbox_button, + CheckboxGroup: packages_checkbox_group, + Switch: packages_switch, + Select: packages_select, + Option: packages_option, + OptionGroup: packages_option_group, + Button: packages_button, + ButtonGroup: packages_button_group, + Table: packages_table, + TableColumn: packages_table_column, + DatePicker: packages_date_picker, + TimeSelect: packages_time_select, + TimePicker: packages_time_picker, + Popover: popover, + Tooltip: packages_tooltip, + MessageBox: message_box, + Breadcrumb: packages_breadcrumb, + BreadcrumbItem: packages_breadcrumb_item, + Form: packages_form, + FormItem: packages_form_item, + Tabs: packages_tabs, + TabPane: packages_tab_pane, + Tag: packages_tag, + Tree: packages_tree, + Alert: packages_alert, + Notification: notification, + Slider: slider, + Icon: packages_icon, + Row: packages_row, + Col: packages_col, + Upload: packages_upload, + Progress: packages_progress, + Spinner: packages_spinner, + Message: packages_message, + Badge: badge, + Card: card, + Rate: packages_rate, + Steps: packages_steps, + Step: packages_step, + Carousel: carousel, + Scrollbar: scrollbar, + CarouselItem: carousel_item, + Collapse: packages_collapse, + CollapseItem: packages_collapse_item, + Cascader: packages_cascader, + ColorPicker: color_picker, + Transfer: transfer, + Container: packages_container, + Header: header, + Aside: aside, + Main: packages_main, + Footer: footer, + Timeline: timeline, + TimelineItem: timeline_item, + Link: packages_link, + Divider: divider, + Image: packages_image, + Calendar: calendar, + Backtop: backtop, + InfiniteScroll: infinite_scroll, + PageHeader: page_header, + CascaderPanel: packages_cascader_panel, + Avatar: avatar, + Drawer: drawer, + Statistic: statistic, + Popconfirm: popconfirm, + Skeleton: skeleton, + SkeletonItem: skeleton_item, + Empty: empty, + Descriptions: descriptions, + DescriptionsItem: packages_descriptions_item, + Result: packages_result +}); + +/***/ }) +/******/ ])["default"]; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/empty.js b/PAMapp/local_modules/element-ui/lib/empty.js new file mode 100644 index 0000000..96e98f8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/empty.js @@ -0,0 +1,729 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 69); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), + +/***/ 69: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=template&id=347ced91& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-empty" }, [ + _c( + "div", + { staticClass: "el-empty__image", style: _vm.imageStyle }, + [ + _vm.image + ? _c("img", { + attrs: { src: _vm.image, ondragstart: "return false" } + }) + : _vm._t("image", [_c("img-empty")]) + ], + 2 + ), + _c( + "div", + { staticClass: "el-empty__description" }, + [ + _vm.$slots.description + ? _vm._t("description") + : _c("p", [_vm._v(_vm._s(_vm.emptyDescription))]) + ], + 2 + ), + _vm.$slots.default + ? _c("div", { staticClass: "el-empty__bottom" }, [_vm._t("default")], 2) + : _vm._e() + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=template&id=347ced91& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82& +var img_emptyvue_type_template_id_42918b82_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { + attrs: { + viewBox: "0 0 79 86", + version: "1.1", + xmlns: "http://www.w3.org/2000/svg", + "xmlns:xlink": "http://www.w3.org/1999/xlink" + } + }, + [ + _c( + "defs", + [ + _c( + "linearGradient", + { + attrs: { + id: "linearGradient-1-" + _vm.id, + x1: "38.8503086%", + y1: "0%", + x2: "61.1496914%", + y2: "100%" + } + }, + [ + _c("stop", { attrs: { "stop-color": "#FCFCFD", offset: "0%" } }), + _c("stop", { attrs: { "stop-color": "#EEEFF3", offset: "100%" } }) + ], + 1 + ), + _c( + "linearGradient", + { + attrs: { + id: "linearGradient-2-" + _vm.id, + x1: "0%", + y1: "9.5%", + x2: "100%", + y2: "90.5%" + } + }, + [ + _c("stop", { attrs: { "stop-color": "#FCFCFD", offset: "0%" } }), + _c("stop", { attrs: { "stop-color": "#E9EBEF", offset: "100%" } }) + ], + 1 + ), + _c("rect", { + attrs: { + id: "path-3-" + _vm.id, + x: "0", + y: "0", + width: "17", + height: "36" + } + }) + ], + 1 + ), + _c( + "g", + { + attrs: { + id: "Illustrations", + stroke: "none", + "stroke-width": "1", + fill: "none", + "fill-rule": "evenodd" + } + }, + [ + _c( + "g", + { + attrs: { + id: "B-type", + transform: "translate(-1268.000000, -535.000000)" + } + }, + [ + _c( + "g", + { + attrs: { + id: "Group-2", + transform: "translate(1268.000000, 535.000000)" + } + }, + [ + _c("path", { + attrs: { + id: "Oval-Copy-2", + d: + "M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z", + fill: "#F7F8FC" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-14", + fill: "#E5E7E9", + transform: + "translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ", + points: "13 58 53 58 42 45 2 45" + } + }), + _c( + "g", + { + attrs: { + id: "Group-Copy", + transform: + "translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)" + } + }, + [ + _c("polygon", { + attrs: { + id: "Rectangle-Copy-10", + fill: "#E5E7E9", + transform: + "translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ", + points: "2.84078316e-14 3 18 3 23 7 5 7" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-11", + fill: "#EDEEF2", + points: + "-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43" + } + }), + _c("rect", { + attrs: { + id: "Rectangle-Copy-12", + fill: "url(#linearGradient-1-" + _vm.id + ")", + transform: + "translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ", + x: "38", + y: "7", + width: "17", + height: "36" + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-13", + fill: "#F8F9FB", + transform: + "translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ", + points: + "24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12" + } + }) + ] + ), + _c("rect", { + attrs: { + id: "Rectangle-Copy-15", + fill: "url(#linearGradient-2-" + _vm.id + ")", + x: "13", + y: "45", + width: "40", + height: "36" + } + }), + _c( + "g", + { + attrs: { + id: "Rectangle-Copy-17", + transform: "translate(53.000000, 45.000000)" + } + }, + [ + _c( + "mask", + { attrs: { id: "mask-4-" + _vm.id, fill: "white" } }, + [ + _c("use", { + attrs: { "xlink:href": "#path-3-" + _vm.id } + }) + ] + ), + _c("use", { + attrs: { + id: "Mask", + fill: "#E0E3E9", + transform: + "translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ", + "xlink:href": "#path-3-" + _vm.id + } + }), + _c("polygon", { + attrs: { + id: "Rectangle-Copy", + fill: "#D5D7DE", + mask: "url(#mask-4-" + _vm.id + ")", + transform: + "translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ", + points: "7 0 24 0 20 18 -1.70530257e-13 16" + } + }) + ] + ), + _c("polygon", { + attrs: { + id: "Rectangle-Copy-18", + fill: "#F8F9FB", + transform: + "translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ", + points: "62 45 79 45 70 58 53 58" + } + }) + ] + ) + ] + ) + ] + ) + ] + ) +} +var img_emptyvue_type_template_id_42918b82_staticRenderFns = [] +img_emptyvue_type_template_id_42918b82_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=template&id=42918b82& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/img-empty.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var id = 0; +/* harmony default export */ var img_emptyvue_type_script_lang_js_ = ({ + name: 'ImgEmpty', + data: function data() { + return { + id: ++id + }; + } +}); +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue?vue&type=script&lang=js& + /* harmony default export */ var src_img_emptyvue_type_script_lang_js_ = (img_emptyvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/empty/src/img-empty.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_img_emptyvue_type_script_lang_js_, + img_emptyvue_type_template_id_42918b82_render, + img_emptyvue_type_template_id_42918b82_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/empty/src/img-empty.vue" +/* harmony default export */ var img_empty = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/locale" +var locale_ = __webpack_require__(20); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/empty/src/index.vue?vue&type=script&lang=js& +var _components; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var srcvue_type_script_lang_js_ = ({ + name: 'ElEmpty', + components: (_components = {}, _components[img_empty.name] = img_empty, _components), + props: { + image: { + type: String, + default: '' + }, + imageSize: Number, + description: { + type: String, + default: '' + } + }, + computed: { + emptyDescription: function emptyDescription() { + return this.description || Object(locale_["t"])('el.empty.description'); + }, + imageStyle: function imageStyle() { + return { + width: this.imageSize ? this.imageSize + 'px' : '' + }; + } + } +}); +// CONCATENATED MODULE: ./packages/empty/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var empty_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/empty/src/index.vue + + + + + +/* normalize component */ + +var src_component = Object(componentNormalizer["a" /* default */])( + empty_srcvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_api; } +src_component.options.__file = "packages/empty/src/index.vue" +/* harmony default export */ var src = (src_component.exports); +// CONCATENATED MODULE: ./packages/empty/index.js + + +src.install = function (Vue) { + Vue.component(src.name, src); +}; + +/* harmony default export */ var empty = __webpack_exports__["default"] = (src); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/footer.js b/PAMapp/local_modules/element-ui/lib/footer.js new file mode 100644 index 0000000..e6fd29f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/footer.js @@ -0,0 +1,276 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 120); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 120: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=template&id=80210338& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "footer", + { staticClass: "el-footer", style: { height: _vm.height } }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=template&id=80210338& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/footer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElFooter', + + componentName: 'ElFooter', + + props: { + height: { + type: String, + default: '60px' + } + } +}); +// CONCATENATED MODULE: ./packages/footer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/footer/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/footer/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/footer/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var footer = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/form-item.js b/PAMapp/local_modules/element-ui/lib/form-item.js new file mode 100644 index 0000000..a0de68f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/form-item.js @@ -0,0 +1,828 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 70); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 49: +/***/ (function(module, exports) { + +module.exports = require("async-validator"); + +/***/ }), + +/***/ 70: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-form-item", + class: [ + { + "el-form-item--feedback": _vm.elForm && _vm.elForm.statusIcon, + "is-error": _vm.validateState === "error", + "is-validating": _vm.validateState === "validating", + "is-success": _vm.validateState === "success", + "is-required": _vm.isRequired || _vm.required, + "is-no-asterisk": _vm.elForm && _vm.elForm.hideRequiredAsterisk + }, + _vm.sizeClass ? "el-form-item--" + _vm.sizeClass : "" + ] + }, + [ + _c( + "label-wrap", + { + attrs: { + "is-auto-width": _vm.labelStyle && _vm.labelStyle.width === "auto", + "update-all": _vm.form.labelWidth === "auto" + } + }, + [ + _vm.label || _vm.$slots.label + ? _c( + "label", + { + staticClass: "el-form-item__label", + style: _vm.labelStyle, + attrs: { for: _vm.labelFor } + }, + [ + _vm._t("label", [ + _vm._v(_vm._s(_vm.label + _vm.form.labelSuffix)) + ]) + ], + 2 + ) + : _vm._e() + ] + ), + _c( + "div", + { staticClass: "el-form-item__content", style: _vm.contentStyle }, + [ + _vm._t("default"), + _c( + "transition", + { attrs: { name: "el-zoom-in-top" } }, + [ + _vm.validateState === "error" && + _vm.showMessage && + _vm.form.showMessage + ? _vm._t( + "error", + [ + _c( + "div", + { + staticClass: "el-form-item__error", + class: { + "el-form-item__error--inline": + typeof _vm.inlineMessage === "boolean" + ? _vm.inlineMessage + : (_vm.elForm && _vm.elForm.inlineMessage) || + false + } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.validateMessage) + + "\n " + ) + ] + ) + ], + { error: _vm.validateMessage } + ) + : _vm._e() + ], + 2 + ) + ], + 2 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=template&id=b6f3db6c& + +// EXTERNAL MODULE: external "async-validator" +var external_async_validator_ = __webpack_require__(49); +var external_async_validator_default = /*#__PURE__*/__webpack_require__.n(external_async_validator_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/label-wrap.vue?vue&type=script&lang=js& + + +/* harmony default export */ var label_wrapvue_type_script_lang_js_ = ({ + props: { + isAutoWidth: Boolean, + updateAll: Boolean + }, + + inject: ['elForm', 'elFormItem'], + + render: function render() { + var h = arguments[0]; + + var slots = this.$slots.default; + if (!slots) return null; + if (this.isAutoWidth) { + var autoLabelWidth = this.elForm.autoLabelWidth; + var style = {}; + if (autoLabelWidth && autoLabelWidth !== 'auto') { + var marginLeft = parseInt(autoLabelWidth, 10) - this.computedWidth; + if (marginLeft) { + style.marginLeft = marginLeft + 'px'; + } + } + return h( + 'div', + { 'class': 'el-form-item__label-wrap', style: style }, + [slots] + ); + } else { + return slots[0]; + } + }, + + + methods: { + getLabelWidth: function getLabelWidth() { + if (this.$el && this.$el.firstElementChild) { + var computedWidth = window.getComputedStyle(this.$el.firstElementChild).width; + return Math.ceil(parseFloat(computedWidth)); + } else { + return 0; + } + }, + updateLabelWidth: function updateLabelWidth() { + var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'update'; + + if (this.$slots.default && this.isAutoWidth && this.$el.firstElementChild) { + if (action === 'update') { + this.computedWidth = this.getLabelWidth(); + } else if (action === 'remove') { + this.elForm.deregisterLabelWidth(this.computedWidth); + } + } + } + }, + + watch: { + computedWidth: function computedWidth(val, oldVal) { + if (this.updateAll) { + this.elForm.registerLabelWidth(val, oldVal); + this.elFormItem.updateComputedLabelWidth(val); + } + } + }, + + data: function data() { + return { + computedWidth: 0 + }; + }, + mounted: function mounted() { + this.updateLabelWidth('update'); + }, + updated: function updated() { + this.updateLabelWidth('update'); + }, + beforeDestroy: function beforeDestroy() { + this.updateLabelWidth('remove'); + } +}); +// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue?vue&type=script&lang=js& + /* harmony default export */ var src_label_wrapvue_type_script_lang_js_ = (label_wrapvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/form/src/label-wrap.vue +var label_wrap_render, label_wrap_staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_label_wrapvue_type_script_lang_js_, + label_wrap_render, + label_wrap_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/form/src/label-wrap.vue" +/* harmony default export */ var label_wrap = (component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var form_itemvue_type_script_lang_js_ = ({ + name: 'ElFormItem', + + componentName: 'ElFormItem', + + mixins: [emitter_default.a], + + provide: function provide() { + return { + elFormItem: this + }; + }, + + + inject: ['elForm'], + + props: { + label: String, + labelWidth: String, + prop: String, + required: { + type: Boolean, + default: undefined + }, + rules: [Object, Array], + error: String, + validateStatus: String, + for: String, + inlineMessage: { + type: [String, Boolean], + default: '' + }, + showMessage: { + type: Boolean, + default: true + }, + size: String + }, + components: { + // use this component to calculate auto width + LabelWrap: label_wrap + }, + watch: { + error: { + immediate: true, + handler: function handler(value) { + this.validateMessage = value; + this.validateState = value ? 'error' : ''; + } + }, + validateStatus: function validateStatus(value) { + this.validateState = value; + }, + rules: function rules(value) { + if ((!value || value.length === 0) && this.required === undefined) { + this.clearValidate(); + } + } + }, + computed: { + labelFor: function labelFor() { + return this.for || this.prop; + }, + labelStyle: function labelStyle() { + var ret = {}; + if (this.form.labelPosition === 'top') return ret; + var labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth) { + ret.width = labelWidth; + } + return ret; + }, + contentStyle: function contentStyle() { + var ret = {}; + var label = this.label; + if (this.form.labelPosition === 'top' || this.form.inline) return ret; + if (!label && !this.labelWidth && this.isNested) return ret; + var labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth === 'auto') { + if (this.labelWidth === 'auto') { + ret.marginLeft = this.computedLabelWidth; + } else if (this.form.labelWidth === 'auto') { + ret.marginLeft = this.elForm.autoLabelWidth; + } + } else { + ret.marginLeft = labelWidth; + } + return ret; + }, + form: function form() { + var parent = this.$parent; + var parentName = parent.$options.componentName; + while (parentName !== 'ElForm') { + if (parentName === 'ElFormItem') { + this.isNested = true; + } + parent = parent.$parent; + parentName = parent.$options.componentName; + } + return parent; + }, + fieldValue: function fieldValue() { + var model = this.form.model; + if (!model || !this.prop) { + return; + } + + var path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + return Object(util_["getPropByPath"])(model, path, true).v; + }, + isRequired: function isRequired() { + var rules = this.getRules(); + var isRequired = false; + + if (rules && rules.length) { + rules.every(function (rule) { + if (rule.required) { + isRequired = true; + return false; + } + return true; + }); + } + return isRequired; + }, + _formSize: function _formSize() { + return this.elForm.size; + }, + elFormItemSize: function elFormItemSize() { + return this.size || this._formSize; + }, + sizeClass: function sizeClass() { + return this.elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + data: function data() { + return { + validateState: '', + validateMessage: '', + validateDisabled: false, + validator: {}, + isNested: false, + computedLabelWidth: '' + }; + }, + + methods: { + validate: function validate(trigger) { + var _this = this; + + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : util_["noop"]; + + this.validateDisabled = false; + var rules = this.getFilteredRule(trigger); + if ((!rules || rules.length === 0) && this.required === undefined) { + callback(); + return true; + } + + this.validateState = 'validating'; + + var descriptor = {}; + if (rules && rules.length > 0) { + rules.forEach(function (rule) { + delete rule.trigger; + }); + } + descriptor[this.prop] = rules; + + var validator = new external_async_validator_default.a(descriptor); + var model = {}; + + model[this.prop] = this.fieldValue; + + validator.validate(model, { firstFields: true }, function (errors, invalidFields) { + _this.validateState = !errors ? 'success' : 'error'; + _this.validateMessage = errors ? errors[0].message : ''; + + callback(_this.validateMessage, invalidFields); + _this.elForm && _this.elForm.$emit('validate', _this.prop, !errors, _this.validateMessage || null); + }); + }, + clearValidate: function clearValidate() { + this.validateState = ''; + this.validateMessage = ''; + this.validateDisabled = false; + }, + resetField: function resetField() { + var _this2 = this; + + this.validateState = ''; + this.validateMessage = ''; + + var model = this.form.model; + var value = this.fieldValue; + var path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + var prop = Object(util_["getPropByPath"])(model, path, true); + + this.validateDisabled = true; + if (Array.isArray(value)) { + prop.o[prop.k] = [].concat(this.initialValue); + } else { + prop.o[prop.k] = this.initialValue; + } + + // reset validateDisabled after onFieldChange triggered + this.$nextTick(function () { + _this2.validateDisabled = false; + }); + + this.broadcast('ElTimeSelect', 'fieldReset', this.initialValue); + }, + getRules: function getRules() { + var formRules = this.form.rules; + var selfRules = this.rules; + var requiredRule = this.required !== undefined ? { required: !!this.required } : []; + + var prop = Object(util_["getPropByPath"])(formRules, this.prop || ''); + formRules = formRules ? prop.o[this.prop || ''] || prop.v : []; + + return [].concat(selfRules || formRules || []).concat(requiredRule); + }, + getFilteredRule: function getFilteredRule(trigger) { + var rules = this.getRules(); + + return rules.filter(function (rule) { + if (!rule.trigger || trigger === '') return true; + if (Array.isArray(rule.trigger)) { + return rule.trigger.indexOf(trigger) > -1; + } else { + return rule.trigger === trigger; + } + }).map(function (rule) { + return merge_default()({}, rule); + }); + }, + onFieldBlur: function onFieldBlur() { + this.validate('blur'); + }, + onFieldChange: function onFieldChange() { + if (this.validateDisabled) { + this.validateDisabled = false; + return; + } + + this.validate('change'); + }, + updateComputedLabelWidth: function updateComputedLabelWidth(width) { + this.computedLabelWidth = width ? width + 'px' : ''; + }, + addValidateEvents: function addValidateEvents() { + var rules = this.getRules(); + + if (rules.length || this.required !== undefined) { + this.$on('el.form.blur', this.onFieldBlur); + this.$on('el.form.change', this.onFieldChange); + } + }, + removeValidateEvents: function removeValidateEvents() { + this.$off(); + } + }, + mounted: function mounted() { + if (this.prop) { + this.dispatch('ElForm', 'el.form.addField', [this]); + + var initialValue = this.fieldValue; + if (Array.isArray(initialValue)) { + initialValue = [].concat(initialValue); + } + Object.defineProperty(this, 'initialValue', { + value: initialValue + }); + + this.addValidateEvents(); + } + }, + beforeDestroy: function beforeDestroy() { + this.dispatch('ElForm', 'el.form.removeField', [this]); + } +}); +// CONCATENATED MODULE: ./packages/form/src/form-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_form_itemvue_type_script_lang_js_ = (form_itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/form/src/form-item.vue + + + + + +/* normalize component */ + +var form_item_component = Object(componentNormalizer["a" /* default */])( + src_form_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var form_item_api; } +form_item_component.options.__file = "packages/form/src/form-item.vue" +/* harmony default export */ var form_item = (form_item_component.exports); +// CONCATENATED MODULE: ./packages/form-item/index.js + + +/* istanbul ignore next */ +form_item.install = function (Vue) { + Vue.component(form_item.name, form_item); +}; + +/* harmony default export */ var packages_form_item = __webpack_exports__["default"] = (form_item); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/form.js b/PAMapp/local_modules/element-ui/lib/form.js new file mode 100644 index 0000000..3d65b77 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/form.js @@ -0,0 +1,465 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 100); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 100: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "form", + { + staticClass: "el-form", + class: [ + _vm.labelPosition ? "el-form--label-" + _vm.labelPosition : "", + { "el-form--inline": _vm.inline } + ] + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=template&id=a1b5ff34& + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/form/src/form.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var formvue_type_script_lang_js_ = ({ + name: 'ElForm', + + componentName: 'ElForm', + + provide: function provide() { + return { + elForm: this + }; + }, + + + props: { + model: Object, + rules: Object, + labelPosition: String, + labelWidth: String, + labelSuffix: { + type: String, + default: '' + }, + inline: Boolean, + inlineMessage: Boolean, + statusIcon: Boolean, + showMessage: { + type: Boolean, + default: true + }, + size: String, + disabled: Boolean, + validateOnRuleChange: { + type: Boolean, + default: true + }, + hideRequiredAsterisk: { + type: Boolean, + default: false + } + }, + watch: { + rules: function rules() { + // remove then add event listeners on form-item after form rules change + this.fields.forEach(function (field) { + field.removeValidateEvents(); + field.addValidateEvents(); + }); + + if (this.validateOnRuleChange) { + this.validate(function () {}); + } + } + }, + computed: { + autoLabelWidth: function autoLabelWidth() { + if (!this.potentialLabelWidthArr.length) return 0; + var max = Math.max.apply(Math, this.potentialLabelWidthArr); + return max ? max + 'px' : ''; + } + }, + data: function data() { + return { + fields: [], + potentialLabelWidthArr: [] // use this array to calculate auto width + }; + }, + created: function created() { + var _this = this; + + this.$on('el.form.addField', function (field) { + if (field) { + _this.fields.push(field); + } + }); + /* istanbul ignore next */ + this.$on('el.form.removeField', function (field) { + if (field.prop) { + _this.fields.splice(_this.fields.indexOf(field), 1); + } + }); + }, + + methods: { + resetFields: function resetFields() { + if (!this.model) { + console.warn('[Element Warn][Form]model is required for resetFields to work.'); + return; + } + this.fields.forEach(function (field) { + field.resetField(); + }); + }, + clearValidate: function clearValidate() { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + + var fields = props.length ? typeof props === 'string' ? this.fields.filter(function (field) { + return props === field.prop; + }) : this.fields.filter(function (field) { + return props.indexOf(field.prop) > -1; + }) : this.fields; + fields.forEach(function (field) { + field.clearValidate(); + }); + }, + validate: function validate(callback) { + var _this2 = this; + + if (!this.model) { + console.warn('[Element Warn][Form]model is required for validate to work!'); + return; + } + + var promise = void 0; + // if no callback, return promise + if (typeof callback !== 'function' && window.Promise) { + promise = new window.Promise(function (resolve, reject) { + callback = function callback(valid, invalidFields) { + valid ? resolve(valid) : reject(invalidFields); + }; + }); + } + + var valid = true; + var count = 0; + // 憒��閬���ields銝箇征嚗�撉�蝡餈�allback + if (this.fields.length === 0 && callback) { + callback(true); + } + var invalidFields = {}; + this.fields.forEach(function (field) { + field.validate('', function (message, field) { + if (message) { + valid = false; + } + invalidFields = merge_default()({}, invalidFields, field); + if (typeof callback === 'function' && ++count === _this2.fields.length) { + callback(valid, invalidFields); + } + }); + }); + + if (promise) { + return promise; + } + }, + validateField: function validateField(props, cb) { + props = [].concat(props); + var fields = this.fields.filter(function (field) { + return props.indexOf(field.prop) !== -1; + }); + if (!fields.length) { + console.warn('[Element Warn]please pass correct props!'); + return; + } + + fields.forEach(function (field) { + field.validate('', cb); + }); + }, + getLabelWidthIndex: function getLabelWidthIndex(width) { + var index = this.potentialLabelWidthArr.indexOf(width); + // it's impossible + if (index === -1) { + throw new Error('[ElementForm]unpected width ', width); + } + return index; + }, + registerLabelWidth: function registerLabelWidth(val, oldVal) { + if (val && oldVal) { + var index = this.getLabelWidthIndex(oldVal); + this.potentialLabelWidthArr.splice(index, 1, val); + } else if (val) { + this.potentialLabelWidthArr.push(val); + } + }, + deregisterLabelWidth: function deregisterLabelWidth(val) { + var index = this.getLabelWidthIndex(val); + this.potentialLabelWidthArr.splice(index, 1); + } + } +}); +// CONCATENATED MODULE: ./packages/form/src/form.vue?vue&type=script&lang=js& + /* harmony default export */ var src_formvue_type_script_lang_js_ = (formvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/form/src/form.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_formvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/form/src/form.vue" +/* harmony default export */ var src_form = (component.exports); +// CONCATENATED MODULE: ./packages/form/index.js + + +/* istanbul ignore next */ +src_form.install = function (Vue) { + Vue.component(src_form.name, src_form); +}; + +/* harmony default export */ var packages_form = __webpack_exports__["default"] = (src_form); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/header.js b/PAMapp/local_modules/element-ui/lib/header.js new file mode 100644 index 0000000..71fde59 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/header.js @@ -0,0 +1,276 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 117); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 117: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=template&id=2b296ab2& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "header", + { staticClass: "el-header", style: { height: _vm.height } }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=template&id=2b296ab2& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElHeader', + + componentName: 'ElHeader', + + props: { + height: { + type: String, + default: '60px' + } + } +}); +// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/header/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/header/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/header/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var header = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/icon.js b/PAMapp/local_modules/element-ui/lib/icon.js new file mode 100644 index 0000000..a48d0b6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/icon.js @@ -0,0 +1,264 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 103); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 103: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("i", { class: "el-icon-" + _vm.name }) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=script&lang=js& +// +// +// +// + +/* harmony default export */ var iconvue_type_script_lang_js_ = ({ + name: 'ElIcon', + + props: { + name: String + } +}); +// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=script&lang=js& + /* harmony default export */ var src_iconvue_type_script_lang_js_ = (iconvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/icon/src/icon.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_iconvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/icon/src/icon.vue" +/* harmony default export */ var icon = (component.exports); +// CONCATENATED MODULE: ./packages/icon/index.js + + +/* istanbul ignore next */ +icon.install = function (Vue) { + Vue.component(icon.name, icon); +}; + +/* harmony default export */ var packages_icon = __webpack_exports__["default"] = (icon); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/image.js b/PAMapp/local_modules/element-ui/lib/image.js new file mode 100644 index 0000000..1933166 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/image.js @@ -0,0 +1,1141 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 67); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 25: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/throttle"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 67: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=template&id=44d84a7c& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-image" }, + [ + _vm.loading + ? _vm._t("placeholder", [ + _c("div", { staticClass: "el-image__placeholder" }) + ]) + : _vm.error + ? _vm._t("error", [ + _c("div", { staticClass: "el-image__error" }, [ + _vm._v(_vm._s(_vm.t("el.image.error"))) + ]) + ]) + : _c( + "img", + _vm._g( + _vm._b( + { + staticClass: "el-image__inner", + class: { + "el-image__inner--center": _vm.alignCenter, + "el-image__preview": _vm.preview + }, + style: _vm.imageStyle, + attrs: { src: _vm.src }, + on: { click: _vm.clickHandler } + }, + "img", + _vm.$attrs, + false + ), + _vm.$listeners + ) + ), + _vm.preview + ? [ + _vm.showViewer + ? _c("image-viewer", { + attrs: { + "z-index": _vm.zIndex, + "initial-index": _vm.imageIndex, + "on-close": _vm.closeViewer, + "url-list": _vm.previewSrcList + } + }) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=template&id=44d84a7c& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307& +var image_viewervue_type_template_id_5e73b307_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "viewer-fade" } }, [ + _c( + "div", + { + ref: "el-image-viewer__wrapper", + staticClass: "el-image-viewer__wrapper", + style: { "z-index": _vm.viewerZIndex }, + attrs: { tabindex: "-1" } + }, + [ + _c("div", { + staticClass: "el-image-viewer__mask", + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleMaskClick($event) + } + } + }), + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__close", + on: { click: _vm.hide } + }, + [_c("i", { staticClass: "el-icon-close" })] + ), + !_vm.isSingle + ? [ + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__prev", + class: { "is-disabled": !_vm.infinite && _vm.isFirst }, + on: { click: _vm.prev } + }, + [_c("i", { staticClass: "el-icon-arrow-left" })] + ), + _c( + "span", + { + staticClass: "el-image-viewer__btn el-image-viewer__next", + class: { "is-disabled": !_vm.infinite && _vm.isLast }, + on: { click: _vm.next } + }, + [_c("i", { staticClass: "el-icon-arrow-right" })] + ) + ] + : _vm._e(), + _c( + "div", + { staticClass: "el-image-viewer__btn el-image-viewer__actions" }, + [ + _c("div", { staticClass: "el-image-viewer__actions__inner" }, [ + _c("i", { + staticClass: "el-icon-zoom-out", + on: { + click: function($event) { + _vm.handleActions("zoomOut") + } + } + }), + _c("i", { + staticClass: "el-icon-zoom-in", + on: { + click: function($event) { + _vm.handleActions("zoomIn") + } + } + }), + _c("i", { staticClass: "el-image-viewer__actions__divider" }), + _c("i", { class: _vm.mode.icon, on: { click: _vm.toggleMode } }), + _c("i", { staticClass: "el-image-viewer__actions__divider" }), + _c("i", { + staticClass: "el-icon-refresh-left", + on: { + click: function($event) { + _vm.handleActions("anticlocelise") + } + } + }), + _c("i", { + staticClass: "el-icon-refresh-right", + on: { + click: function($event) { + _vm.handleActions("clocelise") + } + } + }) + ]) + ] + ), + _c( + "div", + { staticClass: "el-image-viewer__canvas" }, + _vm._l(_vm.urlList, function(url, i) { + return i === _vm.index + ? _c("img", { + key: url, + ref: "img", + refInFor: true, + staticClass: "el-image-viewer__img", + style: _vm.imgStyle, + attrs: { src: _vm.currentImg, referrerpolicy: "no-referrer" }, + on: { + load: _vm.handleImgLoad, + error: _vm.handleImgError, + mousedown: _vm.handleMouseDown + } + }) + : _vm._e() + }), + 0 + ) + ], + 2 + ) + ]) +} +var image_viewervue_type_template_id_5e73b307_staticRenderFns = [] +image_viewervue_type_template_id_5e73b307_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=template&id=5e73b307& + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/image-viewer.vue?vue&type=script&lang=js& +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var Mode = { + CONTAIN: { + name: 'contain', + icon: 'el-icon-full-screen' + }, + ORIGINAL: { + name: 'original', + icon: 'el-icon-c-scale-to-original' + } +}; + +var mousewheelEventName = Object(util_["isFirefox"])() ? 'DOMMouseScroll' : 'mousewheel'; + +/* harmony default export */ var image_viewervue_type_script_lang_js_ = ({ + name: 'elImageViewer', + + props: { + urlList: { + type: Array, + default: function _default() { + return []; + } + }, + zIndex: { + type: Number, + default: 2000 + }, + onSwitch: { + type: Function, + default: function _default() {} + }, + onClose: { + type: Function, + default: function _default() {} + }, + initialIndex: { + type: Number, + default: 0 + }, + appendToBody: { + type: Boolean, + default: true + }, + maskClosable: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + index: this.initialIndex, + isShow: false, + infinite: true, + loading: false, + mode: Mode.CONTAIN, + transform: { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + } + }; + }, + + computed: { + isSingle: function isSingle() { + return this.urlList.length <= 1; + }, + isFirst: function isFirst() { + return this.index === 0; + }, + isLast: function isLast() { + return this.index === this.urlList.length - 1; + }, + currentImg: function currentImg() { + return this.urlList[this.index]; + }, + imgStyle: function imgStyle() { + var _transform = this.transform, + scale = _transform.scale, + deg = _transform.deg, + offsetX = _transform.offsetX, + offsetY = _transform.offsetY, + enableTransition = _transform.enableTransition; + + var style = { + transform: 'scale(' + scale + ') rotate(' + deg + 'deg)', + transition: enableTransition ? 'transform .3s' : '', + 'margin-left': offsetX + 'px', + 'margin-top': offsetY + 'px' + }; + if (this.mode === Mode.CONTAIN) { + style.maxWidth = style.maxHeight = '100%'; + } + return style; + }, + viewerZIndex: function viewerZIndex() { + var nextZIndex = popup_["PopupManager"].nextZIndex(); + return this.zIndex > nextZIndex ? this.zIndex : nextZIndex; + } + }, + watch: { + index: { + handler: function handler(val) { + this.reset(); + this.onSwitch(val); + } + }, + currentImg: function currentImg(val) { + var _this = this; + + this.$nextTick(function (_) { + var $img = _this.$refs.img[0]; + if (!$img.complete) { + _this.loading = true; + } + }); + } + }, + methods: { + hide: function hide() { + this.deviceSupportUninstall(); + this.onClose(); + }, + deviceSupportInstall: function deviceSupportInstall() { + var _this2 = this; + + this._keyDownHandler = function (e) { + e.stopPropagation(); + var keyCode = e.keyCode; + switch (keyCode) { + // ESC + case 27: + _this2.hide(); + break; + // SPACE + case 32: + _this2.toggleMode(); + break; + // LEFT_ARROW + case 37: + _this2.prev(); + break; + // UP_ARROW + case 38: + _this2.handleActions('zoomIn'); + break; + // RIGHT_ARROW + case 39: + _this2.next(); + break; + // DOWN_ARROW + case 40: + _this2.handleActions('zoomOut'); + break; + } + }; + this._mouseWheelHandler = Object(util_["rafThrottle"])(function (e) { + var delta = e.wheelDelta ? e.wheelDelta : -e.detail; + if (delta > 0) { + _this2.handleActions('zoomIn', { + zoomRate: 0.015, + enableTransition: false + }); + } else { + _this2.handleActions('zoomOut', { + zoomRate: 0.015, + enableTransition: false + }); + } + }); + Object(dom_["on"])(document, 'keydown', this._keyDownHandler); + Object(dom_["on"])(document, mousewheelEventName, this._mouseWheelHandler); + }, + deviceSupportUninstall: function deviceSupportUninstall() { + Object(dom_["off"])(document, 'keydown', this._keyDownHandler); + Object(dom_["off"])(document, mousewheelEventName, this._mouseWheelHandler); + this._keyDownHandler = null; + this._mouseWheelHandler = null; + }, + handleImgLoad: function handleImgLoad(e) { + this.loading = false; + }, + handleImgError: function handleImgError(e) { + this.loading = false; + e.target.alt = '��蝸憭梯揖'; + }, + handleMouseDown: function handleMouseDown(e) { + var _this3 = this; + + if (this.loading || e.button !== 0) return; + + var _transform2 = this.transform, + offsetX = _transform2.offsetX, + offsetY = _transform2.offsetY; + + var startX = e.pageX; + var startY = e.pageY; + this._dragHandler = Object(util_["rafThrottle"])(function (ev) { + _this3.transform.offsetX = offsetX + ev.pageX - startX; + _this3.transform.offsetY = offsetY + ev.pageY - startY; + }); + Object(dom_["on"])(document, 'mousemove', this._dragHandler); + Object(dom_["on"])(document, 'mouseup', function (ev) { + Object(dom_["off"])(document, 'mousemove', _this3._dragHandler); + }); + + e.preventDefault(); + }, + handleMaskClick: function handleMaskClick() { + if (this.maskClosable) { + this.hide(); + } + }, + reset: function reset() { + this.transform = { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + }; + }, + toggleMode: function toggleMode() { + if (this.loading) return; + + var modeNames = Object.keys(Mode); + var modeValues = Object.values(Mode); + var index = modeValues.indexOf(this.mode); + var nextIndex = (index + 1) % modeNames.length; + this.mode = Mode[modeNames[nextIndex]]; + this.reset(); + }, + prev: function prev() { + if (this.isFirst && !this.infinite) return; + var len = this.urlList.length; + this.index = (this.index - 1 + len) % len; + }, + next: function next() { + if (this.isLast && !this.infinite) return; + var len = this.urlList.length; + this.index = (this.index + 1) % len; + }, + handleActions: function handleActions(action) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (this.loading) return; + + var _zoomRate$rotateDeg$e = _extends({ + zoomRate: 0.2, + rotateDeg: 90, + enableTransition: true + }, options), + zoomRate = _zoomRate$rotateDeg$e.zoomRate, + rotateDeg = _zoomRate$rotateDeg$e.rotateDeg, + enableTransition = _zoomRate$rotateDeg$e.enableTransition; + + var transform = this.transform; + + switch (action) { + case 'zoomOut': + if (transform.scale > 0.2) { + transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3)); + } + break; + case 'zoomIn': + transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3)); + break; + case 'clocelise': + transform.deg += rotateDeg; + break; + case 'anticlocelise': + transform.deg -= rotateDeg; + break; + } + transform.enableTransition = enableTransition; + } + }, + mounted: function mounted() { + this.deviceSupportInstall(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + // add tabindex then wrapper can be focusable via Javascript + // focus wrapper so arrow key can't cause inner scroll behavior underneath + this.$refs['el-image-viewer__wrapper'].focus(); + }, + destroyed: function destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}); +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue?vue&type=script&lang=js& + /* harmony default export */ var src_image_viewervue_type_script_lang_js_ = (image_viewervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/image/src/image-viewer.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_image_viewervue_type_script_lang_js_, + image_viewervue_type_template_id_5e73b307_render, + image_viewervue_type_template_id_5e73b307_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/image/src/image-viewer.vue" +/* harmony default export */ var image_viewer = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// EXTERNAL MODULE: external "throttle-debounce/throttle" +var throttle_ = __webpack_require__(25); +var throttle_default = /*#__PURE__*/__webpack_require__.n(throttle_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/image/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +var isSupportObjectFit = function isSupportObjectFit() { + return document.documentElement.style.objectFit !== undefined; +}; + +var ObjectFit = { + NONE: 'none', + CONTAIN: 'contain', + COVER: 'cover', + FILL: 'fill', + SCALE_DOWN: 'scale-down' +}; + +var prevOverflow = ''; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElImage', + + mixins: [locale_default.a], + inheritAttrs: false, + + components: { + ImageViewer: image_viewer + }, + + props: { + src: String, + fit: String, + lazy: Boolean, + scrollContainer: {}, + previewSrcList: { + type: Array, + default: function _default() { + return []; + } + }, + zIndex: { + type: Number, + default: 2000 + }, + initialIndex: Number + }, + + data: function data() { + return { + loading: true, + error: false, + show: !this.lazy, + imageWidth: 0, + imageHeight: 0, + showViewer: false + }; + }, + + + computed: { + imageStyle: function imageStyle() { + var fit = this.fit; + + if (!this.$isServer && fit) { + return isSupportObjectFit() ? { 'object-fit': fit } : this.getImageStyle(fit); + } + return {}; + }, + alignCenter: function alignCenter() { + return !this.$isServer && !isSupportObjectFit() && this.fit !== ObjectFit.FILL; + }, + preview: function preview() { + var previewSrcList = this.previewSrcList; + + return Array.isArray(previewSrcList) && previewSrcList.length > 0; + }, + imageIndex: function imageIndex() { + var previewIndex = 0; + var initialIndex = this.initialIndex; + if (initialIndex >= 0) { + previewIndex = initialIndex; + return previewIndex; + } + var srcIndex = this.previewSrcList.indexOf(this.src); + if (srcIndex >= 0) { + previewIndex = srcIndex; + return previewIndex; + } + return previewIndex; + } + }, + + watch: { + src: function src(val) { + this.show && this.loadImage(); + }, + show: function show(val) { + val && this.loadImage(); + } + }, + + mounted: function mounted() { + if (this.lazy) { + this.addLazyLoadListener(); + } else { + this.loadImage(); + } + }, + beforeDestroy: function beforeDestroy() { + this.lazy && this.removeLazyLoadListener(); + }, + + + methods: { + loadImage: function loadImage() { + var _this = this; + + if (this.$isServer) return; + + // reset status + this.loading = true; + this.error = false; + + var img = new Image(); + img.onload = function (e) { + return _this.handleLoad(e, img); + }; + img.onerror = this.handleError.bind(this); + + // bind html attrs + // so it can behave consistently + Object.keys(this.$attrs).forEach(function (key) { + var value = _this.$attrs[key]; + img.setAttribute(key, value); + }); + img.src = this.src; + }, + handleLoad: function handleLoad(e, img) { + this.imageWidth = img.width; + this.imageHeight = img.height; + this.loading = false; + this.error = false; + }, + handleError: function handleError(e) { + this.loading = false; + this.error = true; + this.$emit('error', e); + }, + handleLazyLoad: function handleLazyLoad() { + if (Object(dom_["isInContainer"])(this.$el, this._scrollContainer)) { + this.show = true; + this.removeLazyLoadListener(); + } + }, + addLazyLoadListener: function addLazyLoadListener() { + if (this.$isServer) return; + + var scrollContainer = this.scrollContainer; + + var _scrollContainer = null; + + if (Object(types_["isHtmlElement"])(scrollContainer)) { + _scrollContainer = scrollContainer; + } else if (Object(types_["isString"])(scrollContainer)) { + _scrollContainer = document.querySelector(scrollContainer); + } else { + _scrollContainer = Object(dom_["getScrollContainer"])(this.$el); + } + + if (_scrollContainer) { + this._scrollContainer = _scrollContainer; + this._lazyLoadHandler = throttle_default()(200, this.handleLazyLoad); + Object(dom_["on"])(_scrollContainer, 'scroll', this._lazyLoadHandler); + this.handleLazyLoad(); + } + }, + removeLazyLoadListener: function removeLazyLoadListener() { + var _scrollContainer = this._scrollContainer, + _lazyLoadHandler = this._lazyLoadHandler; + + + if (this.$isServer || !_scrollContainer || !_lazyLoadHandler) return; + + Object(dom_["off"])(_scrollContainer, 'scroll', _lazyLoadHandler); + this._scrollContainer = null; + this._lazyLoadHandler = null; + }, + + /** + * simulate object-fit behavior to compatible with IE11 and other browsers which not support object-fit + */ + getImageStyle: function getImageStyle(fit) { + var imageWidth = this.imageWidth, + imageHeight = this.imageHeight; + var _$el = this.$el, + containerWidth = _$el.clientWidth, + containerHeight = _$el.clientHeight; + + + if (!imageWidth || !imageHeight || !containerWidth || !containerHeight) return {}; + + var imageAspectRatio = imageWidth / imageHeight; + var containerAspectRatio = containerWidth / containerHeight; + + if (fit === ObjectFit.SCALE_DOWN) { + var isSmaller = imageWidth < containerWidth && imageHeight < containerHeight; + fit = isSmaller ? ObjectFit.NONE : ObjectFit.CONTAIN; + } + + switch (fit) { + case ObjectFit.NONE: + return { width: 'auto', height: 'auto' }; + case ObjectFit.CONTAIN: + return imageAspectRatio < containerAspectRatio ? { width: 'auto' } : { height: 'auto' }; + case ObjectFit.COVER: + return imageAspectRatio < containerAspectRatio ? { height: 'auto' } : { width: 'auto' }; + default: + return {}; + } + }, + clickHandler: function clickHandler() { + // don't show viewer when preview is false + if (!this.preview) { + return; + } + // prevent body scroll + prevOverflow = document.body.style.overflow; + document.body.style.overflow = 'hidden'; + this.showViewer = true; + }, + closeViewer: function closeViewer() { + document.body.style.overflow = prevOverflow; + this.showViewer = false; + } + } +}); +// CONCATENATED MODULE: ./packages/image/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/image/src/main.vue + + + + + +/* normalize component */ + +var main_component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/image/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/image/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var packages_image = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/index.js b/PAMapp/local_modules/element-ui/lib/index.js new file mode 100644 index 0000000..e764114 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/index.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("ELEMENT",["vue"],t):"object"==typeof exports?exports.ELEMENT=t(require("vue")):e.ELEMENT=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=51)}([function(t,n){t.exports=e},function(e,t,n){var i=n(4);e.exports=function(e,t,n){return void 0===n?i(e,t,!1):i(e,n,!1!==t)}},function(e,t,n){var i;!function(r){"use strict";var o={},s=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,a="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var n=[],i=0,r=e.length;i<r;i++)n.push(e[i].substr(0,t));return n}function h(e){return function(t,n,i){var r=i[e].indexOf(n.charAt(0).toUpperCase()+n.substr(1).toLowerCase());~r&&(t.month=r)}}function d(e,t){for(e=String(e),t=t||2;e.length<t;)e="0"+e;return e}var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],p=["January","February","March","April","May","June","July","August","September","October","November","December"],m=c(p,3),v=c(f,3);o.i18n={dayNamesShort:v,dayNames:f,monthNamesShort:m,monthNames:p,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},y={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+a,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var n=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[a,u],MMM:[a,h("monthNamesShort")],MMMM:[a,h("monthNames")],a:[a,function(e,t,n){var i=t.toLowerCase();i===n.amPm[0]?e.isPm=!1:i===n.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var n,i=(t+"").match(/([+-]|\d\d)/gi);i&&(n=60*i[1]+parseInt(i[2],10),e.timezoneOffset="+"===i[0]?n:-n)}]};y.dd=y.d,y.dddd=y.ddd,y.DD=y.D,y.mm=y.m,y.hh=y.H=y.HH=y.h,y.MM=y.M,y.ss=y.s,y.A=y.a,o.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},o.format=function(e,t,n){var i=n||o.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=o.masks[t]||t||o.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})).replace(s,function(t){return t in g?g[t](e,i):t.slice(1,t.length-1)})).replace(/@@@/g,function(){return r.shift()})},o.parse=function(e,t,n){var i=n||o.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=o.masks[t]||t,e.length>1e3)return null;var r={},a=[],u=[];t=t.replace(l,function(e,t){return u.push(t),"@@@"});var c,h=(c=t,c.replace(/[|\\{()[^$+*?.-]/g,"\\$&")).replace(s,function(e){if(y[e]){var t=y[e];return a.push(t[1]),"("+t[0]+")"}return e});h=h.replace(/@@@/g,function(){return u.shift()});var d=e.match(new RegExp(h,"i"));if(!d)return null;for(var f=1;f<d.length;f++)a[f-1](r,d[f],i);var p,m=new Date;return!0===r.isPm&&null!=r.hour&&12!=+r.hour?r.hour=+r.hour+12:!1===r.isPm&&12==+r.hour&&(r.hour=0),null!=r.timezoneOffset?(r.minute=+(r.minute||0)-+r.timezoneOffset,p=new Date(Date.UTC(r.year||m.getFullYear(),r.month||0,r.day||1,r.hour||0,r.minute||0,r.second||0,r.millisecond||0))):p=new Date(r.year||m.getFullYear(),r.month||0,r.day||1,r.hour||0,r.minute||0,r.second||0,r.millisecond||0),p},e.exports?e.exports=o:void 0===(i=function(){return o}.call(t,n,t,e))||(e.exports=i)}()},function(e,t,n){"use strict";t.__esModule=!0;var i=s(n(66)),r=s(n(78)),o="function"==typeof r.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":typeof e};function s(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof r.default&&"symbol"===o(i.default)?function(e){return void 0===e?"undefined":o(e)}:function(e){return e&&"function"==typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":void 0===e?"undefined":o(e)}},function(e,t){e.exports=function(e,t,n,i){var r,o=0;return"boolean"!=typeof t&&(i=n,n=t,t=void 0),function(){var s=this,a=Number(new Date)-o,l=arguments;function u(){o=Number(new Date),n.apply(s,l)}i&&!r&&u(),r&&clearTimeout(r),void 0===i&&a>e?u():!0!==t&&(r=setTimeout(i?function(){r=void 0}:u,void 0===i?e-a:e))}}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function i(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce(function(e,t){var r,o,s,a,l;for(s in t)if(r=e[s],o=t[s],r&&n.test(s))if("class"===s&&("string"==typeof r&&(l=r,e[s]=r={},r[l]=!0),"string"==typeof o&&(l=o,t[s]=o={},o[l]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(a in o)r[a]=i(r[a],o[a]);else if(Array.isArray(r))e[s]=r.concat(o);else if(Array.isArray(o))e[s]=[r].concat(o);else for(a in o)r[a]=o[a];else e[s]=t[s];return e},{})}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0;var i,r=n(57),o=(i=r)&&i.__esModule?i:{default:i};t.default=o.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}},function(e,t,n){var i=n(10),r=n(20);e.exports=n(11)?function(e,t,n){return i.f(e,t,r(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var i=n(19),r=n(38),o=n(26),s=Object.defineProperty;t.f=n(11)?Object.defineProperty:function(e,t,n){if(i(e),t=o(t,!0),i(n),r)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(17)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){var i=n(41),r=n(27);e.exports=function(e){return i(r(e))}},function(e,t,n){var i=n(30)("wks"),r=n(23),o=n(5).Symbol,s="function"==typeof o;(e.exports=function(e){return i[e]||(i[e]=s&&o[e]||(s?o:r)("Symbol."+e))}).store=i},function(e,t,n){(function(e,i){var r;(function(){var o,s=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",u="__lodash_hash_undefined__",c=500,h="__lodash_placeholder__",d=1,f=2,p=4,m=1,v=2,g=1,y=2,b=4,_=8,w=16,x=32,C=64,k=128,S=256,D=512,E=30,$="...",T=800,M=16,N=1,O=2,P=1/0,I=9007199254740991,A=1.7976931348623157e308,F=NaN,L=4294967295,V=L-1,B=L>>>1,z=[["ary",k],["bind",g],["bindKey",y],["curry",_],["curryRight",w],["flip",D],["partial",x],["partialRight",C],["rearg",S]],R="[object Arguments]",H="[object Array]",j="[object AsyncFunction]",W="[object Boolean]",q="[object Date]",Y="[object DOMException]",K="[object Error]",U="[object Function]",G="[object GeneratorFunction]",X="[object Map]",Z="[object Number]",J="[object Null]",Q="[object Object]",ee="[object Proxy]",te="[object RegExp]",ne="[object Set]",ie="[object String]",re="[object Symbol]",oe="[object Undefined]",se="[object WeakMap]",ae="[object WeakSet]",le="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",he="[object Float64Array]",de="[object Int8Array]",fe="[object Int16Array]",pe="[object Int32Array]",me="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",ye="[object Uint32Array]",be=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,we=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xe=/&(?:amp|lt|gt|quot|#39);/g,Ce=/[&<>"']/g,ke=RegExp(xe.source),Se=RegExp(Ce.source),De=/<%-([\s\S]+?)%>/g,Ee=/<%([\s\S]+?)%>/g,$e=/<%=([\s\S]+?)%>/g,Te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Me=/^\w*$/,Ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Oe=/[\\^$.*+?()[\]{}|]/g,Pe=RegExp(Oe.source),Ie=/^\s+|\s+$/g,Ae=/^\s+/,Fe=/\s+$/,Le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ve=/\{\n\/\* \[wrapped with (.+)\] \*/,Be=/,? & /,ze=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Re=/\\(\\)?/g,He=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,je=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,qe=/^0b[01]+$/i,Ye=/^\[object .+?Constructor\]$/,Ke=/^0o[0-7]+$/i,Ue=/^(?:0|[1-9]\d*)$/,Ge=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xe=/($^)/,Ze=/['\n\r\u2028\u2029\\]/g,Je="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="[\\ud800-\\udfff]",tt="["+Qe+"]",nt="["+Je+"]",it="\\d+",rt="[\\u2700-\\u27bf]",ot="[a-z\\xdf-\\xf6\\xf8-\\xff]",st="[^\\ud800-\\udfff"+Qe+it+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",at="\\ud83c[\\udffb-\\udfff]",lt="[^\\ud800-\\udfff]",ut="(?:\\ud83c[\\udde6-\\uddff]){2}",ct="[\\ud800-\\udbff][\\udc00-\\udfff]",ht="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+ot+"|"+st+")",ft="(?:"+ht+"|"+st+")",pt="(?:"+nt+"|"+at+")"+"?",mt="[\\ufe0e\\ufe0f]?"+pt+("(?:\\u200d(?:"+[lt,ut,ct].join("|")+")[\\ufe0e\\ufe0f]?"+pt+")*"),vt="(?:"+[rt,ut,ct].join("|")+")"+mt,gt="(?:"+[lt+nt+"?",nt,ut,ct,et].join("|")+")",yt=RegExp("['�","g"),bt=RegExp(nt,"g"),_t=RegExp(at+"(?="+at+")|"+gt+mt,"g"),wt=RegExp([ht+"?"+ot+"+(?:['�(?:d|ll|m|re|s|t|ve))?(?="+[tt,ht,"$"].join("|")+")",ft+"+(?:['�(?:D|LL|M|RE|S|T|VE))?(?="+[tt,ht+dt,"$"].join("|")+")",ht+"?"+dt+"+(?:['�(?:d|ll|m|re|s|t|ve))?",ht+"+(?:['�(?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",it,vt].join("|"),"g"),xt=RegExp("[\\u200d\\ud800-\\udfff"+Je+"\\ufe0e\\ufe0f]"),Ct=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,kt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],St=-1,Dt={};Dt[ce]=Dt[he]=Dt[de]=Dt[fe]=Dt[pe]=Dt[me]=Dt[ve]=Dt[ge]=Dt[ye]=!0,Dt[R]=Dt[H]=Dt[le]=Dt[W]=Dt[ue]=Dt[q]=Dt[K]=Dt[U]=Dt[X]=Dt[Z]=Dt[Q]=Dt[te]=Dt[ne]=Dt[ie]=Dt[se]=!1;var Et={};Et[R]=Et[H]=Et[le]=Et[ue]=Et[W]=Et[q]=Et[ce]=Et[he]=Et[de]=Et[fe]=Et[pe]=Et[X]=Et[Z]=Et[Q]=Et[te]=Et[ne]=Et[ie]=Et[re]=Et[me]=Et[ve]=Et[ge]=Et[ye]=!0,Et[K]=Et[U]=Et[se]=!1;var $t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,Mt=parseInt,Nt="object"==typeof e&&e&&e.Object===Object&&e,Ot="object"==typeof self&&self&&self.Object===Object&&self,Pt=Nt||Ot||Function("return this")(),It=t&&!t.nodeType&&t,At=It&&"object"==typeof i&&i&&!i.nodeType&&i,Ft=At&&At.exports===It,Lt=Ft&&Nt.process,Vt=function(){try{var e=At&&At.require&&At.require("util").types;return e||Lt&&Lt.binding&&Lt.binding("util")}catch(e){}}(),Bt=Vt&&Vt.isArrayBuffer,zt=Vt&&Vt.isDate,Rt=Vt&&Vt.isMap,Ht=Vt&&Vt.isRegExp,jt=Vt&&Vt.isSet,Wt=Vt&&Vt.isTypedArray;function qt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Yt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r<o;){var s=e[r];t(i,s,n(s),e)}return i}function Kt(e,t){for(var n=-1,i=null==e?0:e.length;++n<i&&!1!==t(e[n],n,e););return e}function Ut(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function Gt(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(!t(e[n],n,e))return!1;return!0}function Xt(e,t){for(var n=-1,i=null==e?0:e.length,r=0,o=[];++n<i;){var s=e[n];t(s,n,e)&&(o[r++]=s)}return o}function Zt(e,t){return!!(null==e?0:e.length)&&ln(e,t,0)>-1}function Jt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i<r;)if(n(t,e[i]))return!0;return!1}function Qt(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n<i;)r[n]=t(e[n],n,e);return r}function en(e,t){for(var n=-1,i=t.length,r=e.length;++n<i;)e[r+n]=t[n];return e}function tn(e,t,n,i){var r=-1,o=null==e?0:e.length;for(i&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n}function nn(e,t,n,i){var r=null==e?0:e.length;for(i&&r&&(n=e[--r]);r--;)n=t(n,e[r],r,e);return n}function rn(e,t){for(var n=-1,i=null==e?0:e.length;++n<i;)if(t(e[n],n,e))return!0;return!1}var on=dn("length");function sn(e,t,n){var i;return n(e,function(e,n,r){if(t(e,n,r))return i=n,!1}),i}function an(e,t,n,i){for(var r=e.length,o=n+(i?1:-1);i?o--:++o<r;)if(t(e[o],o,e))return o;return-1}function ln(e,t,n){return t==t?function(e,t,n){var i=n-1,r=e.length;for(;++i<r;)if(e[i]===t)return i;return-1}(e,t,n):an(e,cn,n)}function un(e,t,n,i){for(var r=n-1,o=e.length;++r<o;)if(i(e[r],t))return r;return-1}function cn(e){return e!=e}function hn(e,t){var n=null==e?0:e.length;return n?mn(e,t)/n:F}function dn(e){return function(t){return null==t?o:t[e]}}function fn(e){return function(t){return null==e?o:e[t]}}function pn(e,t,n,i,r){return r(e,function(e,r,o){n=i?(i=!1,e):t(n,e,r,o)}),n}function mn(e,t){for(var n,i=-1,r=e.length;++i<r;){var s=t(e[i]);s!==o&&(n=n===o?s:n+s)}return n}function vn(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}function gn(e){return function(t){return e(t)}}function yn(e,t){return Qt(t,function(t){return e[t]})}function bn(e,t){return e.has(t)}function _n(e,t){for(var n=-1,i=e.length;++n<i&&ln(t,e[n],0)>-1;);return n}function wn(e,t){for(var n=e.length;n--&&ln(t,e[n],0)>-1;);return n}var xn=fn({"�":"A","��":"A","��":"A","��":"A","��":"A","��":"A","��":"a","獺":"a","璽":"a","瓊":"a","瓣":"a","疇":"a","��":"C","癟":"c","��":"D","簸":"d","��":"E","��":"E","��":"E","��":"E","癡":"e","矇":"e","礙":"e","禱":"e","��":"I","��":"I","��":"I","��":"I","穫":"i","穩":"i","簾":"i","簿":"i","��":"N","簽":"n","��":"O","��":"O","��":"O","��":"O","��":"O","��":"O","簷":"o","籀":"o","繫":"o","繭":"o","繹":"o","繪":"o","��":"U","��":"U","��":"U","��":"U","羅":"u","繳":"u","羶":"u","羹":"u","��":"Y","羸":"y","藩":"y","��":"Ae","疆":"ae","��":"Th","臘":"th","��":"ss","�":"A","��":"A","��":"A","��":"a","��":"a","��":"a","��":"C","��":"C","��":"C","��":"C","��":"c","��":"c","��":"c","��":"c","��":"D","��":"D","��":"d","��":"d","��":"E","��":"E","��":"E","��":"E","��":"E","��":"e","��":"e","��":"e","��":"e","��":"e","��":"G","��":"G","��":"G","罌":"G","��":"g","��":"g","纂":"g","耀":"g","臚":"H","藻":"H","艦":"h","藹":"h","蘑":"I","蘆":"I","蘇":"I","蠔":"I","襤":"I","藺":"i","蘋":"i","蘊":"i","蠕":"i","覺":"i","譬":"J","警":"j","譯":"K","譟":"k","譫":"k","贏":"L","躉":"L","躅":"L","醴":"L","��":"L","贍":"l","躁":"l","躂":"l","�":"l","��":"l","��":"N","��":"N","��":"N","��":"N","��":"n","��":"n","��":"n","��":"n","��":"O","��":"O","��":"O","��":"o","��":"o","��":"o","��":"R","��":"R","��":"R","��":"r","��":"r","��":"r","��":"S","��":"S","��":"S","��":"S","��":"s","��":"s","��":"s","禳":"s","籠":"T","聾":"T","臟":"T","籟":"t","聽":"t","襲":"t","襯":"U","讀":"U","贗":"U","躓":"U","酈":"U","鑑":"U","觼":"u","贖":"u","躑":"u","轡":"u","鑄":"u","鑒":"u","霽":"W","霾":"w","韃":"Y","韁":"y","顫":"Y","饕":"Z","驍":"Z","鬚":"Z","驕":"z","髒":"z","鱉":"z","觸":"IJ","議":"ij","��":"Oe","��":"oe","��":"'n","鰱":"s"}),Cn=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function kn(e){return"\\"+$t[e]}function Sn(e){return xt.test(e)}function Dn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function En(e,t){return function(n){return e(t(n))}}function $n(e,t){for(var n=-1,i=e.length,r=0,o=[];++n<i;){var s=e[n];s!==t&&s!==h||(e[n]=h,o[r++]=n)}return o}function Tn(e,t){return"__proto__"==t?o:e[t]}function Mn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function Nn(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function On(e){return Sn(e)?function(e){var t=_t.lastIndex=0;for(;_t.test(e);)++t;return t}(e):on(e)}function Pn(e){return Sn(e)?function(e){return e.match(_t)||[]}(e):function(e){return e.split("")}(e)}var In=fn({"&":"&","<":"<",">":">",""":'"',"'":"'"});var An=function e(t){var n,i=(t=null==t?Pt:An.defaults(Pt.Object(),t,An.pick(Pt,kt))).Array,r=t.Date,Je=t.Error,Qe=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,it=t.String,rt=t.TypeError,ot=i.prototype,st=Qe.prototype,at=tt.prototype,lt=t["__core-js_shared__"],ut=st.toString,ct=at.hasOwnProperty,ht=0,dt=(n=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ft=at.toString,pt=ut.call(tt),mt=Pt._,vt=nt("^"+ut.call(ct).replace(Oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gt=Ft?t.Buffer:o,_t=t.Symbol,xt=t.Uint8Array,$t=gt?gt.allocUnsafe:o,Nt=En(tt.getPrototypeOf,tt),Ot=tt.create,It=at.propertyIsEnumerable,At=ot.splice,Lt=_t?_t.isConcatSpreadable:o,Vt=_t?_t.iterator:o,on=_t?_t.toStringTag:o,fn=function(){try{var e=zo(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Fn=t.clearTimeout!==Pt.clearTimeout&&t.clearTimeout,Ln=r&&r.now!==Pt.Date.now&&r.now,Vn=t.setTimeout!==Pt.setTimeout&&t.setTimeout,Bn=et.ceil,zn=et.floor,Rn=tt.getOwnPropertySymbols,Hn=gt?gt.isBuffer:o,jn=t.isFinite,Wn=ot.join,qn=En(tt.keys,tt),Yn=et.max,Kn=et.min,Un=r.now,Gn=t.parseInt,Xn=et.random,Zn=ot.reverse,Jn=zo(t,"DataView"),Qn=zo(t,"Map"),ei=zo(t,"Promise"),ti=zo(t,"Set"),ni=zo(t,"WeakMap"),ii=zo(tt,"create"),ri=ni&&new ni,oi={},si=hs(Jn),ai=hs(Qn),li=hs(ei),ui=hs(ti),ci=hs(ni),hi=_t?_t.prototype:o,di=hi?hi.valueOf:o,fi=hi?hi.toString:o;function pi(e){if($a(e)&&!ga(e)&&!(e instanceof yi)){if(e instanceof gi)return e;if(ct.call(e,"__wrapped__"))return ds(e)}return new gi(e)}var mi=function(){function e(){}return function(t){if(!Ea(t))return{};if(Ot)return Ot(t);e.prototype=t;var n=new e;return e.prototype=o,n}}();function vi(){}function gi(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}function yi(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=L,this.__views__=[]}function bi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function _i(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function wi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var i=e[t];this.set(i[0],i[1])}}function xi(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new wi;++t<n;)this.add(e[t])}function Ci(e){var t=this.__data__=new _i(e);this.size=t.size}function ki(e,t){var n=ga(e),i=!n&&va(e),r=!n&&!i&&wa(e),o=!n&&!i&&!r&&Fa(e),s=n||i||r||o,a=s?vn(e.length,it):[],l=a.length;for(var u in e)!t&&!ct.call(e,u)||s&&("length"==u||r&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Ko(u,l))||a.push(u);return a}function Si(e){var t=e.length;return t?e[xr(0,t-1)]:o}function Di(e,t){return ls(io(e),Ai(t,0,e.length))}function Ei(e){return ls(io(e))}function $i(e,t,n){(n===o||fa(e[t],n))&&(n!==o||t in e)||Pi(e,t,n)}function Ti(e,t,n){var i=e[t];ct.call(e,t)&&fa(i,n)&&(n!==o||t in e)||Pi(e,t,n)}function Mi(e,t){for(var n=e.length;n--;)if(fa(e[n][0],t))return n;return-1}function Ni(e,t,n,i){return zi(e,function(e,r,o){t(i,e,n(e),o)}),i}function Oi(e,t){return e&&ro(t,rl(t),e)}function Pi(e,t,n){"__proto__"==t&&fn?fn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function Ii(e,t){for(var n=-1,r=t.length,s=i(r),a=null==e;++n<r;)s[n]=a?o:Qa(e,t[n]);return s}function Ai(e,t,n){return e==e&&(n!==o&&(e=e<=n?e:n),t!==o&&(e=e>=t?e:t)),e}function Fi(e,t,n,i,r,s){var a,l=t&d,u=t&f,c=t&p;if(n&&(a=r?n(e,i,r,s):n(e)),a!==o)return a;if(!Ea(e))return e;var h=ga(e);if(h){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return io(e,a)}else{var m=jo(e),v=m==U||m==G;if(wa(e))return Zr(e,l);if(m==Q||m==R||v&&!r){if(a=u||v?{}:qo(e),!l)return u?function(e,t){return ro(e,Ho(e),t)}(e,function(e,t){return e&&ro(t,ol(t),e)}(a,e)):function(e,t){return ro(e,Ro(e),t)}(e,Oi(a,e))}else{if(!Et[m])return r?e:{};a=function(e,t,n){var i,r,o,s=e.constructor;switch(t){case le:return Jr(e);case W:case q:return new s(+e);case ue:return function(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case ce:case he:case de:case fe:case pe:case me:case ve:case ge:case ye:return Qr(e,n);case X:return new s;case Z:case ie:return new s(e);case te:return(o=new(r=e).constructor(r.source,je.exec(r))).lastIndex=r.lastIndex,o;case ne:return new s;case re:return i=e,di?tt(di.call(i)):{}}}(e,m,l)}}s||(s=new Ci);var g=s.get(e);if(g)return g;if(s.set(e,a),Pa(e))return e.forEach(function(i){a.add(Fi(i,t,n,i,e,s))}),a;if(Ta(e))return e.forEach(function(i,r){a.set(r,Fi(i,t,n,r,e,s))}),a;var y=h?o:(c?u?Po:Oo:u?ol:rl)(e);return Kt(y||e,function(i,r){y&&(i=e[r=i]),Ti(a,r,Fi(i,t,n,r,e,s))}),a}function Li(e,t,n){var i=n.length;if(null==e)return!i;for(e=tt(e);i--;){var r=n[i],s=t[r],a=e[r];if(a===o&&!(r in e)||!s(a))return!1}return!0}function Vi(e,t,n){if("function"!=typeof e)throw new rt(l);return rs(function(){e.apply(o,n)},t)}function Bi(e,t,n,i){var r=-1,o=Zt,a=!0,l=e.length,u=[],c=t.length;if(!l)return u;n&&(t=Qt(t,gn(n))),i?(o=Jt,a=!1):t.length>=s&&(o=bn,a=!1,t=new xi(t));e:for(;++r<l;){var h=e[r],d=null==n?h:n(h);if(h=i||0!==h?h:0,a&&d==d){for(var f=c;f--;)if(t[f]===d)continue e;u.push(h)}else o(t,d,i)||u.push(h)}return u}pi.templateSettings={escape:De,evaluate:Ee,interpolate:$e,variable:"",imports:{_:pi}},pi.prototype=vi.prototype,pi.prototype.constructor=pi,gi.prototype=mi(vi.prototype),gi.prototype.constructor=gi,yi.prototype=mi(vi.prototype),yi.prototype.constructor=yi,bi.prototype.clear=function(){this.__data__=ii?ii(null):{},this.size=0},bi.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},bi.prototype.get=function(e){var t=this.__data__;if(ii){var n=t[e];return n===u?o:n}return ct.call(t,e)?t[e]:o},bi.prototype.has=function(e){var t=this.__data__;return ii?t[e]!==o:ct.call(t,e)},bi.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ii&&t===o?u:t,this},_i.prototype.clear=function(){this.__data__=[],this.size=0},_i.prototype.delete=function(e){var t=this.__data__,n=Mi(t,e);return!(n<0||(n==t.length-1?t.pop():At.call(t,n,1),--this.size,0))},_i.prototype.get=function(e){var t=this.__data__,n=Mi(t,e);return n<0?o:t[n][1]},_i.prototype.has=function(e){return Mi(this.__data__,e)>-1},_i.prototype.set=function(e,t){var n=this.__data__,i=Mi(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},wi.prototype.clear=function(){this.size=0,this.__data__={hash:new bi,map:new(Qn||_i),string:new bi}},wi.prototype.delete=function(e){var t=Vo(this,e).delete(e);return this.size-=t?1:0,t},wi.prototype.get=function(e){return Vo(this,e).get(e)},wi.prototype.has=function(e){return Vo(this,e).has(e)},wi.prototype.set=function(e,t){var n=Vo(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},xi.prototype.add=xi.prototype.push=function(e){return this.__data__.set(e,u),this},xi.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.clear=function(){this.__data__=new _i,this.size=0},Ci.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ci.prototype.get=function(e){return this.__data__.get(e)},Ci.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _i){var i=n.__data__;if(!Qn||i.length<s-1)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new wi(i)}return n.set(e,t),this.size=n.size,this};var zi=ao(Ui),Ri=ao(Gi,!0);function Hi(e,t){var n=!0;return zi(e,function(e,i,r){return n=!!t(e,i,r)}),n}function ji(e,t,n){for(var i=-1,r=e.length;++i<r;){var s=e[i],a=t(s);if(null!=a&&(l===o?a==a&&!Aa(a):n(a,l)))var l=a,u=s}return u}function Wi(e,t){var n=[];return zi(e,function(e,i,r){t(e,i,r)&&n.push(e)}),n}function qi(e,t,n,i,r){var o=-1,s=e.length;for(n||(n=Yo),r||(r=[]);++o<s;){var a=e[o];t>0&&n(a)?t>1?qi(a,t-1,n,i,r):en(r,a):i||(r[r.length]=a)}return r}var Yi=lo(),Ki=lo(!0);function Ui(e,t){return e&&Yi(e,t,rl)}function Gi(e,t){return e&&Ki(e,t,rl)}function Xi(e,t){return Xt(t,function(t){return ka(e[t])})}function Zi(e,t){for(var n=0,i=(t=Kr(t,e)).length;null!=e&&n<i;)e=e[cs(t[n++])];return n&&n==i?e:o}function Ji(e,t,n){var i=t(e);return ga(e)?i:en(i,n(e))}function Qi(e){return null==e?e===o?oe:J:on&&on in tt(e)?function(e){var t=ct.call(e,on),n=e[on];try{e[on]=o;var i=!0}catch(e){}var r=ft.call(e);return i&&(t?e[on]=n:delete e[on]),r}(e):function(e){return ft.call(e)}(e)}function er(e,t){return e>t}function tr(e,t){return null!=e&&ct.call(e,t)}function nr(e,t){return null!=e&&t in tt(e)}function ir(e,t,n){for(var r=n?Jt:Zt,s=e[0].length,a=e.length,l=a,u=i(a),c=1/0,h=[];l--;){var d=e[l];l&&t&&(d=Qt(d,gn(t))),c=Kn(d.length,c),u[l]=!n&&(t||s>=120&&d.length>=120)?new xi(l&&d):o}d=e[0];var f=-1,p=u[0];e:for(;++f<s&&h.length<c;){var m=d[f],v=t?t(m):m;if(m=n||0!==m?m:0,!(p?bn(p,v):r(h,v,n))){for(l=a;--l;){var g=u[l];if(!(g?bn(g,v):r(e[l],v,n)))continue e}p&&p.push(v),h.push(m)}}return h}function rr(e,t,n){var i=null==(e=ns(e,t=Kr(t,e)))?e:e[cs(Cs(t))];return null==i?o:qt(i,e,n)}function or(e){return $a(e)&&Qi(e)==R}function sr(e,t,n,i,r){return e===t||(null==e||null==t||!$a(e)&&!$a(t)?e!=e&&t!=t:function(e,t,n,i,r,s){var a=ga(e),l=ga(t),u=a?H:jo(e),c=l?H:jo(t),h=(u=u==R?Q:u)==Q,d=(c=c==R?Q:c)==Q,f=u==c;if(f&&wa(e)){if(!wa(t))return!1;a=!0,h=!1}if(f&&!h)return s||(s=new Ci),a||Fa(e)?Mo(e,t,n,i,r,s):function(e,t,n,i,r,o,s){switch(n){case ue:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case le:return!(e.byteLength!=t.byteLength||!o(new xt(e),new xt(t)));case W:case q:case Z:return fa(+e,+t);case K:return e.name==t.name&&e.message==t.message;case te:case ie:return e==t+"";case X:var a=Dn;case ne:var l=i&m;if(a||(a=Mn),e.size!=t.size&&!l)return!1;var u=s.get(e);if(u)return u==t;i|=v,s.set(e,t);var c=Mo(a(e),a(t),i,r,o,s);return s.delete(e),c;case re:if(di)return di.call(e)==di.call(t)}return!1}(e,t,u,n,i,r,s);if(!(n&m)){var p=h&&ct.call(e,"__wrapped__"),g=d&&ct.call(t,"__wrapped__");if(p||g){var y=p?e.value():e,b=g?t.value():t;return s||(s=new Ci),r(y,b,n,i,s)}}return!!f&&(s||(s=new Ci),function(e,t,n,i,r,s){var a=n&m,l=Oo(e),u=l.length,c=Oo(t).length;if(u!=c&&!a)return!1;for(var h=u;h--;){var d=l[h];if(!(a?d in t:ct.call(t,d)))return!1}var f=s.get(e);if(f&&s.get(t))return f==t;var p=!0;s.set(e,t),s.set(t,e);for(var v=a;++h<u;){d=l[h];var g=e[d],y=t[d];if(i)var b=a?i(y,g,d,t,e,s):i(g,y,d,e,t,s);if(!(b===o?g===y||r(g,y,n,i,s):b)){p=!1;break}v||(v="constructor"==d)}if(p&&!v){var _=e.constructor,w=t.constructor;_!=w&&"constructor"in e&&"constructor"in t&&!("function"==typeof _&&_ instanceof _&&"function"==typeof w&&w instanceof w)&&(p=!1)}return s.delete(e),s.delete(t),p}(e,t,n,i,r,s))}(e,t,n,i,sr,r))}function ar(e,t,n,i){var r=n.length,s=r,a=!i;if(null==e)return!s;for(e=tt(e);r--;){var l=n[r];if(a&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++r<s;){var u=(l=n[r])[0],c=e[u],h=l[1];if(a&&l[2]){if(c===o&&!(u in e))return!1}else{var d=new Ci;if(i)var f=i(c,h,u,e,t,d);if(!(f===o?sr(h,c,m|v,i,d):f))return!1}}return!0}function lr(e){return!(!Ea(e)||(t=e,dt&&dt in t))&&(ka(e)?vt:Ye).test(hs(e));var t}function ur(e){return"function"==typeof e?e:null==e?Ml:"object"==typeof e?ga(e)?mr(e[0],e[1]):pr(e):Bl(e)}function cr(e){if(!Jo(e))return qn(e);var t=[];for(var n in tt(e))ct.call(e,n)&&"constructor"!=n&&t.push(n);return t}function hr(e){if(!Ea(e))return function(e){var t=[];if(null!=e)for(var n in tt(e))t.push(n);return t}(e);var t=Jo(e),n=[];for(var i in e)("constructor"!=i||!t&&ct.call(e,i))&&n.push(i);return n}function dr(e,t){return e<t}function fr(e,t){var n=-1,r=ba(e)?i(e.length):[];return zi(e,function(e,i,o){r[++n]=t(e,i,o)}),r}function pr(e){var t=Bo(e);return 1==t.length&&t[0][2]?es(t[0][0],t[0][1]):function(n){return n===e||ar(n,e,t)}}function mr(e,t){return Go(e)&&Qo(t)?es(cs(e),t):function(n){var i=Qa(n,e);return i===o&&i===t?el(n,e):sr(t,i,m|v)}}function vr(e,t,n,i,r){e!==t&&Yi(t,function(s,a){if(Ea(s))r||(r=new Ci),function(e,t,n,i,r,s,a){var l=Tn(e,n),u=Tn(t,n),c=a.get(u);if(c)$i(e,n,c);else{var h=s?s(l,u,n+"",e,t,a):o,d=h===o;if(d){var f=ga(u),p=!f&&wa(u),m=!f&&!p&&Fa(u);h=u,f||p||m?ga(l)?h=l:_a(l)?h=io(l):p?(d=!1,h=Zr(u,!0)):m?(d=!1,h=Qr(u,!0)):h=[]:Na(u)||va(u)?(h=l,va(l)?h=Wa(l):(!Ea(l)||i&&ka(l))&&(h=qo(u))):d=!1}d&&(a.set(u,h),r(h,u,i,s,a),a.delete(u)),$i(e,n,h)}}(e,t,a,n,vr,i,r);else{var l=i?i(Tn(e,a),s,a+"",e,t,r):o;l===o&&(l=s),$i(e,a,l)}},ol)}function gr(e,t){var n=e.length;if(n)return Ko(t+=t<0?n:0,n)?e[t]:o}function yr(e,t,n){var i=-1;return t=Qt(t.length?t:[Ml],gn(Lo())),function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(fr(e,function(e,n,r){return{criteria:Qt(t,function(t){return t(e)}),index:++i,value:e}}),function(e,t){return function(e,t,n){for(var i=-1,r=e.criteria,o=t.criteria,s=r.length,a=n.length;++i<s;){var l=eo(r[i],o[i]);if(l){if(i>=a)return l;var u=n[i];return l*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)})}function br(e,t,n){for(var i=-1,r=t.length,o={};++i<r;){var s=t[i],a=Zi(e,s);n(a,s)&&Er(o,Kr(s,e),a)}return o}function _r(e,t,n,i){var r=i?un:ln,o=-1,s=t.length,a=e;for(e===t&&(t=io(t)),n&&(a=Qt(e,gn(n)));++o<s;)for(var l=0,u=t[o],c=n?n(u):u;(l=r(a,c,l,i))>-1;)a!==e&&At.call(a,l,1),At.call(e,l,1);return e}function wr(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;Ko(r)?At.call(e,r,1):Br(e,r)}}return e}function xr(e,t){return e+zn(Xn()*(t-e+1))}function Cr(e,t){var n="";if(!e||t<1||t>I)return n;do{t%2&&(n+=e),(t=zn(t/2))&&(e+=e)}while(t);return n}function kr(e,t){return os(ts(e,t,Ml),e+"")}function Sr(e){return Si(fl(e))}function Dr(e,t){var n=fl(e);return ls(n,Ai(t,0,n.length))}function Er(e,t,n,i){if(!Ea(e))return e;for(var r=-1,s=(t=Kr(t,e)).length,a=s-1,l=e;null!=l&&++r<s;){var u=cs(t[r]),c=n;if(r!=a){var h=l[u];(c=i?i(h,u,l):o)===o&&(c=Ea(h)?h:Ko(t[r+1])?[]:{})}Ti(l,u,c),l=l[u]}return e}var $r=ri?function(e,t){return ri.set(e,t),e}:Ml,Tr=fn?function(e,t){return fn(e,"toString",{configurable:!0,enumerable:!1,value:El(t),writable:!0})}:Ml;function Mr(e){return ls(fl(e))}function Nr(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=i(o);++r<o;)s[r]=e[r+t];return s}function Or(e,t){var n;return zi(e,function(e,i,r){return!(n=t(e,i,r))}),!!n}function Pr(e,t,n){var i=0,r=null==e?i:e.length;if("number"==typeof t&&t==t&&r<=B){for(;i<r;){var o=i+r>>>1,s=e[o];null!==s&&!Aa(s)&&(n?s<=t:s<t)?i=o+1:r=o}return r}return Ir(e,t,Ml,n)}function Ir(e,t,n,i){t=n(t);for(var r=0,s=null==e?0:e.length,a=t!=t,l=null===t,u=Aa(t),c=t===o;r<s;){var h=zn((r+s)/2),d=n(e[h]),f=d!==o,p=null===d,m=d==d,v=Aa(d);if(a)var g=i||m;else g=c?m&&(i||f):l?m&&f&&(i||!p):u?m&&f&&!p&&(i||!v):!p&&!v&&(i?d<=t:d<t);g?r=h+1:s=h}return Kn(s,V)}function Ar(e,t){for(var n=-1,i=e.length,r=0,o=[];++n<i;){var s=e[n],a=t?t(s):s;if(!n||!fa(a,l)){var l=a;o[r++]=0===s?0:s}}return o}function Fr(e){return"number"==typeof e?e:Aa(e)?F:+e}function Lr(e){if("string"==typeof e)return e;if(ga(e))return Qt(e,Lr)+"";if(Aa(e))return fi?fi.call(e):"";var t=e+"";return"0"==t&&1/e==-P?"-0":t}function Vr(e,t,n){var i=-1,r=Zt,o=e.length,a=!0,l=[],u=l;if(n)a=!1,r=Jt;else if(o>=s){var c=t?null:ko(e);if(c)return Mn(c);a=!1,r=bn,u=new xi}else u=t?[]:l;e:for(;++i<o;){var h=e[i],d=t?t(h):h;if(h=n||0!==h?h:0,a&&d==d){for(var f=u.length;f--;)if(u[f]===d)continue e;t&&u.push(d),l.push(h)}else r(u,d,n)||(u!==l&&u.push(d),l.push(h))}return l}function Br(e,t){return null==(e=ns(e,t=Kr(t,e)))||delete e[cs(Cs(t))]}function zr(e,t,n,i){return Er(e,t,n(Zi(e,t)),i)}function Rr(e,t,n,i){for(var r=e.length,o=i?r:-1;(i?o--:++o<r)&&t(e[o],o,e););return n?Nr(e,i?0:o,i?o+1:r):Nr(e,i?o+1:0,i?r:o)}function Hr(e,t){var n=e;return n instanceof yi&&(n=n.value()),tn(t,function(e,t){return t.func.apply(t.thisArg,en([e],t.args))},n)}function jr(e,t,n){var r=e.length;if(r<2)return r?Vr(e[0]):[];for(var o=-1,s=i(r);++o<r;)for(var a=e[o],l=-1;++l<r;)l!=o&&(s[o]=Bi(s[o]||a,e[l],t,n));return Vr(qi(s,1),t,n)}function Wr(e,t,n){for(var i=-1,r=e.length,s=t.length,a={};++i<r;){var l=i<s?t[i]:o;n(a,e[i],l)}return a}function qr(e){return _a(e)?e:[]}function Yr(e){return"function"==typeof e?e:Ml}function Kr(e,t){return ga(e)?e:Go(e,t)?[e]:us(qa(e))}var Ur=kr;function Gr(e,t,n){var i=e.length;return n=n===o?i:n,!t&&n>=i?e:Nr(e,t,n)}var Xr=Fn||function(e){return Pt.clearTimeout(e)};function Zr(e,t){if(t)return e.slice();var n=e.length,i=$t?$t(n):new e.constructor(n);return e.copy(i),i}function Jr(e){var t=new e.constructor(e.byteLength);return new xt(t).set(new xt(e)),t}function Qr(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function eo(e,t){if(e!==t){var n=e!==o,i=null===e,r=e==e,s=Aa(e),a=t!==o,l=null===t,u=t==t,c=Aa(t);if(!l&&!c&&!s&&e>t||s&&a&&u&&!l&&!c||i&&a&&u||!n&&u||!r)return 1;if(!i&&!s&&!c&&e<t||c&&n&&r&&!i&&!s||l&&n&&r||!a&&r||!u)return-1}return 0}function to(e,t,n,r){for(var o=-1,s=e.length,a=n.length,l=-1,u=t.length,c=Yn(s-a,0),h=i(u+c),d=!r;++l<u;)h[l]=t[l];for(;++o<a;)(d||o<s)&&(h[n[o]]=e[o]);for(;c--;)h[l++]=e[o++];return h}function no(e,t,n,r){for(var o=-1,s=e.length,a=-1,l=n.length,u=-1,c=t.length,h=Yn(s-l,0),d=i(h+c),f=!r;++o<h;)d[o]=e[o];for(var p=o;++u<c;)d[p+u]=t[u];for(;++a<l;)(f||o<s)&&(d[p+n[a]]=e[o++]);return d}function io(e,t){var n=-1,r=e.length;for(t||(t=i(r));++n<r;)t[n]=e[n];return t}function ro(e,t,n,i){var r=!n;n||(n={});for(var s=-1,a=t.length;++s<a;){var l=t[s],u=i?i(n[l],e[l],l,n,e):o;u===o&&(u=e[l]),r?Pi(n,l,u):Ti(n,l,u)}return n}function oo(e,t){return function(n,i){var r=ga(n)?Yt:Ni,o=t?t():{};return r(n,e,Lo(i,2),o)}}function so(e){return kr(function(t,n){var i=-1,r=n.length,s=r>1?n[r-1]:o,a=r>2?n[2]:o;for(s=e.length>3&&"function"==typeof s?(r--,s):o,a&&Uo(n[0],n[1],a)&&(s=r<3?o:s,r=1),t=tt(t);++i<r;){var l=n[i];l&&e(t,l,i,s)}return t})}function ao(e,t){return function(n,i){if(null==n)return n;if(!ba(n))return e(n,i);for(var r=n.length,o=t?r:-1,s=tt(n);(t?o--:++o<r)&&!1!==i(s[o],o,s););return n}}function lo(e){return function(t,n,i){for(var r=-1,o=tt(t),s=i(t),a=s.length;a--;){var l=s[e?a:++r];if(!1===n(o[l],l,o))break}return t}}function uo(e){return function(t){var n=Sn(t=qa(t))?Pn(t):o,i=n?n[0]:t.charAt(0),r=n?Gr(n,1).join(""):t.slice(1);return i[e]()+r}}function co(e){return function(t){return tn(kl(vl(t).replace(yt,"")),e,"")}}function ho(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=mi(e.prototype),i=e.apply(n,t);return Ea(i)?i:n}}function fo(e){return function(t,n,i){var r=tt(t);if(!ba(t)){var s=Lo(n,3);t=rl(t),n=function(e){return s(r[e],e,r)}}var a=e(t,n,i);return a>-1?r[s?t[a]:a]:o}}function po(e){return No(function(t){var n=t.length,i=n,r=gi.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new rt(l);if(r&&!a&&"wrapper"==Ao(s))var a=new gi([],!0)}for(i=a?i:n;++i<n;){var u=Ao(s=t[i]),c="wrapper"==u?Io(s):o;a=c&&Xo(c[0])&&c[1]==(k|_|x|S)&&!c[4].length&&1==c[9]?a[Ao(c[0])].apply(a,c[3]):1==s.length&&Xo(s)?a[u]():a.thru(s)}return function(){var e=arguments,i=e[0];if(a&&1==e.length&&ga(i))return a.plant(i).value();for(var r=0,o=n?t[r].apply(this,e):i;++r<n;)o=t[r].call(this,o);return o}})}function mo(e,t,n,r,s,a,l,u,c,h){var d=t&k,f=t&g,p=t&y,m=t&(_|w),v=t&D,b=p?o:ho(e);return function g(){for(var y=arguments.length,_=i(y),w=y;w--;)_[w]=arguments[w];if(m)var x=Fo(g),C=function(e,t){for(var n=e.length,i=0;n--;)e[n]===t&&++i;return i}(_,x);if(r&&(_=to(_,r,s,m)),a&&(_=no(_,a,l,m)),y-=C,m&&y<h){var k=$n(_,x);return xo(e,t,mo,g.placeholder,n,_,k,u,c,h-y)}var S=f?n:this,D=p?S[e]:e;return y=_.length,u?_=function(e,t){for(var n=e.length,i=Kn(t.length,n),r=io(e);i--;){var s=t[i];e[i]=Ko(s,n)?r[s]:o}return e}(_,u):v&&y>1&&_.reverse(),d&&c<y&&(_.length=c),this&&this!==Pt&&this instanceof g&&(D=b||ho(D)),D.apply(S,_)}}function vo(e,t){return function(n,i){return function(e,t,n,i){return Ui(e,function(e,r,o){t(i,n(e),r,o)}),i}(n,e,t(i),{})}}function go(e,t){return function(n,i){var r;if(n===o&&i===o)return t;if(n!==o&&(r=n),i!==o){if(r===o)return i;"string"==typeof n||"string"==typeof i?(n=Lr(n),i=Lr(i)):(n=Fr(n),i=Fr(i)),r=e(n,i)}return r}}function yo(e){return No(function(t){return t=Qt(t,gn(Lo())),kr(function(n){var i=this;return e(t,function(e){return qt(e,i,n)})})})}function bo(e,t){var n=(t=t===o?" ":Lr(t)).length;if(n<2)return n?Cr(t,e):t;var i=Cr(t,Bn(e/On(t)));return Sn(t)?Gr(Pn(i),0,e).join(""):i.slice(0,e)}function _o(e){return function(t,n,r){return r&&"number"!=typeof r&&Uo(t,n,r)&&(n=r=o),t=za(t),n===o?(n=t,t=0):n=za(n),function(e,t,n,r){for(var o=-1,s=Yn(Bn((t-e)/(n||1)),0),a=i(s);s--;)a[r?s:++o]=e,e+=n;return a}(t,n,r=r===o?t<n?1:-1:za(r),e)}}function wo(e){return function(t,n){return"string"==typeof t&&"string"==typeof n||(t=ja(t),n=ja(n)),e(t,n)}}function xo(e,t,n,i,r,s,a,l,u,c){var h=t&_;t|=h?x:C,(t&=~(h?C:x))&b||(t&=~(g|y));var d=[e,t,r,h?s:o,h?a:o,h?o:s,h?o:a,l,u,c],f=n.apply(o,d);return Xo(e)&&is(f,d),f.placeholder=i,ss(f,e,t)}function Co(e){var t=et[e];return function(e,n){if(e=ja(e),n=null==n?0:Kn(Ra(n),292)){var i=(qa(e)+"e").split("e");return+((i=(qa(t(i[0]+"e"+(+i[1]+n)))+"e").split("e"))[0]+"e"+(+i[1]-n))}return t(e)}}var ko=ti&&1/Mn(new ti([,-0]))[1]==P?function(e){return new ti(e)}:Al;function So(e){return function(t){var n=jo(t);return n==X?Dn(t):n==ne?Nn(t):function(e,t){return Qt(t,function(t){return[t,e[t]]})}(t,e(t))}}function Do(e,t,n,r,s,a,u,c){var d=t&y;if(!d&&"function"!=typeof e)throw new rt(l);var f=r?r.length:0;if(f||(t&=~(x|C),r=s=o),u=u===o?u:Yn(Ra(u),0),c=c===o?c:Ra(c),f-=s?s.length:0,t&C){var p=r,m=s;r=s=o}var v=d?o:Io(e),D=[e,t,n,r,s,p,m,a,u,c];if(v&&function(e,t){var n=e[1],i=t[1],r=n|i,o=r<(g|y|k),s=i==k&&n==_||i==k&&n==S&&e[7].length<=t[8]||i==(k|S)&&t[7].length<=t[8]&&n==_;if(!o&&!s)return e;i&g&&(e[2]=t[2],r|=n&g?0:b);var a=t[3];if(a){var l=e[3];e[3]=l?to(l,a,t[4]):a,e[4]=l?$n(e[3],h):t[4]}(a=t[5])&&(l=e[5],e[5]=l?no(l,a,t[6]):a,e[6]=l?$n(e[5],h):t[6]),(a=t[7])&&(e[7]=a),i&k&&(e[8]=null==e[8]?t[8]:Kn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=r}(D,v),e=D[0],t=D[1],n=D[2],r=D[3],s=D[4],!(c=D[9]=D[9]===o?d?0:e.length:Yn(D[9]-f,0))&&t&(_|w)&&(t&=~(_|w)),t&&t!=g)E=t==_||t==w?function(e,t,n){var r=ho(e);return function s(){for(var a=arguments.length,l=i(a),u=a,c=Fo(s);u--;)l[u]=arguments[u];var h=a<3&&l[0]!==c&&l[a-1]!==c?[]:$n(l,c);return(a-=h.length)<n?xo(e,t,mo,s.placeholder,o,l,h,o,o,n-a):qt(this&&this!==Pt&&this instanceof s?r:e,this,l)}}(e,t,c):t!=x&&t!=(g|x)||s.length?mo.apply(o,D):function(e,t,n,r){var o=t&g,s=ho(e);return function t(){for(var a=-1,l=arguments.length,u=-1,c=r.length,h=i(c+l),d=this&&this!==Pt&&this instanceof t?s:e;++u<c;)h[u]=r[u];for(;l--;)h[u++]=arguments[++a];return qt(d,o?n:this,h)}}(e,t,n,r);else var E=function(e,t,n){var i=t&g,r=ho(e);return function t(){return(this&&this!==Pt&&this instanceof t?r:e).apply(i?n:this,arguments)}}(e,t,n);return ss((v?$r:is)(E,D),e,t)}function Eo(e,t,n,i){return e===o||fa(e,at[n])&&!ct.call(i,n)?t:e}function $o(e,t,n,i,r,s){return Ea(e)&&Ea(t)&&(s.set(t,e),vr(e,t,o,$o,s),s.delete(t)),e}function To(e){return Na(e)?o:e}function Mo(e,t,n,i,r,s){var a=n&m,l=e.length,u=t.length;if(l!=u&&!(a&&u>l))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var h=-1,d=!0,f=n&v?new xi:o;for(s.set(e,t),s.set(t,e);++h<l;){var p=e[h],g=t[h];if(i)var y=a?i(g,p,h,t,e,s):i(p,g,h,e,t,s);if(y!==o){if(y)continue;d=!1;break}if(f){if(!rn(t,function(e,t){if(!bn(f,t)&&(p===e||r(p,e,n,i,s)))return f.push(t)})){d=!1;break}}else if(p!==g&&!r(p,g,n,i,s)){d=!1;break}}return s.delete(e),s.delete(t),d}function No(e){return os(ts(e,o,ys),e+"")}function Oo(e){return Ji(e,rl,Ro)}function Po(e){return Ji(e,ol,Ho)}var Io=ri?function(e){return ri.get(e)}:Al;function Ao(e){for(var t=e.name+"",n=oi[t],i=ct.call(oi,t)?n.length:0;i--;){var r=n[i],o=r.func;if(null==o||o==e)return r.name}return t}function Fo(e){return(ct.call(pi,"placeholder")?pi:e).placeholder}function Lo(){var e=pi.iteratee||Nl;return e=e===Nl?ur:e,arguments.length?e(arguments[0],arguments[1]):e}function Vo(e,t){var n,i,r=e.__data__;return("string"==(i=typeof(n=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map}function Bo(e){for(var t=rl(e),n=t.length;n--;){var i=t[n],r=e[i];t[n]=[i,r,Qo(r)]}return t}function zo(e,t){var n=function(e,t){return null==e?o:e[t]}(e,t);return lr(n)?n:o}var Ro=Rn?function(e){return null==e?[]:(e=tt(e),Xt(Rn(e),function(t){return It.call(e,t)}))}:Hl,Ho=Rn?function(e){for(var t=[];e;)en(t,Ro(e)),e=Nt(e);return t}:Hl,jo=Qi;function Wo(e,t,n){for(var i=-1,r=(t=Kr(t,e)).length,o=!1;++i<r;){var s=cs(t[i]);if(!(o=null!=e&&n(e,s)))break;e=e[s]}return o||++i!=r?o:!!(r=null==e?0:e.length)&&Da(r)&&Ko(s,r)&&(ga(e)||va(e))}function qo(e){return"function"!=typeof e.constructor||Jo(e)?{}:mi(Nt(e))}function Yo(e){return ga(e)||va(e)||!!(Lt&&e&&e[Lt])}function Ko(e,t){var n=typeof e;return!!(t=null==t?I:t)&&("number"==n||"symbol"!=n&&Ue.test(e))&&e>-1&&e%1==0&&e<t}function Uo(e,t,n){if(!Ea(n))return!1;var i=typeof t;return!!("number"==i?ba(n)&&Ko(t,n.length):"string"==i&&t in n)&&fa(n[t],e)}function Go(e,t){if(ga(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Aa(e))||Me.test(e)||!Te.test(e)||null!=t&&e in tt(t)}function Xo(e){var t=Ao(e),n=pi[t];if("function"!=typeof n||!(t in yi.prototype))return!1;if(e===n)return!0;var i=Io(n);return!!i&&e===i[0]}(Jn&&jo(new Jn(new ArrayBuffer(1)))!=ue||Qn&&jo(new Qn)!=X||ei&&"[object Promise]"!=jo(ei.resolve())||ti&&jo(new ti)!=ne||ni&&jo(new ni)!=se)&&(jo=function(e){var t=Qi(e),n=t==Q?e.constructor:o,i=n?hs(n):"";if(i)switch(i){case si:return ue;case ai:return X;case li:return"[object Promise]";case ui:return ne;case ci:return se}return t});var Zo=lt?ka:jl;function Jo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||at)}function Qo(e){return e==e&&!Ea(e)}function es(e,t){return function(n){return null!=n&&n[e]===t&&(t!==o||e in tt(n))}}function ts(e,t,n){return t=Yn(t===o?e.length-1:t,0),function(){for(var r=arguments,o=-1,s=Yn(r.length-t,0),a=i(s);++o<s;)a[o]=r[t+o];o=-1;for(var l=i(t+1);++o<t;)l[o]=r[o];return l[t]=n(a),qt(e,this,l)}}function ns(e,t){return t.length<2?e:Zi(e,Nr(t,0,-1))}var is=as($r),rs=Vn||function(e,t){return Pt.setTimeout(e,t)},os=as(Tr);function ss(e,t,n){var i=t+"";return os(e,function(e,t){var n=t.length;if(!n)return e;var i=n-1;return t[i]=(n>1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(Le,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return Kt(z,function(n){var i="_."+n[0];t&n[1]&&!Zt(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(Ve);return t?t[1].split(Be):[]}(i),n)))}function as(e){var t=0,n=0;return function(){var i=Un(),r=M-(i-n);if(n=i,r>0){if(++t>=T)return arguments[0]}else t=0;return e.apply(o,arguments)}}function ls(e,t){var n=-1,i=e.length,r=i-1;for(t=t===o?i:t;++n<t;){var s=xr(n,r),a=e[s];e[s]=e[n],e[n]=a}return e.length=t,e}var us=function(e){var t=aa(e,function(e){return n.size===c&&n.clear(),e}),n=t.cache;return t}(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Ne,function(e,n,i,r){t.push(i?r.replace(Re,"$1"):n||e)}),t});function cs(e){if("string"==typeof e||Aa(e))return e;var t=e+"";return"0"==t&&1/e==-P?"-0":t}function hs(e){if(null!=e){try{return ut.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function ds(e){if(e instanceof yi)return e.clone();var t=new gi(e.__wrapped__,e.__chain__);return t.__actions__=io(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var fs=kr(function(e,t){return _a(e)?Bi(e,qi(t,1,_a,!0)):[]}),ps=kr(function(e,t){var n=Cs(t);return _a(n)&&(n=o),_a(e)?Bi(e,qi(t,1,_a,!0),Lo(n,2)):[]}),ms=kr(function(e,t){var n=Cs(t);return _a(n)&&(n=o),_a(e)?Bi(e,qi(t,1,_a,!0),o,n):[]});function vs(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:Ra(n);return r<0&&(r=Yn(i+r,0)),an(e,Lo(t,3),r)}function gs(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i-1;return n!==o&&(r=Ra(n),r=n<0?Yn(i+r,0):Kn(r,i-1)),an(e,Lo(t,3),r,!0)}function ys(e){return null!=e&&e.length?qi(e,1):[]}function bs(e){return e&&e.length?e[0]:o}var _s=kr(function(e){var t=Qt(e,qr);return t.length&&t[0]===e[0]?ir(t):[]}),ws=kr(function(e){var t=Cs(e),n=Qt(e,qr);return t===Cs(n)?t=o:n.pop(),n.length&&n[0]===e[0]?ir(n,Lo(t,2)):[]}),xs=kr(function(e){var t=Cs(e),n=Qt(e,qr);return(t="function"==typeof t?t:o)&&n.pop(),n.length&&n[0]===e[0]?ir(n,o,t):[]});function Cs(e){var t=null==e?0:e.length;return t?e[t-1]:o}var ks=kr(Ss);function Ss(e,t){return e&&e.length&&t&&t.length?_r(e,t):e}var Ds=No(function(e,t){var n=null==e?0:e.length,i=Ii(e,t);return wr(e,Qt(t,function(e){return Ko(e,n)?+e:e}).sort(eo)),i});function Es(e){return null==e?e:Zn.call(e)}var $s=kr(function(e){return Vr(qi(e,1,_a,!0))}),Ts=kr(function(e){var t=Cs(e);return _a(t)&&(t=o),Vr(qi(e,1,_a,!0),Lo(t,2))}),Ms=kr(function(e){var t=Cs(e);return t="function"==typeof t?t:o,Vr(qi(e,1,_a,!0),o,t)});function Ns(e){if(!e||!e.length)return[];var t=0;return e=Xt(e,function(e){if(_a(e))return t=Yn(e.length,t),!0}),vn(t,function(t){return Qt(e,dn(t))})}function Os(e,t){if(!e||!e.length)return[];var n=Ns(e);return null==t?n:Qt(n,function(e){return qt(t,o,e)})}var Ps=kr(function(e,t){return _a(e)?Bi(e,t):[]}),Is=kr(function(e){return jr(Xt(e,_a))}),As=kr(function(e){var t=Cs(e);return _a(t)&&(t=o),jr(Xt(e,_a),Lo(t,2))}),Fs=kr(function(e){var t=Cs(e);return t="function"==typeof t?t:o,jr(Xt(e,_a),o,t)}),Ls=kr(Ns);var Vs=kr(function(e){var t=e.length,n=t>1?e[t-1]:o;return n="function"==typeof n?(e.pop(),n):o,Os(e,n)});function Bs(e){var t=pi(e);return t.__chain__=!0,t}function zs(e,t){return t(e)}var Rs=No(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,r=function(t){return Ii(t,e)};return!(t>1||this.__actions__.length)&&i instanceof yi&&Ko(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:zs,args:[r],thisArg:o}),new gi(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(o),e})):this.thru(r)});var Hs=oo(function(e,t,n){ct.call(e,n)?++e[n]:Pi(e,n,1)});var js=fo(vs),Ws=fo(gs);function qs(e,t){return(ga(e)?Kt:zi)(e,Lo(t,3))}function Ys(e,t){return(ga(e)?Ut:Ri)(e,Lo(t,3))}var Ks=oo(function(e,t,n){ct.call(e,n)?e[n].push(t):Pi(e,n,[t])});var Us=kr(function(e,t,n){var r=-1,o="function"==typeof t,s=ba(e)?i(e.length):[];return zi(e,function(e){s[++r]=o?qt(t,e,n):rr(e,t,n)}),s}),Gs=oo(function(e,t,n){Pi(e,n,t)});function Xs(e,t){return(ga(e)?Qt:fr)(e,Lo(t,3))}var Zs=oo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Js=kr(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Uo(e,t[0],t[1])?t=[]:n>2&&Uo(t[0],t[1],t[2])&&(t=[t[0]]),yr(e,qi(t,1),[])}),Qs=Ln||function(){return Pt.Date.now()};function ea(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,Do(e,k,o,o,o,o,t)}function ta(e,t){var n;if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=o),n}}var na=kr(function(e,t,n){var i=g;if(n.length){var r=$n(n,Fo(na));i|=x}return Do(e,i,t,n,r)}),ia=kr(function(e,t,n){var i=g|y;if(n.length){var r=$n(n,Fo(ia));i|=x}return Do(t,i,e,n,r)});function ra(e,t,n){var i,r,s,a,u,c,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new rt(l);function m(t){var n=i,s=r;return i=r=o,h=t,a=e.apply(s,n)}function v(e){var n=e-c;return c===o||n>=t||n<0||f&&e-h>=s}function g(){var e=Qs();if(v(e))return y(e);u=rs(g,function(e){var n=t-(e-c);return f?Kn(n,s-(e-h)):n}(e))}function y(e){return u=o,p&&i?m(e):(i=r=o,a)}function b(){var e=Qs(),n=v(e);if(i=arguments,r=this,c=e,n){if(u===o)return function(e){return h=e,u=rs(g,t),d?m(e):a}(c);if(f)return u=rs(g,t),m(c)}return u===o&&(u=rs(g,t)),a}return t=ja(t)||0,Ea(n)&&(d=!!n.leading,s=(f="maxWait"in n)?Yn(ja(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){u!==o&&Xr(u),h=0,i=c=r=u=o},b.flush=function(){return u===o?a:y(Qs())},b}var oa=kr(function(e,t){return Vi(e,1,t)}),sa=kr(function(e,t,n){return Vi(e,ja(t)||0,n)});function aa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new rt(l);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(aa.Cache||wi),n}function la(e){if("function"!=typeof e)throw new rt(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}aa.Cache=wi;var ua=Ur(function(e,t){var n=(t=1==t.length&&ga(t[0])?Qt(t[0],gn(Lo())):Qt(qi(t,1),gn(Lo()))).length;return kr(function(i){for(var r=-1,o=Kn(i.length,n);++r<o;)i[r]=t[r].call(this,i[r]);return qt(e,this,i)})}),ca=kr(function(e,t){var n=$n(t,Fo(ca));return Do(e,x,o,t,n)}),ha=kr(function(e,t){var n=$n(t,Fo(ha));return Do(e,C,o,t,n)}),da=No(function(e,t){return Do(e,S,o,o,o,t)});function fa(e,t){return e===t||e!=e&&t!=t}var pa=wo(er),ma=wo(function(e,t){return e>=t}),va=or(function(){return arguments}())?or:function(e){return $a(e)&&ct.call(e,"callee")&&!It.call(e,"callee")},ga=i.isArray,ya=Bt?gn(Bt):function(e){return $a(e)&&Qi(e)==le};function ba(e){return null!=e&&Da(e.length)&&!ka(e)}function _a(e){return $a(e)&&ba(e)}var wa=Hn||jl,xa=zt?gn(zt):function(e){return $a(e)&&Qi(e)==q};function Ca(e){if(!$a(e))return!1;var t=Qi(e);return t==K||t==Y||"string"==typeof e.message&&"string"==typeof e.name&&!Na(e)}function ka(e){if(!Ea(e))return!1;var t=Qi(e);return t==U||t==G||t==j||t==ee}function Sa(e){return"number"==typeof e&&e==Ra(e)}function Da(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=I}function Ea(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function $a(e){return null!=e&&"object"==typeof e}var Ta=Rt?gn(Rt):function(e){return $a(e)&&jo(e)==X};function Ma(e){return"number"==typeof e||$a(e)&&Qi(e)==Z}function Na(e){if(!$a(e)||Qi(e)!=Q)return!1;var t=Nt(e);if(null===t)return!0;var n=ct.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ut.call(n)==pt}var Oa=Ht?gn(Ht):function(e){return $a(e)&&Qi(e)==te};var Pa=jt?gn(jt):function(e){return $a(e)&&jo(e)==ne};function Ia(e){return"string"==typeof e||!ga(e)&&$a(e)&&Qi(e)==ie}function Aa(e){return"symbol"==typeof e||$a(e)&&Qi(e)==re}var Fa=Wt?gn(Wt):function(e){return $a(e)&&Da(e.length)&&!!Dt[Qi(e)]};var La=wo(dr),Va=wo(function(e,t){return e<=t});function Ba(e){if(!e)return[];if(ba(e))return Ia(e)?Pn(e):io(e);if(Vt&&e[Vt])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Vt]());var t=jo(e);return(t==X?Dn:t==ne?Mn:fl)(e)}function za(e){return e?(e=ja(e))===P||e===-P?(e<0?-1:1)*A:e==e?e:0:0===e?e:0}function Ra(e){var t=za(e),n=t%1;return t==t?n?t-n:t:0}function Ha(e){return e?Ai(Ra(e),0,L):0}function ja(e){if("number"==typeof e)return e;if(Aa(e))return F;if(Ea(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ea(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Ie,"");var n=qe.test(e);return n||Ke.test(e)?Mt(e.slice(2),n?2:8):We.test(e)?F:+e}function Wa(e){return ro(e,ol(e))}function qa(e){return null==e?"":Lr(e)}var Ya=so(function(e,t){if(Jo(t)||ba(t))ro(t,rl(t),e);else for(var n in t)ct.call(t,n)&&Ti(e,n,t[n])}),Ka=so(function(e,t){ro(t,ol(t),e)}),Ua=so(function(e,t,n,i){ro(t,ol(t),e,i)}),Ga=so(function(e,t,n,i){ro(t,rl(t),e,i)}),Xa=No(Ii);var Za=kr(function(e,t){e=tt(e);var n=-1,i=t.length,r=i>2?t[2]:o;for(r&&Uo(t[0],t[1],r)&&(i=1);++n<i;)for(var s=t[n],a=ol(s),l=-1,u=a.length;++l<u;){var c=a[l],h=e[c];(h===o||fa(h,at[c])&&!ct.call(e,c))&&(e[c]=s[c])}return e}),Ja=kr(function(e){return e.push(o,$o),qt(al,o,e)});function Qa(e,t,n){var i=null==e?o:Zi(e,t);return i===o?n:i}function el(e,t){return null!=e&&Wo(e,t,nr)}var tl=vo(function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=ft.call(t)),e[t]=n},El(Ml)),nl=vo(function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=ft.call(t)),ct.call(e,t)?e[t].push(n):e[t]=[n]},Lo),il=kr(rr);function rl(e){return ba(e)?ki(e):cr(e)}function ol(e){return ba(e)?ki(e,!0):hr(e)}var sl=so(function(e,t,n){vr(e,t,n)}),al=so(function(e,t,n,i){vr(e,t,n,i)}),ll=No(function(e,t){var n={};if(null==e)return n;var i=!1;t=Qt(t,function(t){return t=Kr(t,e),i||(i=t.length>1),t}),ro(e,Po(e),n),i&&(n=Fi(n,d|f|p,To));for(var r=t.length;r--;)Br(n,t[r]);return n});var ul=No(function(e,t){return null==e?{}:function(e,t){return br(e,t,function(t,n){return el(e,n)})}(e,t)});function cl(e,t){if(null==e)return{};var n=Qt(Po(e),function(e){return[e]});return t=Lo(t),br(e,n,function(e,n){return t(e,n[0])})}var hl=So(rl),dl=So(ol);function fl(e){return null==e?[]:yn(e,rl(e))}var pl=co(function(e,t,n){return t=t.toLowerCase(),e+(n?ml(t):t)});function ml(e){return Cl(qa(e).toLowerCase())}function vl(e){return(e=qa(e))&&e.replace(Ge,xn).replace(bt,"")}var gl=co(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),yl=co(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),bl=uo("toLowerCase");var _l=co(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var wl=co(function(e,t,n){return e+(n?" ":"")+Cl(t)});var xl=co(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Cl=uo("toUpperCase");function kl(e,t,n){return e=qa(e),(t=n?o:t)===o?function(e){return Ct.test(e)}(e)?function(e){return e.match(wt)||[]}(e):function(e){return e.match(ze)||[]}(e):e.match(t)||[]}var Sl=kr(function(e,t){try{return qt(e,o,t)}catch(e){return Ca(e)?e:new Je(e)}}),Dl=No(function(e,t){return Kt(t,function(t){t=cs(t),Pi(e,t,na(e[t],e))}),e});function El(e){return function(){return e}}var $l=po(),Tl=po(!0);function Ml(e){return e}function Nl(e){return ur("function"==typeof e?e:Fi(e,d))}var Ol=kr(function(e,t){return function(n){return rr(n,e,t)}}),Pl=kr(function(e,t){return function(n){return rr(e,n,t)}});function Il(e,t,n){var i=rl(t),r=Xi(t,i);null!=n||Ea(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=Xi(t,rl(t)));var o=!(Ea(n)&&"chain"in n&&!n.chain),s=ka(e);return Kt(r,function(n){var i=t[n];e[n]=i,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=io(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,en([this.value()],arguments))})}),e}function Al(){}var Fl=yo(Qt),Ll=yo(Gt),Vl=yo(rn);function Bl(e){return Go(e)?dn(cs(e)):function(e){return function(t){return Zi(t,e)}}(e)}var zl=_o(),Rl=_o(!0);function Hl(){return[]}function jl(){return!1}var Wl=go(function(e,t){return e+t},0),ql=Co("ceil"),Yl=go(function(e,t){return e/t},1),Kl=Co("floor");var Ul,Gl=go(function(e,t){return e*t},1),Xl=Co("round"),Zl=go(function(e,t){return e-t},0);return pi.after=function(e,t){if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){if(--e<1)return t.apply(this,arguments)}},pi.ary=ea,pi.assign=Ya,pi.assignIn=Ka,pi.assignInWith=Ua,pi.assignWith=Ga,pi.at=Xa,pi.before=ta,pi.bind=na,pi.bindAll=Dl,pi.bindKey=ia,pi.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ga(e)?e:[e]},pi.chain=Bs,pi.chunk=function(e,t,n){t=(n?Uo(e,t,n):t===o)?1:Yn(Ra(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var s=0,a=0,l=i(Bn(r/t));s<r;)l[a++]=Nr(e,s,s+=t);return l},pi.compact=function(e){for(var t=-1,n=null==e?0:e.length,i=0,r=[];++t<n;){var o=e[t];o&&(r[i++]=o)}return r},pi.concat=function(){var e=arguments.length;if(!e)return[];for(var t=i(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return en(ga(n)?io(n):[n],qi(t,1))},pi.cond=function(e){var t=null==e?0:e.length,n=Lo();return e=t?Qt(e,function(e){if("function"!=typeof e[1])throw new rt(l);return[n(e[0]),e[1]]}):[],kr(function(n){for(var i=-1;++i<t;){var r=e[i];if(qt(r[0],this,n))return qt(r[1],this,n)}})},pi.conforms=function(e){return function(e){var t=rl(e);return function(n){return Li(n,e,t)}}(Fi(e,d))},pi.constant=El,pi.countBy=Hs,pi.create=function(e,t){var n=mi(e);return null==t?n:Oi(n,t)},pi.curry=function e(t,n,i){var r=Do(t,_,o,o,o,o,o,n=i?o:n);return r.placeholder=e.placeholder,r},pi.curryRight=function e(t,n,i){var r=Do(t,w,o,o,o,o,o,n=i?o:n);return r.placeholder=e.placeholder,r},pi.debounce=ra,pi.defaults=Za,pi.defaultsDeep=Ja,pi.defer=oa,pi.delay=sa,pi.difference=fs,pi.differenceBy=ps,pi.differenceWith=ms,pi.drop=function(e,t,n){var i=null==e?0:e.length;return i?Nr(e,(t=n||t===o?1:Ra(t))<0?0:t,i):[]},pi.dropRight=function(e,t,n){var i=null==e?0:e.length;return i?Nr(e,0,(t=i-(t=n||t===o?1:Ra(t)))<0?0:t):[]},pi.dropRightWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3),!0,!0):[]},pi.dropWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3),!0):[]},pi.fill=function(e,t,n,i){var r=null==e?0:e.length;return r?(n&&"number"!=typeof n&&Uo(e,t,n)&&(n=0,i=r),function(e,t,n,i){var r=e.length;for((n=Ra(n))<0&&(n=-n>r?0:r+n),(i=i===o||i>r?r:Ra(i))<0&&(i+=r),i=n>i?0:Ha(i);n<i;)e[n++]=t;return e}(e,t,n,i)):[]},pi.filter=function(e,t){return(ga(e)?Xt:Wi)(e,Lo(t,3))},pi.flatMap=function(e,t){return qi(Xs(e,t),1)},pi.flatMapDeep=function(e,t){return qi(Xs(e,t),P)},pi.flatMapDepth=function(e,t,n){return n=n===o?1:Ra(n),qi(Xs(e,t),n)},pi.flatten=ys,pi.flattenDeep=function(e){return null!=e&&e.length?qi(e,P):[]},pi.flattenDepth=function(e,t){return null!=e&&e.length?qi(e,t=t===o?1:Ra(t)):[]},pi.flip=function(e){return Do(e,D)},pi.flow=$l,pi.flowRight=Tl,pi.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t<n;){var r=e[t];i[r[0]]=r[1]}return i},pi.functions=function(e){return null==e?[]:Xi(e,rl(e))},pi.functionsIn=function(e){return null==e?[]:Xi(e,ol(e))},pi.groupBy=Ks,pi.initial=function(e){return null!=e&&e.length?Nr(e,0,-1):[]},pi.intersection=_s,pi.intersectionBy=ws,pi.intersectionWith=xs,pi.invert=tl,pi.invertBy=nl,pi.invokeMap=Us,pi.iteratee=Nl,pi.keyBy=Gs,pi.keys=rl,pi.keysIn=ol,pi.map=Xs,pi.mapKeys=function(e,t){var n={};return t=Lo(t,3),Ui(e,function(e,i,r){Pi(n,t(e,i,r),e)}),n},pi.mapValues=function(e,t){var n={};return t=Lo(t,3),Ui(e,function(e,i,r){Pi(n,i,t(e,i,r))}),n},pi.matches=function(e){return pr(Fi(e,d))},pi.matchesProperty=function(e,t){return mr(e,Fi(t,d))},pi.memoize=aa,pi.merge=sl,pi.mergeWith=al,pi.method=Ol,pi.methodOf=Pl,pi.mixin=Il,pi.negate=la,pi.nthArg=function(e){return e=Ra(e),kr(function(t){return gr(t,e)})},pi.omit=ll,pi.omitBy=function(e,t){return cl(e,la(Lo(t)))},pi.once=function(e){return ta(2,e)},pi.orderBy=function(e,t,n,i){return null==e?[]:(ga(t)||(t=null==t?[]:[t]),ga(n=i?o:n)||(n=null==n?[]:[n]),yr(e,t,n))},pi.over=Fl,pi.overArgs=ua,pi.overEvery=Ll,pi.overSome=Vl,pi.partial=ca,pi.partialRight=ha,pi.partition=Zs,pi.pick=ul,pi.pickBy=cl,pi.property=Bl,pi.propertyOf=function(e){return function(t){return null==e?o:Zi(e,t)}},pi.pull=ks,pi.pullAll=Ss,pi.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?_r(e,t,Lo(n,2)):e},pi.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?_r(e,t,o,n):e},pi.pullAt=Ds,pi.range=zl,pi.rangeRight=Rl,pi.rearg=da,pi.reject=function(e,t){return(ga(e)?Xt:Wi)(e,la(Lo(t,3)))},pi.remove=function(e,t){var n=[];if(!e||!e.length)return n;var i=-1,r=[],o=e.length;for(t=Lo(t,3);++i<o;){var s=e[i];t(s,i,e)&&(n.push(s),r.push(i))}return wr(e,r),n},pi.rest=function(e,t){if("function"!=typeof e)throw new rt(l);return kr(e,t=t===o?t:Ra(t))},pi.reverse=Es,pi.sampleSize=function(e,t,n){return t=(n?Uo(e,t,n):t===o)?1:Ra(t),(ga(e)?Di:Dr)(e,t)},pi.set=function(e,t,n){return null==e?e:Er(e,t,n)},pi.setWith=function(e,t,n,i){return i="function"==typeof i?i:o,null==e?e:Er(e,t,n,i)},pi.shuffle=function(e){return(ga(e)?Ei:Mr)(e)},pi.slice=function(e,t,n){var i=null==e?0:e.length;return i?(n&&"number"!=typeof n&&Uo(e,t,n)?(t=0,n=i):(t=null==t?0:Ra(t),n=n===o?i:Ra(n)),Nr(e,t,n)):[]},pi.sortBy=Js,pi.sortedUniq=function(e){return e&&e.length?Ar(e):[]},pi.sortedUniqBy=function(e,t){return e&&e.length?Ar(e,Lo(t,2)):[]},pi.split=function(e,t,n){return n&&"number"!=typeof n&&Uo(e,t,n)&&(t=n=o),(n=n===o?L:n>>>0)?(e=qa(e))&&("string"==typeof t||null!=t&&!Oa(t))&&!(t=Lr(t))&&Sn(e)?Gr(Pn(e),0,n):e.split(t,n):[]},pi.spread=function(e,t){if("function"!=typeof e)throw new rt(l);return t=null==t?0:Yn(Ra(t),0),kr(function(n){var i=n[t],r=Gr(n,0,t);return i&&en(r,i),qt(e,this,r)})},pi.tail=function(e){var t=null==e?0:e.length;return t?Nr(e,1,t):[]},pi.take=function(e,t,n){return e&&e.length?Nr(e,0,(t=n||t===o?1:Ra(t))<0?0:t):[]},pi.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Nr(e,(t=i-(t=n||t===o?1:Ra(t)))<0?0:t,i):[]},pi.takeRightWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3),!1,!0):[]},pi.takeWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3)):[]},pi.tap=function(e,t){return t(e),e},pi.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new rt(l);return Ea(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),ra(e,t,{leading:i,maxWait:t,trailing:r})},pi.thru=zs,pi.toArray=Ba,pi.toPairs=hl,pi.toPairsIn=dl,pi.toPath=function(e){return ga(e)?Qt(e,cs):Aa(e)?[e]:io(us(qa(e)))},pi.toPlainObject=Wa,pi.transform=function(e,t,n){var i=ga(e),r=i||wa(e)||Fa(e);if(t=Lo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Ea(e)&&ka(o)?mi(Nt(e)):{}}return(r?Kt:Ui)(e,function(e,i,r){return t(n,e,i,r)}),n},pi.unary=function(e){return ea(e,1)},pi.union=$s,pi.unionBy=Ts,pi.unionWith=Ms,pi.uniq=function(e){return e&&e.length?Vr(e):[]},pi.uniqBy=function(e,t){return e&&e.length?Vr(e,Lo(t,2)):[]},pi.uniqWith=function(e,t){return t="function"==typeof t?t:o,e&&e.length?Vr(e,o,t):[]},pi.unset=function(e,t){return null==e||Br(e,t)},pi.unzip=Ns,pi.unzipWith=Os,pi.update=function(e,t,n){return null==e?e:zr(e,t,Yr(n))},pi.updateWith=function(e,t,n,i){return i="function"==typeof i?i:o,null==e?e:zr(e,t,Yr(n),i)},pi.values=fl,pi.valuesIn=function(e){return null==e?[]:yn(e,ol(e))},pi.without=Ps,pi.words=kl,pi.wrap=function(e,t){return ca(Yr(t),e)},pi.xor=Is,pi.xorBy=As,pi.xorWith=Fs,pi.zip=Ls,pi.zipObject=function(e,t){return Wr(e||[],t||[],Ti)},pi.zipObjectDeep=function(e,t){return Wr(e||[],t||[],Er)},pi.zipWith=Vs,pi.entries=hl,pi.entriesIn=dl,pi.extend=Ka,pi.extendWith=Ua,Il(pi,pi),pi.add=Wl,pi.attempt=Sl,pi.camelCase=pl,pi.capitalize=ml,pi.ceil=ql,pi.clamp=function(e,t,n){return n===o&&(n=t,t=o),n!==o&&(n=(n=ja(n))==n?n:0),t!==o&&(t=(t=ja(t))==t?t:0),Ai(ja(e),t,n)},pi.clone=function(e){return Fi(e,p)},pi.cloneDeep=function(e){return Fi(e,d|p)},pi.cloneDeepWith=function(e,t){return Fi(e,d|p,t="function"==typeof t?t:o)},pi.cloneWith=function(e,t){return Fi(e,p,t="function"==typeof t?t:o)},pi.conformsTo=function(e,t){return null==t||Li(e,t,rl(t))},pi.deburr=vl,pi.defaultTo=function(e,t){return null==e||e!=e?t:e},pi.divide=Yl,pi.endsWith=function(e,t,n){e=qa(e),t=Lr(t);var i=e.length,r=n=n===o?i:Ai(Ra(n),0,i);return(n-=t.length)>=0&&e.slice(n,r)==t},pi.eq=fa,pi.escape=function(e){return(e=qa(e))&&Se.test(e)?e.replace(Ce,Cn):e},pi.escapeRegExp=function(e){return(e=qa(e))&&Pe.test(e)?e.replace(Oe,"\\$&"):e},pi.every=function(e,t,n){var i=ga(e)?Gt:Hi;return n&&Uo(e,t,n)&&(t=o),i(e,Lo(t,3))},pi.find=js,pi.findIndex=vs,pi.findKey=function(e,t){return sn(e,Lo(t,3),Ui)},pi.findLast=Ws,pi.findLastIndex=gs,pi.findLastKey=function(e,t){return sn(e,Lo(t,3),Gi)},pi.floor=Kl,pi.forEach=qs,pi.forEachRight=Ys,pi.forIn=function(e,t){return null==e?e:Yi(e,Lo(t,3),ol)},pi.forInRight=function(e,t){return null==e?e:Ki(e,Lo(t,3),ol)},pi.forOwn=function(e,t){return e&&Ui(e,Lo(t,3))},pi.forOwnRight=function(e,t){return e&&Gi(e,Lo(t,3))},pi.get=Qa,pi.gt=pa,pi.gte=ma,pi.has=function(e,t){return null!=e&&Wo(e,t,tr)},pi.hasIn=el,pi.head=bs,pi.identity=Ml,pi.includes=function(e,t,n,i){e=ba(e)?e:fl(e),n=n&&!i?Ra(n):0;var r=e.length;return n<0&&(n=Yn(r+n,0)),Ia(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&ln(e,t,n)>-1},pi.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:Ra(n);return r<0&&(r=Yn(i+r,0)),ln(e,t,r)},pi.inRange=function(e,t,n){return t=za(t),n===o?(n=t,t=0):n=za(n),function(e,t,n){return e>=Kn(t,n)&&e<Yn(t,n)}(e=ja(e),t,n)},pi.invoke=il,pi.isArguments=va,pi.isArray=ga,pi.isArrayBuffer=ya,pi.isArrayLike=ba,pi.isArrayLikeObject=_a,pi.isBoolean=function(e){return!0===e||!1===e||$a(e)&&Qi(e)==W},pi.isBuffer=wa,pi.isDate=xa,pi.isElement=function(e){return $a(e)&&1===e.nodeType&&!Na(e)},pi.isEmpty=function(e){if(null==e)return!0;if(ba(e)&&(ga(e)||"string"==typeof e||"function"==typeof e.splice||wa(e)||Fa(e)||va(e)))return!e.length;var t=jo(e);if(t==X||t==ne)return!e.size;if(Jo(e))return!cr(e).length;for(var n in e)if(ct.call(e,n))return!1;return!0},pi.isEqual=function(e,t){return sr(e,t)},pi.isEqualWith=function(e,t,n){var i=(n="function"==typeof n?n:o)?n(e,t):o;return i===o?sr(e,t,o,n):!!i},pi.isError=Ca,pi.isFinite=function(e){return"number"==typeof e&&jn(e)},pi.isFunction=ka,pi.isInteger=Sa,pi.isLength=Da,pi.isMap=Ta,pi.isMatch=function(e,t){return e===t||ar(e,t,Bo(t))},pi.isMatchWith=function(e,t,n){return n="function"==typeof n?n:o,ar(e,t,Bo(t),n)},pi.isNaN=function(e){return Ma(e)&&e!=+e},pi.isNative=function(e){if(Zo(e))throw new Je(a);return lr(e)},pi.isNil=function(e){return null==e},pi.isNull=function(e){return null===e},pi.isNumber=Ma,pi.isObject=Ea,pi.isObjectLike=$a,pi.isPlainObject=Na,pi.isRegExp=Oa,pi.isSafeInteger=function(e){return Sa(e)&&e>=-I&&e<=I},pi.isSet=Pa,pi.isString=Ia,pi.isSymbol=Aa,pi.isTypedArray=Fa,pi.isUndefined=function(e){return e===o},pi.isWeakMap=function(e){return $a(e)&&jo(e)==se},pi.isWeakSet=function(e){return $a(e)&&Qi(e)==ae},pi.join=function(e,t){return null==e?"":Wn.call(e,t)},pi.kebabCase=gl,pi.last=Cs,pi.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i;return n!==o&&(r=(r=Ra(n))<0?Yn(i+r,0):Kn(r,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,r):an(e,cn,r,!0)},pi.lowerCase=yl,pi.lowerFirst=bl,pi.lt=La,pi.lte=Va,pi.max=function(e){return e&&e.length?ji(e,Ml,er):o},pi.maxBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),er):o},pi.mean=function(e){return hn(e,Ml)},pi.meanBy=function(e,t){return hn(e,Lo(t,2))},pi.min=function(e){return e&&e.length?ji(e,Ml,dr):o},pi.minBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),dr):o},pi.stubArray=Hl,pi.stubFalse=jl,pi.stubObject=function(){return{}},pi.stubString=function(){return""},pi.stubTrue=function(){return!0},pi.multiply=Gl,pi.nth=function(e,t){return e&&e.length?gr(e,Ra(t)):o},pi.noConflict=function(){return Pt._===this&&(Pt._=mt),this},pi.noop=Al,pi.now=Qs,pi.pad=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return bo(zn(r),n)+e+bo(Bn(r),n)},pi.padEnd=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;return t&&i<t?e+bo(t-i,n):e},pi.padStart=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;return t&&i<t?bo(t-i,n)+e:e},pi.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),Gn(qa(e).replace(Ae,""),t||0)},pi.random=function(e,t,n){if(n&&"boolean"!=typeof n&&Uo(e,t,n)&&(t=n=o),n===o&&("boolean"==typeof t?(n=t,t=o):"boolean"==typeof e&&(n=e,e=o)),e===o&&t===o?(e=0,t=1):(e=za(e),t===o?(t=e,e=0):t=za(t)),e>t){var i=e;e=t,t=i}if(n||e%1||t%1){var r=Xn();return Kn(e+r*(t-e+Tt("1e-"+((r+"").length-1))),t)}return xr(e,t)},pi.reduce=function(e,t,n){var i=ga(e)?tn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,zi)},pi.reduceRight=function(e,t,n){var i=ga(e)?nn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,Ri)},pi.repeat=function(e,t,n){return t=(n?Uo(e,t,n):t===o)?1:Ra(t),Cr(qa(e),t)},pi.replace=function(){var e=arguments,t=qa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},pi.result=function(e,t,n){var i=-1,r=(t=Kr(t,e)).length;for(r||(r=1,e=o);++i<r;){var s=null==e?o:e[cs(t[i])];s===o&&(i=r,s=n),e=ka(s)?s.call(e):s}return e},pi.round=Xl,pi.runInContext=e,pi.sample=function(e){return(ga(e)?Si:Sr)(e)},pi.size=function(e){if(null==e)return 0;if(ba(e))return Ia(e)?On(e):e.length;var t=jo(e);return t==X||t==ne?e.size:cr(e).length},pi.snakeCase=_l,pi.some=function(e,t,n){var i=ga(e)?rn:Or;return n&&Uo(e,t,n)&&(t=o),i(e,Lo(t,3))},pi.sortedIndex=function(e,t){return Pr(e,t)},pi.sortedIndexBy=function(e,t,n){return Ir(e,t,Lo(n,2))},pi.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var i=Pr(e,t);if(i<n&&fa(e[i],t))return i}return-1},pi.sortedLastIndex=function(e,t){return Pr(e,t,!0)},pi.sortedLastIndexBy=function(e,t,n){return Ir(e,t,Lo(n,2),!0)},pi.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=Pr(e,t,!0)-1;if(fa(e[n],t))return n}return-1},pi.startCase=wl,pi.startsWith=function(e,t,n){return e=qa(e),n=null==n?0:Ai(Ra(n),0,e.length),t=Lr(t),e.slice(n,n+t.length)==t},pi.subtract=Zl,pi.sum=function(e){return e&&e.length?mn(e,Ml):0},pi.sumBy=function(e,t){return e&&e.length?mn(e,Lo(t,2)):0},pi.template=function(e,t,n){var i=pi.templateSettings;n&&Uo(e,t,n)&&(t=o),e=qa(e),t=Ua({},t,i,Eo);var r,s,a=Ua({},t.imports,i.imports,Eo),l=rl(a),u=yn(a,l),c=0,h=t.interpolate||Xe,d="__p += '",f=nt((t.escape||Xe).source+"|"+h.source+"|"+(h===$e?He:Xe).source+"|"+(t.evaluate||Xe).source+"|$","g"),p="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++St+"]")+"\n";e.replace(f,function(t,n,i,o,a,l){return i||(i=o),d+=e.slice(c,l).replace(Ze,kn),n&&(r=!0,d+="' +\n__e("+n+") +\n'"),a&&(s=!0,d+="';\n"+a+";\n__p += '"),i&&(d+="' +\n((__t = ("+i+")) == null ? '' : __t) +\n'"),c=l+t.length,t}),d+="';\n";var m=t.variable;m||(d="with (obj) {\n"+d+"\n}\n"),d=(s?d.replace(be,""):d).replace(_e,"$1").replace(we,"$1;"),d="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(r?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var v=Sl(function(){return Qe(l,p+"return "+d).apply(o,u)});if(v.source=d,Ca(v))throw v;return v},pi.times=function(e,t){if((e=Ra(e))<1||e>I)return[];var n=L,i=Kn(e,L);t=Lo(t),e-=L;for(var r=vn(i,t);++n<e;)t(n);return r},pi.toFinite=za,pi.toInteger=Ra,pi.toLength=Ha,pi.toLower=function(e){return qa(e).toLowerCase()},pi.toNumber=ja,pi.toSafeInteger=function(e){return e?Ai(Ra(e),-I,I):0===e?e:0},pi.toString=qa,pi.toUpper=function(e){return qa(e).toUpperCase()},pi.trim=function(e,t,n){if((e=qa(e))&&(n||t===o))return e.replace(Ie,"");if(!e||!(t=Lr(t)))return e;var i=Pn(e),r=Pn(t);return Gr(i,_n(i,r),wn(i,r)+1).join("")},pi.trimEnd=function(e,t,n){if((e=qa(e))&&(n||t===o))return e.replace(Fe,"");if(!e||!(t=Lr(t)))return e;var i=Pn(e);return Gr(i,0,wn(i,Pn(t))+1).join("")},pi.trimStart=function(e,t,n){if((e=qa(e))&&(n||t===o))return e.replace(Ae,"");if(!e||!(t=Lr(t)))return e;var i=Pn(e);return Gr(i,_n(i,Pn(t))).join("")},pi.truncate=function(e,t){var n=E,i=$;if(Ea(t)){var r="separator"in t?t.separator:r;n="length"in t?Ra(t.length):n,i="omission"in t?Lr(t.omission):i}var s=(e=qa(e)).length;if(Sn(e)){var a=Pn(e);s=a.length}if(n>=s)return e;var l=n-On(i);if(l<1)return i;var u=a?Gr(a,0,l).join(""):e.slice(0,l);if(r===o)return u+i;if(a&&(l+=u.length-l),Oa(r)){if(e.slice(l).search(r)){var c,h=u;for(r.global||(r=nt(r.source,qa(je.exec(r))+"g")),r.lastIndex=0;c=r.exec(h);)var d=c.index;u=u.slice(0,d===o?l:d)}}else if(e.indexOf(Lr(r),l)!=l){var f=u.lastIndexOf(r);f>-1&&(u=u.slice(0,f))}return u+i},pi.unescape=function(e){return(e=qa(e))&&ke.test(e)?e.replace(xe,In):e},pi.uniqueId=function(e){var t=++ht;return qa(e)+t},pi.upperCase=xl,pi.upperFirst=Cl,pi.each=qs,pi.eachRight=Ys,pi.first=bs,Il(pi,(Ul={},Ui(pi,function(e,t){ct.call(pi.prototype,t)||(Ul[t]=e)}),Ul),{chain:!1}),pi.VERSION="4.17.10",Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){pi[e].placeholder=pi}),Kt(["drop","take"],function(e,t){yi.prototype[e]=function(n){n=n===o?1:Yn(Ra(n),0);var i=this.__filtered__&&!t?new yi(this):this.clone();return i.__filtered__?i.__takeCount__=Kn(n,i.__takeCount__):i.__views__.push({size:Kn(n,L),type:e+(i.__dir__<0?"Right":"")}),i},yi.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Kt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=n==N||3==n;yi.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Lo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),Kt(["head","last"],function(e,t){var n="take"+(t?"Right":"");yi.prototype[e]=function(){return this[n](1).value()[0]}}),Kt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");yi.prototype[e]=function(){return this.__filtered__?new yi(this):this[n](1)}}),yi.prototype.compact=function(){return this.filter(Ml)},yi.prototype.find=function(e){return this.filter(e).head()},yi.prototype.findLast=function(e){return this.reverse().find(e)},yi.prototype.invokeMap=kr(function(e,t){return"function"==typeof e?new yi(this):this.map(function(n){return rr(n,e,t)})}),yi.prototype.reject=function(e){return this.filter(la(Lo(e)))},yi.prototype.slice=function(e,t){e=Ra(e);var n=this;return n.__filtered__&&(e>0||t<0)?new yi(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==o&&(n=(t=Ra(t))<0?n.dropRight(-t):n.take(t-e)),n)},yi.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},yi.prototype.toArray=function(){return this.take(L)},Ui(yi.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),r=pi[i?"take"+("last"==t?"Right":""):t],s=i||/^find/.test(t);r&&(pi.prototype[t]=function(){var t=this.__wrapped__,a=i?[1]:arguments,l=t instanceof yi,u=a[0],c=l||ga(t),h=function(e){var t=r.apply(pi,en([e],a));return i&&d?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(l=c=!1);var d=this.__chain__,f=!!this.__actions__.length,p=s&&!d,m=l&&!f;if(!s&&c){t=m?t:new yi(this);var v=e.apply(t,a);return v.__actions__.push({func:zs,args:[h],thisArg:o}),new gi(v,d)}return p&&m?e.apply(this,a):(v=this.thru(h),p?i?v.value()[0]:v.value():v)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(e){var t=ot[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);pi.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(ga(r)?r:[],e)}return this[n](function(n){return t.apply(ga(n)?n:[],e)})}}),Ui(yi.prototype,function(e,t){var n=pi[t];if(n){var i=n.name+"";(oi[i]||(oi[i]=[])).push({name:t,func:n})}}),oi[mo(o,y).name]=[{name:"wrapper",func:o}],yi.prototype.clone=function(){var e=new yi(this.__wrapped__);return e.__actions__=io(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=io(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=io(this.__views__),e},yi.prototype.reverse=function(){if(this.__filtered__){var e=new yi(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},yi.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ga(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i<r;){var o=n[i],s=o.size;switch(o.type){case"drop":e+=s;break;case"dropRight":t-=s;break;case"take":t=Kn(t,e+s);break;case"takeRight":e=Yn(e,t-s)}}return{start:e,end:t}}(0,r,this.__views__),s=o.start,a=o.end,l=a-s,u=i?a:s-1,c=this.__iteratees__,h=c.length,d=0,f=Kn(l,this.__takeCount__);if(!n||!i&&r==l&&f==l)return Hr(e,this.__actions__);var p=[];e:for(;l--&&d<f;){for(var m=-1,v=e[u+=t];++m<h;){var g=c[m],y=g.iteratee,b=g.type,_=y(v);if(b==O)v=_;else if(!_){if(b==N)continue e;break e}}p[d++]=v}return p},pi.prototype.at=Rs,pi.prototype.chain=function(){return Bs(this)},pi.prototype.commit=function(){return new gi(this.value(),this.__chain__)},pi.prototype.next=function(){this.__values__===o&&(this.__values__=Ba(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},pi.prototype.plant=function(e){for(var t,n=this;n instanceof vi;){var i=ds(n);i.__index__=0,i.__values__=o,t?r.__wrapped__=i:t=i;var r=i;n=n.__wrapped__}return r.__wrapped__=e,t},pi.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof yi){var t=e;return this.__actions__.length&&(t=new yi(this)),(t=t.reverse()).__actions__.push({func:zs,args:[Es],thisArg:o}),new gi(t,this.__chain__)}return this.thru(Es)},pi.prototype.toJSON=pi.prototype.valueOf=pi.prototype.value=function(){return Hr(this.__wrapped__,this.__actions__)},pi.prototype.first=pi.prototype.head,Vt&&(pi.prototype[Vt]=function(){return this}),pi}();Pt._=An,(r=function(){return An}.call(t,n,t,i))===o||(i.exports=r)}).call(this)}).call(this,n(37),n(89)(e))},function(e,t){var n=e.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var i=n(4),r=n(1);e.exports={throttle:i,debounce:r}},function(e,t,n){var i=n(16);e.exports=function(e){if(!i(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var i=n(40),r=n(31);e.exports=Object.keys||function(e){return i(e,r)}},function(e,t){e.exports=!0},function(e,t){var n=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+i).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var i=n(5),r=n(15),o=n(60),s=n(9),a=n(7),l=function(e,t,n){var u,c,h,d=e&l.F,f=e&l.G,p=e&l.S,m=e&l.P,v=e&l.B,g=e&l.W,y=f?r:r[t]||(r[t]={}),b=y.prototype,_=f?i:p?i[t]:(i[t]||{}).prototype;for(u in f&&(n=t),n)(c=!d&&_&&void 0!==_[u])&&a(y,u)||(h=c?_[u]:n[u],y[u]=f&&"function"!=typeof _[u]?n[u]:v&&c?o(h,i):g&&_[u]==h?function(e){var t=function(t,n,i){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,i)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(h):m&&"function"==typeof h?o(Function.call,h):h,m&&((y.virtual||(y.virtual={}))[u]=h,e&l.R&&b&&!b[u]&&s(b,u,h)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){var i=n(16);e.exports=function(e,t){if(!i(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!i(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,i=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?i:n)(e)}},function(e,t,n){var i=n(30)("keys"),r=n(23);e.exports=function(e){return i[e]||(i[e]=r(e))}},function(e,t,n){var i=n(15),r=n(5),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:i.version,mode:n(22)?"pure":"global",copyright:"穢 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){e.exports={}},function(e,t,n){var i=n(10).f,r=n(7),o=n(13)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,o)&&i(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(13)},function(e,t,n){var i=n(5),r=n(15),o=n(22),s=n(35),a=n(10).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports=!n(11)&&!n(17)(function(){return 7!=Object.defineProperty(n(39)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var i=n(16),r=n(5).document,o=i(r)&&i(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,t,n){var i=n(7),r=n(12),o=n(63)(!1),s=n(29)("IE_PROTO");e.exports=function(e,t){var n,a=r(e),l=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;t.length>l;)i(a,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t,n){var i=n(42);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==i(e)?e.split(""):Object(e)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var i=n(27);e.exports=function(e){return Object(i(e))}},function(e,t,n){"use strict";var i=n(22),r=n(25),o=n(45),s=n(9),a=n(33),l=n(70),u=n(34),c=n(73),h=n(13)("iterator"),d=!([].keys&&"next"in[].keys()),f=function(){return this};e.exports=function(e,t,n,p,m,v,g){l(n,t,p);var y,b,_,w=function(e){if(!d&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",C="values"==m,k=!1,S=e.prototype,D=S[h]||S["@@iterator"]||m&&S[m],E=D||w(m),$=m?C?w("entries"):E:void 0,T="Array"==t&&S.entries||D;if(T&&(_=c(T.call(new e)))!==Object.prototype&&_.next&&(u(_,x,!0),i||"function"==typeof _[h]||s(_,h,f)),C&&D&&"values"!==D.name&&(k=!0,E=function(){return D.call(this)}),i&&!g||!d&&!k&&S[h]||s(S,h,E),a[t]=E,a[x]=f,m)if(y={values:C?E:w("values"),keys:v?E:w("keys"),entries:$},g)for(b in y)b in S||o(S,b,y[b]);else r(r.P+r.F*(d||k),t,y);return y}},function(e,t,n){e.exports=n(9)},function(e,t,n){var i=n(19),r=n(71),o=n(31),s=n(29)("IE_PROTO"),a=function(){},l=function(){var e,t=n(39)("iframe"),i=o.length;for(t.style.display="none",n(72).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),l=e.F;i--;)delete l.prototype[o[i]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(a.prototype=i(e),n=new a,a.prototype=null,n[s]=e):n=l(),void 0===t?n:r(n,t)}},function(e,t,n){var i=n(40),r=n(31).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return i(e,r)}},function(e,t,n){"use strict";var i=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)};var r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(e,t){var n;return t&&!0===t.clone&&i(e)?a((n=e,Array.isArray(n)?[]:{}),e,t):e}function s(e,t,n){var r=e.slice();return t.forEach(function(t,s){void 0===r[s]?r[s]=o(t,n):i(t)?r[s]=a(e[s],t,n):-1===e.indexOf(t)&&r.push(o(t,n))}),r}function a(e,t,n){var r=Array.isArray(t);return r===Array.isArray(e)?r?((n||{arrayMerge:s}).arrayMerge||s)(e,t,n):function(e,t,n){var r={};return i(e)&&Object.keys(e).forEach(function(t){r[t]=o(e[t],n)}),Object.keys(t).forEach(function(s){i(t[s])&&e[s]?r[s]=a(e[s],t[s],n):r[s]=o(t[s],n)}),r}(e,t,n):o(t,n)}a.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce(function(e,n){return a(e,n,t)})};var l=a;e.exports=l},function(e,t,n){"use strict";(function(e){var n=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some(function(e,i){return e[0]===t&&(n=i,!0)}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n<i.length;n++){var r=i[n];e.call(t,r[1],r[0])}},t}()}(),i="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,r=void 0!==e&&e.Math===Math?e:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),o="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(r):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)},s=2;var a=20,l=["top","right","bottom","left","width","height","size","weight"],u="undefined"!=typeof MutationObserver,c=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var n=!1,i=!1,r=0;function a(){n&&(n=!1,e()),i&&u()}function l(){o(a)}function u(){var e=Date.now();if(n){if(e-r<s)return;i=!0}else n=!0,i=!1,setTimeout(l,t);r=e}return u}(this.refresh.bind(this),a)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter(function(e){return e.gatherActive(),e.hasActive()});return e.forEach(function(e){return e.broadcastActive()}),e.length>0},e.prototype.connect_=function(){i&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),u?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){i&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;l.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),h=function(e,t){for(var n=0,i=Object.keys(t);n<i.length;n++){var r=i[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},d=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||r},f=b(0,0,0,0);function p(e){return parseFloat(e)||0}function m(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce(function(t,n){return t+p(e["border-"+n+"-width"])},0)}function v(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return f;var i=d(e).getComputedStyle(e),r=function(e){for(var t={},n=0,i=["top","right","bottom","left"];n<i.length;n++){var r=i[n],o=e["padding-"+r];t[r]=p(o)}return t}(i),o=r.left+r.right,s=r.top+r.bottom,a=p(i.width),l=p(i.height);if("border-box"===i.boxSizing&&(Math.round(a+o)!==t&&(a-=m(i,"left","right")+o),Math.round(l+s)!==n&&(l-=m(i,"top","bottom")+s)),!function(e){return e===d(e).document.documentElement}(e)){var u=Math.round(a+o)-t,c=Math.round(l+s)-n;1!==Math.abs(u)&&(a-=u),1!==Math.abs(c)&&(l-=c)}return b(r.left,r.top,a,l)}var g="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof d(e).SVGGraphicsElement}:function(e){return e instanceof d(e).SVGElement&&"function"==typeof e.getBBox};function y(e){return i?g(e)?function(e){var t=e.getBBox();return b(0,0,t.width,t.height)}(e):v(e):f}function b(e,t,n,i){return{x:e,y:t,width:n,height:i}}var _=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=b(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=y(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),w=function(){return function(e,t){var n,i,r,o,s,a,l,u=(i=(n=t).x,r=n.y,o=n.width,s=n.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,l=Object.create(a.prototype),h(l,{x:i,y:r,width:o,height:s,top:r,right:i+o,bottom:s+r,left:i}),l);h(this,{target:e,contentRect:u})}}(),x=function(){function e(e,t,i){if(this.activeObservations_=[],this.observations_=new n,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=i}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new _(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(e){return new w(e.target,e.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),C="undefined"!=typeof WeakMap?new WeakMap:new n,k=function(){return function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=c.getInstance(),i=new x(t,n,this);C.set(this,i)}}();["observe","unobserve","disconnect"].forEach(function(e){k.prototype[e]=function(){var t;return(t=C.get(this))[e].apply(t,arguments)}});var S=void 0!==r.ResizeObserver?r.ResizeObserver:k;t.a=S}).call(this,n(37))},function(e,t,n){e.exports=n(53)},function(e,t,n){e.exports=n(90)},function(e,t,n){var i,r;void 0===(r="function"==typeof(i=function(){"use strict";var e=window,t={placement:"bottom",gpuAcceleration:!0,offset:0,boundariesElement:"viewport",boundariesPadding:5,preventOverflowOrder:["left","right","top","bottom"],flipBehavior:"flip",arrowElement:"[x-arrow]",arrowOffset:0,modifiers:["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],modifiersIgnored:[],forceAbsolute:!1};function n(e,n,i){this._reference=e.jquery?e[0]:e,this.state={};var r=null==n,o=n&&"[object Object]"===Object.prototype.toString.call(n);return this._popper=r||o?this.parse(o?n:{}):n.jquery?n[0]:n,this._options=Object.assign({},t,i),this._options.modifiers=this._options.modifiers.map(function(e){if(-1===this._options.modifiersIgnored.indexOf(e))return"applyStyle"===e&&this._popper.setAttribute("x-placement",this._options.placement),this.modifiers[e]||e}.bind(this)),this.state.position=this._getPosition(this._popper,this._reference),c(this._popper,{position:this.state.position,top:0}),this.update(),this._setupEventListeners(),this}function i(t){var n=t.style.display,i=t.style.visibility;t.style.display="block",t.style.visibility="hidden",t.offsetWidth;var r=e.getComputedStyle(t),o=parseFloat(r.marginTop)+parseFloat(r.marginBottom),s=parseFloat(r.marginLeft)+parseFloat(r.marginRight),a={width:t.offsetWidth+s,height:t.offsetHeight+o};return t.style.display=n,t.style.visibility=i,a}function r(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function o(e){var t=Object.assign({},e);return t.right=t.left+t.width,t.bottom=t.top+t.height,t}function s(e,t){var n,i=0;for(n in e){if(e[n]===t)return i;i++}return null}function a(t,n){var i=e.getComputedStyle(t,null);return i[n]}function l(t){var n=t.offsetParent;return n!==e.document.body&&n?n:e.document.documentElement}function u(t){var n=t.parentNode;return n?n===e.document?e.document.body.scrollTop||e.document.body.scrollLeft?e.document.body:e.document.documentElement:-1!==["scroll","auto"].indexOf(a(n,"overflow"))||-1!==["scroll","auto"].indexOf(a(n,"overflow-x"))||-1!==["scroll","auto"].indexOf(a(n,"overflow-y"))?n:u(t.parentNode):t}function c(e,t){Object.keys(t).forEach(function(n){var i,r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&""!==(i=t[n])&&!isNaN(parseFloat(i))&&isFinite(i)&&(r="px"),e.style[n]=t[n]+r})}function h(e){var t={width:e.offsetWidth,height:e.offsetHeight,left:e.offsetLeft,top:e.offsetTop};return t.right=t.left+t.width,t.bottom=t.top+t.height,t}function d(e){var t=e.getBoundingClientRect(),n=-1!=navigator.userAgent.indexOf("MSIE"),i=n&&"HTML"===e.tagName?-e.scrollTop:t.top;return{left:t.left,top:i,right:t.right,bottom:t.bottom,width:t.right-t.left,height:t.bottom-i}}function f(t){for(var n=["","ms","webkit","moz","o"],i=0;i<n.length;i++){var r=n[i]?n[i]+t.charAt(0).toUpperCase()+t.slice(1):t;if(void 0!==e.document.body.style[r])return r}return null}return n.prototype.destroy=function(){return this._popper.removeAttribute("x-placement"),this._popper.style.left="",this._popper.style.position="",this._popper.style.top="",this._popper.style[f("transform")]="",this._removeEventListeners(),this._options.removeOnDestroy&&this._popper.remove(),this},n.prototype.update=function(){var e={instance:this,styles:{}};e.placement=this._options.placement,e._originalPlacement=this._options.placement,e.offsets=this._getOffsets(this._popper,this._reference,e.placement),e.boundaries=this._getBoundaries(e,this._options.boundariesPadding,this._options.boundariesElement),e=this.runModifiers(e,this._options.modifiers),"function"==typeof this.state.updateCallback&&this.state.updateCallback(e)},n.prototype.onCreate=function(e){return e(this),this},n.prototype.onUpdate=function(e){return this.state.updateCallback=e,this},n.prototype.parse=function(t){var n={tagName:"div",classNames:["popper"],attributes:[],parent:e.document.body,content:"",contentType:"text",arrowTagName:"div",arrowClassNames:["popper__arrow"],arrowAttributes:["x-arrow"]};t=Object.assign({},n,t);var i=e.document,r=i.createElement(t.tagName);if(a(r,t.classNames),l(r,t.attributes),"node"===t.contentType?r.appendChild(t.content.jquery?t.content[0]:t.content):"html"===t.contentType?r.innerHTML=t.content:r.textContent=t.content,t.arrowTagName){var o=i.createElement(t.arrowTagName);a(o,t.arrowClassNames),l(o,t.arrowAttributes),r.appendChild(o)}var s=t.parent.jquery?t.parent[0]:t.parent;if("string"==typeof s){if((s=i.querySelectorAll(t.parent)).length>1&&console.warn("WARNING: the given `parent` query("+t.parent+") matched more than one element, the first one will be used"),0===s.length)throw"ERROR: the given `parent` doesn't exists!";s=s[0]}return s.length>1&&s instanceof Element==0&&(console.warn("WARNING: you have passed as parent a list of elements, the first one will be used"),s=s[0]),s.appendChild(r),r;function a(e,t){t.forEach(function(t){e.classList.add(t)})}function l(e,t){t.forEach(function(t){e.setAttribute(t.split(":")[0],t.split(":")[1]||"")})}},n.prototype._getPosition=function(t,n){return l(n),this._options.forceAbsolute?"absolute":function t(n){return n!==e.document.body&&("fixed"===a(n,"position")||(n.parentNode?t(n.parentNode):n))}(n)?"fixed":"absolute"},n.prototype._getOffsets=function(e,t,n){n=n.split("-")[0];var r={};r.position=this.state.position;var o="fixed"===r.position,s=function(e,t,n){var i=d(e),r=d(t);if(n){var o=u(t);r.top+=o.scrollTop,r.bottom+=o.scrollTop,r.left+=o.scrollLeft,r.right+=o.scrollLeft}return{top:i.top-r.top,left:i.left-r.left,bottom:i.top-r.top+i.height,right:i.left-r.left+i.width,width:i.width,height:i.height}}(t,l(e),o),a=i(e);return-1!==["right","left"].indexOf(n)?(r.top=s.top+s.height/2-a.height/2,r.left="left"===n?s.left-a.width:s.right):(r.left=s.left+s.width/2-a.width/2,r.top="top"===n?s.top-a.height:s.bottom),r.width=a.width,r.height=a.height,{popper:r,reference:s}},n.prototype._setupEventListeners=function(){if(this.state.updateBound=this.update.bind(this),e.addEventListener("resize",this.state.updateBound),"window"!==this._options.boundariesElement){var t=u(this._reference);t!==e.document.body&&t!==e.document.documentElement||(t=e),t.addEventListener("scroll",this.state.updateBound),this.state.scrollTarget=t}},n.prototype._removeEventListeners=function(){e.removeEventListener("resize",this.state.updateBound),"window"!==this._options.boundariesElement&&this.state.scrollTarget&&(this.state.scrollTarget.removeEventListener("scroll",this.state.updateBound),this.state.scrollTarget=null),this.state.updateBound=null},n.prototype._getBoundaries=function(t,n,i){var r,o,s={};if("window"===i){var a=e.document.body,c=e.document.documentElement;r=Math.max(a.scrollHeight,a.offsetHeight,c.clientHeight,c.scrollHeight,c.offsetHeight),s={top:0,right:Math.max(a.scrollWidth,a.offsetWidth,c.clientWidth,c.scrollWidth,c.offsetWidth),bottom:r,left:0}}else if("viewport"===i){var d=l(this._popper),f=u(this._popper),p=h(d),m="fixed"===t.offsets.popper.position?0:(o=f)==document.body?Math.max(document.documentElement.scrollTop,document.body.scrollTop):o.scrollTop,v="fixed"===t.offsets.popper.position?0:function(e){return e==document.body?Math.max(document.documentElement.scrollLeft,document.body.scrollLeft):e.scrollLeft}(f);s={top:0-(p.top-m),right:e.document.documentElement.clientWidth-(p.left-v),bottom:e.document.documentElement.clientHeight-(p.top-m),left:0-(p.left-v)}}else s=l(this._popper)===i?{top:0,left:0,right:i.clientWidth,bottom:i.clientHeight}:h(i);return s.left+=n,s.right-=n,s.top=s.top+n,s.bottom=s.bottom-n,s},n.prototype.runModifiers=function(e,t,n){var i=t.slice();return void 0!==n&&(i=this._options.modifiers.slice(0,s(this._options.modifiers,n))),i.forEach(function(t){var n;(n=t)&&"[object Function]"==={}.toString.call(n)&&(e=t.call(this,e))}.bind(this)),e},n.prototype.isModifierRequired=function(e,t){var n=s(this._options.modifiers,e);return!!this._options.modifiers.slice(0,n).filter(function(e){return e===t}).length},n.prototype.modifiers={},n.prototype.modifiers.applyStyle=function(e){var t,n={position:e.offsets.popper.position},i=Math.round(e.offsets.popper.left),r=Math.round(e.offsets.popper.top);return this._options.gpuAcceleration&&(t=f("transform"))?(n[t]="translate3d("+i+"px, "+r+"px, 0)",n.top=0,n.left=0):(n.left=i,n.top=r),Object.assign(n,e.styles),c(this._popper,n),this._popper.setAttribute("x-placement",e.placement),this.isModifierRequired(this.modifiers.applyStyle,this.modifiers.arrow)&&e.offsets.arrow&&c(e.arrowElement,e.offsets.arrow),e},n.prototype.modifiers.shift=function(e){var t=e.placement,n=t.split("-")[0],i=t.split("-")[1];if(i){var r=e.offsets.reference,s=o(e.offsets.popper),a={y:{start:{top:r.top},end:{top:r.top+r.height-s.height}},x:{start:{left:r.left},end:{left:r.left+r.width-s.width}}},l=-1!==["bottom","top"].indexOf(n)?"x":"y";e.offsets.popper=Object.assign(s,a[l][i])}return e},n.prototype.modifiers.preventOverflow=function(e){var t=this._options.preventOverflowOrder,n=o(e.offsets.popper),i={left:function(){var t=n.left;return n.left<e.boundaries.left&&(t=Math.max(n.left,e.boundaries.left)),{left:t}},right:function(){var t=n.left;return n.right>e.boundaries.right&&(t=Math.min(n.left,e.boundaries.right-n.width)),{left:t}},top:function(){var t=n.top;return n.top<e.boundaries.top&&(t=Math.max(n.top,e.boundaries.top)),{top:t}},bottom:function(){var t=n.top;return n.bottom>e.boundaries.bottom&&(t=Math.min(n.top,e.boundaries.bottom-n.height)),{top:t}}};return t.forEach(function(t){e.offsets.popper=Object.assign(n,i[t]())}),e},n.prototype.modifiers.keepTogether=function(e){var t=o(e.offsets.popper),n=e.offsets.reference,i=Math.floor;return t.right<i(n.left)&&(e.offsets.popper.left=i(n.left)-t.width),t.left>i(n.right)&&(e.offsets.popper.left=i(n.right)),t.bottom<i(n.top)&&(e.offsets.popper.top=i(n.top)-t.height),t.top>i(n.bottom)&&(e.offsets.popper.top=i(n.bottom)),e},n.prototype.modifiers.flip=function(e){if(!this.isModifierRequired(this.modifiers.flip,this.modifiers.preventOverflow))return console.warn("WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!"),e;if(e.flipped&&e.placement===e._originalPlacement)return e;var t=e.placement.split("-")[0],n=r(t),i=e.placement.split("-")[1]||"",s=[];return(s="flip"===this._options.flipBehavior?[t,n]:this._options.flipBehavior).forEach(function(a,l){if(t===a&&s.length!==l+1){t=e.placement.split("-")[0],n=r(t);var u=o(e.offsets.popper),c=-1!==["right","bottom"].indexOf(t);(c&&Math.floor(e.offsets.reference[t])>Math.floor(u[n])||!c&&Math.floor(e.offsets.reference[t])<Math.floor(u[n]))&&(e.flipped=!0,e.placement=s[l+1],i&&(e.placement+="-"+i),e.offsets.popper=this._getOffsets(this._popper,this._reference,e.placement).popper,e=this.runModifiers(e,this._options.modifiers,this._flip))}}.bind(this)),e},n.prototype.modifiers.offset=function(e){var t=this._options.offset,n=e.offsets.popper;return-1!==e.placement.indexOf("left")?n.top-=t:-1!==e.placement.indexOf("right")?n.top+=t:-1!==e.placement.indexOf("top")?n.left-=t:-1!==e.placement.indexOf("bottom")&&(n.left+=t),e},n.prototype.modifiers.arrow=function(e){var t=this._options.arrowElement,n=this._options.arrowOffset;if("string"==typeof t&&(t=this._popper.querySelector(t)),!t)return e;if(!this._popper.contains(t))return console.warn("WARNING: `arrowElement` must be child of its popper element!"),e;if(!this.isModifierRequired(this.modifiers.arrow,this.modifiers.keepTogether))return console.warn("WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!"),e;var r={},s=e.placement.split("-")[0],a=o(e.offsets.popper),l=e.offsets.reference,u=-1!==["left","right"].indexOf(s),c=u?"height":"width",h=u?"top":"left",d=u?"left":"top",f=u?"bottom":"right",p=i(t)[c];l[f]-p<a[h]&&(e.offsets.popper[h]-=a[h]-(l[f]-p)),l[h]+p>a[f]&&(e.offsets.popper[h]+=l[h]+p-a[f]);var m=l[h]+(n||l[c]/2-p/2)-a[h];return m=Math.max(Math.min(a[c]-p-8,m),8),r[h]=m,r[d]="",e.offsets.arrow=r,e.arrowElement=t,e},Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(null==e)throw new TypeError("Cannot convert first argument to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i){i=Object(i);for(var r=Object.keys(i),o=0,s=r.length;o<s;o++){var a=r[o],l=Object.getOwnPropertyDescriptor(i,a);void 0!==l&&l.enumerable&&(t[a]=i[a])}}}return t}}),n})?i.call(t,n,t,e):i)||(e.exports=r)},function(e,t,n){"use strict";var i=n(54),r=n(55),o=10,s=40,a=800;function l(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),i=t*o,r=n*o,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||r)&&e.deltaMode&&(1==e.deltaMode?(i*=s,r*=s):(i*=a,r*=a)),i&&!t&&(t=i<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:i,pixelY:r}}l.getEventType=function(){return i.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=l},function(e,t){var n,i,r,o,s,a,l,u,c,h,d,f,p,m,v,g=!1;function y(){if(!g){g=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),y=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(f=/\b(iPhone|iP[ao]d)/.exec(e),p=/\b(iP[ao]d)/.exec(e),h=/Android/i.exec(e),m=/FBAN\/\w+;/i.exec(e),v=/Mobile/i.exec(e),d=!!/Win64/.exec(e),t){(n=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN)&&document&&document.documentMode&&(n=document.documentMode);var b=/(?:Trident\/(\d+.\d+))/.exec(e);a=b?parseFloat(b[1])+4:n,i=t[2]?parseFloat(t[2]):NaN,r=t[3]?parseFloat(t[3]):NaN,(o=t[4]?parseFloat(t[4]):NaN)?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),s=t&&t[1]?parseFloat(t[1]):NaN):s=NaN}else n=i=r=s=o=NaN;if(y){if(y[1]){var _=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);l=!_||parseFloat(_[1].replace("_","."))}else l=!1;u=!!y[2],c=!!y[3]}else l=u=c=!1}}var b={ie:function(){return y()||n},ieCompatibilityMode:function(){return y()||a>n},ie64:function(){return b.ie()&&d},firefox:function(){return y()||i},opera:function(){return y()||r},webkit:function(){return y()||o},safari:function(){return b.webkit()},chrome:function(){return y()||s},windows:function(){return y()||u},osx:function(){return y()||l},linux:function(){return y()||c},iphone:function(){return y()||f},mobile:function(){return y()||f||p||h||v},nativeApp:function(){return y()||m},android:function(){return y()||h},ipad:function(){return y()||p}};e.exports=b},function(e,t,n){"use strict";var i,r=n(56);r.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=function(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var s=document.createElement("div");s.setAttribute(n,"return;"),o="function"==typeof s[n]}return!o&&i&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}},function(e,t,n){"use strict";var i=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:i,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:i&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:i&&!!window.screen,isInWorker:!i};e.exports=r},function(e,t,n){e.exports={default:n(58),__esModule:!0}},function(e,t,n){n(59),e.exports=n(15).Object.assign},function(e,t,n){var i=n(25);i(i.S+i.F,"Object",{assign:n(62)})},function(e,t,n){var i=n(61);e.exports=function(e,t,n){if(i(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,i){return e.call(t,n,i)};case 3:return function(n,i,r){return e.call(t,n,i,r)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var i=n(21),r=n(32),o=n(24),s=n(43),a=n(41),l=Object.assign;e.exports=!l||n(17)(function(){var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=i})?function(e,t){for(var n=s(e),l=arguments.length,u=1,c=r.f,h=o.f;l>u;)for(var d,f=a(arguments[u++]),p=c?i(f).concat(c(f)):i(f),m=p.length,v=0;m>v;)h.call(f,d=p[v++])&&(n[d]=f[d]);return n}:l},function(e,t,n){var i=n(12),r=n(64),o=n(65);e.exports=function(e){return function(t,n,s){var a,l=i(t),u=r(l.length),c=o(s,u);if(e&&n!=n){for(;u>c;)if((a=l[c++])!=a)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var i=n(28),r=Math.min;e.exports=function(e){return e>0?r(i(e),9007199254740991):0}},function(e,t,n){var i=n(28),r=Math.max,o=Math.min;e.exports=function(e,t){return(e=i(e))<0?r(e+t,0):o(e,t)}},function(e,t,n){e.exports={default:n(67),__esModule:!0}},function(e,t,n){n(68),n(74),e.exports=n(35).f("iterator")},function(e,t,n){"use strict";var i=n(69)(!0);n(44)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=i(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var i=n(28),r=n(27);e.exports=function(e){return function(t,n){var o,s,a=String(r(t)),l=i(n),u=a.length;return l<0||l>=u?e?"":void 0:(o=a.charCodeAt(l))<55296||o>56319||l+1===u||(s=a.charCodeAt(l+1))<56320||s>57343?e?a.charAt(l):o:e?a.slice(l,l+2):s-56320+(o-55296<<10)+65536}}},function(e,t,n){"use strict";var i=n(46),r=n(20),o=n(34),s={};n(9)(s,n(13)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=i(s,{next:r(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var i=n(10),r=n(19),o=n(21);e.exports=n(11)?Object.defineProperties:function(e,t){r(e);for(var n,s=o(t),a=s.length,l=0;a>l;)i.f(e,n=s[l++],t[n]);return e}},function(e,t,n){var i=n(5).document;e.exports=i&&i.documentElement},function(e,t,n){var i=n(7),r=n(43),o=n(29)("IE_PROTO"),s=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=r(e),i(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},function(e,t,n){n(75);for(var i=n(5),r=n(9),o=n(33),s=n(13)("toStringTag"),a="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l<a.length;l++){var u=a[l],c=i[u],h=c&&c.prototype;h&&!h[s]&&r(h,s,u),o[u]=o.Array}},function(e,t,n){"use strict";var i=n(76),r=n(77),o=n(33),s=n(12);e.exports=n(44)(Array,"Array",function(e,t){this._t=s(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,r(1)):r(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){e.exports={default:n(79),__esModule:!0}},function(e,t,n){n(80),n(86),n(87),n(88),e.exports=n(15).Symbol},function(e,t,n){"use strict";var i=n(5),r=n(7),o=n(11),s=n(25),a=n(45),l=n(81).KEY,u=n(17),c=n(30),h=n(34),d=n(23),f=n(13),p=n(35),m=n(36),v=n(82),g=n(83),y=n(19),b=n(16),_=n(12),w=n(26),x=n(20),C=n(46),k=n(84),S=n(85),D=n(10),E=n(21),$=S.f,T=D.f,M=k.f,N=i.Symbol,O=i.JSON,P=O&&O.stringify,I=f("_hidden"),A=f("toPrimitive"),F={}.propertyIsEnumerable,L=c("symbol-registry"),V=c("symbols"),B=c("op-symbols"),z=Object.prototype,R="function"==typeof N,H=i.QObject,j=!H||!H.prototype||!H.prototype.findChild,W=o&&u(function(){return 7!=C(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(e,t,n){var i=$(z,t);i&&delete z[t],T(e,t,n),i&&e!==z&&T(z,t,i)}:T,q=function(e){var t=V[e]=C(N.prototype);return t._k=e,t},Y=R&&"symbol"==typeof N.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof N},K=function(e,t,n){return e===z&&K(B,t,n),y(e),t=w(t,!0),y(n),r(V,t)?(n.enumerable?(r(e,I)&&e[I][t]&&(e[I][t]=!1),n=C(n,{enumerable:x(0,!1)})):(r(e,I)||T(e,I,x(1,{})),e[I][t]=!0),W(e,t,n)):T(e,t,n)},U=function(e,t){y(e);for(var n,i=v(t=_(t)),r=0,o=i.length;o>r;)K(e,n=i[r++],t[n]);return e},G=function(e){var t=F.call(this,e=w(e,!0));return!(this===z&&r(V,e)&&!r(B,e))&&(!(t||!r(this,e)||!r(V,e)||r(this,I)&&this[I][e])||t)},X=function(e,t){if(e=_(e),t=w(t,!0),e!==z||!r(V,t)||r(B,t)){var n=$(e,t);return!n||!r(V,t)||r(e,I)&&e[I][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=M(_(e)),i=[],o=0;n.length>o;)r(V,t=n[o++])||t==I||t==l||i.push(t);return i},J=function(e){for(var t,n=e===z,i=M(n?B:_(e)),o=[],s=0;i.length>s;)!r(V,t=i[s++])||n&&!r(z,t)||o.push(V[t]);return o};R||(a((N=function(){if(this instanceof N)throw TypeError("Symbol is not a constructor!");var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===z&&t.call(B,n),r(this,I)&&r(this[I],e)&&(this[I][e]=!1),W(this,e,x(1,n))};return o&&j&&W(z,e,{configurable:!0,set:t}),q(e)}).prototype,"toString",function(){return this._k}),S.f=X,D.f=K,n(47).f=k.f=Z,n(24).f=G,n(32).f=J,o&&!n(22)&&a(z,"propertyIsEnumerable",G,!0),p.f=function(e){return q(f(e))}),s(s.G+s.W+s.F*!R,{Symbol:N});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Q.length>ee;)f(Q[ee++]);for(var te=E(f.store),ne=0;te.length>ne;)m(te[ne++]);s(s.S+s.F*!R,"Symbol",{for:function(e){return r(L,e+="")?L[e]:L[e]=N(e)},keyFor:function(e){if(!Y(e))throw TypeError(e+" is not a symbol!");for(var t in L)if(L[t]===e)return t},useSetter:function(){j=!0},useSimple:function(){j=!1}}),s(s.S+s.F*!R,"Object",{create:function(e,t){return void 0===t?C(e):U(C(e),t)},defineProperty:K,defineProperties:U,getOwnPropertyDescriptor:X,getOwnPropertyNames:Z,getOwnPropertySymbols:J}),O&&s(s.S+s.F*(!R||u(function(){var e=N();return"[null]"!=P([e])||"{}"!=P({a:e})||"{}"!=P(Object(e))})),"JSON",{stringify:function(e){for(var t,n,i=[e],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=t=i[1],(b(t)||void 0!==e)&&!Y(e))return g(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!Y(t))return t}),i[1]=t,P.apply(O,i)}}),N.prototype[A]||n(9)(N.prototype,A,N.prototype.valueOf),h(N,"Symbol"),h(Math,"Math",!0),h(i.JSON,"JSON",!0)},function(e,t,n){var i=n(23)("meta"),r=n(16),o=n(7),s=n(10).f,a=0,l=Object.isExtensible||function(){return!0},u=!n(17)(function(){return l(Object.preventExtensions({}))}),c=function(e){s(e,i,{value:{i:"O"+ ++a,w:{}}})},h=e.exports={KEY:i,NEED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,i)){if(!l(e))return"F";if(!t)return"E";c(e)}return e[i].i},getWeak:function(e,t){if(!o(e,i)){if(!l(e))return!0;if(!t)return!1;c(e)}return e[i].w},onFreeze:function(e){return u&&h.NEED&&l(e)&&!o(e,i)&&c(e),e}}},function(e,t,n){var i=n(21),r=n(32),o=n(24);e.exports=function(e){var t=i(e),n=r.f;if(n)for(var s,a=n(e),l=o.f,u=0;a.length>u;)l.call(e,s=a[u++])&&t.push(s);return t}},function(e,t,n){var i=n(42);e.exports=Array.isArray||function(e){return"Array"==i(e)}},function(e,t,n){var i=n(12),r=n(47).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&"[object Window]"==o.call(e)?function(e){try{return r(e)}catch(e){return s.slice()}}(e):r(i(e))}},function(e,t,n){var i=n(24),r=n(20),o=n(12),s=n(26),a=n(7),l=n(38),u=Object.getOwnPropertyDescriptor;t.f=n(11)?u:function(e,t){if(e=o(e),t=s(t,!0),l)try{return u(e,t)}catch(e){}if(a(e,t))return r(!i.f.call(e,t),e[t])}},function(e,t){},function(e,t,n){n(36)("asyncIterator")},function(e,t,n){n(36)("observable")},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";n.r(t);var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"el-pager",on:{click:e.onPagerClick}},[e.pageCount>0?n("li",{staticClass:"number",class:{active:1===e.currentPage,disabled:e.disabled}},[e._v("1")]):e._e(),e.showPrevMore?n("li",{staticClass:"el-icon more btn-quickprev",class:[e.quickprevIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter("left")},mouseleave:function(t){e.quickprevIconClass="el-icon-more"}}}):e._e(),e._l(e.pagers,function(t){return n("li",{key:t,staticClass:"number",class:{active:e.currentPage===t,disabled:e.disabled}},[e._v(e._s(t))])}),e.showNextMore?n("li",{staticClass:"el-icon more btn-quicknext",class:[e.quicknextIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter("right")},mouseleave:function(t){e.quicknextIconClass="el-icon-more"}}}):e._e(),e.pageCount>1?n("li",{staticClass:"number",class:{active:e.currentPage===e.pageCount,disabled:e.disabled}},[e._v(e._s(e.pageCount))]):e._e()],2)};function r(e,t,n,i,r,o,s,a){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=l):r&&(l=a?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:u}}i._withStripped=!0;var o=r({name:"ElPager",props:{currentPage:Number,pageCount:Number,pagerCount:Number,disabled:Boolean},watch:{showPrevMore:function(e){e||(this.quickprevIconClass="el-icon-more")},showNextMore:function(e){e||(this.quicknextIconClass="el-icon-more")}},methods:{onPagerClick:function(e){var t=e.target;if("UL"!==t.tagName&&!this.disabled){var n=Number(e.target.textContent),i=this.pageCount,r=this.currentPage,o=this.pagerCount-2;-1!==t.className.indexOf("more")&&(-1!==t.className.indexOf("quickprev")?n=r-o:-1!==t.className.indexOf("quicknext")&&(n=r+o)),isNaN(n)||(n<1&&(n=1),n>i&&(n=i)),n!==r&&this.$emit("change",n)}},onMouseenter:function(e){this.disabled||("left"===e?this.quickprevIconClass="el-icon-d-arrow-left":this.quicknextIconClass="el-icon-d-arrow-right")}},computed:{pagers:function(){var e=this.pagerCount,t=(e-1)/2,n=Number(this.currentPage),i=Number(this.pageCount),r=!1,o=!1;i>e&&(n>e-t&&(r=!0),n<i-t&&(o=!0));var s=[];if(r&&!o)for(var a=i-(e-2);a<i;a++)s.push(a);else if(!r&&o)for(var l=2;l<e;l++)s.push(l);else if(r&&o)for(var u=Math.floor(e/2)-1,c=n-u;c<=n+u;c++)s.push(c);else for(var h=2;h<i;h++)s.push(h);return this.showPrevMore=r,this.showNextMore=o,s}},data:function(){return{current:null,showPrevMore:!1,showNextMore:!1,quicknextIconClass:"el-icon-more",quickprevIconClass:"el-icon-more"}}},i,[],!1,null,null,null);o.options.__file="packages/pagination/src/pager.vue";var s=o.exports,a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],staticClass:"el-select",class:[e.selectSize?"el-select--"+e.selectSize:""],on:{click:function(t){return t.stopPropagation(),e.toggleMenu(t)}}},[e.multiple?n("div",{ref:"tags",staticClass:"el-select__tags",style:{"max-width":e.inputWidth-32+"px",width:"100%"}},[e.collapseTags&&e.selected.length?n("span",[n("el-tag",{attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:e.selected[0].hitState,type:"info","disable-transitions":""},on:{close:function(t){e.deleteTag(t,e.selected[0])}}},[n("span",{staticClass:"el-select__tags-text"},[e._v(e._s(e.selected[0].currentLabel))])]),e.selected.length>1?n("el-tag",{attrs:{closable:!1,size:e.collapseTagSize,type:"info","disable-transitions":""}},[n("span",{staticClass:"el-select__tags-text"},[e._v("+ "+e._s(e.selected.length-1))])]):e._e()],1):e._e(),e.collapseTags?e._e():n("transition-group",{on:{"after-leave":e.resetInputHeight}},e._l(e.selected,function(t){return n("el-tag",{key:e.getValueKey(t),attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:t.hitState,type:"info","disable-transitions":""},on:{close:function(n){e.deleteTag(n,t)}}},[n("span",{staticClass:"el-select__tags-text"},[e._v(e._s(t.currentLabel))])])}),1),e.filterable?n("input",{directives:[{name:"model",rawName:"v-model",value:e.query,expression:"query"}],ref:"input",staticClass:"el-select__input",class:[e.selectSize?"is-"+e.selectSize:""],style:{"flex-grow":"1",width:e.inputLength/(e.inputWidth-32)+"%","max-width":e.inputWidth-42+"px"},attrs:{type:"text",disabled:e.selectDisabled,autocomplete:e.autoComplete||e.autocomplete},domProps:{value:e.query},on:{focus:e.handleFocus,blur:function(t){e.softFocus=!1},keyup:e.managePlaceholder,keydown:[e.resetInputState,function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault(),e.handleNavigate("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault(),e.handleNavigate("prev")},function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?(t.preventDefault(),e.selectOption(t)):null},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){return"button"in t||!e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?e.deletePrevTag(t):null},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],compositionstart:e.handleComposition,compositionupdate:e.handleComposition,compositionend:e.handleComposition,input:[function(t){t.target.composing||(e.query=t.target.value)},e.debouncedQueryChange]}}):e._e()],1):e._e(),n("el-input",{ref:"reference",class:{"is-focus":e.visible},attrs:{type:"text",placeholder:e.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autoComplete||e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,"validate-event":!1,tabindex:e.multiple&&e.filterable?"-1":null},on:{focus:e.handleFocus,blur:e.handleBlur,input:e.debouncedOnInputChange,compositionstart:e.handleComposition,compositionupdate:e.handleComposition,compositionend:e.handleComposition},nativeOn:{keydown:[function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.stopPropagation(),t.preventDefault(),e.handleNavigate("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.stopPropagation(),t.preventDefault(),e.handleNavigate("prev")},function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?(t.preventDefault(),e.selectOption(t)):null},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],mouseenter:function(t){e.inputHovering=!0},mouseleave:function(t){e.inputHovering=!1}},model:{value:e.selectedLabel,callback:function(t){e.selectedLabel=t},expression:"selectedLabel"}},[e.$slots.prefix?n("template",{slot:"prefix"},[e._t("prefix")],2):e._e(),n("template",{slot:"suffix"},[n("i",{directives:[{name:"show",rawName:"v-show",value:!e.showClose,expression:"!showClose"}],class:["el-select__caret","el-input__icon","el-icon-"+e.iconClass]}),e.showClose?n("i",{staticClass:"el-select__caret el-input__icon el-icon-circle-close",on:{click:e.handleClearClick}}):e._e()])],2),n("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":e.handleMenuEnter,"after-leave":e.doDestroy}},[n("el-select-menu",{directives:[{name:"show",rawName:"v-show",value:e.visible&&!1!==e.emptyText,expression:"visible && emptyText !== false"}],ref:"popper",attrs:{"append-to-body":e.popperAppendToBody}},[n("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.options.length>0&&!e.loading,expression:"options.length > 0 && !loading"}],ref:"scrollbar",class:{"is-empty":!e.allowCreate&&e.query&&0===e.filteredOptionsCount},attrs:{tag:"ul","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[e.showNewOption?n("el-option",{attrs:{value:e.query,created:""}}):e._e(),e._t("default")],2),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&0===e.options.length)?[e.$slots.empty?e._t("empty"):n("p",{staticClass:"el-select-dropdown__empty"},[e._v("\n "+e._s(e.emptyText)+"\n ")])]:e._e()],2)],1)],1)};a._withStripped=!0;var l={methods:{dispatch:function(e,t,n){for(var i=this.$parent||this.$root,r=i.$options.componentName;i&&(!r||r!==e);)(i=i.$parent)&&(r=i.$options.componentName);i&&i.$emit.apply(i,[t].concat(n))},broadcast:function(e,t,n){(function e(t,n,i){this.$children.forEach(function(r){r.$options.componentName===t?r.$emit.apply(r,[n].concat(i)):e.apply(r,[t,n].concat([i]))})}).call(this,e,t,n)}}},u=function(e){return{methods:{focus:function(){this.$refs[e].focus()}}}},c=n(0),h=n.n(c),d=n(48),f=n.n(d),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function m(e){return"[object String]"===Object.prototype.toString.call(e)}function v(e){return"[object Object]"===Object.prototype.toString.call(e)}function g(e){return e&&e.nodeType===Node.ELEMENT_NODE}var y=function(e){return e&&"[object Function]"==={}.toString.call(e)};"object"===("undefined"==typeof Int8Array?"undefined":p(Int8Array))||!h.a.prototype.$isServer&&"function"==typeof document.childNodes||(y=function(e){return"function"==typeof e||!1});var b=function(e){return void 0===e},_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w=Object.prototype.hasOwnProperty;function x(){}function C(e,t){return w.call(e,t)}function k(e,t){for(var n in t)e[n]=t[n];return e}var S=function(e,t){for(var n=(t=t||"").split("."),i=e,r=null,o=0,s=n.length;o<s;o++){var a=n[o];if(!i)break;if(o===s-1){r=i[a];break}i=i[a]}return r};function D(e,t,n){for(var i=e,r=(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),o=0,s=r.length;o<s-1&&(i||n);++o){var a=r[o];if(!(a in i)){if(n)throw new Error("please transfer a valid prop path to form item!");break}i=i[a]}return{o:i,k:r[o],v:i?i[r[o]]:null}}var E=function(){return Math.floor(1e4*Math.random())},$=function(e,t){if(e===t)return!0;if(!(e instanceof Array))return!1;if(!(t instanceof Array))return!1;if(e.length!==t.length)return!1;for(var n=0;n!==e.length;++n)if(e[n]!==t[n])return!1;return!0},T=function(e,t){for(var n=0;n!==e.length;++n)if(t(e[n]))return n;return-1},M=function(e,t){var n=T(e,t);return-1!==n?e[n]:void 0},N=function(e){return Array.isArray(e)?e:e?[e]:[]},O=function(e){var t=/([^-])([A-Z])/g;return e.replace(t,"$1-$2").replace(t,"$1-$2").toLowerCase()},P=function(e){return m(e)?e.charAt(0).toUpperCase()+e.slice(1):e},I=function(e,t){var n=v(e),i=v(t);return n&&i?JSON.stringify(e)===JSON.stringify(t):!n&&!i&&String(e)===String(t)},A=function(e,t){return Array.isArray(e)&&Array.isArray(t)?function(e,t){if(t=t||[],(e=e||[]).length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!I(e[n],t[n]))return!1;return!0}(e,t):I(e,t)},F=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return!e;if(e instanceof Error)return""===e.message;switch(Object.prototype.toString.call(e)){case"[object String]":case"[object Array]":return!e.length;case"[object File]":case"[object Map]":case"[object Set]":return!e.size;case"[object Object]":return!Object.keys(e).length}return!1};function L(e){var t=!1;return function(){for(var n=this,i=arguments.length,r=Array(i),o=0;o<i;o++)r[o]=arguments[o];t||(t=!0,window.requestAnimationFrame(function(i){e.apply(n,r),t=!1}))}}var V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B=/(%|)\{([0-9a-zA-Z_]+)\}/g,z=function(e){return function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return 1===n.length&&"object"===V(n[0])&&(n=n[0]),n&&n.hasOwnProperty||(n={}),e.replace(B,function(t,i,r,o){var s=void 0;return"{"===e[o-1]&&"}"===e[o+t.length]?r:null==(s=C(n,r)?n[r]:null)?"":s})}}(h.a),R={el:{colorpicker:{confirm:"蝖桀��",clear:"皜征"},datepicker:{now:"甇文",today:"隞予",cancel:"����",clear:"皜征",confirm:"蝖桀��",selectDate:"�����",selectTime:"���",startDate:"撘�憪���",startTime:"撘�憪�",endDate:"蝏����",endTime:"蝏��",prevYear:"���撟�",nextYear:"���撟�",prevMonth:"銝葵���",nextMonth:"銝葵���",year:"撟�",month1:"1 ���",month2:"2 ���",month3:"3 ���",month4:"4 ���",month5:"5 ���",month6:"6 ���",month7:"7 ���",month8:"8 ���",month9:"9 ���",month10:"10 ���",month11:"11 ���",month12:"12 ���",weeks:{sun:"�",mon:"銝�",tue:"鈭�",wed:"銝�",thu:"���",fri:"鈭�",sat:"�"},months:{jan:"銝����",feb:"鈭��",mar:"銝��",apr:"����",may:"鈭��",jun:"����",jul:"銝��",aug:"����",sep:"銋��",oct:"����",nov:"������",dec:"�����"}},select:{loading:"��蝸銝�",noMatch:"�����",noData:"���",placeholder:"霂琿�"},cascader:{noMatch:"�����",loading:"��蝸銝�",placeholder:"霂琿�",noData:"����"},pagination:{goto:"���",pagesize:"�/憿�",total:"� {total} �",pageClassifier:"憿�"},messagebox:{title:"��內",confirm:"蝖桀��",cancel:"����",error:"颲���銝���!"},upload:{deleteTip:"��� delete ����",delete:"��",preview:"������",continue:"蝏抒賒銝��"},table:{emptyText:"����",confirmFilter:"蝑��",resetFilter:"��蔭",clearFilter:"��",sumText:"��恣"},tree:{emptyText:"����"},transfer:{noMatch:"�����",noData:"���",titles:["��” 1","��” 2"],filterPlaceholder:"霂瑁���揣��捆",noCheckedFormat:"� {total} 憿�",hasCheckedFormat:"撌脤�� {checked}/{total} 憿�"},image:{error:"��蝸憭梯揖"},pageHeader:{title:"餈��"},popconfirm:{confirmButtonText:"蝖桀��",cancelButtonText:"����"},empty:{description:"����"}}},H=!1,j=function(){var e=Object.getPrototypeOf(this||h.a).$t;if("function"==typeof e&&h.a.locale)return H||(H=!0,h.a.locale(h.a.config.lang,f()(R,h.a.locale(h.a.config.lang)||{},{clone:!0}))),e.apply(this,arguments)},W=function(e,t){var n=j.apply(this,arguments);if(null!=n)return n;for(var i=e.split("."),r=R,o=0,s=i.length;o<s;o++){if(n=r[i[o]],o===s-1)return z(n,t);if(!n)return"";r=n}return""},q={use:function(e){R=e||R},t:W,i18n:function(e){j=e||j}},Y={methods:{t:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return W.apply(this,t)}}},K=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["textarea"===e.type?"el-textarea":"el-input",e.inputSize?"el-input--"+e.inputSize:"",{"is-disabled":e.inputDisabled,"is-exceed":e.inputExceed,"el-input-group":e.$slots.prepend||e.$slots.append,"el-input-group--append":e.$slots.append,"el-input-group--prepend":e.$slots.prepend,"el-input--prefix":e.$slots.prefix||e.prefixIcon,"el-input--suffix":e.$slots.suffix||e.suffixIcon||e.clearable||e.showPassword}],on:{mouseenter:function(t){e.hovering=!0},mouseleave:function(t){e.hovering=!1}}},["textarea"!==e.type?[e.$slots.prepend?n("div",{staticClass:"el-input-group__prepend"},[e._t("prepend")],2):e._e(),"textarea"!==e.type?n("input",e._b({ref:"input",staticClass:"el-input__inner",attrs:{tabindex:e.tabindex,type:e.showPassword?e.passwordVisible?"text":"password":e.type,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"input",e.$attrs,!1)):e._e(),e.$slots.prefix||e.prefixIcon?n("span",{staticClass:"el-input__prefix"},[e._t("prefix"),e.prefixIcon?n("i",{staticClass:"el-input__icon",class:e.prefixIcon}):e._e()],2):e._e(),e.getSuffixVisible()?n("span",{staticClass:"el-input__suffix"},[n("span",{staticClass:"el-input__suffix-inner"},[e.showClear&&e.showPwdVisible&&e.isWordLimitVisible?e._e():[e._t("suffix"),e.suffixIcon?n("i",{staticClass:"el-input__icon",class:e.suffixIcon}):e._e()],e.showClear?n("i",{staticClass:"el-input__icon el-icon-circle-close el-input__clear",on:{mousedown:function(e){e.preventDefault()},click:e.clear}}):e._e(),e.showPwdVisible?n("i",{staticClass:"el-input__icon el-icon-view el-input__clear",on:{click:e.handlePasswordVisible}}):e._e(),e.isWordLimitVisible?n("span",{staticClass:"el-input__count"},[n("span",{staticClass:"el-input__count-inner"},[e._v("\n "+e._s(e.textLength)+"/"+e._s(e.upperLimit)+"\n ")])]):e._e()],2),e.validateState?n("i",{staticClass:"el-input__icon",class:["el-input__validateIcon",e.validateIcon]}):e._e()]):e._e(),e.$slots.append?n("div",{staticClass:"el-input-group__append"},[e._t("append")],2):e._e()]:n("textarea",e._b({ref:"textarea",staticClass:"el-textarea__inner",style:e.textareaStyle,attrs:{tabindex:e.tabindex,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"textarea",e.$attrs,!1)),e.isWordLimitVisible&&"textarea"===e.type?n("span",{staticClass:"el-input__count"},[e._v(e._s(e.textLength)+"/"+e._s(e.upperLimit))]):e._e()],2)};K._withStripped=!0;var U={mounted:function(){},methods:{getMigratingConfig:function(){return{props:{},events:{}}}}},G=void 0,X="\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",Z=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;G||(G=document.createElement("textarea"),document.body.appendChild(G));var i=function(e){var t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),i=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),r=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:Z.map(function(e){return e+":"+t.getPropertyValue(e)}).join(";"),paddingSize:i,borderSize:r,boxSizing:n}}(e),r=i.paddingSize,o=i.borderSize,s=i.boxSizing,a=i.contextStyle;G.setAttribute("style",a+";"+X),G.value=e.value||e.placeholder||"";var l=G.scrollHeight,u={};"border-box"===s?l+=o:"content-box"===s&&(l-=r),G.value="";var c=G.scrollHeight-r;if(null!==t){var h=c*t;"border-box"===s&&(h=h+r+o),l=Math.max(h,l),u.minHeight=h+"px"}if(null!==n){var d=c*n;"border-box"===s&&(d=d+r+o),l=Math.min(d,l)}return u.height=l+"px",G.parentNode&&G.parentNode.removeChild(G),G=null,u}var Q=function(e){for(var t=1,n=arguments.length;t<n;t++){var i=arguments[t]||{};for(var r in i)if(i.hasOwnProperty(r)){var o=i[r];void 0!==o&&(e[r]=o)}}return e};function ee(e){return null!=e}function te(e){return/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(e)}var ne=r({name:"ElInput",componentName:"ElInput",mixins:[l,U],inheritAttrs:!1,inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:"text"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:""},needStatusIcon:function(){return!!this.elForm&&this.elForm.statusIcon},validateIcon:function(){return{validating:"el-icon-loading",success:"el-icon-circle-check",error:"el-icon-circle-close"}[this.validateState]},textareaStyle:function(){return Q({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return null===this.value||void 0===this.value?"":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&("text"===this.type||"textarea"===this.type)&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return"number"==typeof this.value?String(this.value).length:(this.value||"").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(e){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[e])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var e=this;this.$nextTick(function(){e.setNativeInputValue(),e.resizeTextarea(),e.updateIconOffset()})}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:"icon is removed, use suffix-icon / prefix-icon instead.","on-icon-click":"on-icon-click is removed."},events:{click:"click is removed."}}},handleBlur:function(e){this.focused=!1,this.$emit("blur",e),this.validateEvent&&this.dispatch("ElFormItem","el.form.blur",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var e=this.autosize;if("textarea"===this.type)if(e){var t=e.minRows,n=e.maxRows;this.textareaCalcStyle=J(this.$refs.textarea,t,n)}else this.textareaCalcStyle={minHeight:J(this.$refs.textarea).minHeight}}},setNativeInputValue:function(){var e=this.getInput();e&&e.value!==this.nativeInputValue&&(e.value=this.nativeInputValue)},handleFocus:function(e){this.focused=!0,this.$emit("focus",e)},handleCompositionStart:function(e){this.$emit("compositionstart",e),this.isComposing=!0},handleCompositionUpdate:function(e){this.$emit("compositionupdate",e);var t=e.target.value,n=t[t.length-1]||"";this.isComposing=!te(n)},handleCompositionEnd:function(e){this.$emit("compositionend",e),this.isComposing&&(this.isComposing=!1,this.handleInput(e))},handleInput:function(e){this.isComposing||e.target.value!==this.nativeInputValue&&(this.$emit("input",e.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(e){this.$emit("change",e.target.value)},calcIconOffset:function(e){var t=[].slice.call(this.$el.querySelectorAll(".el-input__"+e)||[]);if(t.length){for(var n=null,i=0;i<t.length;i++)if(t[i].parentNode===this.$el){n=t[i];break}if(n){var r={suffix:"append",prefix:"prepend"}[e];this.$slots[r]?n.style.transform="translateX("+("suffix"===e?"-":"")+this.$el.querySelector(".el-input-group__"+r).offsetWidth+"px)":n.removeAttribute("style")}}},updateIconOffset:function(){this.calcIconOffset("prefix"),this.calcIconOffset("suffix")},clear:function(){this.$emit("input",""),this.$emit("change",""),this.$emit("clear")},handlePasswordVisible:function(){var e=this;this.passwordVisible=!this.passwordVisible,this.$nextTick(function(){e.focus()})},getInput:function(){return this.$refs.input||this.$refs.textarea},getSuffixVisible:function(){return this.$slots.suffix||this.suffixIcon||this.showClear||this.showPassword||this.isWordLimitVisible||this.validateState&&this.needStatusIcon}},created:function(){this.$on("inputSelect",this.select)},mounted:function(){this.setNativeInputValue(),this.resizeTextarea(),this.updateIconOffset()},updated:function(){this.$nextTick(this.updateIconOffset)}},K,[],!1,null,null,null);ne.options.__file="packages/input/src/input.vue";var ie=ne.exports;ie.install=function(e){e.component(ie.name,ie)};var re=ie,oe=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-select-dropdown el-popper",class:[{"is-multiple":this.$parent.multiple},this.popperClass],style:{minWidth:this.minWidth}},[this._t("default")],2)};oe._withStripped=!0;"function"==typeof Symbol&&Symbol.iterator;var se=h.a.prototype.$isServer,ae=/([\:\-\_]+(.))/g,le=/^moz([A-Z])/,ue=se?0:Number(document.documentMode),ce=function(e){return(e||"").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g,"")},he=function(e){return e.replace(ae,function(e,t,n,i){return i?n.toUpperCase():n}).replace(le,"Moz$1")},de=!se&&document.addEventListener?function(e,t,n){e&&t&&n&&e.addEventListener(t,n,!1)}:function(e,t,n){e&&t&&n&&e.attachEvent("on"+t,n)},fe=!se&&document.removeEventListener?function(e,t,n){e&&t&&e.removeEventListener(t,n,!1)}:function(e,t,n){e&&t&&e.detachEvent("on"+t,n)};function pe(e,t){if(!e||!t)return!1;if(-1!==t.indexOf(" "))throw new Error("className should not contain space.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function me(e,t){if(e){for(var n=e.className,i=(t||"").split(" "),r=0,o=i.length;r<o;r++){var s=i[r];s&&(e.classList?e.classList.add(s):pe(e,s)||(n+=" "+s))}e.classList||e.setAttribute("class",n)}}function ve(e,t){if(e&&t){for(var n=t.split(" "),i=" "+e.className+" ",r=0,o=n.length;r<o;r++){var s=n[r];s&&(e.classList?e.classList.remove(s):pe(e,s)&&(i=i.replace(" "+s+" "," ")))}e.classList||e.setAttribute("class",ce(i))}}var ge=ue<9?function(e,t){if(!se){if(!e||!t)return null;"float"===(t=he(t))&&(t="styleFloat");try{switch(t){case"opacity":try{return e.filters.item("alpha").opacity/100}catch(e){return 1}default:return e.style[t]||e.currentStyle?e.currentStyle[t]:null}}catch(n){return e.style[t]}}}:function(e,t){if(!se){if(!e||!t)return null;"float"===(t=he(t))&&(t="cssFloat");try{var n=document.defaultView.getComputedStyle(e,"");return e.style[t]||n?n[t]:null}catch(n){return e.style[t]}}};var ye=function(e,t){if(!se)return ge(e,null!=t?t?"overflow-y":"overflow-x":"overflow").match(/(scroll|auto|overlay)/)},be=function(e,t){if(!se){for(var n=e;n;){if([window,document,document.documentElement].includes(n))return window;if(ye(n,t))return n;n=n.parentNode}return n}},_e=!1,we=!1,xe=void 0,Ce=function(){if(!h.a.prototype.$isServer){var e=Se.modalDom;return e?_e=!0:(_e=!1,e=document.createElement("div"),Se.modalDom=e,e.addEventListener("touchmove",function(e){e.preventDefault(),e.stopPropagation()}),e.addEventListener("click",function(){Se.doOnModalClick&&Se.doOnModalClick()})),e}},ke={},Se={modalFade:!0,getInstance:function(e){return ke[e]},register:function(e,t){e&&t&&(ke[e]=t)},deregister:function(e){e&&(ke[e]=null,delete ke[e])},nextZIndex:function(){return Se.zIndex++},modalStack:[],doOnModalClick:function(){var e=Se.modalStack[Se.modalStack.length-1];if(e){var t=Se.getInstance(e.id);t&&t.closeOnClickModal&&t.close()}},openModal:function(e,t,n,i,r){if(!h.a.prototype.$isServer&&e&&void 0!==t){this.modalFade=r;for(var o=this.modalStack,s=0,a=o.length;s<a;s++){if(o[s].id===e)return}var l=Ce();if(me(l,"v-modal"),this.modalFade&&!_e&&me(l,"v-modal-enter"),i)i.trim().split(/\s+/).forEach(function(e){return me(l,e)});setTimeout(function(){ve(l,"v-modal-enter")},200),n&&n.parentNode&&11!==n.parentNode.nodeType?n.parentNode.appendChild(l):document.body.appendChild(l),t&&(l.style.zIndex=t),l.tabIndex=0,l.style.display="",this.modalStack.push({id:e,zIndex:t,modalClass:i})}},closeModal:function(e){var t=this.modalStack,n=Ce();if(t.length>0){var i=t[t.length-1];if(i.id===e){if(i.modalClass)i.modalClass.trim().split(/\s+/).forEach(function(e){return ve(n,e)});t.pop(),t.length>0&&(n.style.zIndex=t[t.length-1].zIndex)}else for(var r=t.length-1;r>=0;r--)if(t[r].id===e){t.splice(r,1);break}}0===t.length&&(this.modalFade&&me(n,"v-modal-leave"),setTimeout(function(){0===t.length&&(n.parentNode&&n.parentNode.removeChild(n),n.style.display="none",Se.modalDom=void 0),ve(n,"v-modal-leave")},200))}};Object.defineProperty(Se,"zIndex",{configurable:!0,get:function(){return we||(xe=xe||(h.a.prototype.$ELEMENT||{}).zIndex||2e3,we=!0),xe},set:function(e){xe=e}});h.a.prototype.$isServer||window.addEventListener("keydown",function(e){if(27===e.keyCode){var t=function(){if(!h.a.prototype.$isServer&&Se.modalStack.length>0){var e=Se.modalStack[Se.modalStack.length-1];if(!e)return;return Se.getInstance(e.id)}}();t&&t.closeOnPressEscape&&(t.handleClose?t.handleClose():t.handleAction?t.handleAction("cancel"):t.close())}});var De=Se,Ee=void 0,$e=function(){if(h.a.prototype.$isServer)return 0;if(void 0!==Ee)return Ee;var e=document.createElement("div");e.className="el-scrollbar__wrap",e.style.visibility="hidden",e.style.width="100px",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var n=document.createElement("div");n.style.width="100%",e.appendChild(n);var i=n.offsetWidth;return e.parentNode.removeChild(e),Ee=t-i},Te=1,Me=void 0,Ne={props:{visible:{type:Boolean,default:!1},openDelay:{},closeDelay:{},zIndex:{},modal:{type:Boolean,default:!1},modalFade:{type:Boolean,default:!0},modalClass:{},modalAppendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!1}},beforeMount:function(){this._popupId="popup-"+Te++,De.register(this._popupId,this)},beforeDestroy:function(){De.deregister(this._popupId),De.closeModal(this._popupId),this.restoreBodyStyle()},data:function(){return{opened:!1,bodyPaddingRight:null,computedBodyPaddingRight:0,withoutHiddenClass:!0,rendered:!1}},watch:{visible:function(e){var t=this;if(e){if(this._opening)return;this.rendered?this.open():(this.rendered=!0,h.a.nextTick(function(){t.open()}))}else this.close()}},methods:{open:function(e){var t=this;this.rendered||(this.rendered=!0);var n=Q({},this.$props||this,e);this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),clearTimeout(this._openTimer);var i=Number(n.openDelay);i>0?this._openTimer=setTimeout(function(){t._openTimer=null,t.doOpen(n)},i):this.doOpen(n)},doOpen:function(e){if(!this.$isServer&&(!this.willOpen||this.willOpen())&&!this.opened){this._opening=!0;var t=this.$el,n=e.modal,i=e.zIndex;if(i&&(De.zIndex=i),n&&(this._closing&&(De.closeModal(this._popupId),this._closing=!1),De.openModal(this._popupId,De.nextZIndex(),this.modalAppendToBody?void 0:t,e.modalClass,e.modalFade),e.lockScroll)){this.withoutHiddenClass=!pe(document.body,"el-popup-parent--hidden"),this.withoutHiddenClass&&(this.bodyPaddingRight=document.body.style.paddingRight,this.computedBodyPaddingRight=parseInt(ge(document.body,"paddingRight"),10)),Me=$e();var r=document.documentElement.clientHeight<document.body.scrollHeight,o=ge(document.body,"overflowY");Me>0&&(r||"scroll"===o)&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.computedBodyPaddingRight+Me+"px"),me(document.body,"el-popup-parent--hidden")}"static"===getComputedStyle(t).position&&(t.style.position="absolute"),t.style.zIndex=De.nextZIndex(),this.opened=!0,this.onOpen&&this.onOpen(),this.doAfterOpen()}},doAfterOpen:function(){this._opening=!1},close:function(){var e=this;if(!this.willClose||this.willClose()){null!==this._openTimer&&(clearTimeout(this._openTimer),this._openTimer=null),clearTimeout(this._closeTimer);var t=Number(this.closeDelay);t>0?this._closeTimer=setTimeout(function(){e._closeTimer=null,e.doClose()},t):this.doClose()}},doClose:function(){this._closing=!0,this.onClose&&this.onClose(),this.lockScroll&&setTimeout(this.restoreBodyStyle,200),this.opened=!1,this.doAfterClose()},doAfterClose:function(){De.closeModal(this._popupId),this._closing=!1},restoreBodyStyle:function(){this.modal&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.bodyPaddingRight,ve(document.body,"el-popup-parent--hidden")),this.withoutHiddenClass=!0}}},Oe=h.a.prototype.$isServer?function(){}:n(52),Pe=function(e){return e.stopPropagation()},Ie={props:{transformOrigin:{type:[Boolean,String],default:!0},placement:{type:String,default:"bottom"},boundariesPadding:{type:Number,default:5},reference:{},popper:{},offset:{default:0},value:Boolean,visibleArrow:Boolean,arrowOffset:{type:Number,default:35},appendToBody:{type:Boolean,default:!0},popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1}}}},data:function(){return{showPopper:!1,currentPlacement:""}},watch:{value:{immediate:!0,handler:function(e){this.showPopper=e,this.$emit("input",e)}},showPopper:function(e){this.disabled||(e?this.updatePopper():this.destroyPopper(),this.$emit("input",e))}},methods:{createPopper:function(){var e=this;if(!this.$isServer&&(this.currentPlacement=this.currentPlacement||this.placement,/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement))){var t=this.popperOptions,n=this.popperElm=this.popperElm||this.popper||this.$refs.popper,i=this.referenceElm=this.referenceElm||this.reference||this.$refs.reference;!i&&this.$slots.reference&&this.$slots.reference[0]&&(i=this.referenceElm=this.$slots.reference[0].elm),n&&i&&(this.visibleArrow&&this.appendArrow(n),this.appendToBody&&document.body.appendChild(this.popperElm),this.popperJS&&this.popperJS.destroy&&this.popperJS.destroy(),t.placement=this.currentPlacement,t.offset=this.offset,t.arrowOffset=this.arrowOffset,this.popperJS=new Oe(i,n,t),this.popperJS.onCreate(function(t){e.$emit("created",e),e.resetTransformOrigin(),e.$nextTick(e.updatePopper)}),"function"==typeof t.onUpdate&&this.popperJS.onUpdate(t.onUpdate),this.popperJS._popper.style.zIndex=De.nextZIndex(),this.popperElm.addEventListener("click",Pe))}},updatePopper:function(){var e=this.popperJS;e?(e.update(),e._popper&&(e._popper.style.zIndex=De.nextZIndex())):this.createPopper()},doDestroy:function(e){!this.popperJS||this.showPopper&&!e||(this.popperJS.destroy(),this.popperJS=null)},destroyPopper:function(){this.popperJS&&this.resetTransformOrigin()},resetTransformOrigin:function(){if(this.transformOrigin){var e=this.popperJS._popper.getAttribute("x-placement").split("-")[0],t={top:"bottom",bottom:"top",left:"right",right:"left"}[e];this.popperJS._popper.style.transformOrigin="string"==typeof this.transformOrigin?this.transformOrigin:["top","bottom"].indexOf(e)>-1?"center "+t:t+" center"}},appendArrow:function(e){var t=void 0;if(!this.appended){for(var n in this.appended=!0,e.attributes)if(/^_v-/.test(e.attributes[n].name)){t=e.attributes[n].name;break}var i=document.createElement("div");t&&i.setAttribute(t,""),i.setAttribute("x-arrow",""),i.className="popper__arrow",e.appendChild(i)}}},beforeDestroy:function(){this.doDestroy(!0),this.popperElm&&this.popperElm.parentNode===document.body&&(this.popperElm.removeEventListener("click",Pe),document.body.removeChild(this.popperElm))},deactivated:function(){this.$options.beforeDestroy[0].call(this)}},Ae=r({name:"ElSelectDropdown",componentName:"ElSelectDropdown",mixins:[Ie],props:{placement:{default:"bottom-start"},boundariesPadding:{default:0},popperOptions:{default:function(){return{gpuAcceleration:!1}}},visibleArrow:{default:!0},appendToBody:{type:Boolean,default:!0}},data:function(){return{minWidth:""}},computed:{popperClass:function(){return this.$parent.popperClass}},watch:{"$parent.inputWidth":function(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+"px"}},mounted:function(){var e=this;this.referenceElm=this.$parent.$refs.reference.$el,this.$parent.popperElm=this.popperElm=this.$el,this.$on("updatePopper",function(){e.$parent.visible&&e.updatePopper()}),this.$on("destroyPopper",this.destroyPopper)}},oe,[],!1,null,null,null);Ae.options.__file="packages/select/src/select-dropdown.vue";var Fe=Ae.exports,Le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:e.itemSelected,"is-disabled":e.disabled||e.groupDisabled||e.limitReached,hover:e.hover},on:{mouseenter:e.hoverItem,click:function(t){return t.stopPropagation(),e.selectOptionClick(t)}}},[e._t("default",[n("span",[e._v(e._s(e.currentLabel))])])],2)};Le._withStripped=!0;var Ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Be=r({mixins:[l],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return"[object object]"===Object.prototype.toString.call(this.value).toLowerCase()},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return!!this.select.multiple&&(!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0)}},watch:{currentLabel:function(){this.created||this.select.remote||this.dispatch("ElSelect","setSelected")},value:function(e,t){var n=this.select,i=n.remote,r=n.valueKey;if(!this.created&&!i){if(r&&"object"===(void 0===e?"undefined":Ve(e))&&"object"===(void 0===t?"undefined":Ve(t))&&e[r]===t[r])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(e,t){if(this.isObject){var n=this.select.valueKey;return S(e,n)===S(t,n)}return e===t},contains:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(this.isObject){var n=this.select.valueKey;return e&&e.some(function(e){return S(e,n)===S(t,n)})}return e&&e.indexOf(t)>-1},handleGroupDisabled:function(e){this.groupDisabled=e},hoverItem:function(){this.disabled||this.groupDisabled||(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){!0!==this.disabled&&!0!==this.groupDisabled&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(e){this.visible=new RegExp(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return String(e).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}(e),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var e=this.select,t=e.selected,n=e.multiple?t:[t],i=this.select.cachedOptions.indexOf(this),r=n.indexOf(this);i>-1&&r<0&&this.select.cachedOptions.splice(i,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},Le,[],!1,null,null,null);Be.options.__file="packages/select/src/option.vue";var ze=Be.exports,Re=r({name:"ElTag",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:"light",validator:function(e){return-1!==["dark","light","plain"].indexOf(e)}}},methods:{handleClose:function(e){e.stopPropagation(),this.$emit("close",e)},handleClick:function(e){this.$emit("click",e)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(e){var t=this.type,n=this.tagSize,i=this.hit,r=this.effect,o=e("span",{class:["el-tag",t?"el-tag--"+t:"",n?"el-tag--"+n:"",r?"el-tag--"+r:"",i&&"is-hit"],style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&e("i",{class:"el-tag__close el-icon-close",on:{click:this.handleClose}})]);return this.disableTransitions?o:e("transition",{attrs:{name:"el-zoom-in-center"}},[o])}},void 0,void 0,!1,null,null,null);Re.options.__file="packages/tag/src/tag.vue";var He=Re.exports;He.install=function(e){e.component(He.name,He)};var je=He,We=n(49),qe=n(18),Ye="undefined"==typeof window,Ke=function(e){var t=e,n=Array.isArray(t),i=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(i>=t.length)break;r=t[i++]}else{if((i=t.next()).done)break;r=i.value}var o=r.target.__resizeListeners__||[];o.length&&o.forEach(function(e){e()})}},Ue=function(e,t){Ye||(e.__resizeListeners__||(e.__resizeListeners__=[],e.__ro__=new We.a(Object(qe.debounce)(16,Ke)),e.__ro__.observe(e)),e.__resizeListeners__.push(t))},Ge=function(e,t){e&&e.__resizeListeners__&&(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),e.__resizeListeners__.length||e.__ro__.disconnect())},Xe={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function Ze(e){var t=e.move,n=e.size,i=e.bar,r={},o="translate"+i.axis+"("+t+"%)";return r[i.size]=n,r.transform=o,r.msTransform=o,r.webkitTransform=o,r}var Je={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return Xe[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(e){var t=this.size,n=this.move,i=this.bar;return e("div",{class:["el-scrollbar__bar","is-"+i.key],on:{mousedown:this.clickTrackHandler}},[e("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:Ze({size:t,move:n,bar:i})})])},methods:{clickThumbHandler:function(e){e.ctrlKey||2===e.button||(this.startDrag(e),this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(e){var t=100*(Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client])-this.$refs.thumb[this.bar.offset]/2)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=t*this.wrap[this.bar.scrollSize]/100},startDrag:function(e){e.stopImmediatePropagation(),this.cursorDown=!0,de(document,"mousemove",this.mouseMoveDocumentHandler),de(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(e){if(!1!==this.cursorDown){var t=this[this.bar.axis];if(t){var n=100*(-1*(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client])-(this.$refs.thumb[this.bar.offset]-t))/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=n*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(e){this.cursorDown=!1,this[this.bar.axis]=0,fe(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){fe(document,"mouseup",this.mouseUpDocumentHandler)}},Qe={name:"ElScrollbar",components:{Bar:Je},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(e){var t=$e(),n=this.wrapStyle;if(t){var i="-"+t+"px",r="margin-bottom: "+i+"; margin-right: "+i+";";Array.isArray(this.wrapStyle)?(n=function(e){for(var t={},n=0;n<e.length;n++)e[n]&&k(t,e[n]);return t}(this.wrapStyle)).marginRight=n.marginBottom=i:"string"==typeof this.wrapStyle?n+=r:n=r}var o=e(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),s=e("div",{ref:"wrap",style:n,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",t?"":"el-scrollbar__wrap--hidden-default"]},[[o]]),a=void 0;return a=this.native?[e("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:n},[[o]])]:[s,e(Je,{attrs:{move:this.moveX,size:this.sizeWidth}}),e(Je,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],e("div",{class:"el-scrollbar"},a)},methods:{handleScroll:function(){var e=this.wrap;this.moveY=100*e.scrollTop/e.clientHeight,this.moveX=100*e.scrollLeft/e.clientWidth},update:function(){var e,t,n=this.wrap;n&&(e=100*n.clientHeight/n.scrollHeight,t=100*n.clientWidth/n.scrollWidth,this.sizeHeight=e<100?e+"%":"",this.sizeWidth=t<100?t+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Ue(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Ge(this.$refs.resize,this.update)},install:function(e){e.component(Qe.name,Qe)}},et=Qe,tt=n(1),nt=n.n(tt),it=[],rt="@@clickoutsideContext",ot=void 0,st=0;function at(e,t,n){return function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!(n&&n.context&&i.target&&r.target)||e.contains(i.target)||e.contains(r.target)||e===i.target||n.context.popperElm&&(n.context.popperElm.contains(i.target)||n.context.popperElm.contains(r.target))||(t.expression&&e[rt].methodName&&n.context[e[rt].methodName]?n.context[e[rt].methodName]():e[rt].bindingFn&&e[rt].bindingFn())}}!h.a.prototype.$isServer&&de(document,"mousedown",function(e){return ot=e}),!h.a.prototype.$isServer&&de(document,"mouseup",function(e){it.forEach(function(t){return t[rt].documentHandler(e,ot)})});var lt={bind:function(e,t,n){it.push(e);var i=st++;e[rt]={id:i,documentHandler:at(e,t,n),methodName:t.expression,bindingFn:t.value}},update:function(e,t,n){e[rt].documentHandler=at(e,t,n),e[rt].methodName=t.expression,e[rt].bindingFn=t.value},unbind:function(e){for(var t=it.length,n=0;n<t;n++)if(it[n][rt].id===e[rt].id){it.splice(n,1);break}delete e[rt]}};function ut(e,t){if(!h.a.prototype.$isServer)if(t){for(var n=[],i=t.offsetParent;i&&e!==i&&e.contains(i);)n.push(i),i=i.offsetParent;var r=t.offsetTop+n.reduce(function(e,t){return e+t.offsetTop},0),o=r+t.offsetHeight,s=e.scrollTop,a=s+e.clientHeight;r<s?e.scrollTop=r:o>a&&(e.scrollTop=o-e.clientHeight)}else e.scrollTop=0}var ct=r({mixins:[l,Y,u("reference"),{data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter(function(e){return e.visible}).every(function(e){return e.disabled})}},watch:{hoverIndex:function(e){var t=this;"number"==typeof e&&e>-1&&(this.hoverOption=this.options[e]||{}),this.options.forEach(function(e){e.hover=t.hoverOption===e})}},methods:{navigateOptions:function(e){var t=this;if(this.visible){if(0!==this.options.length&&0!==this.filteredOptionsCount&&!this.optionsAllDisabled){"next"===e?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):"prev"===e&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var n=this.options[this.hoverIndex];!0!==n.disabled&&!0!==n.groupDisabled&&n.visible||this.navigateOptions(e),this.$nextTick(function(){return t.scrollToOption(t.hoverOption)})}}else this.visible=!0}}}],name:"ElSelect",componentName:"ElSelect",inject:{elForm:{default:""},elFormItem:{default:""}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!(!h.a.prototype.$isServer&&!isNaN(Number(document.documentMode)))&&!(!h.a.prototype.$isServer&&navigator.userAgent.indexOf("Edge")>-1)&&!this.visible},showClose:function(){var e=this.multiple?Array.isArray(this.value)&&this.value.length>0:void 0!==this.value&&null!==this.value&&""!==this.value;return this.clearable&&!this.selectDisabled&&this.inputHovering&&e},iconClass:function(){return this.remote&&this.filterable?"":this.visible?"arrow-up is-reverse":"arrow-up"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t("el.select.loading"):(!this.remote||""!==this.query||0!==this.options.length)&&(this.filterable&&this.query&&this.options.length>0&&0===this.filteredOptionsCount?this.noMatchText||this.t("el.select.noMatch"):0===this.options.length?this.noDataText||this.t("el.select.noData"):null)},showNewOption:function(){var e=this,t=this.options.filter(function(e){return!e.created}).some(function(t){return t.currentLabel===e.query});return this.filterable&&this.allowCreate&&""!==this.query&&!t},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return["small","mini"].indexOf(this.selectSize)>-1?"mini":"small"},propPlaceholder:function(){return void 0!==this.placeholder?this.placeholder:this.t("el.select.placeholder")}},components:{ElInput:re,ElSelectMenu:Fe,ElOption:ze,ElTag:je,ElScrollbar:et},directives:{Clickoutside:lt},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,required:!1},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:"value"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:"",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,currentPlaceholder:"",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var e=this;this.$nextTick(function(){e.resetInputHeight()})},propPlaceholder:function(e){this.cachedPlaceHolder=this.currentPlaceholder=e},value:function(e,t){this.multiple&&(this.resetInputHeight(),e&&e.length>0||this.$refs.input&&""!==this.query?this.currentPlaceholder="":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query="",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),$(e,t)||this.dispatch("ElFormItem","el.form.change",e)},visible:function(e){var t=this;e?(this.broadcast("ElSelectDropdown","updatePopper"),this.filterable&&(this.query=this.remote?"":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast("ElOption","queryChange",""),this.broadcast("ElOptionGroup","queryChange")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel="")))):(this.broadcast("ElSelectDropdown","destroyPopper"),this.$refs.input&&this.$refs.input.blur(),this.query="",this.previousQuery=null,this.selectedLabel="",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick(function(){t.$refs.input&&""===t.$refs.input.value&&0===t.selected.length&&(t.currentPlaceholder=t.cachedPlaceHolder)}),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit("visible-change",e)},options:function(){var e=this;if(!this.$isServer){this.$nextTick(function(){e.broadcast("ElSelectDropdown","updatePopper")}),this.multiple&&this.resetInputHeight();var t=this.$el.querySelectorAll("input");-1===[].indexOf.call(t,document.activeElement)&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleNavigate:function(e){this.isOnComposition||this.navigateOptions(e)},handleComposition:function(e){var t=this,n=e.target.value;if("compositionend"===e.type)this.isOnComposition=!1,this.$nextTick(function(e){return t.handleQueryChange(n)});else{var i=n[n.length-1]||"";this.isOnComposition=!te(i)}},handleQueryChange:function(e){var t=this;this.previousQuery===e||this.isOnComposition||(null!==this.previousQuery||"function"!=typeof this.filterMethod&&"function"!=typeof this.remoteMethod?(this.previousQuery=e,this.$nextTick(function(){t.visible&&t.broadcast("ElSelectDropdown","updatePopper")}),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick(function(){var e=15*t.$refs.input.value.length+20;t.inputLength=t.collapseTags?Math.min(50,e):e,t.managePlaceholder(),t.resetInputHeight()}),this.remote&&"function"==typeof this.remoteMethod?(this.hoverIndex=-1,this.remoteMethod(e)):"function"==typeof this.filterMethod?(this.filterMethod(e),this.broadcast("ElOptionGroup","queryChange")):(this.filteredOptionsCount=this.optionsCount,this.broadcast("ElOption","queryChange",e),this.broadcast("ElOptionGroup","queryChange")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()):this.previousQuery=e)},scrollToOption:function(e){var t=Array.isArray(e)&&e[0]?e[0].$el:e.$el;this.$refs.popper&&t&&ut(this.$refs.popper.$el.querySelector(".el-select-dropdown__wrap"),t);this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var e=this;this.$nextTick(function(){return e.scrollToOption(e.selected)})},emitChange:function(e){$(this.value,e)||this.$emit("change",e)},getOption:function(e){for(var t=void 0,n="[object object]"===Object.prototype.toString.call(e).toLowerCase(),i="[object null]"===Object.prototype.toString.call(e).toLowerCase(),r="[object undefined]"===Object.prototype.toString.call(e).toLowerCase(),o=this.cachedOptions.length-1;o>=0;o--){var s=this.cachedOptions[o];if(n?S(s.value,this.valueKey)===S(e,this.valueKey):s.value===e){t=s;break}}if(t)return t;var a={value:e,currentLabel:n||i||r?"":String(e)};return this.multiple&&(a.hitState=!1),a},setSelected:function(){var e=this;if(!this.multiple){var t=this.getOption(this.value);return t.created?(this.createdLabel=t.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=t.currentLabel,this.selected=t,void(this.filterable&&(this.query=this.selectedLabel))}var n=[];Array.isArray(this.value)&&this.value.forEach(function(t){n.push(e.getOption(t))}),this.selected=n,this.$nextTick(function(){e.resetInputHeight()})},handleFocus:function(e){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.filterable&&!this.visible&&(this.menuVisibleOnFocus=!0),this.visible=!0),this.$emit("focus",e))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(e){var t=this;setTimeout(function(){t.isSilentBlur?t.isSilentBlur=!1:t.$emit("blur",e)},50),this.softFocus=!1},handleClearClick:function(e){this.deleteSelected(e)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(e){if(Array.isArray(this.selected)){var t=this.selected[this.selected.length-1];if(t)return!0===e||!1===e?(t.hitState=e,e):(t.hitState=!t.hitState,t.hitState)}},deletePrevTag:function(e){if(e.target.value.length<=0&&!this.toggleLastOptionHitState()){var t=this.value.slice();t.pop(),this.$emit("input",t),this.emitChange(t)}},managePlaceholder:function(){""!==this.currentPlaceholder&&(this.currentPlaceholder=this.$refs.input.value?"":this.cachedPlaceHolder)},resetInputState:function(e){8!==e.keyCode&&this.toggleLastOptionHitState(!1),this.inputLength=15*this.$refs.input.value.length+20,this.resetInputHeight()},resetInputHeight:function(){var e=this;this.collapseTags&&!this.filterable||this.$nextTick(function(){if(e.$refs.reference){var t=e.$refs.reference.$el.childNodes,n=[].filter.call(t,function(e){return"INPUT"===e.tagName})[0],i=e.$refs.tags,r=i?Math.round(i.getBoundingClientRect().height):0,o=e.initialInputHeight||40;n.style.height=0===e.selected.length?o+"px":Math.max(i?r+(r>o?6:0):0,o)+"px",e.visible&&!1!==e.emptyText&&e.broadcast("ElSelectDropdown","updatePopper")}})},resetHoverIndex:function(){var e=this;setTimeout(function(){e.multiple?e.selected.length>0?e.hoverIndex=Math.min.apply(null,e.selected.map(function(t){return e.options.indexOf(t)})):e.hoverIndex=-1:e.hoverIndex=e.options.indexOf(e.selected)},300)},handleOptionSelect:function(e,t){var n=this;if(this.multiple){var i=(this.value||[]).slice(),r=this.getValueIndex(i,e.value);r>-1?i.splice(r,1):(this.multipleLimit<=0||i.length<this.multipleLimit)&&i.push(e.value),this.$emit("input",i),this.emitChange(i),e.created&&(this.query="",this.handleQueryChange(""),this.inputLength=20),this.filterable&&this.$refs.input.focus()}else this.$emit("input",e.value),this.emitChange(e.value),this.visible=!1;this.isSilentBlur=t,this.setSoftFocus(),this.visible||this.$nextTick(function(){n.scrollToOption(e)})},setSoftFocus:function(){this.softFocus=!0;var e=this.$refs.input||this.$refs.reference;e&&e.focus()},getValueIndex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if("[object object]"===Object.prototype.toString.call(t).toLowerCase()){var n=this.valueKey,i=-1;return e.some(function(e,r){return S(e,n)===S(t,n)&&(i=r,!0)}),i}return e.indexOf(t)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(e){e.stopPropagation();var t=this.multiple?[]:"";this.$emit("input",t),this.emitChange(t),this.visible=!1,this.$emit("clear")},deleteTag:function(e,t){var n=this.selected.indexOf(t);if(n>-1&&!this.selectDisabled){var i=this.value.slice();i.splice(n,1),this.$emit("input",i),this.emitChange(i),this.$emit("remove-tag",t.value)}e.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(e){e>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(e,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var e=!1,t=this.options.length-1;t>=0;t--)if(this.options[t].created){e=!0,this.hoverIndex=t;break}if(!e)for(var n=0;n!==this.options.length;++n){var i=this.options[n];if(this.query){if(!i.disabled&&!i.groupDisabled&&i.visible){this.hoverIndex=n;break}}else if(i.itemSelected){this.hoverIndex=n;break}}},getValueKey:function(e){return"[object object]"!==Object.prototype.toString.call(e.value).toLowerCase()?e.value:S(e.value,this.valueKey)}},created:function(){var e=this;this.cachedPlaceHolder=this.currentPlaceholder=this.propPlaceholder,this.multiple&&!Array.isArray(this.value)&&this.$emit("input",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit("input",""),this.debouncedOnInputChange=nt()(this.debounce,function(){e.onInputChange()}),this.debouncedQueryChange=nt()(this.debounce,function(t){e.handleQueryChange(t.target.value)}),this.$on("handleOptionClick",this.handleOptionSelect),this.$on("setSelected",this.setSelected)},mounted:function(){var e=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=""),Ue(this.$el,this.handleResize);var t=this.$refs.reference;if(t&&t.$el){var n=t.$el.querySelector("input");this.initialInputHeight=n.getBoundingClientRect().height||{medium:36,small:32,mini:28}[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick(function(){t&&t.$el&&(e.inputWidth=t.$el.getBoundingClientRect().width)}),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Ge(this.$el,this.handleResize)}},a,[],!1,null,null,null);ct.options.__file="packages/select/src/select.vue";var ht=ct.exports;ht.install=function(e){e.component(ht.name,ht)};var dt=ht;ze.install=function(e){e.component(ze.name,ze)};var ft=ze,pt={name:"ElPagination",props:{pageSize:{type:Number,default:10},small:Boolean,total:Number,pageCount:Number,pagerCount:{type:Number,validator:function(e){return(0|e)===e&&e>4&&e<22&&e%2==1},default:7},currentPage:{type:Number,default:1},layout:{default:"prev, pager, next, jumper, ->, total"},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},popperClass:String,prevText:String,nextText:String,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean},data:function(){return{internalCurrentPage:1,internalPageSize:0,lastEmittedPage:-1,userChangePageSize:!1}},render:function(e){var t=this.layout;if(!t)return null;if(this.hideOnSinglePage&&(!this.internalPageCount||1===this.internalPageCount))return null;var n=e("div",{class:["el-pagination",{"is-background":this.background,"el-pagination--small":this.small}]}),i={prev:e("prev"),jumper:e("jumper"),pager:e("pager",{attrs:{currentPage:this.internalCurrentPage,pageCount:this.internalPageCount,pagerCount:this.pagerCount,disabled:this.disabled},on:{change:this.handleCurrentChange}}),next:e("next"),sizes:e("sizes",{attrs:{pageSizes:this.pageSizes}}),slot:e("slot",[this.$slots.default?this.$slots.default:""]),total:e("total")},r=t.split(",").map(function(e){return e.trim()}),o=e("div",{class:"el-pagination__rightwrapper"}),s=!1;return n.children=n.children||[],o.children=o.children||[],r.forEach(function(e){"->"!==e?s?o.children.push(i[e]):n.children.push(i[e]):s=!0}),s&&n.children.unshift(o),n},components:{Prev:{render:function(e){return e("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage<=1},class:"btn-prev",on:{click:this.$parent.prev}},[this.$parent.prevText?e("span",[this.$parent.prevText]):e("i",{class:"el-icon el-icon-arrow-left"})])}},Next:{render:function(e){return e("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage===this.$parent.internalPageCount||0===this.$parent.internalPageCount},class:"btn-next",on:{click:this.$parent.next}},[this.$parent.nextText?e("span",[this.$parent.nextText]):e("i",{class:"el-icon el-icon-arrow-right"})])}},Sizes:{mixins:[Y],props:{pageSizes:Array},watch:{pageSizes:{immediate:!0,handler:function(e,t){$(e,t)||Array.isArray(e)&&(this.$parent.internalPageSize=e.indexOf(this.$parent.pageSize)>-1?this.$parent.pageSize:this.pageSizes[0])}}},render:function(e){var t=this;return e("span",{class:"el-pagination__sizes"},[e("el-select",{attrs:{value:this.$parent.internalPageSize,popperClass:this.$parent.popperClass||"",size:"mini",disabled:this.$parent.disabled},on:{input:this.handleChange}},[this.pageSizes.map(function(n){return e("el-option",{attrs:{value:n,label:n+t.t("el.pagination.pagesize")}})})])])},components:{ElSelect:dt,ElOption:ft},methods:{handleChange:function(e){e!==this.$parent.internalPageSize&&(this.$parent.internalPageSize=e=parseInt(e,10),this.$parent.userChangePageSize=!0,this.$parent.$emit("update:pageSize",e),this.$parent.$emit("size-change",e))}}},Jumper:{mixins:[Y],components:{ElInput:re},data:function(){return{userInput:null}},watch:{"$parent.internalCurrentPage":function(){this.userInput=null}},methods:{handleKeyup:function(e){var t=e.keyCode,n=e.target;13===t&&this.handleChange(n.value)},handleInput:function(e){this.userInput=e},handleChange:function(e){this.$parent.internalCurrentPage=this.$parent.getValidCurrentPage(e),this.$parent.emitChange(),this.userInput=null}},render:function(e){return e("span",{class:"el-pagination__jump"},[this.t("el.pagination.goto"),e("el-input",{class:"el-pagination__editor is-in-pagination",attrs:{min:1,max:this.$parent.internalPageCount,value:null!==this.userInput?this.userInput:this.$parent.internalCurrentPage,type:"number",disabled:this.$parent.disabled},nativeOn:{keyup:this.handleKeyup},on:{input:this.handleInput,change:this.handleChange}}),this.t("el.pagination.pageClassifier")])}},Total:{mixins:[Y],render:function(e){return"number"==typeof this.$parent.total?e("span",{class:"el-pagination__total"},[this.t("el.pagination.total",{total:this.$parent.total})]):""}},Pager:s},methods:{handleCurrentChange:function(e){this.internalCurrentPage=this.getValidCurrentPage(e),this.userChangePageSize=!0,this.emitChange()},prev:function(){if(!this.disabled){var e=this.internalCurrentPage-1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit("prev-click",this.internalCurrentPage),this.emitChange()}},next:function(){if(!this.disabled){var e=this.internalCurrentPage+1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit("next-click",this.internalCurrentPage),this.emitChange()}},getValidCurrentPage:function(e){e=parseInt(e,10);var t=void 0;return"number"==typeof this.internalPageCount?e<1?t=1:e>this.internalPageCount&&(t=this.internalPageCount):(isNaN(e)||e<1)&&(t=1),void 0===t&&isNaN(e)?t=1:0===t&&(t=1),void 0===t?e:t},emitChange:function(){var e=this;this.$nextTick(function(){(e.internalCurrentPage!==e.lastEmittedPage||e.userChangePageSize)&&(e.$emit("current-change",e.internalCurrentPage),e.lastEmittedPage=e.internalCurrentPage,e.userChangePageSize=!1)})}},computed:{internalPageCount:function(){return"number"==typeof this.total?Math.max(1,Math.ceil(this.total/this.internalPageSize)):"number"==typeof this.pageCount?Math.max(1,this.pageCount):null}},watch:{currentPage:{immediate:!0,handler:function(e){this.internalCurrentPage=this.getValidCurrentPage(e)}},pageSize:{immediate:!0,handler:function(e){this.internalPageSize=isNaN(e)?10:e}},internalCurrentPage:{immediate:!0,handler:function(e){this.$emit("update:currentPage",e),this.lastEmittedPage=-1}},internalPageCount:function(e){var t=this.internalCurrentPage;e>0&&0===t?this.internalCurrentPage=1:t>e&&(this.internalCurrentPage=0===e?1:e,this.userChangePageSize&&this.emitChange()),this.userChangePageSize=!1}},install:function(e){e.component(pt.name,pt)}},mt=pt,vt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"dialog-fade"},on:{"after-enter":e.afterEnter,"after-leave":e.afterLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-dialog__wrapper",on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[n("div",{key:e.key,ref:"dialog",class:["el-dialog",{"is-fullscreen":e.fullscreen,"el-dialog--center":e.center},e.customClass],style:e.style,attrs:{role:"dialog","aria-modal":"true","aria-label":e.title||"dialog"}},[n("div",{staticClass:"el-dialog__header"},[e._t("title",[n("span",{staticClass:"el-dialog__title"},[e._v(e._s(e.title))])]),e.showClose?n("button",{staticClass:"el-dialog__headerbtn",attrs:{type:"button","aria-label":"Close"},on:{click:e.handleClose}},[n("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):e._e()],2),e.rendered?n("div",{staticClass:"el-dialog__body"},[e._t("default")],2):e._e(),e.$slots.footer?n("div",{staticClass:"el-dialog__footer"},[e._t("footer")],2):e._e()])])])};vt._withStripped=!0;var gt=r({name:"ElDialog",mixins:[Ne,l,U],props:{title:{type:String,default:""},modal:{type:Boolean,default:!0},modalAppendToBody:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},width:String,fullscreen:Boolean,customClass:{type:String,default:""},top:{type:String,default:"15vh"},beforeClose:Function,center:{type:Boolean,default:!1},destroyOnClose:Boolean},data:function(){return{closed:!1,key:0}},watch:{visible:function(e){var t=this;e?(this.closed=!1,this.$emit("open"),this.$el.addEventListener("scroll",this.updatePopper),this.$nextTick(function(){t.$refs.dialog.scrollTop=0}),this.appendToBody&&document.body.appendChild(this.$el)):(this.$el.removeEventListener("scroll",this.updatePopper),this.closed||this.$emit("close"),this.destroyOnClose&&this.$nextTick(function(){t.key++}))}},computed:{style:function(){var e={};return this.fullscreen||(e.marginTop=this.top,this.width&&(e.width=this.width)),e}},methods:{getMigratingConfig:function(){return{props:{size:"size is removed."}}},handleWrapperClick:function(){this.closeOnClickModal&&this.handleClose()},handleClose:function(){"function"==typeof this.beforeClose?this.beforeClose(this.hide):this.hide()},hide:function(e){!1!==e&&(this.$emit("update:visible",!1),this.$emit("close"),this.closed=!0)},updatePopper:function(){this.broadcast("ElSelectDropdown","updatePopper"),this.broadcast("ElDropdownMenu","updatePopper")},afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")}},mounted:function(){this.visible&&(this.rendered=!0,this.open(),this.appendToBody&&document.body.appendChild(this.$el))},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},vt,[],!1,null,null,null);gt.options.__file="packages/dialog/src/component.vue";var yt=gt.exports;yt.install=function(e){e.component(yt.name,yt)};var bt=yt,_t=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.close,expression:"close"}],staticClass:"el-autocomplete",attrs:{"aria-haspopup":"listbox",role:"combobox","aria-expanded":e.suggestionVisible,"aria-owns":e.id}},[n("el-input",e._b({ref:"input",on:{input:e.handleInput,change:e.handleChange,focus:e.handleFocus,blur:e.handleBlur,clear:e.handleClear},nativeOn:{keydown:[function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault(),e.highlight(e.highlightedIndex-1)},function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault(),e.highlight(e.highlightedIndex+1)},function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.handleKeyEnter(t):null},function(t){return"button"in t||!e._k(t.keyCode,"tab",9,t.key,"Tab")?e.close(t):null}]}},"el-input",[e.$props,e.$attrs],!1),[e.$slots.prepend?n("template",{slot:"prepend"},[e._t("prepend")],2):e._e(),e.$slots.append?n("template",{slot:"append"},[e._t("append")],2):e._e(),e.$slots.prefix?n("template",{slot:"prefix"},[e._t("prefix")],2):e._e(),e.$slots.suffix?n("template",{slot:"suffix"},[e._t("suffix")],2):e._e()],2),n("el-autocomplete-suggestions",{ref:"suggestions",class:[e.popperClass?e.popperClass:""],attrs:{"visible-arrow":"","popper-options":e.popperOptions,"append-to-body":e.popperAppendToBody,placement:e.placement,id:e.id}},e._l(e.suggestions,function(t,i){return n("li",{key:i,class:{highlighted:e.highlightedIndex===i},attrs:{id:e.id+"-item-"+i,role:"option","aria-selected":e.highlightedIndex===i},on:{click:function(n){e.select(t)}}},[e._t("default",[e._v("\n "+e._s(t[e.valueKey])+"\n ")],{item:t})],2)}),0)],1)};_t._withStripped=!0;var wt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.doDestroy}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-autocomplete-suggestion el-popper",class:{"is-loading":!e.parent.hideLoading&&e.parent.loading},style:{width:e.dropdownWidth},attrs:{role:"region"}},[n("el-scrollbar",{attrs:{tag:"ul","wrap-class":"el-autocomplete-suggestion__wrap","view-class":"el-autocomplete-suggestion__list"}},[!e.parent.hideLoading&&e.parent.loading?n("li",[n("i",{staticClass:"el-icon-loading"})]):e._t("default")],2)],1)])};wt._withStripped=!0;var xt=r({components:{ElScrollbar:et},mixins:[Ie,l],componentName:"ElAutocompleteSuggestions",data:function(){return{parent:this.$parent,dropdownWidth:""}},props:{options:{default:function(){return{gpuAcceleration:!1}}},id:String},methods:{select:function(e){this.dispatch("ElAutocomplete","item-click",e)}},updated:function(){var e=this;this.$nextTick(function(t){e.popperJS&&e.updatePopper()})},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$refs.input.$refs.input||this.$parent.$refs.input.$refs.textarea,this.referenceList=this.$el.querySelector(".el-autocomplete-suggestion__list"),this.referenceList.setAttribute("role","listbox"),this.referenceList.setAttribute("id",this.id)},created:function(){var e=this;this.$on("visible",function(t,n){e.dropdownWidth=n+"px",e.showPopper=t})}},wt,[],!1,null,null,null);xt.options.__file="packages/autocomplete/src/autocomplete-suggestions.vue";var Ct=xt.exports,kt=r({name:"ElAutocomplete",mixins:[l,u("input"),U],inheritAttrs:!1,componentName:"ElAutocomplete",components:{ElInput:re,ElAutocompleteSuggestions:Ct},directives:{Clickoutside:lt},props:{valueKey:{type:String,default:"value"},popperClass:String,popperOptions:Object,placeholder:String,clearable:{type:Boolean,default:!1},disabled:Boolean,name:String,size:String,value:String,maxlength:Number,minlength:Number,autofocus:Boolean,fetchSuggestions:Function,triggerOnFocus:{type:Boolean,default:!0},customItem:String,selectWhenUnmatched:{type:Boolean,default:!1},prefixIcon:String,suffixIcon:String,label:String,debounce:{type:Number,default:300},placement:{type:String,default:"bottom-start"},hideLoading:Boolean,popperAppendToBody:{type:Boolean,default:!0},highlightFirstItem:{type:Boolean,default:!1}},data:function(){return{activated:!1,suggestions:[],loading:!1,highlightedIndex:-1,suggestionDisabled:!1}},computed:{suggestionVisible:function(){var e=this.suggestions;return(Array.isArray(e)&&e.length>0||this.loading)&&this.activated},id:function(){return"el-autocomplete-"+E()}},watch:{suggestionVisible:function(e){var t=this.getInput();t&&this.broadcast("ElAutocompleteSuggestions","visible",[e,t.offsetWidth])}},methods:{getMigratingConfig:function(){return{props:{"custom-item":"custom-item is removed, use scoped slot instead.",props:"props is removed, use value-key instead."}}},getData:function(e){var t=this;this.suggestionDisabled||(this.loading=!0,this.fetchSuggestions(e,function(e){t.loading=!1,t.suggestionDisabled||(Array.isArray(e)?(t.suggestions=e,t.highlightedIndex=t.highlightFirstItem?0:-1):console.error("[Element Error][Autocomplete]autocomplete suggestions must be an array"))}))},handleInput:function(e){if(this.$emit("input",e),this.suggestionDisabled=!1,!this.triggerOnFocus&&!e)return this.suggestionDisabled=!0,void(this.suggestions=[]);this.debouncedGetData(e)},handleChange:function(e){this.$emit("change",e)},handleFocus:function(e){this.activated=!0,this.$emit("focus",e),this.triggerOnFocus&&this.debouncedGetData(this.value)},handleBlur:function(e){this.$emit("blur",e)},handleClear:function(){this.activated=!1,this.$emit("clear")},close:function(e){this.activated=!1},handleKeyEnter:function(e){var t=this;this.suggestionVisible&&this.highlightedIndex>=0&&this.highlightedIndex<this.suggestions.length?(e.preventDefault(),this.select(this.suggestions[this.highlightedIndex])):this.selectWhenUnmatched&&(this.$emit("select",{value:this.value}),this.$nextTick(function(e){t.suggestions=[],t.highlightedIndex=-1}))},select:function(e){var t=this;this.$emit("input",e[this.valueKey]),this.$emit("select",e),this.$nextTick(function(e){t.suggestions=[],t.highlightedIndex=-1})},highlight:function(e){if(this.suggestionVisible&&!this.loading)if(e<0)this.highlightedIndex=-1;else{e>=this.suggestions.length&&(e=this.suggestions.length-1);var t=this.$refs.suggestions.$el.querySelector(".el-autocomplete-suggestion__wrap"),n=t.querySelectorAll(".el-autocomplete-suggestion__list li")[e],i=t.scrollTop,r=n.offsetTop;r+n.scrollHeight>i+t.clientHeight&&(t.scrollTop+=n.scrollHeight),r<i&&(t.scrollTop-=n.scrollHeight),this.highlightedIndex=e,this.getInput().setAttribute("aria-activedescendant",this.id+"-item-"+this.highlightedIndex)}},getInput:function(){return this.$refs.input.getInput()}},mounted:function(){var e=this;this.debouncedGetData=nt()(this.debounce,this.getData),this.$on("item-click",function(t){e.select(t)});var t=this.getInput();t.setAttribute("role","textbox"),t.setAttribute("aria-autocomplete","list"),t.setAttribute("aria-controls","id"),t.setAttribute("aria-activedescendant",this.id+"-item-"+this.highlightedIndex)},beforeDestroy:function(){this.$refs.suggestions.$destroy()}},_t,[],!1,null,null,null);kt.options.__file="packages/autocomplete/src/autocomplete.vue";var St=kt.exports;St.install=function(e){e.component(St.name,St)};var Dt=St,Et=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",{staticClass:"el-button",class:[e.type?"el-button--"+e.type:"",e.buttonSize?"el-button--"+e.buttonSize:"",{"is-disabled":e.buttonDisabled,"is-loading":e.loading,"is-plain":e.plain,"is-round":e.round,"is-circle":e.circle}],attrs:{disabled:e.buttonDisabled||e.loading,autofocus:e.autofocus,type:e.nativeType},on:{click:e.handleClick}},[e.loading?n("i",{staticClass:"el-icon-loading"}):e._e(),e.icon&&!e.loading?n("i",{class:e.icon}):e._e(),e.$slots.default?n("span",[e._t("default")],2):e._e()])};Et._withStripped=!0;var $t=r({name:"ElButton",inject:{elForm:{default:""},elFormItem:{default:""}},props:{type:{type:String,default:"default"},size:String,icon:{type:String,default:""},nativeType:{type:String,default:"button"},loading:Boolean,disabled:Boolean,plain:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},buttonSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},buttonDisabled:function(){return this.$options.propsData.hasOwnProperty("disabled")?this.disabled:(this.elForm||{}).disabled}},methods:{handleClick:function(e){this.$emit("click",e)}}},Et,[],!1,null,null,null);$t.options.__file="packages/button/src/button.vue";var Tt=$t.exports;Tt.install=function(e){e.component(Tt.name,Tt)};var Mt=Tt,Nt=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-button-group"},[this._t("default")],2)};Nt._withStripped=!0;var Ot=r({name:"ElButtonGroup"},Nt,[],!1,null,null,null);Ot.options.__file="packages/button/src/button-group.vue";var Pt=Ot.exports;Pt.install=function(e){e.component(Pt.name,Pt)};var It=Pt,At=r({name:"ElDropdown",componentName:"ElDropdown",mixins:[l,U],directives:{Clickoutside:lt},components:{ElButton:Mt,ElButtonGroup:It},provide:function(){return{dropdown:this}},props:{trigger:{type:String,default:"hover"},type:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},placement:{type:String,default:"bottom-end"},visibleArrow:{default:!0},showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},tabindex:{type:Number,default:0},disabled:{type:Boolean,default:!1}},data:function(){return{timeout:null,visible:!1,triggerElm:null,menuItems:null,menuItemsArray:null,dropdownElm:null,focusing:!1,listId:"dropdown-menu-"+E()}},computed:{dropdownSize:function(){return this.size||(this.$ELEMENT||{}).size}},mounted:function(){this.$on("menu-item-click",this.handleMenuItemClick)},watch:{visible:function(e){this.broadcast("ElDropdownMenu","visible",e),this.$emit("visible-change",e)},focusing:function(e){var t=this.$el.querySelector(".el-dropdown-selfdefine");t&&(e?t.className+=" focusing":t.className=t.className.replace("focusing",""))}},methods:{getMigratingConfig:function(){return{props:{"menu-align":"menu-align is renamed to placement."}}},show:function(){var e=this;this.disabled||(clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.visible=!0},"click"===this.trigger?0:this.showTimeout))},hide:function(){var e=this;this.disabled||(this.removeTabindex(),this.tabindex>=0&&this.resetTabindex(this.triggerElm),clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.visible=!1},"click"===this.trigger?0:this.hideTimeout))},handleClick:function(){this.disabled||(this.visible?this.hide():this.show())},handleTriggerKeyDown:function(e){var t=e.keyCode;[38,40].indexOf(t)>-1?(this.removeTabindex(),this.resetTabindex(this.menuItems[0]),this.menuItems[0].focus(),e.preventDefault(),e.stopPropagation()):13===t?this.handleClick():[9,27].indexOf(t)>-1&&this.hide()},handleItemKeyDown:function(e){var t=e.keyCode,n=e.target,i=this.menuItemsArray.indexOf(n),r=this.menuItemsArray.length-1,o=void 0;[38,40].indexOf(t)>-1?(o=38===t?0!==i?i-1:0:i<r?i+1:r,this.removeTabindex(),this.resetTabindex(this.menuItems[o]),this.menuItems[o].focus(),e.preventDefault(),e.stopPropagation()):13===t?(this.triggerElmFocus(),n.click(),this.hideOnClick&&(this.visible=!1)):[9,27].indexOf(t)>-1&&(this.hide(),this.triggerElmFocus())},resetTabindex:function(e){this.removeTabindex(),e.setAttribute("tabindex","0")},removeTabindex:function(){this.triggerElm.setAttribute("tabindex","-1"),this.menuItemsArray.forEach(function(e){e.setAttribute("tabindex","-1")})},initAria:function(){this.dropdownElm.setAttribute("id",this.listId),this.triggerElm.setAttribute("aria-haspopup","list"),this.triggerElm.setAttribute("aria-controls",this.listId),this.splitButton||(this.triggerElm.setAttribute("role","button"),this.triggerElm.setAttribute("tabindex",this.tabindex),this.triggerElm.setAttribute("class",(this.triggerElm.getAttribute("class")||"")+" el-dropdown-selfdefine"))},initEvent:function(){var e=this,t=this.trigger,n=this.show,i=this.hide,r=this.handleClick,o=this.splitButton,s=this.handleTriggerKeyDown,a=this.handleItemKeyDown;this.triggerElm=o?this.$refs.trigger.$el:this.$slots.default[0].elm;var l=this.dropdownElm;this.triggerElm.addEventListener("keydown",s),l.addEventListener("keydown",a,!0),o||(this.triggerElm.addEventListener("focus",function(){e.focusing=!0}),this.triggerElm.addEventListener("blur",function(){e.focusing=!1}),this.triggerElm.addEventListener("click",function(){e.focusing=!1})),"hover"===t?(this.triggerElm.addEventListener("mouseenter",n),this.triggerElm.addEventListener("mouseleave",i),l.addEventListener("mouseenter",n),l.addEventListener("mouseleave",i)):"click"===t&&this.triggerElm.addEventListener("click",r)},handleMenuItemClick:function(e,t){this.hideOnClick&&(this.visible=!1),this.$emit("command",e,t)},triggerElmFocus:function(){this.triggerElm.focus&&this.triggerElm.focus()},initDomOperation:function(){this.dropdownElm=this.popperElm,this.menuItems=this.dropdownElm.querySelectorAll("[tabindex='-1']"),this.menuItemsArray=[].slice.call(this.menuItems),this.initEvent(),this.initAria()}},render:function(e){var t=this,n=this.hide,i=this.splitButton,r=this.type,o=this.dropdownSize,s=this.disabled,a=null;if(i)a=e("el-button-group",[e("el-button",{attrs:{type:r,size:o,disabled:s},nativeOn:{click:function(e){t.$emit("click",e),n()}}},[this.$slots.default]),e("el-button",{ref:"trigger",attrs:{type:r,size:o,disabled:s},class:"el-dropdown__caret-button"},[e("i",{class:"el-dropdown__icon el-icon-arrow-down"})])]);else{var l=(a=this.$slots.default)[0].data||{},u=l.attrs,c=void 0===u?{}:u;s&&!c.disabled&&(c.disabled=!0,l.attrs=c)}var h=s?null:this.$slots.dropdown;return e("div",{class:"el-dropdown",directives:[{name:"clickoutside",value:n}],attrs:{"aria-disabled":s}},[a,h])}},void 0,void 0,!1,null,null,null);At.options.__file="packages/dropdown/src/dropdown.vue";var Ft=At.exports;Ft.install=function(e){e.component(Ft.name,Ft)};var Lt=Ft,Vt=function(){var e=this.$createElement,t=this._self._c||e;return t("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":this.doDestroy}},[t("ul",{directives:[{name:"show",rawName:"v-show",value:this.showPopper,expression:"showPopper"}],staticClass:"el-dropdown-menu el-popper",class:[this.size&&"el-dropdown-menu--"+this.size]},[this._t("default")],2)])};Vt._withStripped=!0;var Bt=r({name:"ElDropdownMenu",componentName:"ElDropdownMenu",mixins:[Ie],props:{visibleArrow:{type:Boolean,default:!0},arrowOffset:{type:Number,default:0}},data:function(){return{size:this.dropdown.dropdownSize}},inject:["dropdown"],created:function(){var e=this;this.$on("updatePopper",function(){e.showPopper&&e.updatePopper()}),this.$on("visible",function(t){e.showPopper=t})},mounted:function(){this.dropdown.popperElm=this.popperElm=this.$el,this.referenceElm=this.dropdown.$el,this.dropdown.initDomOperation()},watch:{"dropdown.placement":{immediate:!0,handler:function(e){this.currentPlacement=e}}}},Vt,[],!1,null,null,null);Bt.options.__file="packages/dropdown/src/dropdown-menu.vue";var zt=Bt.exports;zt.install=function(e){e.component(zt.name,zt)};var Rt=zt,Ht=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"el-dropdown-menu__item",class:{"is-disabled":e.disabled,"el-dropdown-menu__item--divided":e.divided},attrs:{"aria-disabled":e.disabled,tabindex:e.disabled?null:-1},on:{click:e.handleClick}},[e.icon?n("i",{class:e.icon}):e._e(),e._t("default")],2)};Ht._withStripped=!0;var jt=r({name:"ElDropdownItem",mixins:[l],props:{command:{},disabled:Boolean,divided:Boolean,icon:String},methods:{handleClick:function(e){this.dispatch("ElDropdown","menu-item-click",[this.command,this])}}},Ht,[],!1,null,null,null);jt.options.__file="packages/dropdown/src/dropdown-item.vue";var Wt=jt.exports;Wt.install=function(e){e.component(Wt.name,Wt)};var qt=Wt,Yt=Yt||{};Yt.Utils=Yt.Utils||{},Yt.Utils.focusFirstDescendant=function(e){for(var t=0;t<e.childNodes.length;t++){var n=e.childNodes[t];if(Yt.Utils.attemptFocus(n)||Yt.Utils.focusFirstDescendant(n))return!0}return!1},Yt.Utils.focusLastDescendant=function(e){for(var t=e.childNodes.length-1;t>=0;t--){var n=e.childNodes[t];if(Yt.Utils.attemptFocus(n)||Yt.Utils.focusLastDescendant(n))return!0}return!1},Yt.Utils.attemptFocus=function(e){if(!Yt.Utils.isFocusable(e))return!1;Yt.Utils.IgnoreUtilFocusChanges=!0;try{e.focus()}catch(e){}return Yt.Utils.IgnoreUtilFocusChanges=!1,document.activeElement===e},Yt.Utils.isFocusable=function(e){if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return"hidden"!==e.type&&"file"!==e.type;case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Yt.Utils.triggerEvent=function(e,t){var n=void 0;n=/^mouse|click/.test(t)?"MouseEvents":/^key/.test(t)?"KeyboardEvent":"HTMLEvents";for(var i=document.createEvent(n),r=arguments.length,o=Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];return i.initEvent.apply(i,[t].concat(o)),e.dispatchEvent?e.dispatchEvent(i):e.fireEvent("on"+t,i),e},Yt.Utils.keys={tab:9,enter:13,space:32,left:37,up:38,right:39,down:40,esc:27};var Kt=Yt.Utils,Ut=function(e,t){this.domNode=t,this.parent=e,this.subMenuItems=[],this.subIndex=0,this.init()};Ut.prototype.init=function(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()},Ut.prototype.gotoSubIndex=function(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e},Ut.prototype.addListeners=function(){var e=this,t=Kt.keys,n=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,function(i){i.addEventListener("keydown",function(i){var r=!1;switch(i.keyCode){case t.down:e.gotoSubIndex(e.subIndex+1),r=!0;break;case t.up:e.gotoSubIndex(e.subIndex-1),r=!0;break;case t.tab:Kt.triggerEvent(n,"mouseleave");break;case t.enter:case t.space:r=!0,i.currentTarget.click()}return r&&(i.preventDefault(),i.stopPropagation()),!1})})};var Gt=Ut,Xt=function(e){this.domNode=e,this.submenu=null,this.init()};Xt.prototype.init=function(){this.domNode.setAttribute("tabindex","0");var e=this.domNode.querySelector(".el-menu");e&&(this.submenu=new Gt(this,e)),this.addListeners()},Xt.prototype.addListeners=function(){var e=this,t=Kt.keys;this.domNode.addEventListener("keydown",function(n){var i=!1;switch(n.keyCode){case t.down:Kt.triggerEvent(n.currentTarget,"mouseenter"),e.submenu&&e.submenu.gotoSubIndex(0),i=!0;break;case t.up:Kt.triggerEvent(n.currentTarget,"mouseenter"),e.submenu&&e.submenu.gotoSubIndex(e.submenu.subMenuItems.length-1),i=!0;break;case t.tab:Kt.triggerEvent(n.currentTarget,"mouseleave");break;case t.enter:case t.space:i=!0,n.currentTarget.click()}i&&n.preventDefault()})};var Zt=Xt,Jt=function(e){this.domNode=e,this.init()};Jt.prototype.init=function(){var e=this.domNode.childNodes;[].filter.call(e,function(e){return 1===e.nodeType}).forEach(function(e){new Zt(e)})};var Qt=Jt,en=r({name:"ElMenu",render:function(e){var t=e("ul",{attrs:{role:"menubar"},key:+this.collapse,style:{backgroundColor:this.backgroundColor||""},class:{"el-menu--horizontal":"horizontal"===this.mode,"el-menu--collapse":this.collapse,"el-menu":!0}},[this.$slots.default]);return this.collapseTransition?e("el-menu-collapse-transition",[t]):t},componentName:"ElMenu",mixins:[l,U],provide:function(){return{rootMenu:this}},components:{"el-menu-collapse-transition":{functional:!0,render:function(e,t){return e("transition",{props:{mode:"out-in"},on:{beforeEnter:function(e){e.style.opacity=.2},enter:function(e){me(e,"el-opacity-transition"),e.style.opacity=1},afterEnter:function(e){ve(e,"el-opacity-transition"),e.style.opacity=""},beforeLeave:function(e){e.dataset||(e.dataset={}),pe(e,"el-menu--collapse")?(ve(e,"el-menu--collapse"),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth,me(e,"el-menu--collapse")):(me(e,"el-menu--collapse"),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth,ve(e,"el-menu--collapse")),e.style.width=e.scrollWidth+"px",e.style.overflow="hidden"},leave:function(e){me(e,"horizontal-collapse-transition"),e.style.width=e.dataset.scrollWidth+"px"}}},t.children)}}},props:{mode:{type:String,default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:Array,uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0}},data:function(){return{activeIndex:this.defaultActive,openedMenus:this.defaultOpeneds&&!this.collapse?this.defaultOpeneds.slice(0):[],items:{},submenus:{}}},computed:{hoverBackground:function(){return this.backgroundColor?this.mixColor(this.backgroundColor,.2):""},isMenuPopup:function(){return"horizontal"===this.mode||"vertical"===this.mode&&this.collapse}},watch:{defaultActive:function(e){this.items[e]||(this.activeIndex=null),this.updateActiveIndex(e)},defaultOpeneds:function(e){this.collapse||(this.openedMenus=e)},collapse:function(e){e&&(this.openedMenus=[]),this.broadcast("ElSubmenu","toggle-collapse",e)}},methods:{updateActiveIndex:function(e){var t=this.items[e]||this.items[this.activeIndex]||this.items[this.defaultActive];t?(this.activeIndex=t.index,this.initOpenedMenu()):this.activeIndex=null},getMigratingConfig:function(){return{props:{theme:"theme is removed."}}},getColorChannels:function(e){if(e=e.replace("#",""),/^[0-9a-fA-F]{3}$/.test(e)){e=e.split("");for(var t=2;t>=0;t--)e.splice(t,0,e[t]);e=e.join("")}return/^[0-9a-fA-F]{6}$/.test(e)?{red:parseInt(e.slice(0,2),16),green:parseInt(e.slice(2,4),16),blue:parseInt(e.slice(4,6),16)}:{red:255,green:255,blue:255}},mixColor:function(e,t){var n=this.getColorChannels(e),i=n.red,r=n.green,o=n.blue;return t>0?(i*=1-t,r*=1-t,o*=1-t):(i+=(255-i)*t,r+=(255-r)*t,o+=(255-o)*t),"rgb("+Math.round(i)+", "+Math.round(r)+", "+Math.round(o)+")"},addItem:function(e){this.$set(this.items,e.index,e)},removeItem:function(e){delete this.items[e.index]},addSubmenu:function(e){this.$set(this.submenus,e.index,e)},removeSubmenu:function(e){delete this.submenus[e.index]},openMenu:function(e,t){var n=this.openedMenus;-1===n.indexOf(e)&&(this.uniqueOpened&&(this.openedMenus=n.filter(function(e){return-1!==t.indexOf(e)})),this.openedMenus.push(e))},closeMenu:function(e){var t=this.openedMenus.indexOf(e);-1!==t&&this.openedMenus.splice(t,1)},handleSubmenuClick:function(e){var t=e.index,n=e.indexPath;-1!==this.openedMenus.indexOf(t)?(this.closeMenu(t),this.$emit("close",t,n)):(this.openMenu(t,n),this.$emit("open",t,n))},handleItemClick:function(e){var t=this,n=e.index,i=e.indexPath,r=this.activeIndex,o=null!==e.index;o&&(this.activeIndex=e.index),this.$emit("select",n,i,e),("horizontal"===this.mode||this.collapse)&&(this.openedMenus=[]),this.router&&o&&this.routeToItem(e,function(e){if(t.activeIndex=r,e){if("NavigationDuplicated"===e.name)return;console.error(e)}})},initOpenedMenu:function(){var e=this,t=this.activeIndex,n=this.items[t];n&&"horizontal"!==this.mode&&!this.collapse&&n.indexPath.forEach(function(t){var n=e.submenus[t];n&&e.openMenu(t,n.indexPath)})},routeToItem:function(e,t){var n=e.route||e.index;try{this.$router.push(n,function(){},t)}catch(e){console.error(e)}},open:function(e){var t=this,n=this.submenus[e.toString()].indexPath;n.forEach(function(e){return t.openMenu(e,n)})},close:function(e){this.closeMenu(e)}},mounted:function(){this.initOpenedMenu(),this.$on("item-click",this.handleItemClick),this.$on("submenu-click",this.handleSubmenuClick),"horizontal"===this.mode&&new Qt(this.$el),this.$watch("items",this.updateActiveIndex)}},void 0,void 0,!1,null,null,null);en.options.__file="packages/menu/src/menu.vue";var tn=en.exports;tn.install=function(e){e.component(tn.name,tn)};var nn=tn;var rn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return e.prototype.beforeEnter=function(e){me(e,"collapse-transition"),e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height="0",e.style.paddingTop=0,e.style.paddingBottom=0},e.prototype.enter=function(e){e.dataset.oldOverflow=e.style.overflow,0!==e.scrollHeight?(e.style.height=e.scrollHeight+"px",e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom):(e.style.height="",e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom),e.style.overflow="hidden"},e.prototype.afterEnter=function(e){ve(e,"collapse-transition"),e.style.height="",e.style.overflow=e.dataset.oldOverflow},e.prototype.beforeLeave=function(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.height=e.scrollHeight+"px",e.style.overflow="hidden"},e.prototype.leave=function(e){0!==e.scrollHeight&&(me(e,"collapse-transition"),e.style.height=0,e.style.paddingTop=0,e.style.paddingBottom=0)},e.prototype.afterLeave=function(e){ve(e,"collapse-transition"),e.style.height="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},e}(),on={name:"ElCollapseTransition",functional:!0,render:function(e,t){var n=t.children;return e("transition",{on:new rn},n)}},sn={inject:["rootMenu"],computed:{indexPath:function(){for(var e=[this.index],t=this.$parent;"ElMenu"!==t.$options.componentName;)t.index&&e.unshift(t.index),t=t.$parent;return e},parentMenu:function(){for(var e=this.$parent;e&&-1===["ElMenu","ElSubmenu"].indexOf(e.$options.componentName);)e=e.$parent;return e},paddingStyle:function(){if("vertical"!==this.rootMenu.mode)return{};var e=20,t=this.$parent;if(this.rootMenu.collapse)e=20;else for(;t&&"ElMenu"!==t.$options.componentName;)"ElSubmenu"===t.$options.componentName&&(e+=20),t=t.$parent;return{paddingLeft:e+"px"}}}},an=r({name:"ElSubmenu",componentName:"ElSubmenu",mixins:[sn,l,{props:{transformOrigin:{type:[Boolean,String],default:!1},offset:Ie.props.offset,boundariesPadding:Ie.props.boundariesPadding,popperOptions:Ie.props.popperOptions},data:Ie.data,methods:Ie.methods,beforeDestroy:Ie.beforeDestroy,deactivated:Ie.deactivated}],components:{ElCollapseTransition:on},props:{index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0}},data:function(){return{popperJS:null,timeout:null,items:{},submenus:{},mouseInChild:!1}},watch:{opened:function(e){var t=this;this.isMenuPopup&&this.$nextTick(function(e){t.updatePopper()})}},computed:{appendToBody:function(){return void 0===this.popperAppendToBody?this.isFirstLevel:this.popperAppendToBody},menuTransitionName:function(){return this.rootMenu.collapse?"el-zoom-in-left":"el-zoom-in-top"},opened:function(){return this.rootMenu.openedMenus.indexOf(this.index)>-1},active:function(){var e=!1,t=this.submenus,n=this.items;return Object.keys(n).forEach(function(t){n[t].active&&(e=!0)}),Object.keys(t).forEach(function(n){t[n].active&&(e=!0)}),e},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},isMenuPopup:function(){return this.rootMenu.isMenuPopup},titleStyle:function(){return"horizontal"!==this.mode?{color:this.textColor}:{borderBottomColor:this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent",color:this.active?this.activeTextColor:this.textColor}},isFirstLevel:function(){for(var e=!0,t=this.$parent;t&&t!==this.rootMenu;){if(["ElSubmenu","ElMenuItemGroup"].indexOf(t.$options.componentName)>-1){e=!1;break}t=t.$parent}return e}},methods:{handleCollapseToggle:function(e){e?this.initPopper():this.doDestroy()},addItem:function(e){this.$set(this.items,e.index,e)},removeItem:function(e){delete this.items[e.index]},addSubmenu:function(e){this.$set(this.submenus,e.index,e)},removeSubmenu:function(e){delete this.submenus[e.index]},handleClick:function(){var e=this.rootMenu,t=this.disabled;"hover"===e.menuTrigger&&"horizontal"===e.mode||e.collapse&&"vertical"===e.mode||t||this.dispatch("ElMenu","submenu-click",this)},handleMouseenter:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.showTimeout;if("ActiveXObject"in window||"focus"!==e.type||e.relatedTarget){var i=this.rootMenu,r=this.disabled;"click"===i.menuTrigger&&"horizontal"===i.mode||!i.collapse&&"vertical"===i.mode||r||(this.dispatch("ElSubmenu","mouse-enter-child"),clearTimeout(this.timeout),this.timeout=setTimeout(function(){t.rootMenu.openMenu(t.index,t.indexPath)},n),this.appendToBody&&this.$parent.$el.dispatchEvent(new MouseEvent("mouseenter")))}},handleMouseleave:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.rootMenu;"click"===n.menuTrigger&&"horizontal"===n.mode||!n.collapse&&"vertical"===n.mode||(this.dispatch("ElSubmenu","mouse-leave-child"),clearTimeout(this.timeout),this.timeout=setTimeout(function(){!e.mouseInChild&&e.rootMenu.closeMenu(e.index)},this.hideTimeout),this.appendToBody&&t&&"ElSubmenu"===this.$parent.$options.name&&this.$parent.handleMouseleave(!0))},handleTitleMouseenter:function(){if("horizontal"!==this.mode||this.rootMenu.backgroundColor){var e=this.$refs["submenu-title"];e&&(e.style.backgroundColor=this.rootMenu.hoverBackground)}},handleTitleMouseleave:function(){if("horizontal"!==this.mode||this.rootMenu.backgroundColor){var e=this.$refs["submenu-title"];e&&(e.style.backgroundColor=this.rootMenu.backgroundColor||"")}},updatePlacement:function(){this.currentPlacement="horizontal"===this.mode&&this.isFirstLevel?"bottom-start":"right-start"},initPopper:function(){this.referenceElm=this.$el,this.popperElm=this.$refs.menu,this.updatePlacement()}},created:function(){var e=this;this.$on("toggle-collapse",this.handleCollapseToggle),this.$on("mouse-enter-child",function(){e.mouseInChild=!0,clearTimeout(e.timeout)}),this.$on("mouse-leave-child",function(){e.mouseInChild=!1,clearTimeout(e.timeout)})},mounted:function(){this.parentMenu.addSubmenu(this),this.rootMenu.addSubmenu(this),this.initPopper()},beforeDestroy:function(){this.parentMenu.removeSubmenu(this),this.rootMenu.removeSubmenu(this)},render:function(e){var t=this,n=this.active,i=this.opened,r=this.paddingStyle,o=this.titleStyle,s=this.backgroundColor,a=this.rootMenu,l=this.currentPlacement,u=this.menuTransitionName,c=this.mode,h=this.disabled,d=this.popperClass,f=this.$slots,p=this.isFirstLevel,m=e("transition",{attrs:{name:u}},[e("div",{ref:"menu",directives:[{name:"show",value:i}],class:["el-menu--"+c,d],on:{mouseenter:function(e){return t.handleMouseenter(e,100)},mouseleave:function(){return t.handleMouseleave(!0)},focus:function(e){return t.handleMouseenter(e,100)}}},[e("ul",{attrs:{role:"menu"},class:["el-menu el-menu--popup","el-menu--popup-"+l],style:{backgroundColor:a.backgroundColor||""}},[f.default])])]),v=e("el-collapse-transition",[e("ul",{attrs:{role:"menu"},class:"el-menu el-menu--inline",directives:[{name:"show",value:i}],style:{backgroundColor:a.backgroundColor||""}},[f.default])]),g="horizontal"===a.mode&&p||"vertical"===a.mode&&!a.collapse?"el-icon-arrow-down":"el-icon-arrow-right";return e("li",{class:{"el-submenu":!0,"is-active":n,"is-opened":i,"is-disabled":h},attrs:{role:"menuitem","aria-haspopup":"true","aria-expanded":i},on:{mouseenter:this.handleMouseenter,mouseleave:function(){return t.handleMouseleave(!1)},focus:this.handleMouseenter}},[e("div",{class:"el-submenu__title",ref:"submenu-title",on:{click:this.handleClick,mouseenter:this.handleTitleMouseenter,mouseleave:this.handleTitleMouseleave},style:[r,o,{backgroundColor:s}]},[f.title,e("i",{class:["el-submenu__icon-arrow",g]})]),this.isMenuPopup?m:v])}},void 0,void 0,!1,null,null,null);an.options.__file="packages/menu/src/submenu.vue";var ln=an.exports;ln.install=function(e){e.component(ln.name,ln)};var un=ln,cn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"el-menu-item",class:{"is-active":e.active,"is-disabled":e.disabled},style:[e.paddingStyle,e.itemStyle,{backgroundColor:e.backgroundColor}],attrs:{role:"menuitem",tabindex:"-1"},on:{click:e.handleClick,mouseenter:e.onMouseEnter,focus:e.onMouseEnter,blur:e.onMouseLeave,mouseleave:e.onMouseLeave}},["ElMenu"===e.parentMenu.$options.componentName&&e.rootMenu.collapse&&e.$slots.title?n("el-tooltip",{attrs:{effect:"dark",placement:"right"}},[n("div",{attrs:{slot:"content"},slot:"content"},[e._t("title")],2),n("div",{staticStyle:{position:"absolute",left:"0",top:"0",height:"100%",width:"100%",display:"inline-block","box-sizing":"border-box",padding:"0 20px"}},[e._t("default")],2)]):[e._t("default"),e._t("title")]],2)};cn._withStripped=!0;var hn={name:"ElTooltip",mixins:[Ie],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+E(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new h.a({data:{node:""},render:function(e){return this.node}}).$mount(),this.debounceClose=nt()(200,function(){return e.handleClosePopper()}))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e("div",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var n=this.getFirstElement();if(!n)return null;var i=n.data=n.data||{};return i.staticClass=this.addTooltipClass(i.staticClass),n},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),de(this.referenceElm,"mouseenter",this.show),de(this.referenceElm,"mouseleave",this.hide),de(this.referenceElm,"focus",function(){if(e.$slots.default&&e.$slots.default.length){var t=e.$slots.default[0].componentInstance;t&&t.focus?t.focus():e.handleFocus()}else e.handleFocus()}),de(this.referenceElm,"blur",this.handleBlur),de(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick(function(){e.value&&e.updatePopper()})},watch:{focusing:function(e){e?me(this.referenceElm,"focusing"):ve(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?"el-tooltip "+e.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout(function(){e.showPopper=!0},this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout(function(){e.showPopper=!1},this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,n=0;n<e.length;n++)if(e[n]&&e[n].tag){t=e[n];break}return t}},beforeDestroy:function(){this.popperVM&&this.popperVM.$destroy()},destroyed:function(){var e=this.referenceElm;1===e.nodeType&&(fe(e,"mouseenter",this.show),fe(e,"mouseleave",this.hide),fe(e,"focus",this.handleFocus),fe(e,"blur",this.handleBlur),fe(e,"click",this.removeFocusing))},install:function(e){e.component(hn.name,hn)}},dn=hn,fn=r({name:"ElMenuItem",componentName:"ElMenuItem",mixins:[sn,l],components:{ElTooltip:dn},props:{index:{default:null,validator:function(e){return"string"==typeof e||null===e}},route:[String,Object],disabled:Boolean},computed:{active:function(){return this.index===this.rootMenu.activeIndex},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},itemStyle:function(){var e={color:this.active?this.activeTextColor:this.textColor};return"horizontal"!==this.mode||this.isNested||(e.borderBottomColor=this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent"),e},isNested:function(){return this.parentMenu!==this.rootMenu}},methods:{onMouseEnter:function(){("horizontal"!==this.mode||this.rootMenu.backgroundColor)&&(this.$el.style.backgroundColor=this.hoverBackground)},onMouseLeave:function(){("horizontal"!==this.mode||this.rootMenu.backgroundColor)&&(this.$el.style.backgroundColor=this.backgroundColor)},handleClick:function(){this.disabled||(this.dispatch("ElMenu","item-click",this),this.$emit("click",this))}},mounted:function(){this.parentMenu.addItem(this),this.rootMenu.addItem(this)},beforeDestroy:function(){this.parentMenu.removeItem(this),this.rootMenu.removeItem(this)}},cn,[],!1,null,null,null);fn.options.__file="packages/menu/src/menu-item.vue";var pn=fn.exports;pn.install=function(e){e.component(pn.name,pn)};var mn=pn,vn=function(){var e=this.$createElement,t=this._self._c||e;return t("li",{staticClass:"el-menu-item-group"},[t("div",{staticClass:"el-menu-item-group__title",style:{paddingLeft:this.levelPadding+"px"}},[this.$slots.title?this._t("title"):[this._v(this._s(this.title))]],2),t("ul",[this._t("default")],2)])};vn._withStripped=!0;var gn=r({name:"ElMenuItemGroup",componentName:"ElMenuItemGroup",inject:["rootMenu"],props:{title:{type:String}},data:function(){return{paddingLeft:20}},computed:{levelPadding:function(){var e=20,t=this.$parent;if(this.rootMenu.collapse)return 20;for(;t&&"ElMenu"!==t.$options.componentName;)"ElSubmenu"===t.$options.componentName&&(e+=20),t=t.$parent;return e}}},vn,[],!1,null,null,null);gn.options.__file="packages/menu/src/menu-item-group.vue";var yn=gn.exports;yn.install=function(e){e.component(yn.name,yn)};var bn=yn,_n=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["el-input-number",e.inputNumberSize?"el-input-number--"+e.inputNumberSize:"",{"is-disabled":e.inputNumberDisabled},{"is-without-controls":!e.controls},{"is-controls-right":e.controlsAtRight}],on:{dragstart:function(e){e.preventDefault()}}},[e.controls?n("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-input-number__decrease",class:{"is-disabled":e.minDisabled},attrs:{role:"button"},on:{keydown:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.decrease(t):null}}},[n("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-down":"minus")})]):e._e(),e.controls?n("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-input-number__increase",class:{"is-disabled":e.maxDisabled},attrs:{role:"button"},on:{keydown:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.increase(t):null}}},[n("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-up":"plus")})]):e._e(),n("el-input",{ref:"input",attrs:{value:e.displayValue,placeholder:e.placeholder,disabled:e.inputNumberDisabled,size:e.inputNumberSize,max:e.max,min:e.min,name:e.name,label:e.label},on:{blur:e.handleBlur,focus:e.handleFocus,input:e.handleInput,change:e.handleInputChange},nativeOn:{keydown:[function(t){return"button"in t||!e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?(t.preventDefault(),e.increase(t)):null},function(t){return"button"in t||!e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?(t.preventDefault(),e.decrease(t)):null}]}})],1)};_n._withStripped=!0;var wn={bind:function(e,t,n){var i=null,r=void 0,o=!h.a.prototype.$isServer&&/macintosh|mac os x/i.test(navigator.userAgent)?100:200,s=function(){return n.context[t.expression].apply()},a=function(){Date.now()-r<o&&s(),clearInterval(i),i=null};de(e,"mousedown",function(e){var t,n,l;0===e.button&&(r=Date.now(),t=document,l=a,de(t,n="mouseup",function e(){l&&l.apply(this,arguments),fe(t,n,e)}),clearInterval(i),i=setInterval(s,o))})}},xn=r({name:"ElInputNumber",mixins:[u("input")],inject:{elForm:{default:""},elFormItem:{default:""}},directives:{repeatClick:wn},components:{ElInput:re},props:{step:{type:Number,default:1},stepStrictly:{type:Boolean,default:!1},max:{type:Number,default:1/0},min:{type:Number,default:-1/0},value:{},disabled:Boolean,size:String,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:""},name:String,label:String,placeholder:String,precision:{type:Number,validator:function(e){return e>=0&&e===parseInt(e,10)}}},data:function(){return{currentValue:0,userInput:null}},watch:{value:{immediate:!0,handler:function(e){var t=void 0===e?e:Number(e);if(void 0!==t){if(isNaN(t))return;if(this.stepStrictly){var n=this.getPrecision(this.step),i=Math.pow(10,n);t=Math.round(t/this.step)*i*this.step/i}void 0!==this.precision&&(t=this.toPrecision(t,this.precision))}t>=this.max&&(t=this.max),t<=this.min&&(t=this.min),this.currentValue=t,this.userInput=null,this.$emit("input",t)}}},computed:{minDisabled:function(){return this._decrease(this.value,this.step)<this.min},maxDisabled:function(){return this._increase(this.value,this.step)>this.max},numPrecision:function(){var e=this.value,t=this.step,n=this.getPrecision,i=this.precision,r=n(t);return void 0!==i?(r>i&&console.warn("[Element Warn][InputNumber]precision should not be less than the decimal places of step"),i):Math.max(n(e),r)},controlsAtRight:function(){return this.controls&&"right"===this.controlsPosition},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},inputNumberSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputNumberDisabled:function(){return this.disabled||!!(this.elForm||{}).disabled},displayValue:function(){if(null!==this.userInput)return this.userInput;var e=this.currentValue;if("number"==typeof e){if(this.stepStrictly){var t=this.getPrecision(this.step),n=Math.pow(10,t);e=Math.round(e/this.step)*n*this.step/n}void 0!==this.precision&&(e=e.toFixed(this.precision))}return e}},methods:{toPrecision:function(e,t){return void 0===t&&(t=this.numPrecision),parseFloat(Math.round(e*Math.pow(10,t))/Math.pow(10,t))},getPrecision:function(e){if(void 0===e)return 0;var t=e.toString(),n=t.indexOf("."),i=0;return-1!==n&&(i=t.length-n-1),i},_increase:function(e,t){if("number"!=typeof e&&void 0!==e)return this.currentValue;var n=Math.pow(10,this.numPrecision);return this.toPrecision((n*e+n*t)/n)},_decrease:function(e,t){if("number"!=typeof e&&void 0!==e)return this.currentValue;var n=Math.pow(10,this.numPrecision);return this.toPrecision((n*e-n*t)/n)},increase:function(){if(!this.inputNumberDisabled&&!this.maxDisabled){var e=this.value||0,t=this._increase(e,this.step);this.setCurrentValue(t)}},decrease:function(){if(!this.inputNumberDisabled&&!this.minDisabled){var e=this.value||0,t=this._decrease(e,this.step);this.setCurrentValue(t)}},handleBlur:function(e){this.$emit("blur",e)},handleFocus:function(e){this.$emit("focus",e)},setCurrentValue:function(e){var t=this.currentValue;"number"==typeof e&&void 0!==this.precision&&(e=this.toPrecision(e,this.precision)),e>=this.max&&(e=this.max),e<=this.min&&(e=this.min),t!==e&&(this.userInput=null,this.$emit("input",e),this.$emit("change",e,t),this.currentValue=e)},handleInput:function(e){this.userInput=e},handleInputChange:function(e){var t=""===e?void 0:Number(e);isNaN(t)&&""!==e||this.setCurrentValue(t),this.userInput=null},select:function(){this.$refs.input.select()}},mounted:function(){var e=this.$refs.input.$refs.input;e.setAttribute("role","spinbutton"),e.setAttribute("aria-valuemax",this.max),e.setAttribute("aria-valuemin",this.min),e.setAttribute("aria-valuenow",this.currentValue),e.setAttribute("aria-disabled",this.inputNumberDisabled)},updated:function(){this.$refs&&this.$refs.input&&this.$refs.input.$refs.input.setAttribute("aria-valuenow",this.currentValue)}},_n,[],!1,null,null,null);xn.options.__file="packages/input-number/src/input-number.vue";var Cn=xn.exports;Cn.install=function(e){e.component(Cn.name,Cn)};var kn=Cn,Sn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("label",{staticClass:"el-radio",class:[e.border&&e.radioSize?"el-radio--"+e.radioSize:"",{"is-disabled":e.isDisabled},{"is-focus":e.focus},{"is-bordered":e.border},{"is-checked":e.model===e.label}],attrs:{role:"radio","aria-checked":e.model===e.label,"aria-disabled":e.isDisabled,tabindex:e.tabIndex},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"]))return null;t.stopPropagation(),t.preventDefault(),e.model=e.isDisabled?e.model:e.label}}},[n("span",{staticClass:"el-radio__input",class:{"is-disabled":e.isDisabled,"is-checked":e.model===e.label}},[n("span",{staticClass:"el-radio__inner"}),n("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],ref:"radio",staticClass:"el-radio__original",attrs:{type:"radio","aria-hidden":"true",name:e.name,disabled:e.isDisabled,tabindex:"-1",autocomplete:"off"},domProps:{value:e.label,checked:e._q(e.model,e.label)},on:{focus:function(t){e.focus=!0},blur:function(t){e.focus=!1},change:[function(t){e.model=e.label},e.handleChange]}})]),n("span",{staticClass:"el-radio__label",on:{keydown:function(e){e.stopPropagation()}}},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2)])};Sn._withStripped=!0;var Dn=r({name:"ElRadio",mixins:[l],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElRadio",props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function(){return{focus:!1}},computed:{isGroup:function(){for(var e=this.$parent;e;){if("ElRadioGroup"===e.$options.componentName)return this._radioGroup=e,!0;e=e.$parent}return!1},model:{get:function(){return this.isGroup?this._radioGroup.value:this.value},set:function(e){this.isGroup?this.dispatch("ElRadioGroup","input",[e]):this.$emit("input",e),this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label)}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},radioSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._radioGroup.radioGroupSize||e},isDisabled:function(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0}},methods:{handleChange:function(){var e=this;this.$nextTick(function(){e.$emit("change",e.model),e.isGroup&&e.dispatch("ElRadioGroup","handleChange",e.model)})}}},Sn,[],!1,null,null,null);Dn.options.__file="packages/radio/src/radio.vue";var En=Dn.exports;En.install=function(e){e.component(En.name,En)};var $n=En,Tn=function(){var e=this.$createElement;return(this._self._c||e)(this._elTag,{tag:"component",staticClass:"el-radio-group",attrs:{role:"radiogroup"},on:{keydown:this.handleKeydown}},[this._t("default")],2)};Tn._withStripped=!0;var Mn=Object.freeze({LEFT:37,UP:38,RIGHT:39,DOWN:40}),Nn=r({name:"ElRadioGroup",componentName:"ElRadioGroup",inject:{elFormItem:{default:""}},mixins:[l],props:{value:{},size:String,fill:String,textColor:String,disabled:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},_elTag:function(){var e=(this.$vnode.data||{}).tag;return e&&"component"!==e||(e="div"),e},radioGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},created:function(){var e=this;this.$on("handleChange",function(t){e.$emit("change",t)})},mounted:function(){var e=this.$el.querySelectorAll("[type=radio]"),t=this.$el.querySelectorAll("[role=radio]")[0];![].some.call(e,function(e){return e.checked})&&t&&(t.tabIndex=0)},methods:{handleKeydown:function(e){var t=e.target,n="INPUT"===t.nodeName?"[type=radio]":"[role=radio]",i=this.$el.querySelectorAll(n),r=i.length,o=[].indexOf.call(i,t),s=this.$el.querySelectorAll("[role=radio]");switch(e.keyCode){case Mn.LEFT:case Mn.UP:e.stopPropagation(),e.preventDefault(),0===o?(s[r-1].click(),s[r-1].focus()):(s[o-1].click(),s[o-1].focus());break;case Mn.RIGHT:case Mn.DOWN:o===r-1?(e.stopPropagation(),e.preventDefault(),s[0].click(),s[0].focus()):(s[o+1].click(),s[o+1].focus())}}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",[this.value])}}},Tn,[],!1,null,null,null);Nn.options.__file="packages/radio/src/radio-group.vue";var On=Nn.exports;On.install=function(e){e.component(On.name,On)};var Pn=On,In=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("label",{staticClass:"el-radio-button",class:[e.size?"el-radio-button--"+e.size:"",{"is-active":e.value===e.label},{"is-disabled":e.isDisabled},{"is-focus":e.focus}],attrs:{role:"radio","aria-checked":e.value===e.label,"aria-disabled":e.isDisabled,tabindex:e.tabIndex},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"]))return null;t.stopPropagation(),t.preventDefault(),e.value=e.isDisabled?e.value:e.label}}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"el-radio-button__orig-radio",attrs:{type:"radio",name:e.name,disabled:e.isDisabled,tabindex:"-1",autocomplete:"off"},domProps:{value:e.label,checked:e._q(e.value,e.label)},on:{change:[function(t){e.value=e.label},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}),n("span",{staticClass:"el-radio-button__inner",style:e.value===e.label?e.activeStyle:null,on:{keydown:function(e){e.stopPropagation()}}},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2)])};In._withStripped=!0;var An=r({name:"ElRadioButton",mixins:[l],inject:{elForm:{default:""},elFormItem:{default:""}},props:{label:{},disabled:Boolean,name:String},data:function(){return{focus:!1}},computed:{value:{get:function(){return this._radioGroup.value},set:function(e){this._radioGroup.$emit("input",e)}},_radioGroup:function(){for(var e=this.$parent;e;){if("ElRadioGroup"===e.$options.componentName)return e;e=e.$parent}return!1},activeStyle:function(){return{backgroundColor:this._radioGroup.fill||"",borderColor:this._radioGroup.fill||"",boxShadow:this._radioGroup.fill?"-1px 0 0 0 "+this._radioGroup.fill:"",color:this._radioGroup.textColor||""}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._radioGroup.radioGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isDisabled:function(){return this.disabled||this._radioGroup.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this._radioGroup&&this.value!==this.label?-1:0}},methods:{handleChange:function(){var e=this;this.$nextTick(function(){e.dispatch("ElRadioGroup","handleChange",e.value)})}}},In,[],!1,null,null,null);An.options.__file="packages/radio/src/radio-button.vue";var Fn=An.exports;Fn.install=function(e){e.component(Fn.name,Fn)};var Ln=Fn,Vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("label",{staticClass:"el-checkbox",class:[e.border&&e.checkboxSize?"el-checkbox--"+e.checkboxSize:"",{"is-disabled":e.isDisabled},{"is-bordered":e.border},{"is-checked":e.isChecked}],attrs:{id:e.id}},[n("span",{staticClass:"el-checkbox__input",class:{"is-disabled":e.isDisabled,"is-checked":e.isChecked,"is-indeterminate":e.indeterminate,"is-focus":e.focus},attrs:{tabindex:!!e.indeterminate&&0,role:!!e.indeterminate&&"checkbox","aria-checked":!!e.indeterminate&&"mixed"}},[n("span",{staticClass:"el-checkbox__inner"}),e.trueLabel||e.falseLabel?n("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",name:e.name,disabled:e.isDisabled,"true-value":e.trueLabel,"false-value":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var n=e.model,i=t.target,r=i.checked?e.trueLabel:e.falseLabel;if(Array.isArray(n)){var o=e._i(n,null);i.checked?o<0&&(e.model=n.concat([null])):o>-1&&(e.model=n.slice(0,o).concat(n.slice(o+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",disabled:e.isDisabled,name:e.name},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var n=e.model,i=t.target,r=!!i.checked;if(Array.isArray(n)){var o=e.label,s=e._i(n,o);i.checked?s<0&&(e.model=n.concat([o])):s>-1&&(e.model=n.slice(0,s).concat(n.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}})]),e.$slots.default||e.label?n("span",{staticClass:"el-checkbox__label"},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2):e._e()])};Vn._withStripped=!0;var Bn=r({name:"ElCheckbox",mixins:[l],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElCheckbox",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.length<this._checkboxGroup.min&&(this.isLimitExceeded=!0),void 0!==this._checkboxGroup.max&&e.length>this._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch("ElCheckboxGroup","input",[e])):(this.$emit("input",e),this.selfModel=e)}},isChecked:function(){return"[object Boolean]"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){for(var e=this.$parent;e;){if("ElCheckboxGroup"===e.$options.componentName)return this._checkboxGroup=e,!0;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,n=e.min;return!(!t&&!n)&&this.model.length>=t&&!this.isChecked||this.model.length<=n&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||e}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var n=void 0;n=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit("change",n,e),this.$nextTick(function(){t.isGroup&&t.dispatch("ElCheckboxGroup","change",[t._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute("aria-controls",this.controls)},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",e)}}},Vn,[],!1,null,null,null);Bn.options.__file="packages/checkbox/src/checkbox.vue";var zn=Bn.exports;zn.install=function(e){e.component(zn.name,zn)};var Rn=zn,Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("label",{staticClass:"el-checkbox-button",class:[e.size?"el-checkbox-button--"+e.size:"",{"is-disabled":e.isDisabled},{"is-checked":e.isChecked},{"is-focus":e.focus}],attrs:{role:"checkbox","aria-checked":e.isChecked,"aria-disabled":e.isDisabled}},[e.trueLabel||e.falseLabel?n("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:e.name,disabled:e.isDisabled,"true-value":e.trueLabel,"false-value":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var n=e.model,i=t.target,r=i.checked?e.trueLabel:e.falseLabel;if(Array.isArray(n)){var o=e._i(n,null);i.checked?o<0&&(e.model=n.concat([null])):o>-1&&(e.model=n.slice(0,o).concat(n.slice(o+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):n("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:e.name,disabled:e.isDisabled},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var n=e.model,i=t.target,r=!!i.checked;if(Array.isArray(n)){var o=e.label,s=e._i(n,o);i.checked?s<0&&(e.model=n.concat([o])):s>-1&&(e.model=n.slice(0,s).concat(n.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}),e.$slots.default||e.label?n("span",{staticClass:"el-checkbox-button__inner",style:e.isChecked?e.activeStyle:null},[e._t("default",[e._v(e._s(e.label))])],2):e._e()])};Hn._withStripped=!0;var jn=r({name:"ElCheckboxButton",mixins:[l],inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},props:{value:{},label:{},disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number]},computed:{model:{get:function(){return this._checkboxGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this._checkboxGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.length<this._checkboxGroup.min&&(this.isLimitExceeded=!0),void 0!==this._checkboxGroup.max&&e.length>this._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch("ElCheckboxGroup","input",[e])):void 0!==this.value?this.$emit("input",e):this.selfModel=e}},isChecked:function(){return"[object Boolean]"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},_checkboxGroup:function(){for(var e=this.$parent;e;){if("ElCheckboxGroup"===e.$options.componentName)return e;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},activeStyle:function(){return{backgroundColor:this._checkboxGroup.fill||"",borderColor:this._checkboxGroup.fill||"",color:this._checkboxGroup.textColor||"","box-shadow":"-1px 0 0 0 "+this._checkboxGroup.fill}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._checkboxGroup.checkboxGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,n=e.min;return!(!t&&!n)&&this.model.length>=t&&!this.isChecked||this.model.length<=n&&this.isChecked},isDisabled:function(){return this._checkboxGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled}},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var n=void 0;n=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit("change",n,e),this.$nextTick(function(){t._checkboxGroup&&t.dispatch("ElCheckboxGroup","change",[t._checkboxGroup.value])})}}},created:function(){this.checked&&this.addToStore()}},Hn,[],!1,null,null,null);jn.options.__file="packages/checkbox/src/checkbox-button.vue";var Wn=jn.exports;Wn.install=function(e){e.component(Wn.name,Wn)};var qn=Wn,Yn=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-checkbox-group",attrs:{role:"group","aria-label":"checkbox-group"}},[this._t("default")],2)};Yn._withStripped=!0;var Kn=r({name:"ElCheckboxGroup",componentName:"ElCheckboxGroup",mixins:[l],inject:{elFormItem:{default:""}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",[e])}}},Yn,[],!1,null,null,null);Kn.options.__file="packages/checkbox/src/checkbox-group.vue";var Un=Kn.exports;Un.install=function(e){e.component(Un.name,Un)};var Gn=Un,Xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-switch",class:{"is-disabled":e.switchDisabled,"is-checked":e.checked},attrs:{role:"switch","aria-checked":e.checked,"aria-disabled":e.switchDisabled},on:{click:function(t){return t.preventDefault(),e.switchValue(t)}}},[n("input",{ref:"input",staticClass:"el-switch__input",attrs:{type:"checkbox",id:e.id,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:e.switchDisabled},on:{change:e.handleChange,keydown:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.switchValue(t):null}}}),e.inactiveIconClass||e.inactiveText?n("span",{class:["el-switch__label","el-switch__label--left",e.checked?"":"is-active"]},[e.inactiveIconClass?n("i",{class:[e.inactiveIconClass]}):e._e(),!e.inactiveIconClass&&e.inactiveText?n("span",{attrs:{"aria-hidden":e.checked}},[e._v(e._s(e.inactiveText))]):e._e()]):e._e(),n("span",{ref:"core",staticClass:"el-switch__core",style:{width:e.coreWidth+"px"}}),e.activeIconClass||e.activeText?n("span",{class:["el-switch__label","el-switch__label--right",e.checked?"is-active":""]},[e.activeIconClass?n("i",{class:[e.activeIconClass]}):e._e(),!e.activeIconClass&&e.activeText?n("span",{attrs:{"aria-hidden":!e.checked}},[e._v(e._s(e.activeText))]):e._e()]):e._e()])};Xn._withStripped=!0;var Zn=r({name:"ElSwitch",mixins:[u("input"),U,l],inject:{elForm:{default:""}},props:{value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:Number,default:40},activeIconClass:{type:String,default:""},inactiveIconClass:{type:String,default:""},activeText:String,inactiveText:String,activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},id:String},data:function(){return{coreWidth:this.width}},created:function(){~[this.activeValue,this.inactiveValue].indexOf(this.value)||this.$emit("input",this.inactiveValue)},computed:{checked:function(){return this.value===this.activeValue},switchDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{checked:function(){this.$refs.input.checked=this.checked,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[this.value])}},methods:{handleChange:function(e){var t=this,n=this.checked?this.inactiveValue:this.activeValue;this.$emit("input",n),this.$emit("change",n),this.$nextTick(function(){t.$refs.input&&(t.$refs.input.checked=t.checked)})},setBackgroundColor:function(){var e=this.checked?this.activeColor:this.inactiveColor;this.$refs.core.style.borderColor=e,this.$refs.core.style.backgroundColor=e},switchValue:function(){!this.switchDisabled&&this.handleChange()},getMigratingConfig:function(){return{props:{"on-color":"on-color is renamed to active-color.","off-color":"off-color is renamed to inactive-color.","on-text":"on-text is renamed to active-text.","off-text":"off-text is renamed to inactive-text.","on-value":"on-value is renamed to active-value.","off-value":"off-value is renamed to inactive-value.","on-icon-class":"on-icon-class is renamed to active-icon-class.","off-icon-class":"off-icon-class is renamed to inactive-icon-class."}}}},mounted:function(){this.coreWidth=this.width||40,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.$refs.input.checked=this.checked}},Xn,[],!1,null,null,null);Zn.options.__file="packages/switch/src/component.vue";var Jn=Zn.exports;Jn.install=function(e){e.component(Jn.name,Jn)};var Qn=Jn,ei=function(){var e=this.$createElement,t=this._self._c||e;return t("ul",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],staticClass:"el-select-group__wrap"},[t("li",{staticClass:"el-select-group__title"},[this._v(this._s(this.label))]),t("li",[t("ul",{staticClass:"el-select-group"},[this._t("default")],2)])])};ei._withStripped=!0;var ti=r({mixins:[l],name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},data:function(){return{visible:!0}},watch:{disabled:function(e){this.broadcast("ElOption","handleGroupDisabled",e)}},methods:{queryChange:function(){this.visible=this.$children&&Array.isArray(this.$children)&&this.$children.some(function(e){return!0===e.visible})}},created:function(){this.$on("queryChange",this.queryChange)},mounted:function(){this.disabled&&this.broadcast("ElOption","handleGroupDisabled",this.disabled)}},ei,[],!1,null,null,null);ti.options.__file="packages/select/src/option-group.vue";var ni=ti.exports;ni.install=function(e){e.component(ni.name,ni)};var ii=ni,ri=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-table",class:[{"el-table--fit":e.fit,"el-table--striped":e.stripe,"el-table--border":e.border||e.isGroup,"el-table--hidden":e.isHidden,"el-table--group":e.isGroup,"el-table--fluid-height":e.maxHeight,"el-table--scrollable-x":e.layout.scrollX,"el-table--scrollable-y":e.layout.scrollY,"el-table--enable-row-hover":!e.store.states.isComplex,"el-table--enable-row-transition":0!==(e.store.states.data||[]).length&&(e.store.states.data||[]).length<100},e.tableSize?"el-table--"+e.tableSize:""],on:{mouseleave:function(t){e.handleMouseLeave(t)}}},[n("div",{ref:"hiddenColumns",staticClass:"hidden-columns"},[e._t("default")],2),e.showHeader?n("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"headerWrapper",staticClass:"el-table__header-wrapper"},[n("table-header",{ref:"tableHeader",style:{width:e.layout.bodyWidth?e.layout.bodyWidth+"px":""},attrs:{store:e.store,border:e.border,"default-sort":e.defaultSort}})],1):e._e(),n("div",{ref:"bodyWrapper",staticClass:"el-table__body-wrapper",class:[e.layout.scrollX?"is-scrolling-"+e.scrollPosition:"is-scrolling-none"],style:[e.bodyHeight]},[n("table-body",{style:{width:e.bodyWidth},attrs:{context:e.context,store:e.store,stripe:e.stripe,"row-class-name":e.rowClassName,"row-style":e.rowStyle,highlight:e.highlightCurrentRow}}),e.data&&0!==e.data.length?e._e():n("div",{ref:"emptyBlock",staticClass:"el-table__empty-block",style:e.emptyBlockStyle},[n("span",{staticClass:"el-table__empty-text"},[e._t("empty",[e._v(e._s(e.emptyText||e.t("el.table.emptyText")))])],2)]),e.$slots.append?n("div",{ref:"appendWrapper",staticClass:"el-table__append-wrapper"},[e._t("append")],2):e._e()],1),e.showSummary?n("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"},{name:"mousewheel",rawName:"v-mousewheel",value:e.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"footerWrapper",staticClass:"el-table__footer-wrapper"},[n("table-footer",{style:{width:e.layout.bodyWidth?e.layout.bodyWidth+"px":""},attrs:{store:e.store,border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,"default-sort":e.defaultSort}})],1):e._e(),e.fixedColumns.length>0?n("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"fixedWrapper",staticClass:"el-table__fixed",style:[{width:e.layout.fixedWidth?e.layout.fixedWidth+"px":""},e.fixedHeight]},[e.showHeader?n("div",{ref:"fixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[n("table-header",{ref:"fixedTableHeader",style:{width:e.bodyWidth},attrs:{fixed:"left",border:e.border,store:e.store}})],1):e._e(),n("div",{ref:"fixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:e.layout.headerHeight+"px"},e.fixedBodyHeight]},[n("table-body",{style:{width:e.bodyWidth},attrs:{fixed:"left",store:e.store,stripe:e.stripe,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"row-style":e.rowStyle}}),e.$slots.append?n("div",{staticClass:"el-table__append-gutter",style:{height:e.layout.appendHeight+"px"}}):e._e()],1),e.showSummary?n("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"}],ref:"fixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[n("table-footer",{style:{width:e.bodyWidth},attrs:{fixed:"left",border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?n("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"rightFixedWrapper",staticClass:"el-table__fixed-right",style:[{width:e.layout.rightFixedWidth?e.layout.rightFixedWidth+"px":"",right:e.layout.scrollY?(e.border?e.layout.gutterWidth:e.layout.gutterWidth||0)+"px":""},e.fixedHeight]},[e.showHeader?n("div",{ref:"rightFixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[n("table-header",{ref:"rightFixedTableHeader",style:{width:e.bodyWidth},attrs:{fixed:"right",border:e.border,store:e.store}})],1):e._e(),n("div",{ref:"rightFixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:e.layout.headerHeight+"px"},e.fixedBodyHeight]},[n("table-body",{style:{width:e.bodyWidth},attrs:{fixed:"right",store:e.store,stripe:e.stripe,"row-class-name":e.rowClassName,"row-style":e.rowStyle,highlight:e.highlightCurrentRow}}),e.$slots.append?n("div",{staticClass:"el-table__append-gutter",style:{height:e.layout.appendHeight+"px"}}):e._e()],1),e.showSummary?n("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"}],ref:"rightFixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[n("table-footer",{style:{width:e.bodyWidth},attrs:{fixed:"right",border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?n("div",{ref:"rightFixedPatch",staticClass:"el-table__fixed-right-patch",style:{width:e.layout.scrollY?e.layout.gutterWidth+"px":"0",height:e.layout.headerHeight+"px"}}):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:e.resizeProxyVisible,expression:"resizeProxyVisible"}],ref:"resizeProxy",staticClass:"el-table__column-resize-proxy"})])};ri._withStripped=!0;var oi=n(50),si=n.n(oi),ai="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>-1,li={bind:function(e,t){var n,i;n=e,i=t.value,n&&n.addEventListener&&n.addEventListener(ai?"DOMMouseScroll":"mousewheel",function(e){var t=si()(e);i&&i.apply(this,[e,t])})}},ui="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ci=function(e){for(var t=e.target;t&&"HTML"!==t.tagName.toUpperCase();){if("TD"===t.tagName.toUpperCase())return t;t=t.parentNode}return null},hi=function(e){return null!==e&&"object"===(void 0===e?"undefined":ui(e))},di=function(e,t,n,i,r){if(!t&&!i&&(!r||Array.isArray(r)&&!r.length))return e;n="string"==typeof n?"descending"===n?-1:1:n&&n<0?-1:1;var o=i?null:function(n,i){return r?(Array.isArray(r)||(r=[r]),r.map(function(t){return"string"==typeof t?S(n,t):t(n,i,e)})):("$key"!==t&&hi(n)&&"$value"in n&&(n=n.$value),[hi(n)?S(n,t):n])};return e.map(function(e,t){return{value:e,index:t,key:o?o(e,t):null}}).sort(function(e,t){var r=function(e,t){if(i)return i(e.value,t.value);for(var n=0,r=e.key.length;n<r;n++){if(e.key[n]<t.key[n])return-1;if(e.key[n]>t.key[n])return 1}return 0}(e,t);return r||(r=e.index-t.index),r*n}).map(function(e){return e.value})},fi=function(e,t){var n=null;return e.columns.forEach(function(e){e.id===t&&(n=e)}),n},pi=function(e,t){var n=(t.className||"").match(/el-table_[^\s]+/gm);return n?fi(e,n[0]):null},mi=function(e,t){if(!e)throw new Error("row is required when get row identity");if("string"==typeof t){if(t.indexOf(".")<0)return e[t];for(var n=t.split("."),i=e,r=0;r<n.length;r++)i=i[n[r]];return i}if("function"==typeof t)return t.call(null,e)},vi=function(e,t){var n={};return(e||[]).forEach(function(e,i){n[mi(e,t)]={row:e,index:i}}),n};function gi(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function yi(e){return void 0!==e&&(e=parseInt(e,10),isNaN(e)&&(e=null)),e}function bi(e){return"number"==typeof e?e:"string"==typeof e?/^\d+(?:px)?$/.test(e)?parseInt(e,10):e:null}function _i(e,t,n){var i=!1,r=e.indexOf(t),o=-1!==r,s=function(){e.push(t),i=!0},a=function(){e.splice(r,1),i=!0};return"boolean"==typeof n?n&&!o?s():!n&&o&&a():o?a():s(),i}function wi(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hasChildren",r=function(e){return!(Array.isArray(e)&&e.length)};e.forEach(function(e){if(e[i])t(e,null,0);else{var o=e[n];r(o)||function e(o,s,a){t(o,s,a),s.forEach(function(o){if(o[i])t(o,null,a+1);else{var s=o[n];r(s)||e(o,s,a+1)}})}(e,o,0)}})}var xi={data:function(){return{states:{defaultExpandAll:!1,expandRows:[]}}},methods:{updateExpandRows:function(){var e=this.states,t=e.data,n=void 0===t?[]:t,i=e.rowKey,r=e.defaultExpandAll,o=e.expandRows;if(r)this.states.expandRows=n.slice();else if(i){var s=vi(o,i);this.states.expandRows=n.reduce(function(e,t){var n=mi(t,i);return s[n]&&e.push(t),e},[])}else this.states.expandRows=[]},toggleRowExpansion:function(e,t){_i(this.states.expandRows,e,t)&&(this.table.$emit("expand-change",e,this.states.expandRows.slice()),this.scheduleLayout())},setExpandRowKeys:function(e){this.assertRowKey();var t=this.states,n=t.data,i=t.rowKey,r=vi(n,i);this.states.expandRows=e.reduce(function(e,t){var n=r[t];return n&&e.push(n.row),e},[])},isRowExpanded:function(e){var t=this.states,n=t.expandRows,i=void 0===n?[]:n,r=t.rowKey;return r?!!vi(i,r)[mi(e,r)]:-1!==i.indexOf(e)}}},Ci={data:function(){return{states:{_currentRowKey:null,currentRow:null}}},methods:{setCurrentRowKey:function(e){this.assertRowKey(),this.states._currentRowKey=e,this.setCurrentRowByKey(e)},restoreCurrentRowKey:function(){this.states._currentRowKey=null},setCurrentRowByKey:function(e){var t=this.states,n=t.data,i=void 0===n?[]:n,r=t.rowKey,o=null;r&&(o=M(i,function(t){return mi(t,r)===e})),t.currentRow=o},updateCurrentRow:function(e){var t=this.states,n=this.table,i=t.currentRow;if(e&&e!==i)return t.currentRow=e,void n.$emit("current-change",e,i);!e&&i&&(t.currentRow=null,n.$emit("current-change",null,i))},updateCurrentRowData:function(){var e=this.states,t=this.table,n=e.rowKey,i=e._currentRowKey,r=e.data||[],o=e.currentRow;if(-1===r.indexOf(o)&&o){if(n){var s=mi(o,n);this.setCurrentRowByKey(s)}else e.currentRow=null;null===e.currentRow&&t.$emit("current-change",null,o)}else i&&(this.setCurrentRowByKey(i),this.restoreCurrentRowKey())}}},ki=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Si={data:function(){return{states:{expandRowKeys:[],treeData:{},indent:16,lazy:!1,lazyTreeNodeMap:{},lazyColumnIdentifier:"hasChildren",childrenColumnName:"children"}}},computed:{normalizedData:function(){if(!this.states.rowKey)return{};var e=this.states.data||[];return this.normalize(e)},normalizedLazyNode:function(){var e=this.states,t=e.rowKey,n=e.lazyTreeNodeMap,i=e.lazyColumnIdentifier,r=Object.keys(n),o={};return r.length?(r.forEach(function(e){if(n[e].length){var r={children:[]};n[e].forEach(function(e){var n=mi(e,t);r.children.push(n),e[i]&&!o[n]&&(o[n]={children:[]})}),o[e]=r}}),o):o}},watch:{normalizedData:"updateTreeData",normalizedLazyNode:"updateTreeData"},methods:{normalize:function(e){var t=this.states,n=t.childrenColumnName,i=t.lazyColumnIdentifier,r=t.rowKey,o=t.lazy,s={};return wi(e,function(e,t,n){var i=mi(e,r);Array.isArray(t)?s[i]={children:t.map(function(e){return mi(e,r)}),level:n}:o&&(s[i]={children:[],lazy:!0,level:n})},n,i),s},updateTreeData:function(){var e=this.normalizedData,t=this.normalizedLazyNode,n=Object.keys(e),i={};if(n.length){var r=this.states,o=r.treeData,s=r.defaultExpandAll,a=r.expandRowKeys,l=r.lazy,u=[],c=function(e,t){var n=s||a&&-1!==a.indexOf(t);return!!(e&&e.expanded||n)};n.forEach(function(t){var n=o[t],r=ki({},e[t]);if(r.expanded=c(n,t),r.lazy){var s=n||{},a=s.loaded,l=void 0!==a&&a,h=s.loading,d=void 0!==h&&h;r.loaded=!!l,r.loading=!!d,u.push(t)}i[t]=r});var h=Object.keys(t);l&&h.length&&u.length&&h.forEach(function(e){var n=o[e],r=t[e].children;if(-1!==u.indexOf(e)){if(0!==i[e].children.length)throw new Error("[ElTable]children must be an empty array.");i[e].children=r}else{var s=n||{},a=s.loaded,l=void 0!==a&&a,h=s.loading,d=void 0!==h&&h;i[e]={lazy:!0,loaded:!!l,loading:!!d,expanded:c(n,e),children:r,level:""}}})}this.states.treeData=i,this.updateTableScrollY()},updateTreeExpandKeys:function(e){this.states.expandRowKeys=e,this.updateTreeData()},toggleTreeExpansion:function(e,t){this.assertRowKey();var n=this.states,i=n.rowKey,r=n.treeData,o=mi(e,i),s=o&&r[o];if(o&&s&&"expanded"in s){var a=s.expanded;t=void 0===t?!s.expanded:t,r[o].expanded=t,a!==t&&this.table.$emit("expand-change",e,t),this.updateTableScrollY()}},loadOrToggle:function(e){this.assertRowKey();var t=this.states,n=t.lazy,i=t.treeData,r=t.rowKey,o=mi(e,r),s=i[o];n&&s&&"loaded"in s&&!s.loaded?this.loadData(e,o,s):this.toggleTreeExpansion(e)},loadData:function(e,t,n){var i=this,r=this.table.load,o=this.states.treeData;r&&!o[t].loaded&&(o[t].loading=!0,r(e,n,function(n){if(!Array.isArray(n))throw new Error("[ElTable] data must be an array");var r=i.states,o=r.lazyTreeNodeMap,s=r.treeData;s[t].loading=!1,s[t].loaded=!0,s[t].expanded=!0,n.length&&i.$set(o,t,n),i.table.$emit("expand-change",e,!0)}))}}},Di=function e(t){var n=[];return t.forEach(function(t){t.children?n.push.apply(n,e(t.children)):n.push(t)}),n},Ei=h.a.extend({data:function(){return{states:{rowKey:null,data:[],isComplex:!1,_columns:[],originColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,isAllSelected:!1,selection:[],reserveSelection:!1,selectOnIndeterminate:!1,selectable:null,filters:{},filteredData:null,sortingColumn:null,sortProp:null,sortOrder:null,hoverRow:null}}},mixins:[xi,Ci,Si],methods:{assertRowKey:function(){if(!this.states.rowKey)throw new Error("[ElTable] prop row-key is required")},updateColumns:function(){var e=this.states,t=e._columns||[];e.fixedColumns=t.filter(function(e){return!0===e.fixed||"left"===e.fixed}),e.rightFixedColumns=t.filter(function(e){return"right"===e.fixed}),e.fixedColumns.length>0&&t[0]&&"selection"===t[0].type&&!t[0].fixed&&(t[0].fixed=!0,e.fixedColumns.unshift(t[0]));var n=t.filter(function(e){return!e.fixed});e.originColumns=[].concat(e.fixedColumns).concat(n).concat(e.rightFixedColumns);var i=Di(n),r=Di(e.fixedColumns),o=Di(e.rightFixedColumns);e.leafColumnsLength=i.length,e.fixedLeafColumnsLength=r.length,e.rightFixedLeafColumnsLength=o.length,e.columns=[].concat(r).concat(i).concat(o),e.isComplex=e.fixedColumns.length>0||e.rightFixedColumns.length>0},scheduleLayout:function(e){e&&this.updateColumns(),this.table.debouncedUpdateLayout()},isSelected:function(e){var t=this.states.selection;return(void 0===t?[]:t).indexOf(e)>-1},clearSelection:function(){var e=this.states;e.isAllSelected=!1,e.selection.length&&(e.selection=[],this.table.$emit("selection-change",[]))},cleanSelection:function(){var e=this.states,t=e.data,n=e.rowKey,i=e.selection,r=void 0;if(n){r=[];var o=vi(i,n),s=vi(t,n);for(var a in o)o.hasOwnProperty(a)&&!s[a]&&r.push(o[a].row)}else r=i.filter(function(e){return-1===t.indexOf(e)});if(r.length){var l=i.filter(function(e){return-1===r.indexOf(e)});e.selection=l,this.table.$emit("selection-change",l.slice())}},toggleRowSelection:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(_i(this.states.selection,e,t)){var i=(this.states.selection||[]).slice();n&&this.table.$emit("select",i,e),this.table.$emit("selection-change",i)}},_toggleAllSelection:function(){var e=this.states,t=e.data,n=void 0===t?[]:t,i=e.selection,r=e.selectOnIndeterminate?!e.isAllSelected:!(e.isAllSelected||i.length);e.isAllSelected=r;var o=!1;n.forEach(function(t,n){e.selectable?e.selectable.call(null,t,n)&&_i(i,t,r)&&(o=!0):_i(i,t,r)&&(o=!0)}),o&&this.table.$emit("selection-change",i?i.slice():[]),this.table.$emit("select-all",i)},updateSelectionByRowKey:function(){var e=this.states,t=e.selection,n=e.rowKey,i=e.data,r=vi(t,n);i.forEach(function(e){var i=mi(e,n),o=r[i];o&&(t[o.index]=e)})},updateAllSelected:function(){var e=this.states,t=e.selection,n=e.rowKey,i=e.selectable,r=e.data||[];if(0!==r.length){var o=void 0;n&&(o=vi(t,n));for(var s,a=!0,l=0,u=0,c=r.length;u<c;u++){var h=r[u],d=i&&i.call(null,h,u);if(s=h,o?o[mi(s,n)]:-1!==t.indexOf(s))l++;else if(!i||d){a=!1;break}}0===l&&(a=!1),e.isAllSelected=a}else e.isAllSelected=!1},updateFilters:function(e,t){Array.isArray(e)||(e=[e]);var n=this.states,i={};return e.forEach(function(e){n.filters[e.id]=t,i[e.columnKey||e.id]=t}),i},updateSort:function(e,t,n){this.states.sortingColumn&&this.states.sortingColumn!==e&&(this.states.sortingColumn.order=null),this.states.sortingColumn=e,this.states.sortProp=t,this.states.sortOrder=n},execFilter:function(){var e=this,t=this.states,n=t._data,i=t.filters,r=n;Object.keys(i).forEach(function(n){var i=t.filters[n];if(i&&0!==i.length){var o=fi(e.states,n);o&&o.filterMethod&&(r=r.filter(function(e){return i.some(function(t){return o.filterMethod.call(null,t,e,o)})}))}}),t.filteredData=r},execSort:function(){var e=this.states;e.data=function(e,t){var n=t.sortingColumn;return n&&"string"!=typeof n.sortable?di(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy):e}(e.filteredData,e)},execQuery:function(e){e&&e.filter||this.execFilter(),this.execSort()},clearFilter:function(e){var t=this.states,n=this.table.$refs,i=n.tableHeader,r=n.fixedTableHeader,o=n.rightFixedTableHeader,s={};i&&(s=Q(s,i.filterPanels)),r&&(s=Q(s,r.filterPanels)),o&&(s=Q(s,o.filterPanels));var a=Object.keys(s);if(a.length)if("string"==typeof e&&(e=[e]),Array.isArray(e)){var l=e.map(function(e){return function(e,t){for(var n=null,i=0;i<e.columns.length;i++){var r=e.columns[i];if(r.columnKey===t){n=r;break}}return n}(t,e)});a.forEach(function(e){l.find(function(t){return t.id===e})&&(s[e].filteredValue=[])}),this.commit("filterChange",{column:l,values:[],silent:!0,multi:!0})}else a.forEach(function(e){s[e].filteredValue=[]}),t.filters={},this.commit("filterChange",{column:{},values:[],silent:!0})},clearSort:function(){this.states.sortingColumn&&(this.updateSort(null,null,null),this.commit("changeSortCondition",{silent:!0}))},setExpandRowKeysAdapter:function(e){this.setExpandRowKeys(e),this.updateTreeExpandKeys(e)},toggleRowExpansionAdapter:function(e,t){this.states.columns.some(function(e){return"expand"===e.type})?this.toggleRowExpansion(e,t):this.toggleTreeExpansion(e,t)}}});Ei.prototype.mutations={setData:function(e,t){var n=e._data!==t;e._data=t,this.execQuery(),this.updateCurrentRowData(),this.updateExpandRows(),e.reserveSelection?(this.assertRowKey(),this.updateSelectionByRowKey()):n?this.clearSelection():this.cleanSelection(),this.updateAllSelected(),this.updateTableScrollY()},insertColumn:function(e,t,n,i){var r=e._columns;i&&((r=i.children)||(r=i.children=[])),void 0!==n?r.splice(n,0,t):r.push(t),"selection"===t.type&&(e.selectable=t.selectable,e.reserveSelection=t.reserveSelection),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},removeColumn:function(e,t,n){var i=e._columns;n&&((i=n.children)||(i=n.children=[])),i&&i.splice(i.indexOf(t),1),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},sort:function(e,t){var n=t.prop,i=t.order,r=t.init;if(n){var o=M(e.columns,function(e){return e.property===n});o&&(o.order=i,this.updateSort(o,n,i),this.commit("changeSortCondition",{init:r}))}},changeSortCondition:function(e,t){var n=e.sortingColumn,i=e.sortProp,r=e.sortOrder;null===r&&(e.sortingColumn=null,e.sortProp=null);this.execQuery({filter:!0}),t&&(t.silent||t.init)||this.table.$emit("sort-change",{column:n,prop:i,order:r}),this.updateTableScrollY()},filterChange:function(e,t){var n=t.column,i=t.values,r=t.silent,o=this.updateFilters(n,i);this.execQuery(),r||this.table.$emit("filter-change",o),this.updateTableScrollY()},toggleAllSelection:function(){this.toggleAllSelection()},rowSelectedChanged:function(e,t){this.toggleRowSelection(t),this.updateAllSelected()},setHoverRow:function(e,t){e.hoverRow=t},setCurrentRow:function(e,t){this.updateCurrentRow(t)}},Ei.prototype.commit=function(e){var t=this.mutations;if(!t[e])throw new Error("Action not found: "+e);for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];t[e].apply(this,[this.states].concat(i))},Ei.prototype.updateTableScrollY=function(){h.a.nextTick(this.table.updateScrollY)};var $i=Ei;function Ti(e){var t={};return Object.keys(e).forEach(function(n){var i=e[n],r=void 0;"string"==typeof i?r=function(){return this.store.states[i]}:"function"==typeof i?r=function(){return i.call(this,this.store.states)}:console.error("invalid value type"),r&&(t[n]=r)}),t}var Mi=function(){function e(t){for(var n in function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.observers=[],this.table=null,this.store=null,this.columns=null,this.fit=!0,this.showHeader=!0,this.height=null,this.scrollX=!1,this.scrollY=!1,this.bodyWidth=null,this.fixedWidth=null,this.rightFixedWidth=null,this.tableHeight=null,this.headerHeight=44,this.appendHeight=0,this.footerHeight=44,this.viewportHeight=null,this.bodyHeight=null,this.fixedBodyHeight=null,this.gutterWidth=$e(),t)t.hasOwnProperty(n)&&(this[n]=t[n]);if(!this.table)throw new Error("table is required for Table Layout");if(!this.store)throw new Error("store is required for Table Layout")}return e.prototype.updateScrollY=function(){if(null===this.height)return!1;var e=this.table.bodyWrapper;if(this.table.$el&&e){var t=e.querySelector(".el-table__body"),n=this.scrollY,i=t.offsetHeight>this.bodyHeight;return this.scrollY=i,n!==i}return!1},e.prototype.setHeight=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"height";if(!h.a.prototype.$isServer){var i=this.table.$el;if(e=bi(e),this.height=e,!i&&(e||0===e))return h.a.nextTick(function(){return t.setHeight(e,n)});"number"==typeof e?(i.style[n]=e+"px",this.updateElsHeight()):"string"==typeof e&&(i.style[n]=e,this.updateElsHeight())}},e.prototype.setMaxHeight=function(e){this.setHeight(e,"max-height")},e.prototype.getFlattenColumns=function(){var e=[];return this.table.columns.forEach(function(t){t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e},e.prototype.updateElsHeight=function(){var e=this;if(!this.table.$ready)return h.a.nextTick(function(){return e.updateElsHeight()});var t=this.table.$refs,n=t.headerWrapper,i=t.appendWrapper,r=t.footerWrapper;if(this.appendHeight=i?i.offsetHeight:0,!this.showHeader||n){var o=n?n.querySelector(".el-table__header tr"):null,s=this.headerDisplayNone(o),a=this.headerHeight=this.showHeader?n.offsetHeight:0;if(this.showHeader&&!s&&n.offsetWidth>0&&(this.table.columns||[]).length>0&&a<2)return h.a.nextTick(function(){return e.updateElsHeight()});var l=this.tableHeight=this.table.$el.clientHeight,u=this.footerHeight=r?r.offsetHeight:0;null!==this.height&&(this.bodyHeight=l-a-u+(r?1:0)),this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var c=!(this.store.states.data&&this.store.states.data.length);this.viewportHeight=this.scrollX?l-(c?0:this.gutterWidth):l,this.updateScrollY(),this.notifyObservers("scrollable")}},e.prototype.headerDisplayNone=function(e){if(!e)return!0;for(var t=e;"DIV"!==t.tagName;){if("none"===getComputedStyle(t).display)return!0;t=t.parentElement}return!1},e.prototype.updateColumnsWidth=function(){if(!h.a.prototype.$isServer){var e=this.fit,t=this.table.$el.clientWidth,n=0,i=this.getFlattenColumns(),r=i.filter(function(e){return"number"!=typeof e.width});if(i.forEach(function(e){"number"==typeof e.width&&e.realWidth&&(e.realWidth=null)}),r.length>0&&e){i.forEach(function(e){n+=e.width||e.minWidth||80});var o=this.scrollY?this.gutterWidth:0;if(n<=t-o){this.scrollX=!1;var s=t-o-n;if(1===r.length)r[0].realWidth=(r[0].minWidth||80)+s;else{var a=s/r.reduce(function(e,t){return e+(t.minWidth||80)},0),l=0;r.forEach(function(e,t){if(0!==t){var n=Math.floor((e.minWidth||80)*a);l+=n,e.realWidth=(e.minWidth||80)+n}}),r[0].realWidth=(r[0].minWidth||80)+s-l}}else this.scrollX=!0,r.forEach(function(e){e.realWidth=e.minWidth});this.bodyWidth=Math.max(n,t),this.table.resizeState.width=this.bodyWidth}else i.forEach(function(e){e.width||e.minWidth?e.realWidth=e.width||e.minWidth:e.realWidth=80,n+=e.realWidth}),this.scrollX=n>t,this.bodyWidth=n;var u=this.store.states.fixedColumns;if(u.length>0){var c=0;u.forEach(function(e){c+=e.realWidth||e.width}),this.fixedWidth=c}var d=this.store.states.rightFixedColumns;if(d.length>0){var f=0;d.forEach(function(e){f+=e.realWidth||e.width}),this.rightFixedWidth=f}this.notifyObservers("columns")}},e.prototype.addObserver=function(e){this.observers.push(e)},e.prototype.removeObserver=function(e){var t=this.observers.indexOf(e);-1!==t&&this.observers.splice(t,1)},e.prototype.notifyObservers=function(e){var t=this;this.observers.forEach(function(n){switch(e){case"columns":n.onColumnsChange(t);break;case"scrollable":n.onScrollableChange(t);break;default:throw new Error("Table Layout don't have event "+e+".")}})},e}(),Ni={created:function(){this.tableLayout.addObserver(this)},destroyed:function(){this.tableLayout.removeObserver(this)},computed:{tableLayout:function(){var e=this.layout;if(!e&&this.table&&(e=this.table.layout),!e)throw new Error("Can not find table layout.");return e}},mounted:function(){this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout)},updated:function(){this.__updated__||(this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout),this.__updated__=!0)},methods:{onColumnsChange:function(e){var t=this.$el.querySelectorAll("colgroup > col");if(t.length){var n=e.getFlattenColumns(),i={};n.forEach(function(e){i[e.id]=e});for(var r=0,o=t.length;r<o;r++){var s=t[r],a=s.getAttribute("name"),l=i[a];l&&s.setAttribute("width",l.realWidth||l.width)}}},onScrollableChange:function(e){for(var t=this.$el.querySelectorAll("colgroup > col[name=gutter]"),n=0,i=t.length;n<i;n++){t[n].setAttribute("width",e.scrollY?e.gutterWidth:"0")}for(var r=this.$el.querySelectorAll("th.gutter"),o=0,s=r.length;o<s;o++){var a=r[o];a.style.width=e.scrollY?e.gutterWidth+"px":"0",a.style.display=e.scrollY?"":"none"}}}},Oi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Pi={name:"ElTableRow",props:["columns","row","index","isSelected","isExpanded","store","context","firstDefaultColumnIndex","treeRowData","treeIndent","columnsHidden","getSpan","getColspanRealWidth","getCellStyle","getCellClass","handleCellMouseLeave","handleCellMouseEnter","fixed"],components:{ElCheckbox:Rn},render:function(){var e=this,t=arguments[0],n=this.columns,i=this.row,r=this.index,o=this.store,s=this.context,a=this.firstDefaultColumnIndex,l=this.treeRowData,u=this.treeIndent,c=this.columnsHidden,h=void 0===c?[]:c,d=this.isSelected,f=this.isExpanded;return t("tr",[n.map(function(c,p){var m=e.getSpan(i,c,r,p),v=m.rowspan,g=m.colspan;if(!v||!g)return null;var y=Oi({},c);y.realWidth=e.getColspanRealWidth(n,g,p);var b={store:o,isSelected:d,isExpanded:f,_self:s,column:y,row:i,$index:r};return p===a&&l&&(b.treeNode={indent:l.level*u,level:l.level},"boolean"==typeof l.expanded&&(b.treeNode.expanded=l.expanded,"loading"in l&&(b.treeNode.loading=l.loading),"noLazyChildren"in l&&(b.treeNode.noLazyChildren=l.noLazyChildren))),t("td",{style:e.getCellStyle(r,p,i,c),class:e.getCellClass(r,p,i,c),attrs:{rowspan:v,colspan:g},on:{mouseenter:function(t){return e.handleCellMouseEnter(t,i)},mouseleave:e.handleCellMouseLeave}},[c.renderCell.call(e._renderProxy,e.$createElement,b,h[p])])})])}},Ii="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ai=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Fi={name:"ElTableBody",mixins:[Ni],components:{ElCheckbox:Rn,ElTooltip:dn,TableRow:Pi},props:{store:{required:!0},stripe:Boolean,context:{},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:String,highlight:Boolean},render:function(e){var t=this,n=this.data||[];return e("table",{class:"el-table__body",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map(function(t){return e("col",{attrs:{name:t.id},key:t.id})})]),e("tbody",[n.reduce(function(e,n){return e.concat(t.wrappedRowRender(n,e.length))},[]),e("el-tooltip",{attrs:{effect:this.table.tooltipEffect,placement:"top",content:this.tooltipContent},ref:"tooltip"})])])},computed:Ai({table:function(){return this.$parent}},Ti({data:"data",columns:"columns",treeIndent:"indent",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length},hasExpandColumn:function(e){return e.columns.some(function(e){return"expand"===e.type})}}),{columnsHidden:function(){var e=this;return this.columns.map(function(t,n){return e.isColumnHidden(n)})},firstDefaultColumnIndex:function(){return T(this.columns,function(e){return"default"===e.type})}}),watch:{"store.states.hoverRow":function(e,t){var n=this;if(this.store.states.isComplex&&!this.$isServer){var i=window.requestAnimationFrame;i||(i=function(e){return setTimeout(e,16)}),i(function(){var i=n.$el.querySelectorAll(".el-table__row"),r=i[t],o=i[e];r&&ve(r,"hover-row"),o&&me(o,"hover-row")})}}},data:function(){return{tooltipContent:""}},created:function(){this.activateTooltip=nt()(50,function(e){return e.handleShowPopper()})},methods:{getKeyOfRow:function(e,t){var n=this.table.rowKey;return n?mi(e,n):t},isColumnHidden:function(e){return!0===this.fixed||"left"===this.fixed?e>=this.leftFixedLeafCount:"right"===this.fixed?e<this.columnsCount-this.rightFixedLeafCount:e<this.leftFixedLeafCount||e>=this.columnsCount-this.rightFixedLeafCount},getSpan:function(e,t,n,i){var r=1,o=1,s=this.table.spanMethod;if("function"==typeof s){var a=s({row:e,column:t,rowIndex:n,columnIndex:i});Array.isArray(a)?(r=a[0],o=a[1]):"object"===(void 0===a?"undefined":Ii(a))&&(r=a.rowspan,o=a.colspan)}return{rowspan:r,colspan:o}},getRowStyle:function(e,t){var n=this.table.rowStyle;return"function"==typeof n?n.call(null,{row:e,rowIndex:t}):n||null},getRowClass:function(e,t){var n=["el-table__row"];this.table.highlightCurrentRow&&e===this.store.states.currentRow&&n.push("current-row"),this.stripe&&t%2==1&&n.push("el-table__row--striped");var i=this.table.rowClassName;return"string"==typeof i?n.push(i):"function"==typeof i&&n.push(i.call(null,{row:e,rowIndex:t})),this.store.states.expandRows.indexOf(e)>-1&&n.push("expanded"),n},getCellStyle:function(e,t,n,i){var r=this.table.cellStyle;return"function"==typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:n,column:i}):r},getCellClass:function(e,t,n,i){var r=[i.id,i.align,i.className];this.isColumnHidden(t)&&r.push("is-hidden");var o=this.table.cellClassName;return"string"==typeof o?r.push(o):"function"==typeof o&&r.push(o.call(null,{rowIndex:e,columnIndex:t,row:n,column:i})),r.push("el-table__cell"),r.join(" ")},getColspanRealWidth:function(e,t,n){return t<1?e[n].realWidth:e.map(function(e){return e.realWidth}).slice(n,n+t).reduce(function(e,t){return e+t},-1)},handleCellMouseEnter:function(e,t){var n=this.table,i=ci(e);if(i){var r=pi(n,i),o=n.hoverState={cell:i,column:r,row:t};n.$emit("cell-mouse-enter",o.row,o.column,o.cell,e)}var s=e.target.querySelector(".cell");if(pe(s,"el-tooltip")&&s.childNodes.length){var a=document.createRange();if(a.setStart(s,0),a.setEnd(s,s.childNodes.length),(a.getBoundingClientRect().width+((parseInt(ge(s,"paddingLeft"),10)||0)+(parseInt(ge(s,"paddingRight"),10)||0))>s.offsetWidth||s.scrollWidth>s.offsetWidth)&&this.$refs.tooltip){var l=this.$refs.tooltip;this.tooltipContent=i.innerText||i.textContent,l.referenceElm=i,l.$refs.popper&&(l.$refs.popper.style.display="none"),l.doDestroy(),l.setExpectedState(!0),this.activateTooltip(l)}}},handleCellMouseLeave:function(e){var t=this.$refs.tooltip;if(t&&(t.setExpectedState(!1),t.handleClosePopper()),ci(e)){var n=this.table.hoverState||{};this.table.$emit("cell-mouse-leave",n.row,n.column,n.cell,e)}},handleMouseEnter:nt()(30,function(e){this.store.commit("setHoverRow",e)}),handleMouseLeave:nt()(30,function(){this.store.commit("setHoverRow",null)}),handleContextMenu:function(e,t){this.handleEvent(e,t,"contextmenu")},handleDoubleClick:function(e,t){this.handleEvent(e,t,"dblclick")},handleClick:function(e,t){this.store.commit("setCurrentRow",t),this.handleEvent(e,t,"click")},handleEvent:function(e,t,n){var i=this.table,r=ci(e),o=void 0;r&&(o=pi(i,r))&&i.$emit("cell-"+n,t,o,r,e),i.$emit("row-"+n,t,o,e)},rowRender:function(e,t,n){var i=this,r=this.$createElement,o=this.treeIndent,s=this.columns,a=this.firstDefaultColumnIndex,l=this.getRowClass(e,t),u=!0;return n&&(l.push("el-table__row--level-"+n.level),u=n.display),r(Pi,{style:[u?null:{display:"none"},this.getRowStyle(e,t)],class:l,key:this.getKeyOfRow(e,t),nativeOn:{dblclick:function(t){return i.handleDoubleClick(t,e)},click:function(t){return i.handleClick(t,e)},contextmenu:function(t){return i.handleContextMenu(t,e)},mouseenter:function(e){return i.handleMouseEnter(t)},mouseleave:this.handleMouseLeave},attrs:{columns:s,row:e,index:t,store:this.store,context:this.context||this.table.$vnode.context,firstDefaultColumnIndex:a,treeRowData:n,treeIndent:o,columnsHidden:this.columnsHidden,getSpan:this.getSpan,getColspanRealWidth:this.getColspanRealWidth,getCellStyle:this.getCellStyle,getCellClass:this.getCellClass,handleCellMouseEnter:this.handleCellMouseEnter,handleCellMouseLeave:this.handleCellMouseLeave,isSelected:this.store.isSelected(e),isExpanded:this.store.states.expandRows.indexOf(e)>-1,fixed:this.fixed}})},wrappedRowRender:function(e,t){var n=this,i=this.$createElement,r=this.store,o=r.isRowExpanded,s=r.assertRowKey,a=r.states,l=a.treeData,u=a.lazyTreeNodeMap,c=a.childrenColumnName,h=a.rowKey;if(this.hasExpandColumn&&o(e)){var d=this.table.renderExpanded,f=this.rowRender(e,t);return d?[[f,i("tr",{key:"expanded-row__"+f.key},[i("td",{attrs:{colspan:this.columnsCount},class:"el-table__cell el-table__expanded-cell"},[d(this.$createElement,{row:e,$index:t,store:this.store})])])]]:(console.error("[Element Error]renderExpanded is required."),f)}if(Object.keys(l).length){s();var p=mi(e,h),m=l[p],v=null;m&&(v={expanded:m.expanded,level:m.level,display:!0},"boolean"==typeof m.lazy&&("boolean"==typeof m.loaded&&m.loaded&&(v.noLazyChildren=!(m.children&&m.children.length)),v.loading=m.loading));var g=[this.rowRender(e,t,v)];if(m){var y=0;m.display=!0,function e(i,r){i&&i.length&&r&&i.forEach(function(i){var o={display:r.display&&r.expanded,level:r.level+1},s=mi(i,h);if(null==s)throw new Error("for nested data item, row-key is required.");if((m=Ai({},l[s]))&&(o.expanded=m.expanded,m.level=m.level||o.level,m.display=!(!m.expanded||!o.display),"boolean"==typeof m.lazy&&("boolean"==typeof m.loaded&&m.loaded&&(o.noLazyChildren=!(m.children&&m.children.length)),o.loading=m.loading)),y++,g.push(n.rowRender(i,t+y,o)),m){var a=u[s]||i[c];e(a,m)}})}(u[p]||e[c],m)}return g}return this.rowRender(e,t)}}},Li=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"}},[e.multiple?n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[n("div",{staticClass:"el-table-filter__content"},[n("el-scrollbar",{attrs:{"wrap-class":"el-table-filter__wrap"}},[n("el-checkbox-group",{staticClass:"el-table-filter__checkbox-group",model:{value:e.filteredValue,callback:function(t){e.filteredValue=t},expression:"filteredValue"}},e._l(e.filters,function(t){return n("el-checkbox",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.text))])}),1)],1)],1),n("div",{staticClass:"el-table-filter__bottom"},[n("button",{class:{"is-disabled":0===e.filteredValue.length},attrs:{disabled:0===e.filteredValue.length},on:{click:e.handleConfirm}},[e._v(e._s(e.t("el.table.confirmFilter")))]),n("button",{on:{click:e.handleReset}},[e._v(e._s(e.t("el.table.resetFilter")))])])]):n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[n("ul",{staticClass:"el-table-filter__list"},[n("li",{staticClass:"el-table-filter__list-item",class:{"is-active":void 0===e.filterValue||null===e.filterValue},on:{click:function(t){e.handleSelect(null)}}},[e._v(e._s(e.t("el.table.clearFilter")))]),e._l(e.filters,function(t){return n("li",{key:t.value,staticClass:"el-table-filter__list-item",class:{"is-active":e.isActive(t)},attrs:{label:t.value},on:{click:function(n){e.handleSelect(t.value)}}},[e._v(e._s(t.text))])})],2)])])};Li._withStripped=!0;var Vi=[];!h.a.prototype.$isServer&&document.addEventListener("click",function(e){Vi.forEach(function(t){var n=e.target;t&&t.$el&&(n===t.$el||t.$el.contains(n)||t.handleOutsideClick&&t.handleOutsideClick(e))})});var Bi=function(e){e&&Vi.push(e)},zi=function(e){-1!==Vi.indexOf(e)&&Vi.splice(e,1)},Ri=r({name:"ElTableFilterPanel",mixins:[Ie,Y],directives:{Clickoutside:lt},components:{ElCheckbox:Rn,ElCheckboxGroup:Gn,ElScrollbar:et},props:{placement:{type:String,default:"bottom-end"}},methods:{isActive:function(e){return e.value===this.filterValue},handleOutsideClick:function(){var e=this;setTimeout(function(){e.showPopper=!1},16)},handleConfirm:function(){this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleReset:function(){this.filteredValue=[],this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleSelect:function(e){this.filterValue=e,null!=e?this.confirmFilter(this.filteredValue):this.confirmFilter([]),this.handleOutsideClick()},confirmFilter:function(e){this.table.store.commit("filterChange",{column:this.column,values:e}),this.table.store.updateAllSelected()}},data:function(){return{table:null,cell:null,column:null}},computed:{filters:function(){return this.column&&this.column.filters},filterValue:{get:function(){return(this.column.filteredValue||[])[0]},set:function(e){this.filteredValue&&(null!=e?this.filteredValue.splice(0,1,e):this.filteredValue.splice(0,1))}},filteredValue:{get:function(){return this.column&&this.column.filteredValue||[]},set:function(e){this.column&&(this.column.filteredValue=e)}},multiple:function(){return!this.column||this.column.filterMultiple}},mounted:function(){var e=this;this.popperElm=this.$el,this.referenceElm=this.cell,this.table.bodyWrapper.addEventListener("scroll",function(){e.updatePopper()}),this.$watch("showPopper",function(t){e.column&&(e.column.filterOpened=t),t?Bi(e):zi(e)})},watch:{showPopper:function(e){!0===e&&parseInt(this.popperJS._popper.style.zIndex,10)<De.zIndex&&(this.popperJS._popper.style.zIndex=De.nextZIndex())}}},Li,[],!1,null,null,null);Ri.options.__file="packages/table/src/filter-panel.vue";var Hi=Ri.exports,ji=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Wi=function(e){var t=1;e.forEach(function(e){e.level=1,function e(n,i){if(i&&(n.level=i.level+1,t<n.level&&(t=n.level)),n.children){var r=0;n.children.forEach(function(t){e(t,n),r+=t.colSpan}),n.colSpan=r}else n.colSpan=1}(e)});for(var n=[],i=0;i<t;i++)n.push([]);return function e(t){var n=[];return t.forEach(function(t){t.children?(n.push(t),n.push.apply(n,e(t.children))):n.push(t)}),n}(e).forEach(function(e){e.children?e.rowSpan=1:e.rowSpan=t-e.level+1,n[e.level-1].push(e)}),n},qi={name:"ElTableHeader",mixins:[Ni],render:function(e){var t=this,n=this.store.states.originColumns,i=Wi(n,this.columns),r=i.length>1;return r&&(this.$parent.isGroup=!0),e("table",{class:"el-table__header",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map(function(t){return e("col",{attrs:{name:t.id},key:t.id})}),this.hasGutter?e("col",{attrs:{name:"gutter"}}):""]),e("thead",{class:[{"is-group":r,"has-gutter":this.hasGutter}]},[this._l(i,function(n,i){return e("tr",{style:t.getHeaderRowStyle(i),class:t.getHeaderRowClass(i)},[n.map(function(r,o){return e("th",{attrs:{colspan:r.colSpan,rowspan:r.rowSpan},on:{mousemove:function(e){return t.handleMouseMove(e,r)},mouseout:t.handleMouseOut,mousedown:function(e){return t.handleMouseDown(e,r)},click:function(e){return t.handleHeaderClick(e,r)},contextmenu:function(e){return t.handleHeaderContextMenu(e,r)}},style:t.getHeaderCellStyle(i,o,n,r),class:t.getHeaderCellClass(i,o,n,r),key:r.id},[e("div",{class:["cell",r.filteredValue&&r.filteredValue.length>0?"highlight":"",r.labelClassName]},[r.renderHeader?r.renderHeader.call(t._renderProxy,e,{column:r,$index:o,store:t.store,_self:t.$parent.$vnode.context}):r.label,r.sortable?e("span",{class:"caret-wrapper",on:{click:function(e){return t.handleSortClick(e,r)}}},[e("i",{class:"sort-caret ascending",on:{click:function(e){return t.handleSortClick(e,r,"ascending")}}}),e("i",{class:"sort-caret descending",on:{click:function(e){return t.handleSortClick(e,r,"descending")}}})]):"",r.filterable?e("span",{class:"el-table__column-filter-trigger",on:{click:function(e){return t.handleFilterClick(e,r)}}},[e("i",{class:["el-icon-arrow-down",r.filterOpened?"el-icon-arrow-up":""]})]):""])])}),t.hasGutter?e("th",{class:"el-table__cell gutter"}):""])})])])},props:{fixed:String,store:{required:!0},border:Boolean,defaultSort:{type:Object,default:function(){return{prop:"",order:""}}}},components:{ElCheckbox:Rn},computed:ji({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},Ti({columns:"columns",isAllSelected:"isAllSelected",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),created:function(){this.filterPanels={}},mounted:function(){var e=this;this.$nextTick(function(){var t=e.defaultSort,n=t.prop,i=t.order;e.store.commit("sort",{prop:n,order:i,init:!0})})},beforeDestroy:function(){var e=this.filterPanels;for(var t in e)e.hasOwnProperty(t)&&e[t]&&e[t].$destroy(!0)},methods:{isCellHidden:function(e,t){for(var n=0,i=0;i<e;i++)n+=t[i].colSpan;var r=n+t[e].colSpan-1;return!0===this.fixed||"left"===this.fixed?r>=this.leftFixedLeafCount:"right"===this.fixed?n<this.columnsCount-this.rightFixedLeafCount:r<this.leftFixedLeafCount||n>=this.columnsCount-this.rightFixedLeafCount},getHeaderRowStyle:function(e){var t=this.table.headerRowStyle;return"function"==typeof t?t.call(null,{rowIndex:e}):t},getHeaderRowClass:function(e){var t=[],n=this.table.headerRowClassName;return"string"==typeof n?t.push(n):"function"==typeof n&&t.push(n.call(null,{rowIndex:e})),t.join(" ")},getHeaderCellStyle:function(e,t,n,i){var r=this.table.headerCellStyle;return"function"==typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:n,column:i}):r},getHeaderCellClass:function(e,t,n,i){var r=[i.id,i.order,i.headerAlign,i.className,i.labelClassName];0===e&&this.isCellHidden(t,n)&&r.push("is-hidden"),i.children||r.push("is-leaf"),i.sortable&&r.push("is-sortable");var o=this.table.headerCellClassName;return"string"==typeof o?r.push(o):"function"==typeof o&&r.push(o.call(null,{rowIndex:e,columnIndex:t,row:n,column:i})),r.push("el-table__cell"),r.join(" ")},toggleAllSelection:function(){this.store.commit("toggleAllSelection")},handleFilterClick:function(e,t){e.stopPropagation();var n=e.target,i="TH"===n.tagName?n:n.parentNode;if(!pe(i,"noclick")){i=i.querySelector(".el-table__column-filter-trigger")||i;var r=this.$parent,o=this.filterPanels[t.id];o&&t.filterOpened?o.showPopper=!1:(o||(o=new h.a(Hi),this.filterPanels[t.id]=o,t.filterPlacement&&(o.placement=t.filterPlacement),o.table=r,o.cell=i,o.column=t,!this.$isServer&&o.$mount(document.createElement("div"))),setTimeout(function(){o.showPopper=!0},16))}},handleHeaderClick:function(e,t){!t.filters&&t.sortable?this.handleSortClick(e,t):t.filterable&&!t.sortable&&this.handleFilterClick(e,t),this.$parent.$emit("header-click",t,e)},handleHeaderContextMenu:function(e,t){this.$parent.$emit("header-contextmenu",t,e)},handleMouseDown:function(e,t){var n=this;if(!this.$isServer&&!(t.children&&t.children.length>0)&&this.draggingColumn&&this.border){this.dragging=!0,this.$parent.resizeProxyVisible=!0;var i=this.$parent,r=i.$el.getBoundingClientRect().left,o=this.$el.querySelector("th."+t.id),s=o.getBoundingClientRect(),a=s.left-r+30;me(o,"noclick"),this.dragState={startMouseLeft:e.clientX,startLeft:s.right-r,startColumnLeft:s.left-r,tableLeft:r};var l=i.$refs.resizeProxy;l.style.left=this.dragState.startLeft+"px",document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};var u=function(e){var t=e.clientX-n.dragState.startMouseLeft,i=n.dragState.startLeft+t;l.style.left=Math.max(a,i)+"px"};document.addEventListener("mousemove",u),document.addEventListener("mouseup",function r(){if(n.dragging){var s=n.dragState,a=s.startColumnLeft,c=s.startLeft,h=parseInt(l.style.left,10)-a;t.width=t.realWidth=h,i.$emit("header-dragend",t.width,c-a,t,e),n.store.scheduleLayout(),document.body.style.cursor="",n.dragging=!1,n.draggingColumn=null,n.dragState={},i.resizeProxyVisible=!1}document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",r),document.onselectstart=null,document.ondragstart=null,setTimeout(function(){ve(o,"noclick")},0)})}},handleMouseMove:function(e,t){if(!(t.children&&t.children.length>0)){for(var n=e.target;n&&"TH"!==n.tagName;)n=n.parentNode;if(t&&t.resizable&&!this.dragging&&this.border){var i=n.getBoundingClientRect(),r=document.body.style;i.width>12&&i.right-e.pageX<8?(r.cursor="col-resize",pe(n,"is-sortable")&&(n.style.cursor="col-resize"),this.draggingColumn=t):this.dragging||(r.cursor="",pe(n,"is-sortable")&&(n.style.cursor="pointer"),this.draggingColumn=null)}}},handleMouseOut:function(){this.$isServer||(document.body.style.cursor="")},toggleOrder:function(e){var t=e.order,n=e.sortOrders;if(""===t)return n[0];var i=n.indexOf(t||null);return n[i>n.length-2?0:i+1]},handleSortClick:function(e,t,n){e.stopPropagation();for(var i=t.order===n?null:n||this.toggleOrder(t),r=e.target;r&&"TH"!==r.tagName;)r=r.parentNode;if(r&&"TH"===r.tagName&&pe(r,"noclick"))ve(r,"noclick");else if(t.sortable){var o=this.store.states,s=o.sortProp,a=void 0,l=o.sortingColumn;(l!==t||l===t&&null===l.order)&&(l&&(l.order=null),o.sortingColumn=t,s=t.property),a=t.order=i||null,o.sortProp=s,o.sortOrder=a,this.store.commit("changeSortCondition")}}},data:function(){return{draggingColumn:null,dragging:!1,dragState:{}}}},Yi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ki={name:"ElTableFooter",mixins:[Ni],render:function(e){var t=this,n=[];return this.summaryMethod?n=this.summaryMethod({columns:this.columns,data:this.store.states.data}):this.columns.forEach(function(e,i){if(0!==i){var r=t.store.states.data.map(function(t){return Number(t[e.property])}),o=[],s=!0;r.forEach(function(e){if(!isNaN(e)){s=!1;var t=(""+e).split(".")[1];o.push(t?t.length:0)}});var a=Math.max.apply(null,o);n[i]=s?"":r.reduce(function(e,t){var n=Number(t);return isNaN(n)?e:parseFloat((e+t).toFixed(Math.min(a,20)))},0)}else n[i]=t.sumText}),e("table",{class:"el-table__footer",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map(function(t){return e("col",{attrs:{name:t.id},key:t.id})}),this.hasGutter?e("col",{attrs:{name:"gutter"}}):""]),e("tbody",{class:[{"has-gutter":this.hasGutter}]},[e("tr",[this.columns.map(function(i,r){return e("td",{key:r,attrs:{colspan:i.colSpan,rowspan:i.rowSpan},class:[].concat(t.getRowClasses(i,r),["el-table__cell"])},[e("div",{class:["cell",i.labelClassName]},[n[r]])])}),this.hasGutter?e("th",{class:"el-table__cell gutter"}):""])])])},props:{fixed:String,store:{required:!0},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:function(){return{prop:"",order:""}}}},computed:Yi({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},Ti({columns:"columns",isAllSelected:"isAllSelected",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),methods:{isCellHidden:function(e,t,n){if(!0===this.fixed||"left"===this.fixed)return e>=this.leftFixedLeafCount;if("right"===this.fixed){for(var i=0,r=0;r<e;r++)i+=t[r].colSpan;return i<this.columnsCount-this.rightFixedLeafCount}return!(this.fixed||!n.fixed)||(e<this.leftFixedCount||e>=this.columnsCount-this.rightFixedCount)},getRowClasses:function(e,t){var n=[e.id,e.align,e.labelClassName];return e.className&&n.push(e.className),this.isCellHidden(t,this.columns,e)&&n.push("is-hidden"),e.children||n.push("is-leaf"),n}}},Ui=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Gi=1,Xi=r({name:"ElTable",mixins:[Y,U],directives:{Mousewheel:li},props:{data:{type:Array,default:function(){return[]}},size:String,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],context:{},showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:function(){return{hasChildren:"hasChildren",children:"children"}}},lazy:Boolean,load:Function},components:{TableHeader:qi,TableFooter:Ki,TableBody:Fi,ElCheckbox:Rn},methods:{getMigratingConfig:function(){return{events:{expand:"expand is renamed to expand-change"}}},setCurrentRow:function(e){this.store.commit("setCurrentRow",e)},toggleRowSelection:function(e,t){this.store.toggleRowSelection(e,t,!1),this.store.updateAllSelected()},toggleRowExpansion:function(e,t){this.store.toggleRowExpansionAdapter(e,t)},clearSelection:function(){this.store.clearSelection()},clearFilter:function(e){this.store.clearFilter(e)},clearSort:function(){this.store.clearSort()},handleMouseLeave:function(){this.store.commit("setHoverRow",null),this.hoverState&&(this.hoverState=null)},updateScrollY:function(){this.layout.updateScrollY()&&(this.layout.notifyObservers("scrollable"),this.layout.updateColumnsWidth())},handleFixedMousewheel:function(e,t){var n=this.bodyWrapper;if(Math.abs(t.spinY)>0){var i=n.scrollTop;t.pixelY<0&&0!==i&&e.preventDefault(),t.pixelY>0&&n.scrollHeight-n.clientHeight>i&&e.preventDefault(),n.scrollTop+=Math.ceil(t.pixelY/5)}else n.scrollLeft+=Math.ceil(t.pixelX/5)},handleHeaderFooterMousewheel:function(e,t){var n=t.pixelX,i=t.pixelY;Math.abs(n)>=Math.abs(i)&&(this.bodyWrapper.scrollLeft+=t.pixelX/5)},syncPostion:function(){var e=this.bodyWrapper,t=e.scrollLeft,n=e.scrollTop,i=e.offsetWidth,r=e.scrollWidth,o=this.$refs,s=o.headerWrapper,a=o.footerWrapper,l=o.fixedBodyWrapper,u=o.rightFixedBodyWrapper;s&&(s.scrollLeft=t),a&&(a.scrollLeft=t),l&&(l.scrollTop=n),u&&(u.scrollTop=n);var c=r-i-1;this.scrollPosition=t>=c?"right":0===t?"left":"middle"},throttleSyncPostion:Object(qe.throttle)(16,function(){this.syncPostion()}),onScroll:function(e){var t=window.requestAnimationFrame;t?t(this.syncPostion):this.throttleSyncPostion()},bindEvents:function(){this.bodyWrapper.addEventListener("scroll",this.onScroll,{passive:!0}),this.fit&&Ue(this.$el,this.resizeListener)},unbindEvents:function(){this.bodyWrapper.removeEventListener("scroll",this.onScroll,{passive:!0}),this.fit&&Ge(this.$el,this.resizeListener)},resizeListener:function(){if(this.$ready){var e=!1,t=this.$el,n=this.resizeState,i=n.width,r=n.height,o=t.offsetWidth;i!==o&&(e=!0);var s=t.offsetHeight;(this.height||this.shouldUpdateHeight)&&r!==s&&(e=!0),e&&(this.resizeState.width=o,this.resizeState.height=s,this.doLayout())}},doLayout:function(){this.shouldUpdateHeight&&this.layout.updateElsHeight(),this.layout.updateColumnsWidth()},sort:function(e,t){this.store.commit("sort",{prop:e,order:t})},toggleAllSelection:function(){this.store.commit("toggleAllSelection")}},computed:Ui({tableSize:function(){return this.size||(this.$ELEMENT||{}).size},bodyWrapper:function(){return this.$refs.bodyWrapper},shouldUpdateHeight:function(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0},bodyWidth:function(){var e=this.layout,t=e.bodyWidth,n=e.scrollY,i=e.gutterWidth;return t?t-(n?i:0)+"px":""},bodyHeight:function(){var e=this.layout,t=e.headerHeight,n=void 0===t?0:t,i=e.bodyHeight,r=e.footerHeight,o=void 0===r?0:r;if(this.height)return{height:i?i+"px":""};if(this.maxHeight){var s=bi(this.maxHeight);if("number"==typeof s)return{"max-height":s-o-(this.showHeader?n:0)+"px"}}return{}},fixedBodyHeight:function(){if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+"px":""};if(this.maxHeight){var e=bi(this.maxHeight);if("number"==typeof e)return e=this.layout.scrollX?e-this.layout.gutterWidth:e,this.showHeader&&(e-=this.layout.headerHeight),{"max-height":(e-=this.layout.footerHeight)+"px"}}return{}},fixedHeight:function(){return this.maxHeight?this.showSummary?{bottom:0}:{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+"px":""}:this.showSummary?{height:this.layout.tableHeight?this.layout.tableHeight+"px":""}:{height:this.layout.viewportHeight?this.layout.viewportHeight+"px":""}},emptyBlockStyle:function(){if(this.data&&this.data.length)return null;var e="100%";return this.layout.appendHeight&&(e="calc(100% - "+this.layout.appendHeight+"px)"),{width:this.bodyWidth,height:e}}},Ti({selection:"selection",columns:"columns",tableData:"data",fixedColumns:"fixedColumns",rightFixedColumns:"rightFixedColumns"})),watch:{height:{immediate:!0,handler:function(e){this.layout.setHeight(e)}},maxHeight:{immediate:!0,handler:function(e){this.layout.setMaxHeight(e)}},currentRowKey:{immediate:!0,handler:function(e){this.rowKey&&this.store.setCurrentRowKey(e)}},data:{immediate:!0,handler:function(e){this.store.commit("setData",e)}},expandRowKeys:{immediate:!0,handler:function(e){e&&this.store.setExpandRowKeysAdapter(e)}}},created:function(){var e=this;this.tableId="el-table_"+Gi++,this.debouncedUpdateLayout=Object(qe.debounce)(50,function(){return e.doLayout()})},mounted:function(){var e=this;this.bindEvents(),this.store.updateColumns(),this.doLayout(),this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight},this.store.states.columns.forEach(function(t){t.filteredValue&&t.filteredValue.length&&e.store.commit("filterChange",{column:t,values:t.filteredValue,silent:!0})}),this.$ready=!0},destroyed:function(){this.unbindEvents()},data:function(){var e=this.treeProps,t=e.hasChildren,n=void 0===t?"hasChildren":t,i=e.children,r=void 0===i?"children":i;return this.store=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error("Table is required.");var n=new $i;return n.table=e,n.toggleAllSelection=nt()(10,n._toggleAllSelection),Object.keys(t).forEach(function(e){n.states[e]=t[e]}),n}(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll,selectOnIndeterminate:this.selectOnIndeterminate,indent:this.indent,lazy:this.lazy,lazyColumnIdentifier:n,childrenColumnName:r}),{layout:new Mi({store:this.store,table:this,fit:this.fit,showHeader:this.showHeader}),isHidden:!1,renderExpanded:null,resizeProxyVisible:!1,resizeState:{width:null,height:null},isGroup:!1,scrollPosition:"left"}}},ri,[],!1,null,null,null);Xi.options.__file="packages/table/src/table.vue";var Zi=Xi.exports;Zi.install=function(e){e.component(Zi.name,Zi)};var Ji=Zi,Qi={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:"",className:"el-table-column--selection"},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},er={selection:{renderHeader:function(e,t){var n=t.store;return e("el-checkbox",{attrs:{disabled:n.states.data&&0===n.states.data.length,indeterminate:n.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},on:{input:this.toggleAllSelection}})},renderCell:function(e,t){var n=t.row,i=t.column,r=t.isSelected,o=t.store,s=t.$index;return e("el-checkbox",{nativeOn:{click:function(e){return e.stopPropagation()}},attrs:{value:r,disabled:!!i.selectable&&!i.selectable.call(null,n,s)},on:{input:function(){o.commit("rowSelectedChanged",n)}}})},sortable:!1,resizable:!1},index:{renderHeader:function(e,t){return t.column.label||"#"},renderCell:function(e,t){var n=t.$index,i=n+1,r=t.column.index;return"number"==typeof r?i=n+r:"function"==typeof r&&(i=r(n)),e("div",[i])},sortable:!1},expand:{renderHeader:function(e,t){return t.column.label||""},renderCell:function(e,t){var n=t.row,i=t.store,r=["el-table__expand-icon"];t.isExpanded&&r.push("el-table__expand-icon--expanded");return e("div",{class:r,on:{click:function(e){e.stopPropagation(),i.toggleRowExpansion(n)}}},[e("i",{class:"el-icon el-icon-arrow-right"})])},sortable:!1,resizable:!1,className:"el-table__expand-column"}};function tr(e,t){var n=t.row,i=t.column,r=t.$index,o=i.property,s=o&&D(n,o).v;return i&&i.formatter?i.formatter(n,i,s,r):s}var nr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ir=1,rr={name:"ElTableColumn",props:{type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{},minWidth:{},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showTooltipWhenOverflow:Boolean,showOverflowTooltip:Boolean,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},index:[Number,Function],sortOrders:{type:Array,default:function(){return["ascending","descending",null]},validator:function(e){return e.every(function(e){return["ascending","descending",null].indexOf(e)>-1})}}},data:function(){return{isSubColumn:!1,columns:[]}},computed:{owner:function(){for(var e=this.$parent;e&&!e.tableId;)e=e.$parent;return e},columnOrTableParent:function(){for(var e=this.$parent;e&&!e.tableId&&!e.columnId;)e=e.$parent;return e},realWidth:function(){return yi(this.width)},realMinWidth:function(){return void 0!==(e=this.minWidth)&&(e=yi(e),isNaN(e)&&(e=80)),e;var e},realAlign:function(){return this.align?"is-"+this.align:null},realHeaderAlign:function(){return this.headerAlign?"is-"+this.headerAlign:this.realAlign}},methods:{getPropsData:function(){for(var e=this,t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.reduce(function(t,n){return Array.isArray(n)&&n.forEach(function(n){t[n]=e[n]}),t},{})},getColumnElIndex:function(e,t){return[].indexOf.call(e,t)},setColumnWidth:function(e){return this.realWidth&&(e.width=this.realWidth),this.realMinWidth&&(e.minWidth=this.realMinWidth),e.minWidth||(e.minWidth=80),e.realWidth=void 0===e.width?e.minWidth:e.width,e},setColumnForcedProps:function(e){var t=e.type,n=er[t]||{};return Object.keys(n).forEach(function(t){var i=n[t];void 0!==i&&(e[t]="className"===t?e[t]+" "+i:i)}),e},setColumnRenders:function(e){var t=this;this.$createElement;this.renderHeader?console.warn("[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):"selection"!==e.type&&(e.renderHeader=function(n,i){var r=t.$scopedSlots.header;return r?r(i):e.label});var n=e.renderCell;return"expand"===e.type?(e.renderCell=function(e,t){return e("div",{class:"cell"},[n(e,t)])},this.owner.renderExpanded=function(e,n){return t.$scopedSlots.default?t.$scopedSlots.default(n):t.$slots.default}):(n=n||tr,e.renderCell=function(i,r){var o=null;o=t.$scopedSlots.default?t.$scopedSlots.default(r):n(i,r);var s=function(e,t){var n=t.row,i=t.treeNode,r=t.store;if(!i)return null;var o=[];if(i.indent&&o.push(e("span",{class:"el-table__indent",style:{"padding-left":i.indent+"px"}})),"boolean"!=typeof i.expanded||i.noLazyChildren)o.push(e("span",{class:"el-table__placeholder"}));else{var s=["el-table__expand-icon",i.expanded?"el-table__expand-icon--expanded":""],a=["el-icon-arrow-right"];i.loading&&(a=["el-icon-loading"]),o.push(e("div",{class:s,on:{click:function(e){e.stopPropagation(),r.loadOrToggle(n)}}},[e("i",{class:a})]))}return o}(i,r),a={class:"cell",style:{}};return e.showOverflowTooltip&&(a.class+=" el-tooltip",a.style={width:(r.column.realWidth||r.column.width)-1+"px"}),i("div",a,[s,o])}),e},registerNormalWatchers:function(){var e=this,t={prop:"property",realAlign:"align",realHeaderAlign:"headerAlign",realWidth:"width"},n=["label","property","filters","filterMultiple","sortable","index","formatter","className","labelClassName","showOverflowTooltip"].reduce(function(e,t){return e[t]=t,e},t);Object.keys(n).forEach(function(n){var i=t[n];e.$watch(n,function(t){e.columnConfig[i]=t})})},registerComplexWatchers:function(){var e=this,t={realWidth:"width",realMinWidth:"minWidth"},n=["fixed"].reduce(function(e,t){return e[t]=t,e},t);Object.keys(n).forEach(function(n){var i=t[n];e.$watch(n,function(t){e.columnConfig[i]=t;var n="fixed"===i;e.owner.store.scheduleLayout(n)})})}},components:{ElCheckbox:Rn},beforeCreate:function(){this.row={},this.column={},this.$index=0,this.columnId=""},created:function(){var e=this.columnOrTableParent;this.isSubColumn=this.owner!==e,this.columnId=(e.tableId||e.columnId)+"_column_"+ir++;var t=this.type||"default",n=""===this.sortable||this.sortable,i=nr({},Qi[t],{id:this.columnId,type:t,property:this.prop||this.property,align:this.realAlign,headerAlign:this.realHeaderAlign,showOverflowTooltip:this.showOverflowTooltip||this.showTooltipWhenOverflow,filterable:this.filters||this.filterMethod,filteredValue:[],filterPlacement:"",isColumnGroup:!1,filterOpened:!1,sortable:n,index:this.index}),r=this.getPropsData(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement"]);r=function(e,t){var n={},i=void 0;for(i in e)n[i]=e[i];for(i in t)if(gi(t,i)){var r=t[i];void 0!==r&&(n[i]=r)}return n}(i,r),r=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}(this.setColumnRenders,this.setColumnWidth,this.setColumnForcedProps)(r),this.columnConfig=r,this.registerNormalWatchers(),this.registerComplexWatchers()},mounted:function(){var e=this.owner,t=this.columnOrTableParent,n=this.isSubColumn?t.$el.children:t.$refs.hiddenColumns.children,i=this.getColumnElIndex(n,this.$el);e.store.commit("insertColumn",this.columnConfig,i,this.isSubColumn?t.columnConfig:null)},destroyed:function(){if(this.$parent){var e=this.$parent;this.owner.store.commit("removeColumn",this.columnConfig,this.isSubColumn?e.columnConfig:null)}},render:function(e){return e("div",this.$slots.default)},install:function(e){e.component(rr.name,rr)}},or=rr,sr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.ranged?n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"el-date-editor el-range-editor el-input__inner",class:["el-date-editor--"+e.type,e.pickerSize?"el-range-editor--"+e.pickerSize:"",e.pickerDisabled?"is-disabled":"",e.pickerVisible?"is-active":""],on:{click:e.handleRangeClick,mouseenter:e.handleMouseEnter,mouseleave:function(t){e.showClose=!1},keydown:e.handleKeydown}},[n("i",{class:["el-input__icon","el-range__icon",e.triggerClass]}),n("input",e._b({staticClass:"el-range-input",attrs:{autocomplete:"off",placeholder:e.startPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[0]},domProps:{value:e.displayValue&&e.displayValue[0]},on:{input:e.handleStartInput,change:e.handleStartChange,focus:e.handleFocus}},"input",e.firstInputId,!1)),e._t("range-separator",[n("span",{staticClass:"el-range-separator"},[e._v(e._s(e.rangeSeparator))])]),n("input",e._b({staticClass:"el-range-input",attrs:{autocomplete:"off",placeholder:e.endPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[1]},domProps:{value:e.displayValue&&e.displayValue[1]},on:{input:e.handleEndInput,change:e.handleEndChange,focus:e.handleFocus}},"input",e.secondInputId,!1)),e.haveTrigger?n("i",{staticClass:"el-input__icon el-range__close-icon",class:[e.showClose?""+e.clearIcon:""],on:{click:e.handleClickIcon}}):e._e()],2):n("el-input",e._b({directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"el-date-editor",class:"el-date-editor--"+e.type,attrs:{readonly:!e.editable||e.readonly||"dates"===e.type||"week"===e.type||"years"===e.type||"months"===e.type,disabled:e.pickerDisabled,size:e.pickerSize,name:e.name,placeholder:e.placeholder,value:e.displayValue,validateEvent:!1},on:{focus:e.handleFocus,input:function(t){return e.userInput=t},change:e.handleChange},nativeOn:{keydown:function(t){return e.handleKeydown(t)},mouseenter:function(t){return e.handleMouseEnter(t)},mouseleave:function(t){e.showClose=!1}}},"el-input",e.firstInputId,!1),[n("i",{staticClass:"el-input__icon",class:e.triggerClass,attrs:{slot:"prefix"},on:{click:e.handleFocus},slot:"prefix"}),e.haveTrigger?n("i",{staticClass:"el-input__icon",class:[e.showClose?""+e.clearIcon:""],attrs:{slot:"suffix"},on:{click:e.handleClickIcon},slot:"suffix"}):e._e()])};sr._withStripped=!0;var ar=n(2),lr=n.n(ar),ur=["sun","mon","tue","wed","thu","fri","sat"],cr=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],hr=function(){return{dayNamesShort:ur.map(function(e){return W("el.datepicker.weeks."+e)}),dayNames:ur.map(function(e){return W("el.datepicker.weeks."+e)}),monthNamesShort:cr.map(function(e){return W("el.datepicker.months."+e)}),monthNames:cr.map(function(e,t){return W("el.datepicker.month"+(t+1))}),amPm:["am","pm"]}},dr=function(e){return null!=e&&(!isNaN(new Date(e).getTime())&&!Array.isArray(e))},fr=function(e){return e instanceof Date},pr=function(e,t){return(e=function(e){return dr(e)?new Date(e):null}(e))?lr.a.format(e,t||"yyyy-MM-dd",hr()):""},mr=function(e,t){return lr.a.parse(e,t||"yyyy-MM-dd",hr())},vr=function(e,t){return isNaN(+t)?31:new Date(e,+t+1,0).getDate()},gr=function(e){var t=new Date(e.getTime());return t.setDate(1),t.getDay()},yr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Date(e.getFullYear(),e.getMonth(),e.getDate()-t)},br=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)},_r=function(e){if(!dr(e))return null;var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var n=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-n.getTime())/864e5-3+(n.getDay()+6)%7)/7)};function wr(e,t,n,i){for(var r=t;r<n;r++)e[r]=i}var xr=function(e){return Array.apply(null,{length:e}).map(function(e,t){return t})},Cr=function(e,t,n,i){return new Date(t,n,i,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())},kr=function(e,t,n,i){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t,n,i,e.getMilliseconds())},Sr=function(e,t){return null!=e&&t?(t=mr(t,"HH:mm:ss"),kr(e,t.getHours(),t.getMinutes(),t.getSeconds())):e},Dr=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())},Er=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),0)},$r=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"HH:mm:ss";if(0===t.length)return e;var i=function(e){return lr.a.parse(lr.a.format(e,n),n)},r=i(e),o=t.map(function(e){return e.map(i)});if(o.some(function(e){return r>=e[0]&&r<=e[1]}))return e;var s=o[0][0],a=o[0][0];return o.forEach(function(e){s=new Date(Math.min(e[0],s)),a=new Date(Math.max(e[1],s))}),Cr(r<s?s:a,e.getFullYear(),e.getMonth(),e.getDate())},Tr=function(e,t,n){return $r(e,t,n).getTime()===e.getTime()},Mr=function(e,t,n){var i=Math.min(e.getDate(),vr(t,n));return Cr(e,t,n,i)},Nr=function(e){var t=e.getFullYear(),n=e.getMonth();return 0===n?Mr(e,t-1,11):Mr(e,t,n-1)},Or=function(e){var t=e.getFullYear(),n=e.getMonth();return 11===n?Mr(e,t+1,0):Mr(e,t,n+1)},Pr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=e.getFullYear(),i=e.getMonth();return Mr(e,n-t,i)},Ir=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=e.getFullYear(),i=e.getMonth();return Mr(e,n+t,i)},Ar=function(e){return e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim()},Fr=function(e){return e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g,"").trim()},Lr=function(e,t){return e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()},Vr={props:{appendToBody:Ie.props.appendToBody,offset:Ie.props.offset,boundariesPadding:Ie.props.boundariesPadding,arrowOffset:Ie.props.arrowOffset,transformOrigin:Ie.props.transformOrigin},methods:Ie.methods,data:function(){return Q({visibleArrow:!0},Ie.data)},beforeDestroy:Ie.beforeDestroy},Br={date:"yyyy-MM-dd",month:"yyyy-MM",months:"yyyy-MM",datetime:"yyyy-MM-dd HH:mm:ss",time:"HH:mm:ss",week:"yyyywWW",timerange:"HH:mm:ss",daterange:"yyyy-MM-dd",monthrange:"yyyy-MM",datetimerange:"yyyy-MM-dd HH:mm:ss",year:"yyyy",years:"yyyy"},zr=["date","datetime","time","time-select","week","month","year","daterange","monthrange","timerange","datetimerange","dates","months","years"],Rr=function(e,t){return"timestamp"===t?e.getTime():pr(e,t)},Hr=function(e,t){return"timestamp"===t?new Date(Number(e)):mr(e,t)},jr=function(e,t){if(Array.isArray(e)&&2===e.length){var n=e[0],i=e[1];if(n&&i)return[Rr(n,t),Rr(i,t)]}return""},Wr=function(e,t,n){if(Array.isArray(e)||(e=e.split(n)),2===e.length){var i=e[0],r=e[1];return[Hr(i,t),Hr(r,t)]}return[]},qr={default:{formatter:function(e){return e?""+e:""},parser:function(e){return void 0===e||""===e?null:e}},week:{formatter:function(e,t){var n=_r(e),i=e.getMonth(),r=new Date(e);1===n&&11===i&&(r.setHours(0,0,0,0),r.setDate(r.getDate()+3-(r.getDay()+6)%7));var o=pr(r,t);return o=/WW/.test(o)?o.replace(/WW/,n<10?"0"+n:n):o.replace(/W/,n)},parser:function(e,t){return qr.date.parser(e,t)}},date:{formatter:Rr,parser:Hr},datetime:{formatter:Rr,parser:Hr},daterange:{formatter:jr,parser:Wr},monthrange:{formatter:jr,parser:Wr},datetimerange:{formatter:jr,parser:Wr},timerange:{formatter:jr,parser:Wr},time:{formatter:Rr,parser:Hr},month:{formatter:Rr,parser:Hr},year:{formatter:Rr,parser:Hr},number:{formatter:function(e){return e?""+e:""},parser:function(e){var t=Number(e);return isNaN(e)?null:t}},dates:{formatter:function(e,t){return e.map(function(e){return Rr(e,t)})},parser:function(e,t){return("string"==typeof e?e.split(", "):e).map(function(e){return e instanceof Date?e:Hr(e,t)})}},months:{formatter:function(e,t){return e.map(function(e){return Rr(e,t)})},parser:function(e,t){return("string"==typeof e?e.split(", "):e).map(function(e){return e instanceof Date?e:Hr(e,t)})}},years:{formatter:function(e,t){return e.map(function(e){return Rr(e,t)})},parser:function(e,t){return("string"==typeof e?e.split(", "):e).map(function(e){return e instanceof Date?e:Hr(e,t)})}}},Yr={left:"bottom-start",center:"bottom",right:"bottom-end"},Kr=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"-";return e?(0,(qr[n]||qr.default).parser)(e,t||Br[n],i):null},Ur=function(e,t,n){return e?(0,(qr[n]||qr.default).formatter)(e,t||Br[n]):null},Gr=function(e,t){var n=function(e,t){var n=e instanceof Date,i=t instanceof Date;return n&&i?e.getTime()===t.getTime():!n&&!i&&e===t},i=e instanceof Array,r=t instanceof Array;return i&&r?e.length===t.length&&e.every(function(e,i){return n(e,t[i])}):!i&&!r&&n(e,t)},Xr=function(e){return"string"==typeof e||e instanceof String},Zr=function(e){return null==e||Xr(e)||Array.isArray(e)&&2===e.length&&e.every(Xr)},Jr=r({mixins:[l,Vr],inject:{elForm:{default:""},elFormItem:{default:""}},props:{size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:String,clearIcon:{type:String,default:"el-icon-circle-close"},name:{default:"",validator:Zr},disabled:Boolean,clearable:{type:Boolean,default:!0},id:{default:"",validator:Zr},popperClass:String,editable:{type:Boolean,default:!0},align:{type:String,default:"left"},value:{},defaultValue:{},defaultTime:{},rangeSeparator:{default:"-"},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:!0}},components:{ElInput:re},directives:{Clickoutside:lt},data:function(){return{pickerVisible:!1,showClose:!1,userInput:null,valueOnOpen:null,unwatchPickerOptions:null}},watch:{pickerVisible:function(e){this.readonly||this.pickerDisabled||(e?(this.showPicker(),this.valueOnOpen=Array.isArray(this.value)?[].concat(this.value):this.value):(this.hidePicker(),this.emitChange(this.value),this.userInput=null,this.validateEvent&&this.dispatch("ElFormItem","el.form.blur"),this.$emit("blur",this),this.blur()))},parsedValue:{immediate:!0,handler:function(e){this.picker&&(this.picker.value=e)}},defaultValue:function(e){this.picker&&(this.picker.defaultValue=e)},value:function(e,t){Gr(e,t)||this.pickerVisible||!this.validateEvent||this.dispatch("ElFormItem","el.form.change",e)}},computed:{ranged:function(){return this.type.indexOf("range")>-1},reference:function(){var e=this.$refs.reference;return e.$el||e},refInput:function(){return this.reference?[].slice.call(this.reference.querySelectorAll("input")):[]},valueIsEmpty:function(){var e=this.value;if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(e[t])return!1}else if(e)return!1;return!0},triggerClass:function(){return this.prefixIcon||(-1!==this.type.indexOf("time")?"el-icon-time":"el-icon-date")},selectionMode:function(){return"week"===this.type?"week":"month"===this.type?"month":"year"===this.type?"year":"dates"===this.type?"dates":"months"===this.type?"months":"years"===this.type?"years":"day"},haveTrigger:function(){return void 0!==this.showTrigger?this.showTrigger:-1!==zr.indexOf(this.type)},displayValue:function(){var e=Ur(this.parsedValue,this.format,this.type,this.rangeSeparator);return Array.isArray(this.userInput)?[this.userInput[0]||e&&e[0]||"",this.userInput[1]||e&&e[1]||""]:null!==this.userInput?this.userInput:e?"dates"===this.type||"years"===this.type||"months"===this.type?e.join(", "):e:""},parsedValue:function(){return this.value?"time-select"===this.type?this.value:fr(this.value)||Array.isArray(this.value)&&this.value.every(fr)?this.value:this.valueFormat?Kr(this.value,this.valueFormat,this.type,this.rangeSeparator)||this.value:Array.isArray(this.value)?this.value.map(function(e){return new Date(e)}):new Date(this.value):this.value},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},pickerSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},pickerDisabled:function(){return this.disabled||(this.elForm||{}).disabled},firstInputId:function(){var e={},t=void 0;return(t=this.ranged?this.id&&this.id[0]:this.id)&&(e.id=t),e},secondInputId:function(){var e={},t=void 0;return this.ranged&&(t=this.id&&this.id[1]),t&&(e.id=t),e}},created:function(){this.popperOptions={boundariesPadding:0,gpuAcceleration:!1},this.placement=Yr[this.align]||Yr.left,this.$on("fieldReset",this.handleFieldReset)},methods:{focus:function(){this.ranged?this.handleFocus():this.$refs.reference.focus()},blur:function(){this.refInput.forEach(function(e){return e.blur()})},parseValue:function(e){var t=fr(e)||Array.isArray(e)&&e.every(fr);return this.valueFormat&&!t&&Kr(e,this.valueFormat,this.type,this.rangeSeparator)||e},formatToValue:function(e){var t=fr(e)||Array.isArray(e)&&e.every(fr);return this.valueFormat&&t?Ur(e,this.valueFormat,this.type,this.rangeSeparator):e},parseString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return Kr(e,this.format,t)},formatToString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return Ur(e,this.format,t)},handleMouseEnter:function(){this.readonly||this.pickerDisabled||!this.valueIsEmpty&&this.clearable&&(this.showClose=!0)},handleChange:function(){if(this.userInput){var e=this.parseString(this.displayValue);e&&(this.picker.value=e,this.isValidValue(e)&&(this.emitInput(e),this.userInput=null))}""===this.userInput&&(this.emitInput(null),this.emitChange(null),this.userInput=null)},handleStartInput:function(e){this.userInput?this.userInput=[e.target.value,this.userInput[1]]:this.userInput=[e.target.value,null]},handleEndInput:function(e){this.userInput?this.userInput=[this.userInput[0],e.target.value]:this.userInput=[null,e.target.value]},handleStartChange:function(e){var t=this.parseString(this.userInput&&this.userInput[0]);if(t){this.userInput=[this.formatToString(t),this.displayValue[1]];var n=[t,this.picker.value&&this.picker.value[1]];this.picker.value=n,this.isValidValue(n)&&(this.emitInput(n),this.userInput=null)}},handleEndChange:function(e){var t=this.parseString(this.userInput&&this.userInput[1]);if(t){this.userInput=[this.displayValue[0],this.formatToString(t)];var n=[this.picker.value&&this.picker.value[0],t];this.picker.value=n,this.isValidValue(n)&&(this.emitInput(n),this.userInput=null)}},handleClickIcon:function(e){this.readonly||this.pickerDisabled||(this.showClose?(this.valueOnOpen=this.value,e.stopPropagation(),this.emitInput(null),this.emitChange(null),this.showClose=!1,this.picker&&"function"==typeof this.picker.handleClear&&this.picker.handleClear()):this.pickerVisible=!this.pickerVisible)},handleClose:function(){if(this.pickerVisible&&(this.pickerVisible=!1,"dates"===this.type||"years"===this.type||"months"===this.type)){var e=Kr(this.valueOnOpen,this.valueFormat,this.type,this.rangeSeparator)||this.valueOnOpen;this.emitInput(e)}},handleFieldReset:function(e){this.userInput=""===e?null:e},handleFocus:function(){var e=this.type;-1===zr.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},handleKeydown:function(e){var t=this,n=e.keyCode;return 27===n?(this.pickerVisible=!1,void e.stopPropagation()):9!==n?13===n?((""===this.userInput||this.isValidValue(this.parseString(this.displayValue)))&&(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur()),void e.stopPropagation()):void(this.userInput?e.stopPropagation():this.picker&&this.picker.handleKeydown&&this.picker.handleKeydown(e)):void(this.ranged?setTimeout(function(){-1===t.refInput.indexOf(document.activeElement)&&(t.pickerVisible=!1,t.blur(),e.stopPropagation())},0):(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur(),e.stopPropagation()))},handleRangeClick:function(){var e=this.type;-1===zr.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},hidePicker:function(){this.picker&&(this.picker.resetView&&this.picker.resetView(),this.pickerVisible=this.picker.visible=!1,this.destroyPopper())},showPicker:function(){var e=this;this.$isServer||(this.picker||this.mountPicker(),this.pickerVisible=this.picker.visible=!0,this.updatePopper(),this.picker.value=this.parsedValue,this.picker.resetView&&this.picker.resetView(),this.$nextTick(function(){e.picker.adjustSpinners&&e.picker.adjustSpinners()}))},mountPicker:function(){var e=this;this.picker=new h.a(this.panel).$mount(),this.picker.defaultValue=this.defaultValue,this.picker.defaultTime=this.defaultTime,this.picker.popperClass=this.popperClass,this.popperElm=this.picker.$el,this.picker.width=this.reference.getBoundingClientRect().width,this.picker.showTime="datetime"===this.type||"datetimerange"===this.type,this.picker.selectionMode=this.selectionMode,this.picker.unlinkPanels=this.unlinkPanels,this.picker.arrowControl=this.arrowControl||this.timeArrowControl||!1,this.$watch("format",function(t){e.picker.format=t});var t=function(){var t=e.pickerOptions;if(t&&t.selectableRange){var n=t.selectableRange,i=qr.datetimerange.parser,r=Br.timerange;n=Array.isArray(n)?n:[n],e.picker.selectableRange=n.map(function(t){return i(t,r,e.rangeSeparator)})}for(var o in t)t.hasOwnProperty(o)&&"selectableRange"!==o&&(e.picker[o]=t[o]);e.format&&(e.picker.format=e.format)};t(),this.unwatchPickerOptions=this.$watch("pickerOptions",function(){return t()},{deep:!0}),this.$el.appendChild(this.picker.$el),this.picker.resetView&&this.picker.resetView(),this.picker.$on("dodestroy",this.doDestroy),this.picker.$on("pick",function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.userInput=null,e.pickerVisible=e.picker.visible=n,e.emitInput(t),e.picker.resetView&&e.picker.resetView()}),this.picker.$on("select-range",function(t,n,i){0!==e.refInput.length&&(i&&"min"!==i?"max"===i&&(e.refInput[1].setSelectionRange(t,n),e.refInput[1].focus()):(e.refInput[0].setSelectionRange(t,n),e.refInput[0].focus()))})},unmountPicker:function(){this.picker&&(this.picker.$destroy(),this.picker.$off(),"function"==typeof this.unwatchPickerOptions&&this.unwatchPickerOptions(),this.picker.$el.parentNode.removeChild(this.picker.$el))},emitChange:function(e){Gr(e,this.valueOnOpen)||(this.$emit("change",e),this.valueOnOpen=e,this.validateEvent&&this.dispatch("ElFormItem","el.form.change",e))},emitInput:function(e){var t=this.formatToValue(e);Gr(this.value,t)||this.$emit("input",t)},isValidValue:function(e){return this.picker||this.mountPicker(),!this.picker.isValidValue||e&&this.picker.isValidValue(e)}}},sr,[],!1,null,null,null);Jr.options.__file="packages/date-picker/src/picker.vue";var Qr=Jr.exports,eo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-enter":e.handleEnter,"after-leave":e.handleLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts,"has-time":e.showTime},e.popperClass]},[n("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?n("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,function(t,i){return n("button",{key:i,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(n){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])}),0):e._e(),n("div",{staticClass:"el-picker-panel__body"},[e.showTime?n("div",{staticClass:"el-date-picker__time-header"},[n("span",{staticClass:"el-date-picker__editor-wrap"},[n("el-input",{attrs:{placeholder:e.t("el.datepicker.selectDate"),value:e.visibleDate,size:"small"},on:{input:function(t){return e.userInputDate=t},change:e.handleVisibleDateChange}})],1),n("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleTimePickClose,expression:"handleTimePickClose"}],staticClass:"el-date-picker__editor-wrap"},[n("el-input",{ref:"input",attrs:{placeholder:e.t("el.datepicker.selectTime"),value:e.visibleTime,size:"small"},on:{focus:function(t){e.timePickerVisible=!0},input:function(t){return e.userInputTime=t},change:e.handleVisibleTimeChange}}),n("time-picker",{ref:"timepicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.timePickerVisible},on:{pick:e.handleTimePick,mounted:e.proxyTimePickerDataProperties}})],1)]):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:"time"!==e.currentView,expression:"currentView !== 'time'"}],staticClass:"el-date-picker__header",class:{"el-date-picker__header--bordered":"year"===e.currentView||"month"===e.currentView}},[n("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left",attrs:{type:"button","aria-label":e.t("el.datepicker.prevYear")},on:{click:e.prevYear}}),n("button",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left",attrs:{type:"button","aria-label":e.t("el.datepicker.prevMonth")},on:{click:e.prevMonth}}),n("span",{staticClass:"el-date-picker__header-label",attrs:{role:"button"},on:{click:e.showYearPicker}},[e._v(e._s(e.yearLabel))]),n("span",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-date-picker__header-label",class:{active:"month"===e.currentView},attrs:{role:"button"},on:{click:e.showMonthPicker}},[e._v(e._s(e.t("el.datepicker.month"+(e.month+1))))]),n("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right",attrs:{type:"button","aria-label":e.t("el.datepicker.nextYear")},on:{click:e.nextYear}}),n("button",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right",attrs:{type:"button","aria-label":e.t("el.datepicker.nextMonth")},on:{click:e.nextMonth}})]),n("div",{staticClass:"el-picker-panel__content"},[n("date-table",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],attrs:{"selection-mode":e.selectionMode,"first-day-of-week":e.firstDayOfWeek,value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"cell-class-name":e.cellClassName,"disabled-date":e.disabledDate},on:{pick:e.handleDatePick}}),n("year-table",{directives:[{name:"show",rawName:"v-show",value:"year"===e.currentView,expression:"currentView === 'year'"}],attrs:{"selection-mode":e.selectionMode,value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"disabled-date":e.disabledDate},on:{pick:e.handleYearPick}}),n("month-table",{directives:[{name:"show",rawName:"v-show",value:"month"===e.currentView,expression:"currentView === 'month'"}],attrs:{"selection-mode":e.selectionMode,value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"disabled-date":e.disabledDate},on:{pick:e.handleMonthPick}})],1)])],2),n("div",{directives:[{name:"show",rawName:"v-show",value:e.footerVisible&&("date"===e.currentView||"month"===e.currentView||"year"===e.currentView),expression:"footerVisible && (currentView === 'date' || currentView === 'month' || currentView === 'year')"}],staticClass:"el-picker-panel__footer"},[n("el-button",{directives:[{name:"show",rawName:"v-show",value:"dates"!==e.selectionMode&&"months"!==e.selectionMode&&"years"!==e.selectionMode,expression:"selectionMode !== 'dates' && selectionMode !== 'months' && selectionMode !== 'years'"}],staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:e.changeToNow}},[e._v("\n "+e._s(e.t("el.datepicker.now"))+"\n ")]),n("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini"},on:{click:e.confirm}},[e._v("\n "+e._s(e.t("el.datepicker.confirm"))+"\n ")])],1)])])};eo._withStripped=!0;var to=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-time-panel el-popper",class:e.popperClass},[n("div",{staticClass:"el-time-panel__content",class:{"has-seconds":e.showSeconds}},[n("time-spinner",{ref:"spinner",attrs:{"arrow-control":e.useArrow,"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,date:e.date},on:{change:e.handleChange,"select-range":e.setSelectionRange}})],1),n("div",{staticClass:"el-time-panel__footer"},[n("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:e.handleCancel}},[e._v(e._s(e.t("el.datepicker.cancel")))]),n("button",{staticClass:"el-time-panel__btn",class:{confirm:!e.disabled},attrs:{type:"button"},on:{click:function(t){e.handleConfirm()}}},[e._v(e._s(e.t("el.datepicker.confirm")))])])])])};to._withStripped=!0;var no=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-time-spinner",class:{"has-seconds":e.showSeconds}},[e.arrowControl?e._e():[n("el-scrollbar",{ref:"hours",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("hours")},mousemove:function(t){e.adjustCurrentSpinner("hours")}}},e._l(e.hoursList,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:i===e.hours,disabled:t},on:{click:function(n){e.handleClick("hours",{value:i,disabled:t})}}},[e._v(e._s(("0"+(e.amPmMode?i%12||12:i)).slice(-2))+e._s(e.amPm(i)))])}),0),n("el-scrollbar",{ref:"minutes",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("minutes")},mousemove:function(t){e.adjustCurrentSpinner("minutes")}}},e._l(e.minutesList,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:i===e.minutes,disabled:!t},on:{click:function(t){e.handleClick("minutes",{value:i,disabled:!1})}}},[e._v(e._s(("0"+i).slice(-2)))])}),0),n("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.showSeconds,expression:"showSeconds"}],ref:"seconds",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("seconds")},mousemove:function(t){e.adjustCurrentSpinner("seconds")}}},e._l(60,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:i===e.seconds},on:{click:function(t){e.handleClick("seconds",{value:i,disabled:!1})}}},[e._v(e._s(("0"+i).slice(-2)))])}),0)],e.arrowControl?[n("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("hours")}}},[n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),n("ul",{ref:"hours",staticClass:"el-time-spinner__list"},e._l(e.arrowHourList,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:t===e.hours,disabled:e.hoursList[t]}},[e._v(e._s(void 0===t?"":("0"+(e.amPmMode?t%12||12:t)).slice(-2)+e.amPm(t)))])}),0)]),n("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("minutes")}}},[n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),n("ul",{ref:"minutes",staticClass:"el-time-spinner__list"},e._l(e.arrowMinuteList,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:t===e.minutes}},[e._v("\n "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n ")])}),0)]),e.showSeconds?n("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("seconds")}}},[n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),n("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),n("ul",{ref:"seconds",staticClass:"el-time-spinner__list"},e._l(e.arrowSecondList,function(t,i){return n("li",{key:i,staticClass:"el-time-spinner__item",class:{active:t===e.seconds}},[e._v("\n "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n ")])}),0)]):e._e()]:e._e()],2)};no._withStripped=!0;var io=r({components:{ElScrollbar:et},directives:{repeatClick:wn},props:{date:{},defaultValue:{},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:String,default:""}},computed:{hours:function(){return this.date.getHours()},minutes:function(){return this.date.getMinutes()},seconds:function(){return this.date.getSeconds()},hoursList:function(){return function(e){var t=[],n=[];if((e||[]).forEach(function(e){var t=e.map(function(e){return e.getHours()});n=n.concat(function(e,t){for(var n=[],i=e;i<=t;i++)n.push(i);return n}(t[0],t[1]))}),n.length)for(var i=0;i<24;i++)t[i]=-1===n.indexOf(i);else for(var r=0;r<24;r++)t[r]=!1;return t}(this.selectableRange)},minutesList:function(){return e=this.selectableRange,t=this.hours,n=new Array(60),e.length>0?e.forEach(function(e){var i=e[0],r=e[1],o=i.getHours(),s=i.getMinutes(),a=r.getHours(),l=r.getMinutes();o===t&&a!==t?wr(n,s,60,!0):o===t&&a===t?wr(n,s,l+1,!0):o!==t&&a===t?wr(n,0,l+1,!0):o<t&&a>t&&wr(n,0,60,!0)}):wr(n,0,60,!0),n;var e,t,n},arrowHourList:function(){var e=this.hours;return[e>0?e-1:void 0,e,e<23?e+1:void 0]},arrowMinuteList:function(){var e=this.minutes;return[e>0?e-1:void 0,e,e<59?e+1:void 0]},arrowSecondList:function(){var e=this.seconds;return[e>0?e-1:void 0,e,e<59?e+1:void 0]}},data:function(){return{selectableRange:[],currentScrollbar:null}},mounted:function(){var e=this;this.$nextTick(function(){!e.arrowControl&&e.bindScrollEvent()})},methods:{increase:function(){this.scrollDown(1)},decrease:function(){this.scrollDown(-1)},modifyDateField:function(e,t){switch(e){case"hours":this.$emit("change",kr(this.date,t,this.minutes,this.seconds));break;case"minutes":this.$emit("change",kr(this.date,this.hours,t,this.seconds));break;case"seconds":this.$emit("change",kr(this.date,this.hours,this.minutes,t))}},handleClick:function(e,t){var n=t.value;t.disabled||(this.modifyDateField(e,n),this.emitSelectRange(e),this.adjustSpinner(e,n))},emitSelectRange:function(e){"hours"===e?this.$emit("select-range",0,2):"minutes"===e?this.$emit("select-range",3,5):"seconds"===e&&this.$emit("select-range",6,8),this.currentScrollbar=e},bindScrollEvent:function(){var e=this,t=function(t){e.$refs[t].wrap.onscroll=function(n){e.handleScroll(t,n)}};t("hours"),t("minutes"),t("seconds")},handleScroll:function(e){var t=Math.min(Math.round((this.$refs[e].wrap.scrollTop-(.5*this.scrollBarHeight(e)-10)/this.typeItemHeight(e)+3)/this.typeItemHeight(e)),"hours"===e?23:59);this.modifyDateField(e,t)},adjustSpinners:function(){this.adjustSpinner("hours",this.hours),this.adjustSpinner("minutes",this.minutes),this.adjustSpinner("seconds",this.seconds)},adjustCurrentSpinner:function(e){this.adjustSpinner(e,this[e])},adjustSpinner:function(e,t){if(!this.arrowControl){var n=this.$refs[e].wrap;n&&(n.scrollTop=Math.max(0,t*this.typeItemHeight(e)))}},scrollDown:function(e){var t=this;this.currentScrollbar||this.emitSelectRange("hours");var n=this.currentScrollbar,i=this.hoursList,r=this[n];if("hours"===this.currentScrollbar){var o=Math.abs(e);e=e>0?1:-1;for(var s=i.length;s--&&o;)i[r=(r+e+i.length)%i.length]||o--;if(i[r])return}else r=(r+e+60)%60;this.modifyDateField(n,r),this.adjustSpinner(n,r),this.$nextTick(function(){return t.emitSelectRange(t.currentScrollbar)})},amPm:function(e){if(!("a"===this.amPmMode.toLowerCase()))return"";var t=e<12?" am":" pm";return"A"===this.amPmMode&&(t=t.toUpperCase()),t},typeItemHeight:function(e){return this.$refs[e].$el.querySelector("li").offsetHeight},scrollBarHeight:function(e){return this.$refs[e].$el.offsetHeight}}},no,[],!1,null,null,null);io.options.__file="packages/date-picker/src/basic/time-spinner.vue";var ro=io.exports,oo=r({mixins:[Y],components:{TimeSpinner:ro},props:{visible:Boolean,timeArrowControl:Boolean},watch:{visible:function(e){var t=this;e?(this.oldValue=this.value,this.$nextTick(function(){return t.$refs.spinner.emitSelectRange("hours")})):this.needInitAdjust=!0},value:function(e){var t=this,n=void 0;e instanceof Date?n=$r(e,this.selectableRange,this.format):e||(n=this.defaultValue?new Date(this.defaultValue):new Date),this.date=n,this.visible&&this.needInitAdjust&&(this.$nextTick(function(e){return t.adjustSpinners()}),this.needInitAdjust=!1)},selectableRange:function(e){this.$refs.spinner.selectableRange=e},defaultValue:function(e){dr(this.value)||(this.date=e?new Date(e):new Date)}},data:function(){return{popperClass:"",format:"HH:mm:ss",value:"",defaultValue:null,date:new Date,oldValue:new Date,selectableRange:[],selectionRange:[0,2],disabled:!1,arrowControl:!1,needInitAdjust:!0}},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},useArrow:function(){return this.arrowControl||this.timeArrowControl||!1},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},methods:{handleCancel:function(){this.$emit("pick",this.oldValue,!1)},handleChange:function(e){this.visible&&(this.date=Er(e),this.isValidValue(this.date)&&this.$emit("pick",this.date,!0))},setSelectionRange:function(e,t){this.$emit("select-range",e,t),this.selectionRange=[e,t]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];if(!t){var n=Er($r(this.date,this.selectableRange,this.format));this.$emit("pick",n,e,t)}},handleKeydown:function(e){var t=e.keyCode,n={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var i=n[t];return this.changeSelectionRange(i),void e.preventDefault()}if(38===t||40===t){var r=n[t];return this.$refs.spinner.scrollDown(r),void e.preventDefault()}},isValidValue:function(e){return Tr(e,this.selectableRange,this.format)},adjustSpinners:function(){return this.$refs.spinner.adjustSpinners()},changeSelectionRange:function(e){var t=[0,3].concat(this.showSeconds?[6]:[]),n=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),i=(t.indexOf(this.selectionRange[0])+e+t.length)%t.length;this.$refs.spinner.emitSelectRange(n[i])}},mounted:function(){var e=this;this.$nextTick(function(){return e.handleConfirm(!0,!0)}),this.$emit("mounted")}},to,[],!1,null,null,null);oo.options.__file="packages/date-picker/src/panel/time.vue";var so=oo.exports,ao=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("table",{staticClass:"el-year-table",on:{click:e.handleYearTableClick}},[n("tbody",[n("tr",[n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+0)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+1)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+1))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+2)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+2))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+3)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+3))])])]),n("tr",[n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+4)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+4))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+5)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+5))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+6)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+6))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+7)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+7))])])]),n("tr",[n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+8)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+8))])]),n("td",{staticClass:"available",class:e.getCellStyle(e.startYear+9)},[n("a",{staticClass:"cell"},[e._v(e._s(e.startYear+9))])]),n("td"),n("td")])])])};ao._withStripped=!0;var lo=r({props:{disabledDate:{},value:{},defaultValue:{validator:function(e){return null===e||e instanceof Date&&dr(e)}},date:{},selectionMode:{}},computed:{startYear:function(){return 10*Math.floor(this.date.getFullYear()/10)}},methods:{getCellStyle:function(e){var t={},n=new Date;return t.disabled="function"==typeof this.disabledDate&&function(e){var t=function(e){return e%400==0||e%100!=0&&e%4==0?366:365}(e),n=new Date(e,0,1);return xr(t).map(function(e){return br(n,e)})}(e).every(this.disabledDate),t.current=T(N(this.value),function(t){return t.getFullYear()===e})>=0,t.today=n.getFullYear()===e,t.default=this.defaultValue&&this.defaultValue.getFullYear()===e,t},handleYearTableClick:function(e){var t=e.target;if("A"===t.tagName){if(pe(t.parentNode,"disabled"))return;var n=t.textContent||t.innerText;if("years"===this.selectionMode){var i=this.value||[],r=T(i,function(e){return e.getFullYear()===Number(n)}),o=r>-1?[].concat(i.slice(0,r),i.slice(r+1)):[].concat(i,[new Date(n)]);this.$emit("pick",o)}else this.$emit("pick",Number(n))}}}},ao,[],!1,null,null,null);lo.options.__file="packages/date-picker/src/basic/year-table.vue";var uo=lo.exports,co=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("table",{staticClass:"el-month-table",on:{click:e.handleMonthTableClick,mousemove:e.handleMouseMove}},[n("tbody",e._l(e.rows,function(t,i){return n("tr",{key:i},e._l(t,function(t,i){return n("td",{key:i,class:e.getCellStyle(t)},[n("div",[n("a",{staticClass:"cell"},[e._v(e._s(e.t("el.datepicker.months."+e.months[t.text])))])])])}),0)}),0)])};co._withStripped=!0;var ho=function(e){return new Date(e.getFullYear(),e.getMonth())},fo=function(e){return"number"==typeof e||"string"==typeof e?ho(new Date(e)).getTime():e instanceof Date?ho(e).getTime():NaN},po=r({props:{disabledDate:{},value:{},selectionMode:{default:"month"},minDate:{},maxDate:{},defaultValue:{validator:function(e){return null===e||dr(e)||Array.isArray(e)&&e.every(dr)}},date:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},mixins:[Y],watch:{"rangeState.endDate":function(e){this.markRange(this.minDate,e)},minDate:function(e,t){fo(e)!==fo(t)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(e,t){fo(e)!==fo(t)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{months:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],tableRows:[[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(e,t){var n=new Date(t);return this.date.getFullYear()===n.getFullYear()&&Number(e.text)===n.getMonth()},getCellStyle:function(e){var t=this,n={},i=this.date.getFullYear(),r=new Date,o=e.text,s=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[];return n.disabled="function"==typeof this.disabledDate&&function(e,t){var n=vr(e,t),i=new Date(e,t,1);return xr(n).map(function(e){return br(i,e)})}(i,o).every(this.disabledDate),n.current=T(N(this.value),function(e){return e.getFullYear()===i&&e.getMonth()===o})>=0,n.today=r.getFullYear()===i&&r.getMonth()===o,n.default=s.some(function(n){return t.cellMatchesDate(e,n)}),e.inRange&&(n["in-range"]=!0,e.start&&(n["start-date"]=!0),e.end&&(n["end-date"]=!0)),n},getMonthOfCell:function(e){var t=this.date.getFullYear();return new Date(t,e,1)},markRange:function(e,t){e=fo(e),t=fo(t)||e;var n=[Math.min(e,t),Math.max(e,t)];e=n[0],t=n[1];for(var i=this.rows,r=0,o=i.length;r<o;r++)for(var s=i[r],a=0,l=s.length;a<l;a++){var u=s[a],c=4*r+a,h=new Date(this.date.getFullYear(),c).getTime();u.inRange=e&&h>=e&&h<=t,u.start=e&&h===e,u.end=t&&h===t}},handleMouseMove:function(e){if(this.rangeState.selecting){var t=e.target;if("A"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var n=t.parentNode.rowIndex,i=t.cellIndex;this.rows[n][i].disabled||n===this.lastRow&&i===this.lastColumn||(this.lastRow=n,this.lastColumn=i,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getMonthOfCell(4*n+i)}}))}}},handleMonthTableClick:function(e){var t=e.target;if("A"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName&&!pe(t,"disabled")){var n,i,r,o=t.cellIndex,s=4*t.parentNode.rowIndex+o,a=this.getMonthOfCell(s);if("range"===this.selectionMode)this.rangeState.selecting?(a>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:a}):this.$emit("pick",{minDate:a,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:a,maxDate:null}),this.rangeState.selecting=!0);else if("months"===this.selectionMode){var l=this.value||[],u=this.date.getFullYear(),c=T(l,function(e){return e.getFullYear()===u&&e.getMonth()===s})>=0?(n=l,(r="function"==typeof(i=function(e){return e.getTime()===a.getTime()})?T(n,i):n.indexOf(i))>=0?[].concat(n.slice(0,r),n.slice(r+1)):n):[].concat(l,[a]);this.$emit("pick",c)}else this.$emit("pick",s)}}},computed:{rows:function(){for(var e=this,t=this.tableRows,n=this.disabledDate,i=[],r=fo(new Date),o=0;o<3;o++)for(var s=t[o],a=function(t){var a=s[t];a||(a={row:o,column:t,type:"normal",inRange:!1,start:!1,end:!1}),a.type="normal";var l=4*o+t,u=new Date(e.date.getFullYear(),l).getTime();a.inRange=u>=fo(e.minDate)&&u<=fo(e.maxDate),a.start=e.minDate&&u===fo(e.minDate),a.end=e.maxDate&&u===fo(e.maxDate),u===r&&(a.type="today"),a.text=l;var c=new Date(u);a.disabled="function"==typeof n&&n(c),a.selected=M(i,function(e){return e.getTime()===c.getTime()}),e.$set(s,t,a)},l=0;l<4;l++)a(l);return t}}},co,[],!1,null,null,null);po.options.__file="packages/date-picker/src/basic/month-table.vue";var mo=po.exports,vo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("table",{staticClass:"el-date-table",class:{"is-week-mode":"week"===e.selectionMode},attrs:{cellspacing:"0",cellpadding:"0"},on:{click:e.handleClick,mousemove:e.handleMouseMove}},[n("tbody",[n("tr",[e.showWeekNumber?n("th",[e._v(e._s(e.t("el.datepicker.week")))]):e._e(),e._l(e.WEEKS,function(t,i){return n("th",{key:i},[e._v(e._s(e.t("el.datepicker.weeks."+t)))])})],2),e._l(e.rows,function(t,i){return n("tr",{key:i,staticClass:"el-date-table__row",class:{current:e.isWeekActive(t[1])}},e._l(t,function(t,i){return n("td",{key:i,class:e.getCellClasses(t)},[n("div",[n("span",[e._v("\n "+e._s(t.text)+"\n ")])])])}),0)})],2)])};vo._withStripped=!0;var go=["sun","mon","tue","wed","thu","fri","sat"],yo=function(e){return"number"==typeof e||"string"==typeof e?Dr(new Date(e)).getTime():e instanceof Date?Dr(e).getTime():NaN},bo=r({mixins:[Y],props:{firstDayOfWeek:{default:7,type:Number,validator:function(e){return e>=1&&e<=7}},value:{},defaultValue:{validator:function(e){return null===e||dr(e)||Array.isArray(e)&&e.every(dr)}},date:{},selectionMode:{default:"day"},showWeekNumber:{type:Boolean,default:!1},disabledDate:{},cellClassName:{},minDate:{},maxDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},computed:{offsetDay:function(){var e=this.firstDayOfWeek;return e>3?7-e:-e},WEEKS:function(){var e=this.firstDayOfWeek;return go.concat(go).slice(e,e+7)},year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},startDate:function(){return e=this.year,t=this.month,n=new Date(e,t,1),i=n.getDay(),yr(n,0===i?7:i);var e,t,n,i},rows:function(){var e=this,t=new Date(this.year,this.month,1),n=gr(t),i=vr(t.getFullYear(),t.getMonth()),r=vr(t.getFullYear(),0===t.getMonth()?11:t.getMonth()-1);n=0===n?7:n;for(var o=this.offsetDay,s=this.tableRows,a=1,l=this.startDate,u=this.disabledDate,c=this.cellClassName,h="dates"===this.selectionMode?N(this.value):[],d=yo(new Date),f=0;f<6;f++){var p=s[f];this.showWeekNumber&&(p[0]||(p[0]={type:"week",text:_r(br(l,7*f+1))}));for(var m=function(t){var s=p[e.showWeekNumber?t+1:t];s||(s={row:f,column:t,type:"normal",inRange:!1,start:!1,end:!1}),s.type="normal";var m=br(l,7*f+t-o).getTime();if(s.inRange=m>=yo(e.minDate)&&m<=yo(e.maxDate),s.start=e.minDate&&m===yo(e.minDate),s.end=e.maxDate&&m===yo(e.maxDate),m===d&&(s.type="today"),f>=0&&f<=1){var v=n+o<0?7+n+o:n+o;t+7*f>=v?s.text=a++:(s.text=r-(v-t%7)+1+7*f,s.type="prev-month")}else a<=i?s.text=a++:(s.text=a++-i,s.type="next-month");var g=new Date(m);s.disabled="function"==typeof u&&u(g),s.selected=M(h,function(e){return e.getTime()===g.getTime()}),s.customClass="function"==typeof c&&c(g),e.$set(p,e.showWeekNumber?t+1:t,s)},v=0;v<7;v++)m(v);if("week"===this.selectionMode){var g=this.showWeekNumber?1:0,y=this.showWeekNumber?7:6,b=this.isWeekActive(p[g+1]);p[g].inRange=b,p[g].start=b,p[y].inRange=b,p[y].end=b}}return s}},watch:{"rangeState.endDate":function(e){this.markRange(this.minDate,e)},minDate:function(e,t){yo(e)!==yo(t)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(e,t){yo(e)!==yo(t)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{tableRows:[[],[],[],[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(e,t){var n=new Date(t);return this.year===n.getFullYear()&&this.month===n.getMonth()&&Number(e.text)===n.getDate()},getCellClasses:function(e){var t=this,n=this.selectionMode,i=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[],r=[];return"normal"!==e.type&&"today"!==e.type||e.disabled?r.push(e.type):(r.push("available"),"today"===e.type&&r.push("today")),"normal"===e.type&&i.some(function(n){return t.cellMatchesDate(e,n)})&&r.push("default"),"day"!==n||"normal"!==e.type&&"today"!==e.type||!this.cellMatchesDate(e,this.value)||r.push("current"),!e.inRange||"normal"!==e.type&&"today"!==e.type&&"week"!==this.selectionMode||(r.push("in-range"),e.start&&r.push("start-date"),e.end&&r.push("end-date")),e.disabled&&r.push("disabled"),e.selected&&r.push("selected"),e.customClass&&r.push(e.customClass),r.join(" ")},getDateOfCell:function(e,t){var n=7*e+(t-(this.showWeekNumber?1:0))-this.offsetDay;return br(this.startDate,n)},isWeekActive:function(e){if("week"!==this.selectionMode)return!1;var t=new Date(this.year,this.month,1),n=t.getFullYear(),i=t.getMonth();if("prev-month"===e.type&&(t.setMonth(0===i?11:i-1),t.setFullYear(0===i?n-1:n)),"next-month"===e.type&&(t.setMonth(11===i?0:i+1),t.setFullYear(11===i?n+1:n)),t.setDate(parseInt(e.text,10)),dr(this.value)){var r=(this.value.getDay()-this.firstDayOfWeek+7)%7-1;return yr(this.value,r).getTime()===t.getTime()}return!1},markRange:function(e,t){e=yo(e),t=yo(t)||e;var n=[Math.min(e,t),Math.max(e,t)];e=n[0],t=n[1];for(var i=this.startDate,r=this.rows,o=0,s=r.length;o<s;o++)for(var a=r[o],l=0,u=a.length;l<u;l++)if(!this.showWeekNumber||0!==l){var c=a[l],h=7*o+l+(this.showWeekNumber?-1:0),d=br(i,h-this.offsetDay).getTime();c.inRange=e&&d>=e&&d<=t,c.start=e&&d===e,c.end=t&&d===t}},handleMouseMove:function(e){if(this.rangeState.selecting){var t=e.target;if("SPAN"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var n=t.parentNode.rowIndex-1,i=t.cellIndex;this.rows[n][i].disabled||n===this.lastRow&&i===this.lastColumn||(this.lastRow=n,this.lastColumn=i,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getDateOfCell(n,i)}}))}}},handleClick:function(e){var t=e.target;if("SPAN"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var n=t.parentNode.rowIndex-1,i="week"===this.selectionMode?1:t.cellIndex,r=this.rows[n][i];if(!r.disabled&&"week"!==r.type){var o,s,a,l=this.getDateOfCell(n,i);if("range"===this.selectionMode)this.rangeState.selecting?(l>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:l}):this.$emit("pick",{minDate:l,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:l,maxDate:null}),this.rangeState.selecting=!0);else if("day"===this.selectionMode)this.$emit("pick",l);else if("week"===this.selectionMode){var u=_r(l),c=l.getFullYear()+"w"+u;this.$emit("pick",{year:l.getFullYear(),week:u,value:c,date:l})}else if("dates"===this.selectionMode){var h=this.value||[],d=r.selected?(o=h,(a="function"==typeof(s=function(e){return e.getTime()===l.getTime()})?T(o,s):o.indexOf(s))>=0?[].concat(o.slice(0,a),o.slice(a+1)):o):[].concat(h,[l]);this.$emit("pick",d)}}}}}},vo,[],!1,null,null,null);bo.options.__file="packages/date-picker/src/basic/date-table.vue";var _o=bo.exports,wo=r({mixins:[Y],directives:{Clickoutside:lt},watch:{showTime:function(e){var t=this;e&&this.$nextTick(function(e){var n=t.$refs.input.$el;n&&(t.pickerWidth=n.getBoundingClientRect().width+10)})},value:function(e){"dates"===this.selectionMode&&this.value||"months"===this.selectionMode&&this.value||"years"===this.selectionMode&&this.value||(dr(e)?this.date=new Date(e):this.date=this.getDefaultValue())},defaultValue:function(e){dr(this.value)||(this.date=e?new Date(e):new Date)},timePickerVisible:function(e){var t=this;e&&this.$nextTick(function(){return t.$refs.timepicker.adjustSpinners()})},selectionMode:function(e){"month"===e?"year"===this.currentView&&"month"===this.currentView||(this.currentView="month"):"dates"===e?this.currentView="date":"years"===e?this.currentView="year":"months"===e&&(this.currentView="month")}},methods:{proxyTimePickerDataProperties:function(){var e,t=this,n=function(e){t.$refs.timepicker.value=e},i=function(e){t.$refs.timepicker.date=e},r=function(e){t.$refs.timepicker.selectableRange=e};this.$watch("value",n),this.$watch("date",i),this.$watch("selectableRange",r),e=this.timeFormat,t.$refs.timepicker.format=e,n(this.value),i(this.date),r(this.selectableRange)},handleClear:function(){this.date=this.getDefaultValue(),this.$emit("pick",null)},emit:function(e){for(var t=this,n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];if(e)if(Array.isArray(e)){var o=e.map(function(e){return t.showTime?Er(e):Dr(e)});this.$emit.apply(this,["pick",o].concat(i))}else this.$emit.apply(this,["pick",this.showTime?Er(e):Dr(e)].concat(i));else this.$emit.apply(this,["pick",e].concat(i));this.userInputDate=null,this.userInputTime=null},showMonthPicker:function(){this.currentView="month"},showYearPicker:function(){this.currentView="year"},prevMonth:function(){this.date=Nr(this.date)},nextMonth:function(){this.date=Or(this.date)},prevYear:function(){"year"===this.currentView?this.date=Pr(this.date,10):this.date=Pr(this.date)},nextYear:function(){"year"===this.currentView?this.date=Ir(this.date,10):this.date=Ir(this.date)},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},handleTimePick:function(e,t,n){if(dr(e)){var i=this.value?kr(this.value,e.getHours(),e.getMinutes(),e.getSeconds()):Sr(this.getDefaultValue(),this.defaultTime);this.date=i,this.emit(this.date,!0)}else this.emit(e,!0);n||(this.timePickerVisible=t)},handleTimePickClose:function(){this.timePickerVisible=!1},handleMonthPick:function(e){"month"===this.selectionMode?(this.date=Cr(this.date,this.year,e,1),this.emit(this.date)):"months"===this.selectionMode?this.emit(e,!0):(this.date=Mr(this.date,this.year,e),this.currentView="date")},handleDatePick:function(e){if("day"===this.selectionMode){var t=this.value?Cr(this.value,e.getFullYear(),e.getMonth(),e.getDate()):Sr(e,this.defaultTime);this.checkDateWithinRange(t)||(t=Cr(this.selectableRange[0][0],e.getFullYear(),e.getMonth(),e.getDate())),this.date=t,this.emit(this.date,this.showTime)}else"week"===this.selectionMode?this.emit(e.date):"dates"===this.selectionMode&&this.emit(e,!0)},handleYearPick:function(e){"year"===this.selectionMode?(this.date=Cr(this.date,e,0,1),this.emit(this.date)):"years"===this.selectionMode?this.emit(e,!0):(this.date=Mr(this.date,e,this.month),this.currentView="month")},changeToNow:function(){this.disabledDate&&this.disabledDate(new Date)||!this.checkDateWithinRange(new Date)||(this.date=new Date,this.emit(this.date))},confirm:function(){if("dates"===this.selectionMode||"months"===this.selectionMode||"years"===this.selectionMode)this.emit(this.value);else{var e=this.value?this.value:Sr(this.getDefaultValue(),this.defaultTime);this.date=new Date(e),this.emit(e)}},resetView:function(){"month"===this.selectionMode||"months"===this.selectionMode?this.currentView="month":"year"===this.selectionMode||"years"===this.selectionMode?this.currentView="year":this.currentView="date"},handleEnter:function(){document.body.addEventListener("keydown",this.handleKeydown)},handleLeave:function(){this.$emit("dodestroy"),document.body.removeEventListener("keydown",this.handleKeydown)},handleKeydown:function(e){var t=e.keyCode;this.visible&&!this.timePickerVisible&&(-1!==[38,40,37,39].indexOf(t)&&(this.handleKeyControl(t),e.stopPropagation(),e.preventDefault()),13===t&&null===this.userInputDate&&null===this.userInputTime&&this.emit(this.date,!1))},handleKeyControl:function(e){for(var t={year:{38:-4,40:4,37:-1,39:1,offset:function(e,t){return e.setFullYear(e.getFullYear()+t)}},month:{38:-4,40:4,37:-1,39:1,offset:function(e,t){return e.setMonth(e.getMonth()+t)}},week:{38:-1,40:1,37:-1,39:1,offset:function(e,t){return e.setDate(e.getDate()+7*t)}},day:{38:-7,40:7,37:-1,39:1,offset:function(e,t){return e.setDate(e.getDate()+t)}}},n=this.selectionMode,i=this.date.getTime(),r=new Date(this.date.getTime());Math.abs(i-r.getTime())<=31536e6;){var o=t[n];if(o.offset(r,o[e]),"function"!=typeof this.disabledDate||!this.disabledDate(r)){this.date=r,this.$emit("pick",r,!0);break}}},handleVisibleTimeChange:function(e){var t=mr(e,this.timeFormat);t&&this.checkDateWithinRange(t)&&(this.date=Cr(t,this.year,this.month,this.monthDate),this.userInputTime=null,this.$refs.timepicker.value=this.date,this.timePickerVisible=!1,this.emit(this.date,!0))},handleVisibleDateChange:function(e){var t=mr(e,this.dateFormat);if(t){if("function"==typeof this.disabledDate&&this.disabledDate(t))return;this.date=kr(t,this.date.getHours(),this.date.getMinutes(),this.date.getSeconds()),this.userInputDate=null,this.resetView(),this.emit(this.date,!0)}},isValidValue:function(e){return e&&!isNaN(e)&&("function"!=typeof this.disabledDate||!this.disabledDate(e))&&this.checkDateWithinRange(e)},getDefaultValue:function(){return this.defaultValue?new Date(this.defaultValue):new Date},checkDateWithinRange:function(e){return!(this.selectableRange.length>0)||Tr(e,this.selectableRange,this.format||"HH:mm:ss")}},components:{TimePicker:so,YearTable:uo,MonthTable:mo,DateTable:_o,ElInput:re,ElButton:Mt},data:function(){return{popperClass:"",date:new Date,value:"",defaultValue:null,defaultTime:null,showTime:!1,selectionMode:"day",shortcuts:"",visible:!1,currentView:"date",disabledDate:"",cellClassName:"",selectableRange:[],firstDayOfWeek:7,showWeekNumber:!1,timePickerVisible:!1,format:"",arrowControl:!1,userInputDate:null,userInputTime:null}},computed:{year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},week:function(){return _r(this.date)},monthDate:function(){return this.date.getDate()},footerVisible:function(){return this.showTime||"dates"===this.selectionMode||"months"===this.selectionMode||"years"===this.selectionMode},visibleTime:function(){return null!==this.userInputTime?this.userInputTime:pr(this.value||this.defaultValue,this.timeFormat)},visibleDate:function(){return null!==this.userInputDate?this.userInputDate:pr(this.value||this.defaultValue,this.dateFormat)},yearLabel:function(){var e=this.t("el.datepicker.year");if("year"===this.currentView){var t=10*Math.floor(this.year/10);return e?t+" "+e+" - "+(t+9)+" "+e:t+" - "+(t+9)}return this.year+" "+e},timeFormat:function(){return this.format?Fr(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Ar(this.format):"yyyy-MM-dd"}}},eo,[],!1,null,null,null);wo.options.__file="packages/date-picker/src/panel/date.vue";var xo=wo.exports,Co=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts,"has-time":e.showTime},e.popperClass]},[n("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?n("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,function(t,i){return n("button",{key:i,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(n){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])}),0):e._e(),n("div",{staticClass:"el-picker-panel__body"},[e.showTime?n("div",{staticClass:"el-date-range-picker__time-header"},[n("span",{staticClass:"el-date-range-picker__editors-wrap"},[n("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[n("el-input",{ref:"minInput",staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.startDate"),value:e.minVisibleDate},on:{input:function(t){return e.handleDateInput(t,"min")},change:function(t){return e.handleDateChange(t,"min")}}})],1),n("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleMinTimeClose,expression:"handleMinTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[n("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.startTime"),value:e.minVisibleTime},on:{focus:function(t){e.minTimePickerVisible=!0},input:function(t){return e.handleTimeInput(t,"min")},change:function(t){return e.handleTimeChange(t,"min")}}}),n("time-picker",{ref:"minTimePicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.minTimePickerVisible},on:{pick:e.handleMinTimePick,mounted:function(t){e.$refs.minTimePicker.format=e.timeFormat}}})],1)]),n("span",{staticClass:"el-icon-arrow-right"}),n("span",{staticClass:"el-date-range-picker__editors-wrap is-right"},[n("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[n("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.endDate"),value:e.maxVisibleDate,readonly:!e.minDate},on:{input:function(t){return e.handleDateInput(t,"max")},change:function(t){return e.handleDateChange(t,"max")}}})],1),n("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleMaxTimeClose,expression:"handleMaxTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[n("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.endTime"),value:e.maxVisibleTime,readonly:!e.minDate},on:{focus:function(t){e.minDate&&(e.maxTimePickerVisible=!0)},input:function(t){return e.handleTimeInput(t,"max")},change:function(t){return e.handleTimeChange(t,"max")}}}),n("time-picker",{ref:"maxTimePicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.maxTimePickerVisible},on:{pick:e.handleMaxTimePick,mounted:function(t){e.$refs.maxTimePicker.format=e.timeFormat}}})],1)])]):e._e(),n("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[n("div",{staticClass:"el-date-range-picker__header"},[n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevYear}}),n("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevMonth}}),e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.leftNextYear}}):e._e(),e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",class:{"is-disabled":!e.enableMonthArrow},attrs:{type:"button",disabled:!e.enableMonthArrow},on:{click:e.leftNextMonth}}):e._e(),n("div",[e._v(e._s(e.leftLabel))])]),n("date-table",{attrs:{"selection-mode":"range",date:e.leftDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate,"cell-class-name":e.cellClassName,"first-day-of-week":e.firstDayOfWeek},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1),n("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[n("div",{staticClass:"el-date-range-picker__header"},[e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.rightPrevYear}}):e._e(),e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",class:{"is-disabled":!e.enableMonthArrow},attrs:{type:"button",disabled:!e.enableMonthArrow},on:{click:e.rightPrevMonth}}):e._e(),n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:e.rightNextYear}}),n("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",attrs:{type:"button"},on:{click:e.rightNextMonth}}),n("div",[e._v(e._s(e.rightLabel))])]),n("date-table",{attrs:{"selection-mode":"range",date:e.rightDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate,"cell-class-name":e.cellClassName,"first-day-of-week":e.firstDayOfWeek},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1)])],2),e.showTime?n("div",{staticClass:"el-picker-panel__footer"},[n("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:e.handleClear}},[e._v("\n "+e._s(e.t("el.datepicker.clear"))+"\n ")]),n("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini",disabled:e.btnDisabled},on:{click:function(t){e.handleConfirm(!1)}}},[e._v("\n "+e._s(e.t("el.datepicker.confirm"))+"\n ")])],1):e._e()])])};Co._withStripped=!0;var ko=function(e){return Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),br(new Date(e),1)]:[new Date,br(new Date,1)]},So=r({mixins:[Y],directives:{Clickoutside:lt},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.leftDate.getMonth()+1))},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.rightDate.getMonth()+1))},leftYear:function(){return this.leftDate.getFullYear()},leftMonth:function(){return this.leftDate.getMonth()},leftMonthDate:function(){return this.leftDate.getDate()},rightYear:function(){return this.rightDate.getFullYear()},rightMonth:function(){return this.rightDate.getMonth()},rightMonthDate:function(){return this.rightDate.getDate()},minVisibleDate:function(){return null!==this.dateUserInput.min?this.dateUserInput.min:this.minDate?pr(this.minDate,this.dateFormat):""},maxVisibleDate:function(){return null!==this.dateUserInput.max?this.dateUserInput.max:this.maxDate||this.minDate?pr(this.maxDate||this.minDate,this.dateFormat):""},minVisibleTime:function(){return null!==this.timeUserInput.min?this.timeUserInput.min:this.minDate?pr(this.minDate,this.timeFormat):""},maxVisibleTime:function(){return null!==this.timeUserInput.max?this.timeUserInput.max:this.maxDate||this.minDate?pr(this.maxDate||this.minDate,this.timeFormat):""},timeFormat:function(){return this.format?Fr(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Ar(this.format):"yyyy-MM-dd"},enableMonthArrow:function(){var e=(this.leftMonth+1)%12,t=this.leftMonth+1>=12?1:0;return this.unlinkPanels&&new Date(this.leftYear+t,e)<new Date(this.rightYear,this.rightMonth)},enableYearArrow:function(){return this.unlinkPanels&&12*this.rightYear+this.rightMonth-(12*this.leftYear+this.leftMonth+1)>=12}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Or(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},showTime:!1,shortcuts:"",visible:"",disabledDate:"",cellClassName:"",firstDayOfWeek:7,minTimePickerVisible:!1,maxTimePickerVisible:!1,format:"",arrowControl:!1,unlinkPanels:!1,dateUserInput:{min:null,max:null},timeUserInput:{min:null,max:null}}},watch:{minDate:function(e){var t=this;this.dateUserInput.min=null,this.timeUserInput.min=null,this.$nextTick(function(){if(t.$refs.maxTimePicker&&t.maxDate&&t.maxDate<t.minDate){t.$refs.maxTimePicker.selectableRange=[[mr(pr(t.minDate,"HH:mm:ss"),"HH:mm:ss"),mr("23:59:59","HH:mm:ss")]]}}),e&&this.$refs.minTimePicker&&(this.$refs.minTimePicker.date=e,this.$refs.minTimePicker.value=e)},maxDate:function(e){this.dateUserInput.max=null,this.timeUserInput.max=null,e&&this.$refs.maxTimePicker&&(this.$refs.maxTimePicker.date=e,this.$refs.maxTimePicker.value=e)},minTimePickerVisible:function(e){var t=this;e&&this.$nextTick(function(){t.$refs.minTimePicker.date=t.minDate,t.$refs.minTimePicker.value=t.minDate,t.$refs.minTimePicker.adjustSpinners()})},maxTimePickerVisible:function(e){var t=this;e&&this.$nextTick(function(){t.$refs.maxTimePicker.date=t.maxDate,t.$refs.maxTimePicker.value=t.maxDate,t.$refs.maxTimePicker.adjustSpinners()})},value:function(e){if(e){if(Array.isArray(e))if(this.minDate=dr(e[0])?new Date(e[0]):null,this.maxDate=dr(e[1])?new Date(e[1]):null,this.minDate)if(this.leftDate=this.minDate,this.unlinkPanels&&this.maxDate){var t=this.minDate.getFullYear(),n=this.minDate.getMonth(),i=this.maxDate.getFullYear(),r=this.maxDate.getMonth();this.rightDate=t===i&&n===r?Or(this.maxDate):this.maxDate}else this.rightDate=Or(this.leftDate);else this.leftDate=ko(this.defaultValue)[0],this.rightDate=Or(this.leftDate)}else this.minDate=null,this.maxDate=null},defaultValue:function(e){if(!Array.isArray(this.value)){var t=ko(e),n=t[0],i=t[1];this.leftDate=n,this.rightDate=e&&e[1]&&this.unlinkPanels?i:Or(this.leftDate)}}},methods:{handleClear:function(){this.minDate=null,this.maxDate=null,this.leftDate=ko(this.defaultValue)[0],this.rightDate=Or(this.leftDate),this.$emit("pick",null)},handleChangeRange:function(e){this.minDate=e.minDate,this.maxDate=e.maxDate,this.rangeState=e.rangeState},handleDateInput:function(e,t){if(this.dateUserInput[t]=e,e.length===this.dateFormat.length){var n=mr(e,this.dateFormat);if(n){if("function"==typeof this.disabledDate&&this.disabledDate(new Date(n)))return;"min"===t?(this.minDate=Cr(this.minDate||new Date,n.getFullYear(),n.getMonth(),n.getDate()),this.leftDate=new Date(n),this.unlinkPanels||(this.rightDate=Or(this.leftDate))):(this.maxDate=Cr(this.maxDate||new Date,n.getFullYear(),n.getMonth(),n.getDate()),this.rightDate=new Date(n),this.unlinkPanels||(this.leftDate=Nr(n)))}}},handleDateChange:function(e,t){var n=mr(e,this.dateFormat);n&&("min"===t?(this.minDate=Cr(this.minDate,n.getFullYear(),n.getMonth(),n.getDate()),this.minDate>this.maxDate&&(this.maxDate=this.minDate)):(this.maxDate=Cr(this.maxDate,n.getFullYear(),n.getMonth(),n.getDate()),this.maxDate<this.minDate&&(this.minDate=this.maxDate)))},handleTimeInput:function(e,t){var n=this;if(this.timeUserInput[t]=e,e.length===this.timeFormat.length){var i=mr(e,this.timeFormat);i&&("min"===t?(this.minDate=kr(this.minDate,i.getHours(),i.getMinutes(),i.getSeconds()),this.$nextTick(function(e){return n.$refs.minTimePicker.adjustSpinners()})):(this.maxDate=kr(this.maxDate,i.getHours(),i.getMinutes(),i.getSeconds()),this.$nextTick(function(e){return n.$refs.maxTimePicker.adjustSpinners()})))}},handleTimeChange:function(e,t){var n=mr(e,this.timeFormat);n&&("min"===t?(this.minDate=kr(this.minDate,n.getHours(),n.getMinutes(),n.getSeconds()),this.minDate>this.maxDate&&(this.maxDate=this.minDate),this.$refs.minTimePicker.value=this.minDate,this.minTimePickerVisible=!1):(this.maxDate=kr(this.maxDate,n.getHours(),n.getMinutes(),n.getSeconds()),this.maxDate<this.minDate&&(this.minDate=this.maxDate),this.$refs.maxTimePicker.value=this.minDate,this.maxTimePickerVisible=!1))},handleRangePick:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.defaultTime||[],r=Sr(e.minDate,i[0]),o=Sr(e.maxDate,i[1]);this.maxDate===o&&this.minDate===r||(this.onPick&&this.onPick(e),this.maxDate=o,this.minDate=r,setTimeout(function(){t.maxDate=o,t.minDate=r},10),n&&!this.showTime&&this.handleConfirm())},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},handleMinTimePick:function(e,t,n){this.minDate=this.minDate||new Date,e&&(this.minDate=kr(this.minDate,e.getHours(),e.getMinutes(),e.getSeconds())),n||(this.minTimePickerVisible=t),(!this.maxDate||this.maxDate&&this.maxDate.getTime()<this.minDate.getTime())&&(this.maxDate=new Date(this.minDate))},handleMinTimeClose:function(){this.minTimePickerVisible=!1},handleMaxTimePick:function(e,t,n){this.maxDate&&e&&(this.maxDate=kr(this.maxDate,e.getHours(),e.getMinutes(),e.getSeconds())),n||(this.maxTimePickerVisible=t),this.maxDate&&this.minDate&&this.minDate.getTime()>this.maxDate.getTime()&&(this.minDate=new Date(this.maxDate))},handleMaxTimeClose:function(){this.maxTimePickerVisible=!1},leftPrevYear:function(){this.leftDate=Pr(this.leftDate),this.unlinkPanels||(this.rightDate=Or(this.leftDate))},leftPrevMonth:function(){this.leftDate=Nr(this.leftDate),this.unlinkPanels||(this.rightDate=Or(this.leftDate))},rightNextYear:function(){this.unlinkPanels?this.rightDate=Ir(this.rightDate):(this.leftDate=Ir(this.leftDate),this.rightDate=Or(this.leftDate))},rightNextMonth:function(){this.unlinkPanels?this.rightDate=Or(this.rightDate):(this.leftDate=Or(this.leftDate),this.rightDate=Or(this.leftDate))},leftNextYear:function(){this.leftDate=Ir(this.leftDate)},leftNextMonth:function(){this.leftDate=Or(this.leftDate)},rightPrevYear:function(){this.rightDate=Pr(this.rightDate)},rightPrevMonth:function(){this.rightDate=Nr(this.rightDate)},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],e)},isValidValue:function(e){return Array.isArray(e)&&e&&e[0]&&e[1]&&dr(e[0])&&dr(e[1])&&e[0].getTime()<=e[1].getTime()&&("function"!=typeof this.disabledDate||!this.disabledDate(e[0])&&!this.disabledDate(e[1]))},resetView:function(){this.minDate&&null==this.maxDate&&(this.rangeState.selecting=!1),this.minDate=this.value&&dr(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&dr(this.value[0])?new Date(this.value[1]):null}},components:{TimePicker:so,DateTable:_o,ElInput:re,ElButton:Mt}},Co,[],!1,null,null,null);So.options.__file="packages/date-picker/src/panel/date-range.vue";var Do=So.exports,Eo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts},e.popperClass]},[n("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?n("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,function(t,i){return n("button",{key:i,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(n){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])}),0):e._e(),n("div",{staticClass:"el-picker-panel__body"},[n("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[n("div",{staticClass:"el-date-range-picker__header"},[n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevYear}}),e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.leftNextYear}}):e._e(),n("div",[e._v(e._s(e.leftLabel))])]),n("month-table",{attrs:{"selection-mode":"range",date:e.leftDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1),n("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[n("div",{staticClass:"el-date-range-picker__header"},[e.unlinkPanels?n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.rightPrevYear}}):e._e(),n("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:e.rightNextYear}}),n("div",[e._v(e._s(e.rightLabel))])]),n("month-table",{attrs:{"selection-mode":"range",date:e.rightDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1)])],2)])])};Eo._withStripped=!0;var $o=function(e){return Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),Or(new Date(e))]:[new Date,Or(new Date)]},To=r({mixins:[Y],directives:{Clickoutside:lt},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")},leftYear:function(){return this.leftDate.getFullYear()},rightYear:function(){return this.rightDate.getFullYear()===this.leftDate.getFullYear()?this.leftDate.getFullYear()+1:this.rightDate.getFullYear()},enableYearArrow:function(){return this.unlinkPanels&&this.rightYear>this.leftYear+1}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Ir(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},shortcuts:"",visible:"",disabledDate:"",format:"",arrowControl:!1,unlinkPanels:!1}},watch:{value:function(e){if(e){if(Array.isArray(e))if(this.minDate=dr(e[0])?new Date(e[0]):null,this.maxDate=dr(e[1])?new Date(e[1]):null,this.minDate)if(this.leftDate=this.minDate,this.unlinkPanels&&this.maxDate){var t=this.minDate.getFullYear(),n=this.maxDate.getFullYear();this.rightDate=t===n?Ir(this.maxDate):this.maxDate}else this.rightDate=Ir(this.leftDate);else this.leftDate=$o(this.defaultValue)[0],this.rightDate=Ir(this.leftDate)}else this.minDate=null,this.maxDate=null},defaultValue:function(e){if(!Array.isArray(this.value)){var t=$o(e),n=t[0],i=t[1];this.leftDate=n,this.rightDate=e&&e[1]&&n.getFullYear()!==i.getFullYear()&&this.unlinkPanels?i:Ir(this.leftDate)}}},methods:{handleClear:function(){this.minDate=null,this.maxDate=null,this.leftDate=$o(this.defaultValue)[0],this.rightDate=Ir(this.leftDate),this.$emit("pick",null)},handleChangeRange:function(e){this.minDate=e.minDate,this.maxDate=e.maxDate,this.rangeState=e.rangeState},handleRangePick:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.defaultTime||[],r=Sr(e.minDate,i[0]),o=Sr(e.maxDate,i[1]);this.maxDate===o&&this.minDate===r||(this.onPick&&this.onPick(e),this.maxDate=o,this.minDate=r,setTimeout(function(){t.maxDate=o,t.minDate=r},10),n&&this.handleConfirm())},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},leftPrevYear:function(){this.leftDate=Pr(this.leftDate),this.unlinkPanels||(this.rightDate=Pr(this.rightDate))},rightNextYear:function(){this.unlinkPanels||(this.leftDate=Ir(this.leftDate)),this.rightDate=Ir(this.rightDate)},leftNextYear:function(){this.leftDate=Ir(this.leftDate)},rightPrevYear:function(){this.rightDate=Pr(this.rightDate)},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],e)},isValidValue:function(e){return Array.isArray(e)&&e&&e[0]&&e[1]&&dr(e[0])&&dr(e[1])&&e[0].getTime()<=e[1].getTime()&&("function"!=typeof this.disabledDate||!this.disabledDate(e[0])&&!this.disabledDate(e[1]))},resetView:function(){this.minDate=this.value&&dr(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&dr(this.value[0])?new Date(this.value[1]):null}},components:{MonthTable:mo,ElInput:re,ElButton:Mt}},Eo,[],!1,null,null,null);To.options.__file="packages/date-picker/src/panel/month-range.vue";var Mo=To.exports,No=function(e){return"daterange"===e||"datetimerange"===e?Do:"monthrange"===e?Mo:xo},Oo={mixins:[Qr],name:"ElDatePicker",props:{type:{type:String,default:"date"},timeArrowControl:Boolean},watch:{type:function(e){this.picker?(this.unmountPicker(),this.panel=No(e),this.mountPicker()):this.panel=No(e)}},created:function(){this.panel=No(this.type)},install:function(e){e.component(Oo.name,Oo)}},Po=Oo,Io=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":e.handleMenuEnter,"after-leave":function(t){e.$emit("dodestroy")}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],ref:"popper",staticClass:"el-picker-panel time-select el-popper",class:e.popperClass,style:{width:e.width+"px"}},[n("el-scrollbar",{attrs:{noresize:"","wrap-class":"el-picker-panel__content"}},e._l(e.items,function(t){return n("div",{key:t.value,staticClass:"time-select-item",class:{selected:e.value===t.value,disabled:t.disabled,default:t.value===e.defaultValue},attrs:{disabled:t.disabled},on:{click:function(n){e.handleClick(t)}}},[e._v(e._s(t.value))])}),0)],1)])};Io._withStripped=!0;var Ao=function(e){var t=(e||"").split(":");return t.length>=2?{hours:parseInt(t[0],10),minutes:parseInt(t[1],10)}:null},Fo=function(e,t){var n=Ao(e),i=Ao(t),r=n.minutes+60*n.hours,o=i.minutes+60*i.hours;return r===o?0:r>o?1:-1},Lo=function(e,t){var n=Ao(e),i=Ao(t),r={hours:n.hours,minutes:n.minutes};return r.minutes+=i.minutes,r.hours+=i.hours,r.hours+=Math.floor(r.minutes/60),r.minutes=r.minutes%60,function(e){return(e.hours<10?"0"+e.hours:e.hours)+":"+(e.minutes<10?"0"+e.minutes:e.minutes)}(r)},Vo=r({components:{ElScrollbar:et},watch:{value:function(e){var t=this;e&&this.$nextTick(function(){return t.scrollToOption()})}},methods:{handleClick:function(e){e.disabled||this.$emit("pick",e.value)},handleClear:function(){this.$emit("pick",null)},scrollToOption:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".selected",t=this.$refs.popper.querySelector(".el-picker-panel__content");ut(t,t.querySelector(e))},handleMenuEnter:function(){var e=this,t=-1!==this.items.map(function(e){return e.value}).indexOf(this.value),n=-1!==this.items.map(function(e){return e.value}).indexOf(this.defaultValue),i=(t?".selected":n&&".default")||".time-select-item:not(.disabled)";this.$nextTick(function(){return e.scrollToOption(i)})},scrollDown:function(e){for(var t=this.items,n=t.length,i=t.length,r=t.map(function(e){return e.value}).indexOf(this.value);i--;)if(!t[r=(r+e+n)%n].disabled)return void this.$emit("pick",t[r].value,!0)},isValidValue:function(e){return-1!==this.items.filter(function(e){return!e.disabled}).map(function(e){return e.value}).indexOf(e)},handleKeydown:function(e){var t=e.keyCode;if(38===t||40===t){var n={40:1,38:-1}[t.toString()];return this.scrollDown(n),void e.stopPropagation()}}},data:function(){return{popperClass:"",start:"09:00",end:"18:00",step:"00:30",value:"",defaultValue:"",visible:!1,minTime:"",maxTime:"",width:0}},computed:{items:function(){var e=this.start,t=this.end,n=this.step,i=[];if(e&&t&&n)for(var r=e;Fo(r,t)<=0;)i.push({value:r,disabled:Fo(r,this.minTime||"-1:-1")<=0||Fo(r,this.maxTime||"100:100")>=0}),r=Lo(r,n);return i}}},Io,[],!1,null,null,null);Vo.options.__file="packages/date-picker/src/panel/time-select.vue";var Bo=Vo.exports,zo={mixins:[Qr],name:"ElTimeSelect",componentName:"ElTimeSelect",props:{type:{type:String,default:"time-select"}},beforeCreate:function(){this.panel=Bo},install:function(e){e.component(zo.name,zo)}},Ro=zo,Ho=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-time-range-picker el-picker-panel el-popper",class:e.popperClass},[n("div",{staticClass:"el-time-range-picker__content"},[n("div",{staticClass:"el-time-range-picker__cell"},[n("div",{staticClass:"el-time-range-picker__header"},[e._v(e._s(e.t("el.datepicker.startTime")))]),n("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[n("time-spinner",{ref:"minSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.minDate},on:{change:e.handleMinChange,"select-range":e.setMinSelectionRange}})],1)]),n("div",{staticClass:"el-time-range-picker__cell"},[n("div",{staticClass:"el-time-range-picker__header"},[e._v(e._s(e.t("el.datepicker.endTime")))]),n("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[n("time-spinner",{ref:"maxSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.maxDate},on:{change:e.handleMaxChange,"select-range":e.setMaxSelectionRange}})],1)])]),n("div",{staticClass:"el-time-panel__footer"},[n("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:function(t){e.handleCancel()}}},[e._v(e._s(e.t("el.datepicker.cancel")))]),n("button",{staticClass:"el-time-panel__btn confirm",attrs:{type:"button",disabled:e.btnDisabled},on:{click:function(t){e.handleConfirm()}}},[e._v(e._s(e.t("el.datepicker.confirm")))])])])])};Ho._withStripped=!0;var jo=mr("00:00:00","HH:mm:ss"),Wo=mr("23:59:59","HH:mm:ss"),qo=function(e){return Cr(Wo,e.getFullYear(),e.getMonth(),e.getDate())},Yo=function(e,t){return new Date(Math.min(e.getTime()+t,qo(e).getTime()))},Ko=r({mixins:[Y],components:{TimeSpinner:ro},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},offset:function(){return this.showSeconds?11:8},spinner:function(){return this.selectionRange[0]<this.offset?this.$refs.minSpinner:this.$refs.maxSpinner},btnDisabled:function(){return this.minDate.getTime()>this.maxDate.getTime()},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},data:function(){return{popperClass:"",minDate:new Date,maxDate:new Date,value:[],oldValue:[new Date,new Date],defaultValue:null,format:"HH:mm:ss",visible:!1,selectionRange:[0,2],arrowControl:!1}},watch:{value:function(e){Array.isArray(e)?(this.minDate=new Date(e[0]),this.maxDate=new Date(e[1])):Array.isArray(this.defaultValue)?(this.minDate=new Date(this.defaultValue[0]),this.maxDate=new Date(this.defaultValue[1])):this.defaultValue?(this.minDate=new Date(this.defaultValue),this.maxDate=Yo(new Date(this.defaultValue),36e5)):(this.minDate=new Date,this.maxDate=Yo(new Date,36e5))},visible:function(e){var t=this;e&&(this.oldValue=this.value,this.$nextTick(function(){return t.$refs.minSpinner.emitSelectRange("hours")}))}},methods:{handleClear:function(){this.$emit("pick",null)},handleCancel:function(){this.$emit("pick",this.oldValue)},handleMinChange:function(e){this.minDate=Er(e),this.handleChange()},handleMaxChange:function(e){this.maxDate=Er(e),this.handleChange()},handleChange:function(){var e;this.isValidValue([this.minDate,this.maxDate])&&(this.$refs.minSpinner.selectableRange=[[(e=this.minDate,Cr(jo,e.getFullYear(),e.getMonth(),e.getDate())),this.maxDate]],this.$refs.maxSpinner.selectableRange=[[this.minDate,qo(this.maxDate)]],this.$emit("pick",[this.minDate,this.maxDate],!0))},setMinSelectionRange:function(e,t){this.$emit("select-range",e,t,"min"),this.selectionRange=[e,t]},setMaxSelectionRange:function(e,t){this.$emit("select-range",e,t,"max"),this.selectionRange=[e+this.offset,t+this.offset]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.$refs.minSpinner.selectableRange,n=this.$refs.maxSpinner.selectableRange;this.minDate=$r(this.minDate,t,this.format),this.maxDate=$r(this.maxDate,n,this.format),this.$emit("pick",[this.minDate,this.maxDate],e)},adjustSpinners:function(){this.$refs.minSpinner.adjustSpinners(),this.$refs.maxSpinner.adjustSpinners()},changeSelectionRange:function(e){var t=this.showSeconds?[0,3,6,11,14,17]:[0,3,8,11],n=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),i=(t.indexOf(this.selectionRange[0])+e+t.length)%t.length,r=t.length/2;i<r?this.$refs.minSpinner.emitSelectRange(n[i]):this.$refs.maxSpinner.emitSelectRange(n[i-r])},isValidValue:function(e){return Array.isArray(e)&&Tr(this.minDate,this.$refs.minSpinner.selectableRange)&&Tr(this.maxDate,this.$refs.maxSpinner.selectableRange)},handleKeydown:function(e){var t=e.keyCode,n={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var i=n[t];return this.changeSelectionRange(i),void e.preventDefault()}if(38===t||40===t){var r=n[t];return this.spinner.scrollDown(r),void e.preventDefault()}}}},Ho,[],!1,null,null,null);Ko.options.__file="packages/date-picker/src/panel/time-range.vue";var Uo=Ko.exports,Go={mixins:[Qr],name:"ElTimePicker",props:{isRange:Boolean,arrowControl:Boolean},data:function(){return{type:""}},watch:{isRange:function(e){this.picker?(this.unmountPicker(),this.type=e?"timerange":"time",this.panel=e?Uo:so,this.mountPicker()):(this.type=e?"timerange":"time",this.panel=e?Uo:so)}},created:function(){this.type=this.isRange?"timerange":"time",this.panel=this.isRange?Uo:so},install:function(e){e.component(Go.name,Go)}},Xo=Go,Zo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",[n("transition",{attrs:{name:e.transition},on:{"after-enter":e.handleAfterEnter,"after-leave":e.handleAfterLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:!e.disabled&&e.showPopper,expression:"!disabled && showPopper"}],ref:"popper",staticClass:"el-popover el-popper",class:[e.popperClass,e.content&&"el-popover--plain"],style:{width:e.width+"px"},attrs:{role:"tooltip",id:e.tooltipId,"aria-hidden":e.disabled||!e.showPopper?"true":"false"}},[e.title?n("div",{staticClass:"el-popover__title",domProps:{textContent:e._s(e.title)}}):e._e(),e._t("default",[e._v(e._s(e.content))])],2)]),n("span",{ref:"wrapper",staticClass:"el-popover__reference-wrapper"},[e._t("reference")],2)],1)};Zo._withStripped=!0;var Jo=r({name:"ElPopover",mixins:[Ie],props:{trigger:{type:String,default:"click",validator:function(e){return["click","focus","hover","manual"].indexOf(e)>-1}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:!0},arrowOffset:{type:Number,default:0},transition:{type:String,default:"fade-in-linear"},tabindex:{type:Number,default:0}},computed:{tooltipId:function(){return"el-popover-"+E()}},watch:{showPopper:function(e){this.disabled||(e?this.$emit("show"):this.$emit("hide"))}},mounted:function(){var e=this,t=this.referenceElm=this.reference||this.$refs.reference,n=this.popper||this.$refs.popper;!t&&this.$refs.wrapper.children&&(t=this.referenceElm=this.$refs.wrapper.children[0]),t&&(me(t,"el-popover__reference"),t.setAttribute("aria-describedby",this.tooltipId),t.setAttribute("tabindex",this.tabindex),n.setAttribute("tabindex",0),"click"!==this.trigger&&(de(t,"focusin",function(){e.handleFocus();var n=t.__vue__;n&&"function"==typeof n.focus&&n.focus()}),de(n,"focusin",this.handleFocus),de(t,"focusout",this.handleBlur),de(n,"focusout",this.handleBlur)),de(t,"keydown",this.handleKeydown),de(t,"click",this.handleClick)),"click"===this.trigger?(de(t,"click",this.doToggle),de(document,"click",this.handleDocumentClick)):"hover"===this.trigger?(de(t,"mouseenter",this.handleMouseEnter),de(n,"mouseenter",this.handleMouseEnter),de(t,"mouseleave",this.handleMouseLeave),de(n,"mouseleave",this.handleMouseLeave)):"focus"===this.trigger&&(this.tabindex<0&&console.warn("[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key"),t.querySelector("input, textarea")?(de(t,"focusin",this.doShow),de(t,"focusout",this.doClose)):(de(t,"mousedown",this.doShow),de(t,"mouseup",this.doClose)))},beforeDestroy:function(){this.cleanup()},deactivated:function(){this.cleanup()},methods:{doToggle:function(){this.showPopper=!this.showPopper},doShow:function(){this.showPopper=!0},doClose:function(){this.showPopper=!1},handleFocus:function(){me(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!0)},handleClick:function(){ve(this.referenceElm,"focusing")},handleBlur:function(){ve(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!1)},handleMouseEnter:function(){var e=this;clearTimeout(this._timer),this.openDelay?this._timer=setTimeout(function(){e.showPopper=!0},this.openDelay):this.showPopper=!0},handleKeydown:function(e){27===e.keyCode&&"manual"!==this.trigger&&this.doClose()},handleMouseLeave:function(){var e=this;clearTimeout(this._timer),this.closeDelay?this._timer=setTimeout(function(){e.showPopper=!1},this.closeDelay):this.showPopper=!1},handleDocumentClick:function(e){var t=this.reference||this.$refs.reference,n=this.popper||this.$refs.popper;!t&&this.$refs.wrapper.children&&(t=this.referenceElm=this.$refs.wrapper.children[0]),this.$el&&t&&!this.$el.contains(e.target)&&!t.contains(e.target)&&n&&!n.contains(e.target)&&(this.showPopper=!1)},handleAfterEnter:function(){this.$emit("after-enter")},handleAfterLeave:function(){this.$emit("after-leave"),this.doDestroy()},cleanup:function(){(this.openDelay||this.closeDelay)&&clearTimeout(this._timer)}},destroyed:function(){var e=this.reference;fe(e,"click",this.doToggle),fe(e,"mouseup",this.doClose),fe(e,"mousedown",this.doShow),fe(e,"focusin",this.doShow),fe(e,"focusout",this.doClose),fe(e,"mousedown",this.doShow),fe(e,"mouseup",this.doClose),fe(e,"mouseleave",this.handleMouseLeave),fe(e,"mouseenter",this.handleMouseEnter),fe(document,"click",this.handleDocumentClick)}},Zo,[],!1,null,null,null);Jo.options.__file="packages/popover/src/main.vue";var Qo=Jo.exports,es=function(e,t,n){var i=t.expression?t.value:t.arg,r=n.context.$refs[i];r&&(Array.isArray(r)?r[0].$refs.reference=e:r.$refs.reference=e)},ts={bind:function(e,t,n){es(e,t,n)},inserted:function(e,t,n){es(e,t,n)}};h.a.directive("popover",ts),Qo.install=function(e){e.directive("popover",ts),e.component(Qo.name,Qo)},Qo.directive=ts;var ns=Qo,is=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"msgbox-fade"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-message-box__wrapper",attrs:{tabindex:"-1",role:"dialog","aria-modal":"true","aria-label":e.title||"dialog"},on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[n("div",{staticClass:"el-message-box",class:[e.customClass,e.center&&"el-message-box--center"]},[null!==e.title?n("div",{staticClass:"el-message-box__header"},[n("div",{staticClass:"el-message-box__title"},[e.icon&&e.center?n("div",{class:["el-message-box__status",e.icon]}):e._e(),n("span",[e._v(e._s(e.title))])]),e.showClose?n("button",{staticClass:"el-message-box__headerbtn",attrs:{type:"button","aria-label":"Close"},on:{click:function(t){e.handleAction(e.distinguishCancelAndClose?"close":"cancel")},keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction(e.distinguishCancelAndClose?"close":"cancel")}}},[n("i",{staticClass:"el-message-box__close el-icon-close"})]):e._e()]):e._e(),n("div",{staticClass:"el-message-box__content"},[n("div",{staticClass:"el-message-box__container"},[e.icon&&!e.center&&""!==e.message?n("div",{class:["el-message-box__status",e.icon]}):e._e(),""!==e.message?n("div",{staticClass:"el-message-box__message"},[e._t("default",[e.dangerouslyUseHTMLString?n("p",{domProps:{innerHTML:e._s(e.message)}}):n("p",[e._v(e._s(e.message))])])],2):e._e()]),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showInput,expression:"showInput"}],staticClass:"el-message-box__input"},[n("el-input",{ref:"input",attrs:{type:e.inputType,placeholder:e.inputPlaceholder},nativeOn:{keydown:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.handleInputEnter(t):null}},model:{value:e.inputValue,callback:function(t){e.inputValue=t},expression:"inputValue"}}),n("div",{staticClass:"el-message-box__errormsg",style:{visibility:e.editorErrorMessage?"visible":"hidden"}},[e._v(e._s(e.editorErrorMessage))])],1)]),n("div",{staticClass:"el-message-box__btns"},[e.showCancelButton?n("el-button",{class:[e.cancelButtonClasses],attrs:{loading:e.cancelButtonLoading,round:e.roundButton,size:"small"},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction("cancel")}},nativeOn:{click:function(t){e.handleAction("cancel")}}},[e._v("\n "+e._s(e.cancelButtonText||e.t("el.messagebox.cancel"))+"\n ")]):e._e(),n("el-button",{directives:[{name:"show",rawName:"v-show",value:e.showConfirmButton,expression:"showConfirmButton"}],ref:"confirm",class:[e.confirmButtonClasses],attrs:{loading:e.confirmButtonLoading,round:e.roundButton,size:"small"},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction("confirm")}},nativeOn:{click:function(t){e.handleAction("confirm")}}},[e._v("\n "+e._s(e.confirmButtonText||e.t("el.messagebox.confirm"))+"\n ")])],1)])])])};is._withStripped=!0;var rs,os="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss=ss||{};ss.Dialog=function(e,t,n){var i=this;if(this.dialogNode=e,null===this.dialogNode||"dialog"!==this.dialogNode.getAttribute("role"))throw new Error("Dialog() requires a DOM element with ARIA role of dialog.");"string"==typeof t?this.focusAfterClosed=document.getElementById(t):"object"===(void 0===t?"undefined":os(t))?this.focusAfterClosed=t:this.focusAfterClosed=null,"string"==typeof n?this.focusFirst=document.getElementById(n):"object"===(void 0===n?"undefined":os(n))?this.focusFirst=n:this.focusFirst=null,this.focusFirst?this.focusFirst.focus():Kt.focusFirstDescendant(this.dialogNode),this.lastFocus=document.activeElement,rs=function(e){i.trapFocus(e)},this.addListeners()},ss.Dialog.prototype.addListeners=function(){document.addEventListener("focus",rs,!0)},ss.Dialog.prototype.removeListeners=function(){document.removeEventListener("focus",rs,!0)},ss.Dialog.prototype.closeDialog=function(){var e=this;this.removeListeners(),this.focusAfterClosed&&setTimeout(function(){e.focusAfterClosed.focus()})},ss.Dialog.prototype.trapFocus=function(e){Kt.IgnoreUtilFocusChanges||(this.dialogNode.contains(e.target)?this.lastFocus=e.target:(Kt.focusFirstDescendant(this.dialogNode),this.lastFocus===document.activeElement&&Kt.focusLastDescendant(this.dialogNode),this.lastFocus=document.activeElement))};var as=ss.Dialog,ls=void 0,us={success:"success",info:"info",warning:"warning",error:"error"},cs=r({mixins:[Ne,Y],props:{modal:{default:!0},lockScroll:{default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{default:!0},closeOnPressEscape:{default:!0},closeOnHashChange:{default:!0},center:{default:!1,type:Boolean},roundButton:{default:!1,type:Boolean}},components:{ElInput:re,ElButton:Mt},computed:{icon:function(){var e=this.type;return this.iconClass||(e&&us[e]?"el-icon-"+us[e]:"")},confirmButtonClasses:function(){return"el-button--primary "+this.confirmButtonClass},cancelButtonClasses:function(){return""+this.cancelButtonClass}},methods:{getSafeClose:function(){var e=this,t=this.uid;return function(){e.$nextTick(function(){t===e.uid&&e.doClose()})}},doClose:function(){var e=this;this.visible&&(this.visible=!1,this._closing=!0,this.onClose&&this.onClose(),ls.closeDialog(),this.lockScroll&&setTimeout(this.restoreBodyStyle,200),this.opened=!1,this.doAfterClose(),setTimeout(function(){e.action&&e.callback(e.action,e)}))},handleWrapperClick:function(){this.closeOnClickModal&&this.handleAction(this.distinguishCancelAndClose?"close":"cancel")},handleInputEnter:function(){if("textarea"!==this.inputType)return this.handleAction("confirm")},handleAction:function(e){("prompt"!==this.$type||"confirm"!==e||this.validate())&&(this.action=e,"function"==typeof this.beforeClose?(this.close=this.getSafeClose(),this.beforeClose(e,this,this.close)):this.doClose())},validate:function(){if("prompt"===this.$type){var e=this.inputPattern;if(e&&!e.test(this.inputValue||""))return this.editorErrorMessage=this.inputErrorMessage||W("el.messagebox.error"),me(this.getInputElement(),"invalid"),!1;var t=this.inputValidator;if("function"==typeof t){var n=t(this.inputValue);if(!1===n)return this.editorErrorMessage=this.inputErrorMessage||W("el.messagebox.error"),me(this.getInputElement(),"invalid"),!1;if("string"==typeof n)return this.editorErrorMessage=n,me(this.getInputElement(),"invalid"),!1}}return this.editorErrorMessage="",ve(this.getInputElement(),"invalid"),!0},getFirstFocus:function(){var e=this.$el.querySelector(".el-message-box__btns .el-button"),t=this.$el.querySelector(".el-message-box__btns .el-message-box__title");return e||t},getInputElement:function(){var e=this.$refs.input.$refs;return e.input||e.textarea},handleClose:function(){this.handleAction("close")}},watch:{inputValue:{immediate:!0,handler:function(e){var t=this;this.$nextTick(function(n){"prompt"===t.$type&&null!==e&&t.validate()})}},visible:function(e){var t=this;e&&(this.uid++,"alert"!==this.$type&&"confirm"!==this.$type||this.$nextTick(function(){t.$refs.confirm.$el.focus()}),this.focusAfterClosed=document.activeElement,ls=new as(this.$el,this.focusAfterClosed,this.getFirstFocus())),"prompt"===this.$type&&(e?setTimeout(function(){t.$refs.input&&t.$refs.input.$el&&t.getInputElement().focus()},500):(this.editorErrorMessage="",ve(this.getInputElement(),"invalid")))}},mounted:function(){var e=this;this.$nextTick(function(){e.closeOnHashChange&&window.addEventListener("hashchange",e.close)})},beforeDestroy:function(){this.closeOnHashChange&&window.removeEventListener("hashchange",this.close),setTimeout(function(){ls.closeDialog()})},data:function(){return{uid:1,title:void 0,message:"",type:"",iconClass:"",customClass:"",showInput:!1,inputValue:null,inputPlaceholder:"",inputType:"text",inputPattern:null,inputValidator:null,inputErrorMessage:"",showConfirmButton:!0,showCancelButton:!1,action:"",confirmButtonText:"",cancelButtonText:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonClass:"",confirmButtonDisabled:!1,cancelButtonClass:"",editorErrorMessage:null,callback:null,dangerouslyUseHTMLString:!1,focusAfterClosed:null,isOnComposition:!1,distinguishCancelAndClose:!1}}},is,[],!1,null,null,null);cs.options.__file="packages/message-box/src/main.vue";var hs=cs.exports,ds="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function fs(e){return null!==e&&"object"===(void 0===e?"undefined":ds(e))&&C(e,"componentOptions")}var ps="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ms={title:null,message:"",type:"",iconClass:"",showInput:!1,showClose:!0,modalFade:!0,lockScroll:!0,closeOnClickModal:!0,closeOnPressEscape:!0,closeOnHashChange:!0,inputValue:null,inputPlaceholder:"",inputType:"text",inputPattern:null,inputValidator:null,inputErrorMessage:"",showConfirmButton:!0,showCancelButton:!1,confirmButtonPosition:"right",confirmButtonHighlight:!1,cancelButtonHighlight:!1,confirmButtonText:"",cancelButtonText:"",confirmButtonClass:"",cancelButtonClass:"",customClass:"",beforeClose:null,dangerouslyUseHTMLString:!1,center:!1,roundButton:!1,distinguishCancelAndClose:!1},vs=h.a.extend(hs),gs=void 0,ys=void 0,bs=[],_s=function(e){if(gs){var t=gs.callback;"function"==typeof t&&(ys.showInput?t(ys.inputValue,e):t(e)),gs.resolve&&("confirm"===e?ys.showInput?gs.resolve({value:ys.inputValue,action:e}):gs.resolve(e):!gs.reject||"cancel"!==e&&"close"!==e||gs.reject(e))}},ws=function e(){if(ys||((ys=new vs({el:document.createElement("div")})).callback=_s),ys.action="",(!ys.visible||ys.closeTimer)&&bs.length>0){var t=(gs=bs.shift()).options;for(var n in t)t.hasOwnProperty(n)&&(ys[n]=t[n]);void 0===t.callback&&(ys.callback=_s);var i=ys.callback;ys.callback=function(t,n){i(t,n),e()},fs(ys.message)?(ys.$slots.default=[ys.message],ys.message=null):delete ys.$slots.default,["modal","showClose","closeOnClickModal","closeOnPressEscape","closeOnHashChange"].forEach(function(e){void 0===ys[e]&&(ys[e]=!0)}),document.body.appendChild(ys.$el),h.a.nextTick(function(){ys.visible=!0})}},xs=function e(t,n){if(!h.a.prototype.$isServer){if("string"==typeof t||fs(t)?(t={message:t},"string"==typeof arguments[1]&&(t.title=arguments[1])):t.callback&&!n&&(n=t.callback),"undefined"!=typeof Promise)return new Promise(function(i,r){bs.push({options:Q({},ms,e.defaults,t),callback:n,resolve:i,reject:r}),ws()});bs.push({options:Q({},ms,e.defaults,t),callback:n}),ws()}};xs.setDefaults=function(e){xs.defaults=e},xs.alert=function(e,t,n){return"object"===(void 0===t?"undefined":ps(t))?(n=t,t=""):void 0===t&&(t=""),xs(Q({title:t,message:e,$type:"alert",closeOnPressEscape:!1,closeOnClickModal:!1},n))},xs.confirm=function(e,t,n){return"object"===(void 0===t?"undefined":ps(t))?(n=t,t=""):void 0===t&&(t=""),xs(Q({title:t,message:e,$type:"confirm",showCancelButton:!0},n))},xs.prompt=function(e,t,n){return"object"===(void 0===t?"undefined":ps(t))?(n=t,t=""):void 0===t&&(t=""),xs(Q({title:t,message:e,showCancelButton:!0,showInput:!0,$type:"prompt"},n))},xs.close=function(){ys.doClose(),ys.visible=!1,bs=[],gs=null};var Cs=xs,ks=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-breadcrumb",attrs:{"aria-label":"Breadcrumb",role:"navigation"}},[this._t("default")],2)};ks._withStripped=!0;var Ss=r({name:"ElBreadcrumb",props:{separator:{type:String,default:"/"},separatorClass:{type:String,default:""}},provide:function(){return{elBreadcrumb:this}},mounted:function(){var e=this.$el.querySelectorAll(".el-breadcrumb__item");e.length&&e[e.length-1].setAttribute("aria-current","page")}},ks,[],!1,null,null,null);Ss.options.__file="packages/breadcrumb/src/breadcrumb.vue";var Ds=Ss.exports;Ds.install=function(e){e.component(Ds.name,Ds)};var Es=Ds,$s=function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"el-breadcrumb__item"},[t("span",{ref:"link",class:["el-breadcrumb__inner",this.to?"is-link":""],attrs:{role:"link"}},[this._t("default")],2),this.separatorClass?t("i",{staticClass:"el-breadcrumb__separator",class:this.separatorClass}):t("span",{staticClass:"el-breadcrumb__separator",attrs:{role:"presentation"}},[this._v(this._s(this.separator))])])};$s._withStripped=!0;var Ts=r({name:"ElBreadcrumbItem",props:{to:{},replace:Boolean},data:function(){return{separator:"",separatorClass:""}},inject:["elBreadcrumb"],mounted:function(){var e=this;this.separator=this.elBreadcrumb.separator,this.separatorClass=this.elBreadcrumb.separatorClass;var t=this.$refs.link;t.setAttribute("role","link"),t.addEventListener("click",function(t){var n=e.to,i=e.$router;n&&i&&(e.replace?i.replace(n):i.push(n))})}},$s,[],!1,null,null,null);Ts.options.__file="packages/breadcrumb/src/breadcrumb-item.vue";var Ms=Ts.exports;Ms.install=function(e){e.component(Ms.name,Ms)};var Ns=Ms,Os=function(){var e=this.$createElement;return(this._self._c||e)("form",{staticClass:"el-form",class:[this.labelPosition?"el-form--label-"+this.labelPosition:"",{"el-form--inline":this.inline}]},[this._t("default")],2)};Os._withStripped=!0;var Ps=r({name:"ElForm",componentName:"ElForm",provide:function(){return{elForm:this}},props:{model:Object,rules:Object,labelPosition:String,labelWidth:String,labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},size:String,disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1}},watch:{rules:function(){this.fields.forEach(function(e){e.removeValidateEvents(),e.addValidateEvents()}),this.validateOnRuleChange&&this.validate(function(){})}},computed:{autoLabelWidth:function(){if(!this.potentialLabelWidthArr.length)return 0;var e=Math.max.apply(Math,this.potentialLabelWidthArr);return e?e+"px":""}},data:function(){return{fields:[],potentialLabelWidthArr:[]}},created:function(){var e=this;this.$on("el.form.addField",function(t){t&&e.fields.push(t)}),this.$on("el.form.removeField",function(t){t.prop&&e.fields.splice(e.fields.indexOf(t),1)})},methods:{resetFields:function(){this.model?this.fields.forEach(function(e){e.resetField()}):console.warn("[Element Warn][Form]model is required for resetFields to work.")},clearValidate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];(e.length?"string"==typeof e?this.fields.filter(function(t){return e===t.prop}):this.fields.filter(function(t){return e.indexOf(t.prop)>-1}):this.fields).forEach(function(e){e.clearValidate()})},validate:function(e){var t=this;if(this.model){var n=void 0;"function"!=typeof e&&window.Promise&&(n=new window.Promise(function(t,n){e=function(e,i){e?t(e):n(i)}}));var i=!0,r=0;0===this.fields.length&&e&&e(!0);var o={};return this.fields.forEach(function(n){n.validate("",function(n,s){n&&(i=!1),o=Q({},o,s),"function"==typeof e&&++r===t.fields.length&&e(i,o)})}),n||void 0}console.warn("[Element Warn][Form]model is required for validate to work!")},validateField:function(e,t){e=[].concat(e);var n=this.fields.filter(function(t){return-1!==e.indexOf(t.prop)});n.length?n.forEach(function(e){e.validate("",t)}):console.warn("[Element Warn]please pass correct props!")},getLabelWidthIndex:function(e){var t=this.potentialLabelWidthArr.indexOf(e);if(-1===t)throw new Error("[ElementForm]unpected width ",e);return t},registerLabelWidth:function(e,t){if(e&&t){var n=this.getLabelWidthIndex(t);this.potentialLabelWidthArr.splice(n,1,e)}else e&&this.potentialLabelWidthArr.push(e)},deregisterLabelWidth:function(e){var t=this.getLabelWidthIndex(e);this.potentialLabelWidthArr.splice(t,1)}}},Os,[],!1,null,null,null);Ps.options.__file="packages/form/src/form.vue";var Is=Ps.exports;Is.install=function(e){e.component(Is.name,Is)};var As=Is,Fs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-form-item",class:[{"el-form-item--feedback":e.elForm&&e.elForm.statusIcon,"is-error":"error"===e.validateState,"is-validating":"validating"===e.validateState,"is-success":"success"===e.validateState,"is-required":e.isRequired||e.required,"is-no-asterisk":e.elForm&&e.elForm.hideRequiredAsterisk},e.sizeClass?"el-form-item--"+e.sizeClass:""]},[n("label-wrap",{attrs:{"is-auto-width":e.labelStyle&&"auto"===e.labelStyle.width,"update-all":"auto"===e.form.labelWidth}},[e.label||e.$slots.label?n("label",{staticClass:"el-form-item__label",style:e.labelStyle,attrs:{for:e.labelFor}},[e._t("label",[e._v(e._s(e.label+e.form.labelSuffix))])],2):e._e()]),n("div",{staticClass:"el-form-item__content",style:e.contentStyle},[e._t("default"),n("transition",{attrs:{name:"el-zoom-in-top"}},["error"===e.validateState&&e.showMessage&&e.form.showMessage?e._t("error",[n("div",{staticClass:"el-form-item__error",class:{"el-form-item__error--inline":"boolean"==typeof e.inlineMessage?e.inlineMessage:e.elForm&&e.elForm.inlineMessage||!1}},[e._v("\n "+e._s(e.validateMessage)+"\n ")])],{error:e.validateMessage}):e._e()],2)],2)],1)};Fs._withStripped=!0;var Ls=n(8),Vs=n.n(Ls),Bs=n(3),zs=n.n(Bs),Rs=/%[sdj%]/g,Hs=function(){};function js(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=1,r=t[0],o=t.length;if("function"==typeof r)return r.apply(null,t.slice(1));if("string"==typeof r){for(var s=String(r).replace(Rs,function(e){if("%%"===e)return"%";if(i>=o)return e;switch(e){case"%s":return String(t[i++]);case"%d":return Number(t[i++]);case"%j":try{return JSON.stringify(t[i++])}catch(e){return"[Circular]"}break;default:return e}}),a=t[i];i<o;a=t[++i])s+=" "+a;return s}return r}function Ws(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!function(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"pattern"===e}(t)||"string"!=typeof e||e))}function qs(e,t,n){var i=0,r=e.length;!function o(s){if(s&&s.length)n(s);else{var a=i;i+=1,a<r?t(e[a],o):n([])}}([])}function Ys(e,t,n,i){if(t.first)return qs(function(e){var t=[];return Object.keys(e).forEach(function(n){t.push.apply(t,e[n])}),t}(e),n,i);var r=t.firstFields||[];!0===r&&(r=Object.keys(e));var o=Object.keys(e),s=o.length,a=0,l=[],u=function(e){l.push.apply(l,e),++a===s&&i(l)};o.forEach(function(t){var i=e[t];-1!==r.indexOf(t)?qs(i,n,u):function(e,t,n){var i=[],r=0,o=e.length;function s(e){i.push.apply(i,e),++r===o&&n(i)}e.forEach(function(e){t(e,s)})}(i,n,u)})}function Ks(e){return function(t){return t&&t.message?(t.field=t.field||e.fullField,t):{message:t,field:t.field||e.fullField}}}function Us(e,t){if(t)for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];"object"===(void 0===i?"undefined":zs()(i))&&"object"===zs()(e[n])?e[n]=Vs()({},e[n],i):e[n]=i}return e}var Gs=function(e,t,n,i,r,o){!e.required||n.hasOwnProperty(e.field)&&!Ws(t,o||e.type)||i.push(js(r.messages.required,e.fullField))};var Xs=function(e,t,n,i,r){(/^\s+$/.test(t)||""===t)&&i.push(js(r.messages.whitespace,e.fullField))},Zs={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,}))$/,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"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Js={integer:function(e){return Js.number(e)&&parseInt(e,10)===e},float:function(e){return Js.number(e)&&!Js.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"===(void 0===e?"undefined":zs()(e))&&!Js.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&!!e.match(Zs.email)&&e.length<255},url:function(e){return"string"==typeof e&&!!e.match(Zs.url)},hex:function(e){return"string"==typeof e&&!!e.match(Zs.hex)}};var Qs=function(e,t,n,i,r){if(e.required&&void 0===t)Gs(e,t,n,i,r);else{var o=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(o)>-1?Js[o](t)||i.push(js(r.messages.types[o],e.fullField,e.type)):o&&(void 0===t?"undefined":zs()(t))!==e.type&&i.push(js(r.messages.types[o],e.fullField,e.type))}};var ea="enum";var ta={required:Gs,whitespace:Xs,type:Qs,range:function(e,t,n,i,r){var o="number"==typeof e.len,s="number"==typeof e.min,a="number"==typeof e.max,l=t,u=null,c="number"==typeof t,h="string"==typeof t,d=Array.isArray(t);if(c?u="number":h?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),h&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),o?l!==e.len&&i.push(js(r.messages[u].len,e.fullField,e.len)):s&&!a&&l<e.min?i.push(js(r.messages[u].min,e.fullField,e.min)):a&&!s&&l>e.max?i.push(js(r.messages[u].max,e.fullField,e.max)):s&&a&&(l<e.min||l>e.max)&&i.push(js(r.messages[u].range,e.fullField,e.min,e.max))},enum:function(e,t,n,i,r){e[ea]=Array.isArray(e[ea])?e[ea]:[],-1===e[ea].indexOf(t)&&i.push(js(r.messages[ea],e.fullField,e[ea].join(", ")))},pattern:function(e,t,n,i,r){e.pattern&&(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||i.push(js(r.messages.pattern.mismatch,e.fullField,t,e.pattern))):"string"==typeof e.pattern&&(new RegExp(e.pattern).test(t)||i.push(js(r.messages.pattern.mismatch,e.fullField,t,e.pattern))))}};var na="enum";var ia=function(e,t,n,i,r){var o=e.type,s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t,o)&&!e.required)return n();ta.required(e,t,i,s,r,o),Ws(t,o)||ta.type(e,t,i,s,r)}n(s)},ra={string:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t,"string")&&!e.required)return n();ta.required(e,t,i,o,r,"string"),Ws(t,"string")||(ta.type(e,t,i,o,r),ta.range(e,t,i,o,r),ta.pattern(e,t,i,o,r),!0===e.whitespace&&ta.whitespace(e,t,i,o,r))}n(o)},method:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&ta.type(e,t,i,o,r)}n(o)},number:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&(ta.type(e,t,i,o,r),ta.range(e,t,i,o,r))}n(o)},boolean:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&ta.type(e,t,i,o,r)}n(o)},regexp:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),Ws(t)||ta.type(e,t,i,o,r)}n(o)},integer:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&(ta.type(e,t,i,o,r),ta.range(e,t,i,o,r))}n(o)},float:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&(ta.type(e,t,i,o,r),ta.range(e,t,i,o,r))}n(o)},array:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t,"array")&&!e.required)return n();ta.required(e,t,i,o,r,"array"),Ws(t,"array")||(ta.type(e,t,i,o,r),ta.range(e,t,i,o,r))}n(o)},object:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),void 0!==t&&ta.type(e,t,i,o,r)}n(o)},enum:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();ta.required(e,t,i,o,r),t&&ta[na](e,t,i,o,r)}n(o)},pattern:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t,"string")&&!e.required)return n();ta.required(e,t,i,o,r),Ws(t,"string")||ta.pattern(e,t,i,o,r)}n(o)},date:function(e,t,n,i,r){var o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(Ws(t)&&!e.required)return n();if(ta.required(e,t,i,o,r),!Ws(t)){var s=void 0;s="number"==typeof t?new Date(t):t,ta.type(e,s,i,o,r),s&&ta.range(e,s.getTime(),i,o,r)}}n(o)},url:ia,hex:ia,email:ia,required:function(e,t,n,i,r){var o=[],s=Array.isArray(t)?"array":void 0===t?"undefined":zs()(t);ta.required(e,t,i,o,r,s),n(o)}};function oa(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var sa=oa();function aa(e){this.rules=null,this._messages=sa,this.define(e)}aa.prototype={messages:function(e){return e&&(this._messages=Us(oa(),e)),this._messages},define:function(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!==(void 0===e?"undefined":zs()(e))||Array.isArray(e))throw new Error("Rules must be an object");this.rules={};var t=void 0,n=void 0;for(t in e)e.hasOwnProperty(t)&&(n=e[t],this.rules[t]=Array.isArray(n)?n:[n])},validate:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments[2],r=e,o=n,s=i;if("function"==typeof o&&(s=o,o={}),this.rules&&0!==Object.keys(this.rules).length){if(o.messages){var a=this.messages();a===sa&&(a=oa()),Us(a,o.messages),o.messages=a}else o.messages=this.messages();var l=void 0,u=void 0,c={};(o.keys||Object.keys(this.rules)).forEach(function(n){l=t.rules[n],u=r[n],l.forEach(function(i){var o=i;"function"==typeof o.transform&&(r===e&&(r=Vs()({},r)),u=r[n]=o.transform(u)),(o="function"==typeof o?{validator:o}:Vs()({},o)).validator=t.getValidationMethod(o),o.field=n,o.fullField=o.fullField||n,o.type=t.getType(o),o.validator&&(c[n]=c[n]||[],c[n].push({rule:o,value:u,source:r,field:n}))})});var h={};Ys(c,o,function(e,t){var n=e.rule,i=!("object"!==n.type&&"array"!==n.type||"object"!==zs()(n.fields)&&"object"!==zs()(n.defaultField));function r(e,t){return Vs()({},t,{fullField:n.fullField+"."+e})}function s(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(Array.isArray(s)||(s=[s]),s.length&&Hs("async-validator:",s),s.length&&n.message&&(s=[].concat(n.message)),s=s.map(Ks(n)),o.first&&s.length)return h[n.field]=1,t(s);if(i){if(n.required&&!e.value)return s=n.message?[].concat(n.message).map(Ks(n)):o.error?[o.error(n,js(o.messages.required,n.field))]:[],t(s);var a={};if(n.defaultField)for(var l in e.value)e.value.hasOwnProperty(l)&&(a[l]=n.defaultField);for(var u in a=Vs()({},a,e.rule.fields))if(a.hasOwnProperty(u)){var c=Array.isArray(a[u])?a[u]:[a[u]];a[u]=c.map(r.bind(null,u))}var d=new aa(a);d.messages(o.messages),e.rule.options&&(e.rule.options.messages=o.messages,e.rule.options.error=o.error),d.validate(e.value,e.rule.options||o,function(e){t(e&&e.length?s.concat(e):e)})}else t(s)}i=i&&(n.required||!n.required&&e.value),n.field=e.field;var a=n.validator(n,e.value,s,e.source,o);a&&a.then&&a.then(function(){return s()},function(e){return s(e)})},function(e){!function(e){var t,n=void 0,i=void 0,r=[],o={};for(n=0;n<e.length;n++)t=e[n],Array.isArray(t)?r=r.concat.apply(r,t):r.push(t);if(r.length)for(n=0;n<r.length;n++)o[i=r[n].field]=o[i]||[],o[i].push(r[n]);else r=null,o=null;s(r,o)}(e)})}else s&&s()},getType:function(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!ra.hasOwnProperty(e.type))throw new Error(js("Unknown rule type %s",e.type));return e.type||"string"},getValidationMethod:function(e){if("function"==typeof e.validator)return e.validator;var t=Object.keys(e),n=t.indexOf("message");return-1!==n&&t.splice(n,1),1===t.length&&"required"===t[0]?ra.required:ra[this.getType(e)]||!1}},aa.register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");ra[e]=t},aa.messages=sa;var la=aa,ua=r({props:{isAutoWidth:Boolean,updateAll:Boolean},inject:["elForm","elFormItem"],render:function(){var e=arguments[0],t=this.$slots.default;if(!t)return null;if(this.isAutoWidth){var n=this.elForm.autoLabelWidth,i={};if(n&&"auto"!==n){var r=parseInt(n,10)-this.computedWidth;r&&(i.marginLeft=r+"px")}return e("div",{class:"el-form-item__label-wrap",style:i},[t])}return t[0]},methods:{getLabelWidth:function(){if(this.$el&&this.$el.firstElementChild){var e=window.getComputedStyle(this.$el.firstElementChild).width;return Math.ceil(parseFloat(e))}return 0},updateLabelWidth:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"update";this.$slots.default&&this.isAutoWidth&&this.$el.firstElementChild&&("update"===e?this.computedWidth=this.getLabelWidth():"remove"===e&&this.elForm.deregisterLabelWidth(this.computedWidth))}},watch:{computedWidth:function(e,t){this.updateAll&&(this.elForm.registerLabelWidth(e,t),this.elFormItem.updateComputedLabelWidth(e))}},data:function(){return{computedWidth:0}},mounted:function(){this.updateLabelWidth("update")},updated:function(){this.updateLabelWidth("update")},beforeDestroy:function(){this.updateLabelWidth("remove")}},void 0,void 0,!1,null,null,null);ua.options.__file="packages/form/src/label-wrap.vue";var ca=ua.exports,ha=r({name:"ElFormItem",componentName:"ElFormItem",mixins:[l],provide:function(){return{elFormItem:this}},inject:["elForm"],props:{label:String,labelWidth:String,prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],error:String,validateStatus:String,for:String,inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:String},components:{LabelWrap:ca},watch:{error:{immediate:!0,handler:function(e){this.validateMessage=e,this.validateState=e?"error":""}},validateStatus:function(e){this.validateState=e},rules:function(e){e&&0!==e.length||void 0!==this.required||this.clearValidate()}},computed:{labelFor:function(){return this.for||this.prop},labelStyle:function(){var e={};if("top"===this.form.labelPosition)return e;var t=this.labelWidth||this.form.labelWidth;return t&&(e.width=t),e},contentStyle:function(){var e={},t=this.label;if("top"===this.form.labelPosition||this.form.inline)return e;if(!t&&!this.labelWidth&&this.isNested)return e;var n=this.labelWidth||this.form.labelWidth;return"auto"===n?"auto"===this.labelWidth?e.marginLeft=this.computedLabelWidth:"auto"===this.form.labelWidth&&(e.marginLeft=this.elForm.autoLabelWidth):e.marginLeft=n,e},form:function(){for(var e=this.$parent,t=e.$options.componentName;"ElForm"!==t;)"ElFormItem"===t&&(this.isNested=!0),t=(e=e.$parent).$options.componentName;return e},fieldValue:function(){var e=this.form.model;if(e&&this.prop){var t=this.prop;return-1!==t.indexOf(":")&&(t=t.replace(/:/,".")),D(e,t,!0).v}},isRequired:function(){var e=this.getRules(),t=!1;return e&&e.length&&e.every(function(e){return!e.required||(t=!0,!1)}),t},_formSize:function(){return this.elForm.size},elFormItemSize:function(){return this.size||this._formSize},sizeClass:function(){return this.elFormItemSize||(this.$ELEMENT||{}).size}},data:function(){return{validateState:"",validateMessage:"",validateDisabled:!1,validator:{},isNested:!1,computedLabelWidth:""}},methods:{validate:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:x;this.validateDisabled=!1;var i=this.getFilteredRule(e);if((!i||0===i.length)&&void 0===this.required)return n(),!0;this.validateState="validating";var r={};i&&i.length>0&&i.forEach(function(e){delete e.trigger}),r[this.prop]=i;var o=new la(r),s={};s[this.prop]=this.fieldValue,o.validate(s,{firstFields:!0},function(e,i){t.validateState=e?"error":"success",t.validateMessage=e?e[0].message:"",n(t.validateMessage,i),t.elForm&&t.elForm.$emit("validate",t.prop,!e,t.validateMessage||null)})},clearValidate:function(){this.validateState="",this.validateMessage="",this.validateDisabled=!1},resetField:function(){var e=this;this.validateState="",this.validateMessage="";var t=this.form.model,n=this.fieldValue,i=this.prop;-1!==i.indexOf(":")&&(i=i.replace(/:/,"."));var r=D(t,i,!0);this.validateDisabled=!0,Array.isArray(n)?r.o[r.k]=[].concat(this.initialValue):r.o[r.k]=this.initialValue,this.$nextTick(function(){e.validateDisabled=!1}),this.broadcast("ElTimeSelect","fieldReset",this.initialValue)},getRules:function(){var e=this.form.rules,t=this.rules,n=void 0!==this.required?{required:!!this.required}:[],i=D(e,this.prop||"");return e=e?i.o[this.prop||""]||i.v:[],[].concat(t||e||[]).concat(n)},getFilteredRule:function(e){return this.getRules().filter(function(t){return!t.trigger||""===e||(Array.isArray(t.trigger)?t.trigger.indexOf(e)>-1:t.trigger===e)}).map(function(e){return Q({},e)})},onFieldBlur:function(){this.validate("blur")},onFieldChange:function(){this.validateDisabled?this.validateDisabled=!1:this.validate("change")},updateComputedLabelWidth:function(e){this.computedLabelWidth=e?e+"px":""},addValidateEvents:function(){(this.getRules().length||void 0!==this.required)&&(this.$on("el.form.blur",this.onFieldBlur),this.$on("el.form.change",this.onFieldChange))},removeValidateEvents:function(){this.$off()}},mounted:function(){if(this.prop){this.dispatch("ElForm","el.form.addField",[this]);var e=this.fieldValue;Array.isArray(e)&&(e=[].concat(e)),Object.defineProperty(this,"initialValue",{value:e}),this.addValidateEvents()}},beforeDestroy:function(){this.dispatch("ElForm","el.form.removeField",[this])}},Fs,[],!1,null,null,null);ha.options.__file="packages/form/src/form-item.vue";var da=ha.exports;da.install=function(e){e.component(da.name,da)};var fa=da,pa=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-tabs__active-bar",class:"is-"+this.rootTabs.tabPosition,style:this.barStyle})};pa._withStripped=!0;var ma=r({name:"TabBar",props:{tabs:Array},inject:["rootTabs"],computed:{barStyle:{get:function(){var e=this,t={},n=0,i=0,r=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height",o="width"===r?"x":"y",s=function(e){return e.toLowerCase().replace(/( |^)[a-z]/g,function(e){return e.toUpperCase()})};this.tabs.every(function(t,o){var a=M(e.$parent.$refs.tabs||[],function(e){return e.id.replace("tab-","")===t.paneName});if(!a)return!1;if(t.active){i=a["client"+s(r)];var l=window.getComputedStyle(a);return"width"===r&&e.tabs.length>1&&(i-=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight)),"width"===r&&(n+=parseFloat(l.paddingLeft)),!1}return n+=a["client"+s(r)],!0});var a="translate"+s(o)+"("+n+"px)";return t[r]=i+"px",t.transform=a,t.msTransform=a,t.webkitTransform=a,t}}}},pa,[],!1,null,null,null);ma.options.__file="packages/tabs/src/tab-bar.vue";var va=ma.exports;function ga(){}var ya=function(e){return e.toLowerCase().replace(/( |^)[a-z]/g,function(e){return e.toUpperCase()})},ba=r({name:"TabNav",components:{TabBar:va},inject:["rootTabs"],props:{panes:Array,currentName:String,editable:Boolean,onTabClick:{type:Function,default:ga},onTabRemove:{type:Function,default:ga},type:String,stretch:Boolean},data:function(){return{scrollable:!1,navOffset:0,isFocus:!1,focusable:!0}},computed:{navStyle:function(){return{transform:"translate"+(-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"X":"Y")+"(-"+this.navOffset+"px)"}},sizeName:function(){return-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height"}},methods:{scrollPrev:function(){var e=this.$refs.navScroll["offset"+ya(this.sizeName)],t=this.navOffset;if(t){var n=t>e?t-e:0;this.navOffset=n}},scrollNext:function(){var e=this.$refs.nav["offset"+ya(this.sizeName)],t=this.$refs.navScroll["offset"+ya(this.sizeName)],n=this.navOffset;if(!(e-n<=t)){var i=e-n>2*t?n+t:e-t;this.navOffset=i}},scrollToActiveTab:function(){if(this.scrollable){var e=this.$refs.nav,t=this.$el.querySelector(".is-active");if(t){var n=this.$refs.navScroll,i=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition),r=t.getBoundingClientRect(),o=n.getBoundingClientRect(),s=i?e.offsetWidth-o.width:e.offsetHeight-o.height,a=this.navOffset,l=a;i?(r.left<o.left&&(l=a-(o.left-r.left)),r.right>o.right&&(l=a+r.right-o.right)):(r.top<o.top&&(l=a-(o.top-r.top)),r.bottom>o.bottom&&(l=a+(r.bottom-o.bottom))),l=Math.max(l,0),this.navOffset=Math.min(l,s)}}},update:function(){if(this.$refs.nav){var e=this.sizeName,t=this.$refs.nav["offset"+ya(e)],n=this.$refs.navScroll["offset"+ya(e)],i=this.navOffset;if(n<t){var r=this.navOffset;this.scrollable=this.scrollable||{},this.scrollable.prev=r,this.scrollable.next=r+n<t,t-r<n&&(this.navOffset=t-n)}else this.scrollable=!1,i>0&&(this.navOffset=0)}},changeTab:function(e){var t=e.keyCode,n=void 0,i=void 0,r=void 0;-1!==[37,38,39,40].indexOf(t)&&(r=e.currentTarget.querySelectorAll("[role=tab]"),i=Array.prototype.indexOf.call(r,e.target),r[n=37===t||38===t?0===i?r.length-1:i-1:i<r.length-1?i+1:0].focus(),r[n].click(),this.setFocus())},setFocus:function(){this.focusable&&(this.isFocus=!0)},removeFocus:function(){this.isFocus=!1},visibilityChangeHandler:function(){var e=this,t=document.visibilityState;"hidden"===t?this.focusable=!1:"visible"===t&&setTimeout(function(){e.focusable=!0},50)},windowBlurHandler:function(){this.focusable=!1},windowFocusHandler:function(){var e=this;setTimeout(function(){e.focusable=!0},50)}},updated:function(){this.update()},render:function(e){var t=this,n=this.type,i=this.panes,r=this.editable,o=this.stretch,s=this.onTabClick,a=this.onTabRemove,l=this.navStyle,u=this.scrollable,c=this.scrollNext,h=this.scrollPrev,d=this.changeTab,f=this.setFocus,p=this.removeFocus,m=u?[e("span",{class:["el-tabs__nav-prev",u.prev?"":"is-disabled"],on:{click:h}},[e("i",{class:"el-icon-arrow-left"})]),e("span",{class:["el-tabs__nav-next",u.next?"":"is-disabled"],on:{click:c}},[e("i",{class:"el-icon-arrow-right"})])]:null,v=this._l(i,function(n,i){var o,l=n.name||n.index||i,u=n.isClosable||r;n.index=""+i;var c=u?e("span",{class:"el-icon-close",on:{click:function(e){a(n,e)}}}):null,h=n.$slots.label||n.label,d=n.active?0:-1;return e("div",{class:(o={"el-tabs__item":!0},o["is-"+t.rootTabs.tabPosition]=!0,o["is-active"]=n.active,o["is-disabled"]=n.disabled,o["is-closable"]=u,o["is-focus"]=t.isFocus,o),attrs:{id:"tab-"+l,"aria-controls":"pane-"+l,role:"tab","aria-selected":n.active,tabindex:d},key:"tab-"+l,ref:"tabs",refInFor:!0,on:{focus:function(){f()},blur:function(){p()},click:function(e){p(),s(n,l,e)},keydown:function(e){!u||46!==e.keyCode&&8!==e.keyCode||a(n,e)}}},[h,c])});return e("div",{class:["el-tabs__nav-wrap",u?"is-scrollable":"","is-"+this.rootTabs.tabPosition]},[m,e("div",{class:["el-tabs__nav-scroll"],ref:"navScroll"},[e("div",{class:["el-tabs__nav","is-"+this.rootTabs.tabPosition,o&&-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"is-stretch":""],ref:"nav",style:l,attrs:{role:"tablist"},on:{keydown:d}},[n?null:e("tab-bar",{attrs:{tabs:i}}),v])])])},mounted:function(){var e=this;Ue(this.$el,this.update),document.addEventListener("visibilitychange",this.visibilityChangeHandler),window.addEventListener("blur",this.windowBlurHandler),window.addEventListener("focus",this.windowFocusHandler),setTimeout(function(){e.scrollToActiveTab()},0)},beforeDestroy:function(){this.$el&&this.update&&Ge(this.$el,this.update),document.removeEventListener("visibilitychange",this.visibilityChangeHandler),window.removeEventListener("blur",this.windowBlurHandler),window.removeEventListener("focus",this.windowFocusHandler)}},void 0,void 0,!1,null,null,null);ba.options.__file="packages/tabs/src/tab-nav.vue";var _a=r({name:"ElTabs",components:{TabNav:ba.exports},props:{type:String,activeName:String,closable:Boolean,addable:Boolean,value:{},editable:Boolean,tabPosition:{type:String,default:"top"},beforeLeave:Function,stretch:Boolean},provide:function(){return{rootTabs:this}},data:function(){return{currentName:this.value||this.activeName,panes:[]}},watch:{activeName:function(e){this.setCurrentName(e)},value:function(e){this.setCurrentName(e)},currentName:function(e){var t=this;this.$refs.nav&&this.$nextTick(function(){t.$refs.nav.$nextTick(function(e){t.$refs.nav.scrollToActiveTab()})})}},methods:{calcPaneInstances:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.$slots.default){var n=this.$slots.default.filter(function(e){return e.tag&&e.componentOptions&&"ElTabPane"===e.componentOptions.Ctor.options.name}).map(function(e){return e.componentInstance}),i=!(n.length===this.panes.length&&n.every(function(t,n){return t===e.panes[n]}));(t||i)&&(this.panes=n)}else 0!==this.panes.length&&(this.panes=[])},handleTabClick:function(e,t,n){e.disabled||(this.setCurrentName(t),this.$emit("tab-click",e,n))},handleTabRemove:function(e,t){e.disabled||(t.stopPropagation(),this.$emit("edit",e.name,"remove"),this.$emit("tab-remove",e.name))},handleTabAdd:function(){this.$emit("edit",null,"add"),this.$emit("tab-add")},setCurrentName:function(e){var t=this,n=function(){t.currentName=e,t.$emit("input",e)};if(this.currentName!==e&&this.beforeLeave){var i=this.beforeLeave(e,this.currentName);i&&i.then?i.then(function(){n(),t.$refs.nav&&t.$refs.nav.removeFocus()},function(){}):!1!==i&&n()}else n()}},render:function(e){var t,n=this.type,i=this.handleTabClick,r=this.handleTabRemove,o=this.handleTabAdd,s=this.currentName,a=this.panes,l=this.editable,u=this.addable,c=this.tabPosition,h=this.stretch,d=l||u?e("span",{class:"el-tabs__new-tab",on:{click:o,keydown:function(e){13===e.keyCode&&o()}},attrs:{tabindex:"0"}},[e("i",{class:"el-icon-plus"})]):null,f=e("div",{class:["el-tabs__header","is-"+c]},[d,e("tab-nav",{props:{currentName:s,onTabClick:i,onTabRemove:r,editable:l,type:n,panes:a,stretch:h},ref:"nav"})]),p=e("div",{class:"el-tabs__content"},[this.$slots.default]);return e("div",{class:(t={"el-tabs":!0,"el-tabs--card":"card"===n},t["el-tabs--"+c]=!0,t["el-tabs--border-card"]="border-card"===n,t)},["bottom"!==c?[f,p]:[p,f]])},created:function(){this.currentName||this.setCurrentName("0"),this.$on("tab-nav-update",this.calcPaneInstances.bind(null,!0))},mounted:function(){this.calcPaneInstances()},updated:function(){this.calcPaneInstances()}},void 0,void 0,!1,null,null,null);_a.options.__file="packages/tabs/src/tabs.vue";var wa=_a.exports;wa.install=function(e){e.component(wa.name,wa)};var xa=wa,Ca=function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.lazy||e.loaded||e.active?n("div",{directives:[{name:"show",rawName:"v-show",value:e.active,expression:"active"}],staticClass:"el-tab-pane",attrs:{role:"tabpanel","aria-hidden":!e.active,id:"pane-"+e.paneName,"aria-labelledby":"tab-"+e.paneName}},[e._t("default")],2):e._e()};Ca._withStripped=!0;var ka=r({name:"ElTabPane",componentName:"ElTabPane",props:{label:String,labelContent:Function,name:String,closable:Boolean,disabled:Boolean,lazy:Boolean},data:function(){return{index:null,loaded:!1}},computed:{isClosable:function(){return this.closable||this.$parent.closable},active:function(){var e=this.$parent.currentName===(this.name||this.index);return e&&(this.loaded=!0),e},paneName:function(){return this.name||this.index}},updated:function(){this.$parent.$emit("tab-nav-update")}},Ca,[],!1,null,null,null);ka.options.__file="packages/tabs/src/tab-pane.vue";var Sa=ka.exports;Sa.install=function(e){e.component(Sa.name,Sa)};var Da=Sa,Ea=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-tree",class:{"el-tree--highlight-current":e.highlightCurrent,"is-dragging":!!e.dragState.draggingNode,"is-drop-not-allow":!e.dragState.allowDrop,"is-drop-inner":"inner"===e.dragState.dropType},attrs:{role:"tree"}},[e._l(e.root.childNodes,function(t){return n("el-tree-node",{key:e.getNodeKey(t),attrs:{node:t,props:e.props,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent},on:{"node-expand":e.handleNodeExpand}})}),e.isEmpty?n("div",{staticClass:"el-tree__empty-block"},[n("span",{staticClass:"el-tree__empty-text"},[e._v(e._s(e.emptyText))])]):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:e.dragState.showDropIndicator,expression:"dragState.showDropIndicator"}],ref:"dropIndicator",staticClass:"el-tree__drop-indicator"})],2)};Ea._withStripped=!0;var $a="$treeNodeId",Ta=function(e,t){t&&!t[$a]&&Object.defineProperty(t,$a,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},Ma=function(e,t){return e?t[e]:t[$a]},Na=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var Oa=function(e){for(var t=!0,n=!0,i=!0,r=0,o=e.length;r<o;r++){var s=e[r];(!0!==s.checked||s.indeterminate)&&(t=!1,s.disabled||(i=!1)),(!1!==s.checked||s.indeterminate)&&(n=!1)}return{all:t,none:n,allWithoutDisable:i,half:!t&&!n}},Pa=function e(t){if(0!==t.childNodes.length&&!t.loading){var n=Oa(t.childNodes),i=n.all,r=n.none,o=n.half;i?(t.checked=!0,t.indeterminate=!1):o?(t.checked=!1,t.indeterminate=!0):r&&(t.checked=!1,t.indeterminate=!1);var s=t.parent;s&&0!==s.level&&(t.store.checkStrictly||e(s))}},Ia=function(e,t){var n=e.store.props,i=e.data||{},r=n[t];if("function"==typeof r)return r(i,e);if("string"==typeof r)return i[r];if(void 0===r){var o=i[t];return void 0===o?"":o}},Aa=0,Fa=function(){function e(t){for(var n in function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.id=Aa++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,t)t.hasOwnProperty(n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1);var i=this.store;if(!i)throw new Error("[Node]store is required!");i.registerNode(this);var r=i.props;if(r&&void 0!==r.isLeaf){var o=Ia(this,"isLeaf");"boolean"==typeof o&&(this.isLeafByUser=o)}if(!0!==i.lazy&&this.data?(this.setData(this.data),i.defaultExpandAll&&(this.expanded=!0)):this.level>0&&i.lazy&&i.defaultExpandAll&&this.expand(),Array.isArray(this.data)||Ta(this,this.data),this.data){var s=i.defaultExpandedKeys,a=i.key;a&&s&&-1!==s.indexOf(this.key)&&this.expand(null,i.autoExpandParent),a&&void 0!==i.currentNodeKey&&this.key===i.currentNodeKey&&(i.currentNode=this,i.currentNode.isCurrent=!0),i.lazy&&i._initDefaultCheckedNode(this),this.updateLeafState()}}return e.prototype.setData=function(e){Array.isArray(e)||Ta(this,e),this.data=e,this.childNodes=[];for(var t=void 0,n=0,i=(t=0===this.level&&this.data instanceof Array?this.data:Ia(this,"children")||[]).length;n<i;n++)this.insertChild({data:t[n]})},e.prototype.contains=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function n(i){for(var r=i.childNodes||[],o=!1,s=0,a=r.length;s<a;s++){var l=r[s];if(l===e||t&&n(l)){o=!0;break}}return o}(this)},e.prototype.remove=function(){var e=this.parent;e&&e.removeChild(this)},e.prototype.insertChild=function(t,n,i){if(!t)throw new Error("insertChild error: child is required.");if(!(t instanceof e)){if(!i){var r=this.getChildren(!0)||[];-1===r.indexOf(t.data)&&(void 0===n||n<0?r.push(t.data):r.splice(n,0,t.data))}Q(t,{parent:this,store:this.store}),t=new e(t)}t.level=this.level+1,void 0===n||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()},e.prototype.insertBefore=function(e,t){var n=void 0;t&&(n=this.childNodes.indexOf(t)),this.insertChild(e,n)},e.prototype.insertAfter=function(e,t){var n=void 0;t&&-1!==(n=this.childNodes.indexOf(t))&&(n+=1),this.insertChild(e,n)},e.prototype.removeChild=function(e){var t=this.getChildren()||[],n=t.indexOf(e.data);n>-1&&t.splice(n,1);var i=this.childNodes.indexOf(e);i>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(i,1)),this.updateLeafState()},e.prototype.removeChildByData=function(e){for(var t=null,n=0;n<this.childNodes.length;n++)if(this.childNodes[n].data===e){t=this.childNodes[n];break}t&&this.removeChild(t)},e.prototype.expand=function(e,t){var n=this,i=function(){if(t)for(var i=n.parent;i.level>0;)i.expanded=!0,i=i.parent;n.expanded=!0,e&&e()};this.shouldLoadData()?this.loadData(function(e){e instanceof Array&&(n.checked?n.setChecked(!0,!0):n.store.checkStrictly||Pa(n),i())}):i()},e.prototype.doCreateChildren=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.forEach(function(e){t.insertChild(Q({data:e},n),void 0,!0)})},e.prototype.collapse=function(){this.expanded=!1},e.prototype.shouldLoadData=function(){return!0===this.store.lazy&&this.store.load&&!this.loaded},e.prototype.updateLeafState=function(){if(!0!==this.store.lazy||!0===this.loaded||void 0===this.isLeafByUser){var e=this.childNodes;!this.store.lazy||!0===this.store.lazy&&!0===this.loaded?this.isLeaf=!e||0===e.length:this.isLeaf=!1}else this.isLeaf=this.isLeafByUser},e.prototype.setChecked=function(e,t,n,i){var r=this;if(this.indeterminate="half"===e,this.checked=!0===e,!this.store.checkStrictly){if(!this.shouldLoadData()||this.store.checkDescendants){var o=Oa(this.childNodes),s=o.all,a=o.allWithoutDisable;this.isLeaf||s||!a||(this.checked=!1,e=!1);var l=function(){if(t){for(var n=r.childNodes,o=0,s=n.length;o<s;o++){var a=n[o];i=i||!1!==e;var l=a.disabled?a.checked:i;a.setChecked(l,t,!0,i)}var u=Oa(n),c=u.half,h=u.all;h||(r.checked=h,r.indeterminate=c)}};if(this.shouldLoadData())return void this.loadData(function(){l(),Pa(r)},{checked:!1!==e});l()}var u=this.parent;u&&0!==u.level&&(n||Pa(u))}},e.prototype.getChildren=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(0===this.level)return this.data;var t=this.data;if(!t)return null;var n=this.store.props,i="children";return n&&(i=n.children||"children"),void 0===t[i]&&(t[i]=null),e&&!t[i]&&(t[i]=[]),t[i]},e.prototype.updateChildren=function(){var e=this,t=this.getChildren()||[],n=this.childNodes.map(function(e){return e.data}),i={},r=[];t.forEach(function(e,t){var o=e[$a];!!o&&T(n,function(e){return e[$a]===o})>=0?i[o]={index:t,data:e}:r.push({index:t,data:e})}),this.store.lazy||n.forEach(function(t){i[t[$a]]||e.removeChildByData(t)}),r.forEach(function(t){var n=t.index,i=t.data;e.insertChild({data:i},n)}),this.updateLeafState()},e.prototype.loadData=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!0!==this.store.lazy||!this.store.load||this.loaded||this.loading&&!Object.keys(n).length)e&&e.call(this);else{this.loading=!0;this.store.load(this,function(i){t.childNodes=[],t.doCreateChildren(i,n),t.loaded=!0,t.loading=!1,t.updateLeafState(),e&&e.call(t,i)})}},Na(e,[{key:"label",get:function(){return Ia(this,"label")}},{key:"key",get:function(){var e=this.store.key;return this.data?this.data[e]:null}},{key:"disabled",get:function(){return Ia(this,"disabled")}},{key:"nextSibling",get:function(){var e=this.parent;if(e){var t=e.childNodes.indexOf(this);if(t>-1)return e.childNodes[t+1]}return null}},{key:"previousSibling",get:function(){var e=this.parent;if(e){var t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}}]),e}(),La="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var Va=function(){function e(t){var n=this;for(var i in function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.currentNode=null,this.currentNodeKey=null,t)t.hasOwnProperty(i)&&(this[i]=t[i]);(this.nodesMap={},this.root=new Fa({data:this.data,store:this}),this.lazy&&this.load)?(0,this.load)(this.root,function(e){n.root.doCreateChildren(e),n._initDefaultCheckedNodes()}):this._initDefaultCheckedNodes()}return e.prototype.filter=function(e){var t=this.filterNodeMethod,n=this.lazy;!function i(r){var o=r.root?r.root.childNodes:r.childNodes;if(o.forEach(function(n){n.visible=t.call(n,e,n.data,n),i(n)}),!r.visible&&o.length){var s;s=!o.some(function(e){return e.visible}),r.root?r.root.visible=!1===s:r.visible=!1===s}e&&(!r.visible||r.isLeaf||n||r.expand())}(this)},e.prototype.setData=function(e){e!==this.root.data?(this.root.setData(e),this._initDefaultCheckedNodes()):this.root.updateChildren()},e.prototype.getNode=function(e){if(e instanceof Fa)return e;var t="object"!==(void 0===e?"undefined":La(e))?e:Ma(this.key,e);return this.nodesMap[t]||null},e.prototype.insertBefore=function(e,t){var n=this.getNode(t);n.parent.insertBefore({data:e},n)},e.prototype.insertAfter=function(e,t){var n=this.getNode(t);n.parent.insertAfter({data:e},n)},e.prototype.remove=function(e){var t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))},e.prototype.append=function(e,t){var n=t?this.getNode(t):this.root;n&&n.insertChild({data:e})},e.prototype._initDefaultCheckedNodes=function(){var e=this,t=this.defaultCheckedKeys||[],n=this.nodesMap;t.forEach(function(t){var i=n[t];i&&i.setChecked(!0,!e.checkStrictly)})},e.prototype._initDefaultCheckedNode=function(e){-1!==(this.defaultCheckedKeys||[]).indexOf(e.key)&&e.setChecked(!0,!this.checkStrictly)},e.prototype.setDefaultCheckedKey=function(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())},e.prototype.registerNode=function(e){this.key&&e&&e.data&&(void 0!==e.key&&(this.nodesMap[e.key]=e))},e.prototype.deregisterNode=function(e){var t=this;this.key&&e&&e.data&&(e.childNodes.forEach(function(e){t.deregisterNode(e)}),delete this.nodesMap[e.key])},e.prototype.getCheckedNodes=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[];return function i(r){(r.root?r.root.childNodes:r.childNodes).forEach(function(r){(r.checked||t&&r.indeterminate)&&(!e||e&&r.isLeaf)&&n.push(r.data),i(r)})}(this),n},e.prototype.getCheckedKeys=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.getCheckedNodes(t).map(function(t){return(t||{})[e.key]})},e.prototype.getHalfCheckedNodes=function(){var e=[];return function t(n){(n.root?n.root.childNodes:n.childNodes).forEach(function(n){n.indeterminate&&e.push(n.data),t(n)})}(this),e},e.prototype.getHalfCheckedKeys=function(){var e=this;return this.getHalfCheckedNodes().map(function(t){return(t||{})[e.key]})},e.prototype._getAllNodes=function(){var e=[],t=this.nodesMap;for(var n in t)t.hasOwnProperty(n)&&e.push(t[n]);return e},e.prototype.updateChildren=function(e,t){var n=this.nodesMap[e];if(n){for(var i=n.childNodes,r=i.length-1;r>=0;r--){var o=i[r];this.remove(o.data)}for(var s=0,a=t.length;s<a;s++){var l=t[s];this.append(l,n.data)}}},e.prototype._setCheckedKeys=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments[2],i=this._getAllNodes().sort(function(e,t){return t.level-e.level}),r=Object.create(null),o=Object.keys(n);i.forEach(function(e){return e.setChecked(!1,!1)});for(var s=0,a=i.length;s<a;s++){var l=i[s],u=l.data[e].toString();if(o.indexOf(u)>-1){for(var c=l.parent;c&&c.level>0;)r[c.data[e]]=!0,c=c.parent;l.isLeaf||this.checkStrictly?l.setChecked(!0,!1):(l.setChecked(!0,!0),t&&function(){l.setChecked(!1,!1);!function e(t){t.childNodes.forEach(function(t){t.isLeaf||t.setChecked(!1,!1),e(t)})}(l)}())}else l.checked&&!r[u]&&l.setChecked(!1,!1)}},e.prototype.setCheckedNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.key,i={};e.forEach(function(e){i[(e||{})[n]]=!0}),this._setCheckedKeys(n,t,i)},e.prototype.setCheckedKeys=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.defaultCheckedKeys=e;var n=this.key,i={};e.forEach(function(e){i[e]=!0}),this._setCheckedKeys(n,t,i)},e.prototype.setDefaultExpandedKeys=function(e){var t=this;e=e||[],this.defaultExpandedKeys=e,e.forEach(function(e){var n=t.getNode(e);n&&n.expand(null,t.autoExpandParent)})},e.prototype.setChecked=function(e,t,n){var i=this.getNode(e);i&&i.setChecked(!!t,n)},e.prototype.getCurrentNode=function(){return this.currentNode},e.prototype.setCurrentNode=function(e){var t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0},e.prototype.setUserCurrentNode=function(e){var t=e[this.key],n=this.nodesMap[t];this.setCurrentNode(n)},e.prototype.setCurrentNodeKey=function(e){if(null==e)return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);var t=this.getNode(e);t&&this.setCurrentNode(t)},e}(),Ba=function(){var e=this,t=this,n=t.$createElement,i=t._self._c||n;return i("div",{directives:[{name:"show",rawName:"v-show",value:t.node.visible,expression:"node.visible"}],ref:"node",staticClass:"el-tree-node",class:{"is-expanded":t.expanded,"is-current":t.node.isCurrent,"is-hidden":!t.node.visible,"is-focusable":!t.node.disabled,"is-checked":!t.node.disabled&&t.node.checked},attrs:{role:"treeitem",tabindex:"-1","aria-expanded":t.expanded,"aria-disabled":t.node.disabled,"aria-checked":t.node.checked,draggable:t.tree.draggable},on:{click:function(e){return e.stopPropagation(),t.handleClick(e)},contextmenu:function(t){return e.handleContextMenu(t)},dragstart:function(e){return e.stopPropagation(),t.handleDragStart(e)},dragover:function(e){return e.stopPropagation(),t.handleDragOver(e)},dragend:function(e){return e.stopPropagation(),t.handleDragEnd(e)},drop:function(e){return e.stopPropagation(),t.handleDrop(e)}}},[i("div",{staticClass:"el-tree-node__content",style:{"padding-left":(t.node.level-1)*t.tree.indent+"px"}},[i("span",{class:[{"is-leaf":t.node.isLeaf,expanded:!t.node.isLeaf&&t.expanded},"el-tree-node__expand-icon",t.tree.iconClass?t.tree.iconClass:"el-icon-caret-right"],on:{click:function(e){return e.stopPropagation(),t.handleExpandIconClick(e)}}}),t.showCheckbox?i("el-checkbox",{attrs:{indeterminate:t.node.indeterminate,disabled:!!t.node.disabled},on:{change:t.handleCheckChange},nativeOn:{click:function(e){e.stopPropagation()}},model:{value:t.node.checked,callback:function(e){t.$set(t.node,"checked",e)},expression:"node.checked"}}):t._e(),t.node.loading?i("span",{staticClass:"el-tree-node__loading-icon el-icon-loading"}):t._e(),i("node-content",{attrs:{node:t.node}})],1),i("el-collapse-transition",[!t.renderAfterExpand||t.childNodeRendered?i("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}],staticClass:"el-tree-node__children",attrs:{role:"group","aria-expanded":t.expanded}},t._l(t.node.childNodes,function(e){return i("el-tree-node",{key:t.getNodeKey(e),attrs:{"render-content":t.renderContent,"render-after-expand":t.renderAfterExpand,"show-checkbox":t.showCheckbox,node:e},on:{"node-expand":t.handleChildNodeExpand}})}),1):t._e()])],1)};Ba._withStripped=!0;var za=r({name:"ElTreeNode",componentName:"ElTreeNode",mixins:[l],props:{node:{default:function(){return{}}},props:{},renderContent:Function,renderAfterExpand:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},components:{ElCollapseTransition:on,ElCheckbox:Rn,NodeContent:{props:{node:{required:!0}},render:function(e){var t=this.$parent,n=t.tree,i=this.node,r=i.data,o=i.store;return t.renderContent?t.renderContent.call(t._renderProxy,e,{_self:n.$vnode.context,node:i,data:r,store:o}):n.$scopedSlots.default?n.$scopedSlots.default({node:i,data:r}):e("span",{class:"el-tree-node__label"},[i.label])}}},data:function(){return{tree:null,expanded:!1,childNodeRendered:!1,oldChecked:null,oldIndeterminate:null}},watch:{"node.indeterminate":function(e){this.handleSelectChange(this.node.checked,e)},"node.checked":function(e){this.handleSelectChange(e,this.node.indeterminate)},"node.expanded":function(e){var t=this;this.$nextTick(function(){return t.expanded=e}),e&&(this.childNodeRendered=!0)}},methods:{getNodeKey:function(e){return Ma(this.tree.nodeKey,e.data)},handleSelectChange:function(e,t){this.oldChecked!==e&&this.oldIndeterminate!==t&&this.tree.$emit("check-change",this.node.data,e,t),this.oldChecked=e,this.indeterminate=t},handleClick:function(){var e=this.tree.store;e.setCurrentNode(this.node),this.tree.$emit("current-change",e.currentNode?e.currentNode.data:null,e.currentNode),this.tree.currentNode=this,this.tree.expandOnClickNode&&this.handleExpandIconClick(),this.tree.checkOnClickNode&&!this.node.disabled&&this.handleCheckChange(null,{target:{checked:!this.node.checked}}),this.tree.$emit("node-click",this.node.data,this.node,this)},handleContextMenu:function(e){this.tree._events["node-contextmenu"]&&this.tree._events["node-contextmenu"].length>0&&(e.stopPropagation(),e.preventDefault()),this.tree.$emit("node-contextmenu",e,this.node.data,this.node,this)},handleExpandIconClick:function(){this.node.isLeaf||(this.expanded?(this.tree.$emit("node-collapse",this.node.data,this.node,this),this.node.collapse()):(this.node.expand(),this.$emit("node-expand",this.node.data,this.node,this)))},handleCheckChange:function(e,t){var n=this;this.node.setChecked(t.target.checked,!this.tree.checkStrictly),this.$nextTick(function(){var e=n.tree.store;n.tree.$emit("check",n.node.data,{checkedNodes:e.getCheckedNodes(),checkedKeys:e.getCheckedKeys(),halfCheckedNodes:e.getHalfCheckedNodes(),halfCheckedKeys:e.getHalfCheckedKeys()})})},handleChildNodeExpand:function(e,t,n){this.broadcast("ElTreeNode","tree-node-expand",t),this.tree.$emit("node-expand",e,t,n)},handleDragStart:function(e){this.tree.draggable&&this.tree.$emit("tree-node-drag-start",e,this)},handleDragOver:function(e){this.tree.draggable&&(this.tree.$emit("tree-node-drag-over",e,this),e.preventDefault())},handleDrop:function(e){e.preventDefault()},handleDragEnd:function(e){this.tree.draggable&&this.tree.$emit("tree-node-drag-end",e,this)}},created:function(){var e=this,t=this.$parent;t.isTree?this.tree=t:this.tree=t.tree;var n=this.tree;n||console.warn("Can not find node's tree.");var i=(n.props||{}).children||"children";this.$watch("node.data."+i,function(){e.node.updateChildren()}),this.node.expanded&&(this.expanded=!0,this.childNodeRendered=!0),this.tree.accordion&&this.$on("tree-node-expand",function(t){e.node!==t&&e.node.collapse()})}},Ba,[],!1,null,null,null);za.options.__file="packages/tree/src/tree-node.vue";var Ra=r({name:"ElTree",mixins:[l],components:{ElTreeNode:za.exports},data:function(){return{store:null,root:null,currentNode:null,treeItems:null,checkboxItems:[],dragState:{showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0}}},props:{data:{type:Array},emptyText:{type:String,default:function(){return W("el.tree.emptyText")}},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{default:function(){return{children:"children",label:"label",disabled:"disabled"}}},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},iconClass:String},computed:{children:{set:function(e){this.data=e},get:function(){return this.data}},treeItemArray:function(){return Array.prototype.slice.call(this.treeItems)},isEmpty:function(){var e=this.root.childNodes;return!e||0===e.length||e.every(function(e){return!e.visible})}},watch:{defaultCheckedKeys:function(e){this.store.setDefaultCheckedKey(e)},defaultExpandedKeys:function(e){this.store.defaultExpandedKeys=e,this.store.setDefaultExpandedKeys(e)},data:function(e){this.store.setData(e)},checkboxItems:function(e){Array.prototype.forEach.call(e,function(e){e.setAttribute("tabindex",-1)})},checkStrictly:function(e){this.store.checkStrictly=e}},methods:{filter:function(e){if(!this.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");this.store.filter(e)},getNodeKey:function(e){return Ma(this.nodeKey,e.data)},getNodePath:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");var t=this.store.getNode(e);if(!t)return[];for(var n=[t.data],i=t.parent;i&&i!==this.root;)n.push(i.data),i=i.parent;return n.reverse()},getCheckedNodes:function(e,t){return this.store.getCheckedNodes(e,t)},getCheckedKeys:function(e){return this.store.getCheckedKeys(e)},getCurrentNode:function(){var e=this.store.getCurrentNode();return e?e.data:null},getCurrentKey:function(){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");var e=this.getCurrentNode();return e?e[this.nodeKey]:null},setCheckedNodes:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");this.store.setCheckedNodes(e,t)},setCheckedKeys:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");this.store.setCheckedKeys(e,t)},setChecked:function(e,t,n){this.store.setChecked(e,t,n)},getHalfCheckedNodes:function(){return this.store.getHalfCheckedNodes()},getHalfCheckedKeys:function(){return this.store.getHalfCheckedKeys()},setCurrentNode:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");this.store.setUserCurrentNode(e)},setCurrentKey:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");this.store.setCurrentNodeKey(e)},getNode:function(e){return this.store.getNode(e)},remove:function(e){this.store.remove(e)},append:function(e,t){this.store.append(e,t)},insertBefore:function(e,t){this.store.insertBefore(e,t)},insertAfter:function(e,t){this.store.insertAfter(e,t)},handleNodeExpand:function(e,t,n){this.broadcast("ElTreeNode","tree-node-expand",t),this.$emit("node-expand",e,t,n)},updateKeyChildren:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");this.store.updateChildren(e,t)},initTabIndex:function(){this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]");var e=this.$el.querySelectorAll(".is-checked[role=treeitem]");e.length?e[0].setAttribute("tabindex",0):this.treeItems[0]&&this.treeItems[0].setAttribute("tabindex",0)},handleKeydown:function(e){var t=e.target;if(-1!==t.className.indexOf("el-tree-node")){var n=e.keyCode;this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]");var i=this.treeItemArray.indexOf(t),r=void 0;[38,40].indexOf(n)>-1&&(e.preventDefault(),r=38===n?0!==i?i-1:0:i<this.treeItemArray.length-1?i+1:0,this.treeItemArray[r].focus()),[37,39].indexOf(n)>-1&&(e.preventDefault(),t.click());var o=t.querySelector('[type="checkbox"]');[13,32].indexOf(n)>-1&&o&&(e.preventDefault(),o.click())}}},created:function(){var e=this;this.isTree=!0,this.store=new Va({key:this.nodeKey,data:this.data,lazy:this.lazy,props:this.props,load:this.load,currentNodeKey:this.currentNodeKey,checkStrictly:this.checkStrictly,checkDescendants:this.checkDescendants,defaultCheckedKeys:this.defaultCheckedKeys,defaultExpandedKeys:this.defaultExpandedKeys,autoExpandParent:this.autoExpandParent,defaultExpandAll:this.defaultExpandAll,filterNodeMethod:this.filterNodeMethod}),this.root=this.store.root;var t=this.dragState;this.$on("tree-node-drag-start",function(n,i){if("function"==typeof e.allowDrag&&!e.allowDrag(i.node))return n.preventDefault(),!1;n.dataTransfer.effectAllowed="move";try{n.dataTransfer.setData("text/plain","")}catch(e){}t.draggingNode=i,e.$emit("node-drag-start",i.node,n)}),this.$on("tree-node-drag-over",function(n,i){var r=function(e,t){for(var n=e;n&&"BODY"!==n.tagName;){if(n.__vue__&&n.__vue__.$options.name===t)return n.__vue__;n=n.parentNode}return null}(n.target,"ElTreeNode"),o=t.dropNode;o&&o!==r&&ve(o.$el,"is-drop-inner");var s=t.draggingNode;if(s&&r){var a=!0,l=!0,u=!0,c=!0;"function"==typeof e.allowDrop&&(a=e.allowDrop(s.node,r.node,"prev"),c=l=e.allowDrop(s.node,r.node,"inner"),u=e.allowDrop(s.node,r.node,"next")),n.dataTransfer.dropEffect=l?"move":"none",(a||l||u)&&o!==r&&(o&&e.$emit("node-drag-leave",s.node,o.node,n),e.$emit("node-drag-enter",s.node,r.node,n)),(a||l||u)&&(t.dropNode=r),r.node.nextSibling===s.node&&(u=!1),r.node.previousSibling===s.node&&(a=!1),r.node.contains(s.node,!1)&&(l=!1),(s.node===r.node||s.node.contains(r.node))&&(a=!1,l=!1,u=!1);var h=r.$el.getBoundingClientRect(),d=e.$el.getBoundingClientRect(),f=void 0,p=a?l?.25:u?.45:1:-1,m=u?l?.75:a?.55:0:1,v=-9999,g=n.clientY-h.top;f=g<h.height*p?"before":g>h.height*m?"after":l?"inner":"none";var y=r.$el.querySelector(".el-tree-node__expand-icon").getBoundingClientRect(),b=e.$refs.dropIndicator;"before"===f?v=y.top-d.top:"after"===f&&(v=y.bottom-d.top),b.style.top=v+"px",b.style.left=y.right-d.left+"px","inner"===f?me(r.$el,"is-drop-inner"):ve(r.$el,"is-drop-inner"),t.showDropIndicator="before"===f||"after"===f,t.allowDrop=t.showDropIndicator||c,t.dropType=f,e.$emit("node-drag-over",s.node,r.node,n)}}),this.$on("tree-node-drag-end",function(n){var i=t.draggingNode,r=t.dropType,o=t.dropNode;if(n.preventDefault(),n.dataTransfer.dropEffect="move",i&&o){var s={data:i.node.data};"none"!==r&&i.node.remove(),"before"===r?o.node.parent.insertBefore(s,o.node):"after"===r?o.node.parent.insertAfter(s,o.node):"inner"===r&&o.node.insertChild(s),"none"!==r&&e.store.registerNode(s),ve(o.$el,"is-drop-inner"),e.$emit("node-drag-end",i.node,o.node,r,n),"none"!==r&&e.$emit("node-drop",i.node,o.node,r,n)}i&&!o&&e.$emit("node-drag-end",i.node,null,r,n),t.showDropIndicator=!1,t.draggingNode=null,t.dropNode=null,t.allowDrop=!0})},mounted:function(){this.initTabIndex(),this.$el.addEventListener("keydown",this.handleKeydown)},updated:function(){this.treeItems=this.$el.querySelectorAll("[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]")}},Ea,[],!1,null,null,null);Ra.options.__file="packages/tree/src/tree.vue";var Ha=Ra.exports;Ha.install=function(e){e.component(Ha.name,Ha)};var ja=Ha,Wa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-alert-fade"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-alert",class:[e.typeClass,e.center?"is-center":"","is-"+e.effect],attrs:{role:"alert"}},[e.showIcon?n("i",{staticClass:"el-alert__icon",class:[e.iconClass,e.isBigIcon]}):e._e(),n("div",{staticClass:"el-alert__content"},[e.title||e.$slots.title?n("span",{staticClass:"el-alert__title",class:[e.isBoldTitle]},[e._t("title",[e._v(e._s(e.title))])],2):e._e(),e.$slots.default&&!e.description?n("p",{staticClass:"el-alert__description"},[e._t("default")],2):e._e(),e.description&&!e.$slots.default?n("p",{staticClass:"el-alert__description"},[e._v(e._s(e.description))]):e._e(),n("i",{directives:[{name:"show",rawName:"v-show",value:e.closable,expression:"closable"}],staticClass:"el-alert__closebtn",class:{"is-customed":""!==e.closeText,"el-icon-close":""===e.closeText},on:{click:function(t){e.close()}}},[e._v(e._s(e.closeText))])])])])};Wa._withStripped=!0;var qa={success:"el-icon-success",warning:"el-icon-warning",error:"el-icon-error"},Ya=r({name:"ElAlert",props:{title:{type:String,default:""},description:{type:String,default:""},type:{type:String,default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,default:"light",validator:function(e){return-1!==["light","dark"].indexOf(e)}}},data:function(){return{visible:!0}},methods:{close:function(){this.visible=!1,this.$emit("close")}},computed:{typeClass:function(){return"el-alert--"+this.type},iconClass:function(){return qa[this.type]||"el-icon-info"},isBigIcon:function(){return this.description||this.$slots.default?"is-big":""},isBoldTitle:function(){return this.description||this.$slots.default?"is-bold":""}}},Wa,[],!1,null,null,null);Ya.options.__file="packages/alert/src/main.vue";var Ka=Ya.exports;Ka.install=function(e){e.component(Ka.name,Ka)};var Ua=Ka,Ga=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-notification-fade"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],class:["el-notification",e.customClass,e.horizontalClass],style:e.positionStyle,attrs:{role:"alert"},on:{mouseenter:function(t){e.clearTimer()},mouseleave:function(t){e.startTimer()},click:e.click}},[e.type||e.iconClass?n("i",{staticClass:"el-notification__icon",class:[e.typeClass,e.iconClass]}):e._e(),n("div",{staticClass:"el-notification__group",class:{"is-with-icon":e.typeClass||e.iconClass}},[n("h2",{staticClass:"el-notification__title",domProps:{textContent:e._s(e.title)}}),n("div",{directives:[{name:"show",rawName:"v-show",value:e.message,expression:"message"}],staticClass:"el-notification__content"},[e._t("default",[e.dangerouslyUseHTMLString?n("p",{domProps:{innerHTML:e._s(e.message)}}):n("p",[e._v(e._s(e.message))])])],2),e.showClose?n("div",{staticClass:"el-notification__closeBtn el-icon-close",on:{click:function(t){return t.stopPropagation(),e.close(t)}}}):e._e()])])])};Ga._withStripped=!0;var Xa={success:"success",info:"info",warning:"warning",error:"error"},Za=r({data:function(){return{visible:!1,title:"",message:"",duration:4500,type:"",showClose:!0,customClass:"",iconClass:"",onClose:null,onClick:null,closed:!1,verticalOffset:0,timer:null,dangerouslyUseHTMLString:!1,position:"top-right"}},computed:{typeClass:function(){return this.type&&Xa[this.type]?"el-icon-"+Xa[this.type]:""},horizontalClass:function(){return this.position.indexOf("right")>-1?"right":"left"},verticalProperty:function(){return/^top-/.test(this.position)?"top":"bottom"},positionStyle:function(){var e;return(e={})[this.verticalProperty]=this.verticalOffset+"px",e}},watch:{closed:function(e){e&&(this.visible=!1,this.$el.addEventListener("transitionend",this.destroyElement))}},methods:{destroyElement:function(){this.$el.removeEventListener("transitionend",this.destroyElement),this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},click:function(){"function"==typeof this.onClick&&this.onClick()},close:function(){this.closed=!0,"function"==typeof this.onClose&&this.onClose()},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var e=this;this.duration>0&&(this.timer=setTimeout(function(){e.closed||e.close()},this.duration))},keydown:function(e){46===e.keyCode||8===e.keyCode?this.clearTimer():27===e.keyCode?this.closed||this.close():this.startTimer()}},mounted:function(){var e=this;this.duration>0&&(this.timer=setTimeout(function(){e.closed||e.close()},this.duration)),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},Ga,[],!1,null,null,null);Za.options.__file="packages/notification/src/main.vue";var Ja=Za.exports,Qa=h.a.extend(Ja),el=void 0,tl=[],nl=1,il=function e(t){if(!h.a.prototype.$isServer){var n=(t=Q({},t)).onClose,i="notification_"+nl++,r=t.position||"top-right";t.onClose=function(){e.close(i,n)},el=new Qa({data:t}),fs(t.message)&&(el.$slots.default=[t.message],t.message="REPLACED_BY_VNODE"),el.id=i,el.$mount(),document.body.appendChild(el.$el),el.visible=!0,el.dom=el.$el,el.dom.style.zIndex=De.nextZIndex();var o=t.offset||0;return tl.filter(function(e){return e.position===r}).forEach(function(e){o+=e.$el.offsetHeight+16}),o+=16,el.verticalOffset=o,tl.push(el),el}};["success","warning","info","error"].forEach(function(e){il[e]=function(t){return("string"==typeof t||fs(t))&&(t={message:t}),t.type=e,il(t)}}),il.close=function(e,t){var n=-1,i=tl.length,r=tl.filter(function(t,i){return t.id===e&&(n=i,!0)})[0];if(r&&("function"==typeof t&&t(r),tl.splice(n,1),!(i<=1)))for(var o=r.position,s=r.dom.offsetHeight,a=n;a<i-1;a++)tl[a].position===o&&(tl[a].dom.style[r.verticalProperty]=parseInt(tl[a].dom.style[r.verticalProperty],10)-s-16+"px")},il.closeAll=function(){for(var e=tl.length-1;e>=0;e--)tl[e].close()};var rl=il,ol=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-slider",class:{"is-vertical":e.vertical,"el-slider--with-input":e.showInput},attrs:{role:"slider","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-orientation":e.vertical?"vertical":"horizontal","aria-disabled":e.sliderDisabled}},[e.showInput&&!e.range?n("el-input-number",{ref:"input",staticClass:"el-slider__input",attrs:{step:e.step,disabled:e.sliderDisabled,controls:e.showInputControls,min:e.min,max:e.max,debounce:e.debounce,size:e.inputSize},on:{change:e.emitChange},model:{value:e.firstValue,callback:function(t){e.firstValue=t},expression:"firstValue"}}):e._e(),n("div",{ref:"slider",staticClass:"el-slider__runway",class:{"show-input":e.showInput,disabled:e.sliderDisabled},style:e.runwayStyle,on:{click:e.onSliderClick}},[n("div",{staticClass:"el-slider__bar",style:e.barStyle}),n("slider-button",{ref:"button1",attrs:{vertical:e.vertical,"tooltip-class":e.tooltipClass},model:{value:e.firstValue,callback:function(t){e.firstValue=t},expression:"firstValue"}}),e.range?n("slider-button",{ref:"button2",attrs:{vertical:e.vertical,"tooltip-class":e.tooltipClass},model:{value:e.secondValue,callback:function(t){e.secondValue=t},expression:"secondValue"}}):e._e(),e._l(e.stops,function(t,i){return e.showStops?n("div",{key:i,staticClass:"el-slider__stop",style:e.getStopStyle(t)}):e._e()}),e.markList.length>0?[n("div",e._l(e.markList,function(t,i){return n("div",{key:i,staticClass:"el-slider__stop el-slider__marks-stop",style:e.getStopStyle(t.position)})}),0),n("div",{staticClass:"el-slider__marks"},e._l(e.markList,function(t,i){return n("slider-marker",{key:i,style:e.getStopStyle(t.position),attrs:{mark:t.mark}})}),1)]:e._e()],2)],1)};ol._withStripped=!0;var sl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"button",staticClass:"el-slider__button-wrapper",class:{hover:e.hovering,dragging:e.dragging},style:e.wrapperStyle,attrs:{tabindex:"0"},on:{mouseenter:e.handleMouseEnter,mouseleave:e.handleMouseLeave,mousedown:e.onButtonDown,touchstart:e.onButtonDown,focus:e.handleMouseEnter,blur:e.handleMouseLeave,keydown:[function(t){return"button"in t||!e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])?"button"in t&&0!==t.button?null:e.onLeftKeyDown(t):null},function(t){return"button"in t||!e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])?"button"in t&&2!==t.button?null:e.onRightKeyDown(t):null},function(t){return"button"in t||!e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?(t.preventDefault(),e.onLeftKeyDown(t)):null},function(t){return"button"in t||!e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?(t.preventDefault(),e.onRightKeyDown(t)):null}]}},[n("el-tooltip",{ref:"tooltip",attrs:{placement:"top","popper-class":e.tooltipClass,disabled:!e.showTooltip}},[n("span",{attrs:{slot:"content"},slot:"content"},[e._v(e._s(e.formatValue))]),n("div",{staticClass:"el-slider__button",class:{hover:e.hovering,dragging:e.dragging}})])],1)};sl._withStripped=!0;var al=r({name:"ElSliderButton",components:{ElTooltip:dn},props:{value:{type:Number,default:0},vertical:{type:Boolean,default:!1},tooltipClass:String},data:function(){return{hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:null,oldValue:this.value}},computed:{disabled:function(){return this.$parent.sliderDisabled},max:function(){return this.$parent.max},min:function(){return this.$parent.min},step:function(){return this.$parent.step},showTooltip:function(){return this.$parent.showTooltip},precision:function(){return this.$parent.precision},currentPosition:function(){return(this.value-this.min)/(this.max-this.min)*100+"%"},enableFormat:function(){return this.$parent.formatTooltip instanceof Function},formatValue:function(){return this.enableFormat&&this.$parent.formatTooltip(this.value)||this.value},wrapperStyle:function(){return this.vertical?{bottom:this.currentPosition}:{left:this.currentPosition}}},watch:{dragging:function(e){this.$parent.dragging=e}},methods:{displayTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!0)},hideTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!1)},handleMouseEnter:function(){this.hovering=!0,this.displayTooltip()},handleMouseLeave:function(){this.hovering=!1,this.hideTooltip()},onButtonDown:function(e){this.disabled||(e.preventDefault(),this.onDragStart(e),window.addEventListener("mousemove",this.onDragging),window.addEventListener("touchmove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd),window.addEventListener("touchend",this.onDragEnd),window.addEventListener("contextmenu",this.onDragEnd))},onLeftKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onRightKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onDragStart:function(e){this.dragging=!0,this.isClick=!0,"touchstart"===e.type&&(e.clientY=e.touches[0].clientY,e.clientX=e.touches[0].clientX),this.vertical?this.startY=e.clientY:this.startX=e.clientX,this.startPosition=parseFloat(this.currentPosition),this.newPosition=this.startPosition},onDragging:function(e){if(this.dragging){this.isClick=!1,this.displayTooltip(),this.$parent.resetSize();var t=0;"touchmove"===e.type&&(e.clientY=e.touches[0].clientY,e.clientX=e.touches[0].clientX),this.vertical?(this.currentY=e.clientY,t=(this.startY-this.currentY)/this.$parent.sliderSize*100):(this.currentX=e.clientX,t=(this.currentX-this.startX)/this.$parent.sliderSize*100),this.newPosition=this.startPosition+t,this.setPosition(this.newPosition)}},onDragEnd:function(){var e=this;this.dragging&&(setTimeout(function(){e.dragging=!1,e.hideTooltip(),e.isClick||(e.setPosition(e.newPosition),e.$parent.emitChange())},0),window.removeEventListener("mousemove",this.onDragging),window.removeEventListener("touchmove",this.onDragging),window.removeEventListener("mouseup",this.onDragEnd),window.removeEventListener("touchend",this.onDragEnd),window.removeEventListener("contextmenu",this.onDragEnd))},setPosition:function(e){var t=this;if(null!==e&&!isNaN(e)){e<0?e=0:e>100&&(e=100);var n=100/((this.max-this.min)/this.step),i=Math.round(e/n)*n*(this.max-this.min)*.01+this.min;i=parseFloat(i.toFixed(this.precision)),this.$emit("input",i),this.$nextTick(function(){t.displayTooltip(),t.$refs.tooltip&&t.$refs.tooltip.updatePopper()}),this.dragging||this.value===this.oldValue||(this.oldValue=this.value)}}}},sl,[],!1,null,null,null);al.options.__file="packages/slider/src/button.vue";var ll=al.exports,ul={name:"ElMarker",props:{mark:{type:[String,Object]}},render:function(){var e=arguments[0],t="string"==typeof this.mark?this.mark:this.mark.label;return e("div",{class:"el-slider__marks-text",style:this.mark.style||{}},[t])}},cl=r({name:"ElSlider",mixins:[l],inject:{elForm:{default:""}},props:{min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},value:{type:[Number,Array],default:0},showInput:{type:Boolean,default:!1},showInputControls:{type:Boolean,default:!0},inputSize:{type:String,default:"small"},showStops:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},formatTooltip:Function,disabled:{type:Boolean,default:!1},range:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},height:{type:String},debounce:{type:Number,default:300},label:{type:String},tooltipClass:String,marks:Object},components:{ElInputNumber:kn,SliderButton:ll,SliderMarker:ul},data:function(){return{firstValue:null,secondValue:null,oldValue:null,dragging:!1,sliderSize:1}},watch:{value:function(e,t){this.dragging||Array.isArray(e)&&Array.isArray(t)&&e.every(function(e,n){return e===t[n]})||this.setValues()},dragging:function(e){e||this.setValues()},firstValue:function(e){this.range?this.$emit("input",[this.minValue,this.maxValue]):this.$emit("input",e)},secondValue:function(){this.range&&this.$emit("input",[this.minValue,this.maxValue])},min:function(){this.setValues()},max:function(){this.setValues()}},methods:{valueChanged:function(){var e=this;return this.range?![this.minValue,this.maxValue].every(function(t,n){return t===e.oldValue[n]}):this.value!==this.oldValue},setValues:function(){if(this.min>this.max)console.error("[Element Error][Slider]min should not be greater than max.");else{var e=this.value;this.range&&Array.isArray(e)?e[1]<this.min?this.$emit("input",[this.min,this.min]):e[0]>this.max?this.$emit("input",[this.max,this.max]):e[0]<this.min?this.$emit("input",[this.min,e[1]]):e[1]>this.max?this.$emit("input",[e[0],this.max]):(this.firstValue=e[0],this.secondValue=e[1],this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",[this.minValue,this.maxValue]),this.oldValue=e.slice())):this.range||"number"!=typeof e||isNaN(e)||(e<this.min?this.$emit("input",this.min):e>this.max?this.$emit("input",this.max):(this.firstValue=e,this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",e),this.oldValue=e)))}},setPosition:function(e){var t=this.min+e*(this.max-this.min)/100;if(this.range){var n=void 0;n=Math.abs(this.minValue-t)<Math.abs(this.maxValue-t)?this.firstValue<this.secondValue?"button1":"button2":this.firstValue>this.secondValue?"button1":"button2",this.$refs[n].setPosition(e)}else this.$refs.button1.setPosition(e)},onSliderClick:function(e){if(!this.sliderDisabled&&!this.dragging){if(this.resetSize(),this.vertical){var t=this.$refs.slider.getBoundingClientRect().bottom;this.setPosition((t-e.clientY)/this.sliderSize*100)}else{var n=this.$refs.slider.getBoundingClientRect().left;this.setPosition((e.clientX-n)/this.sliderSize*100)}this.emitChange()}},resetSize:function(){this.$refs.slider&&(this.sliderSize=this.$refs.slider["client"+(this.vertical?"Height":"Width")])},emitChange:function(){var e=this;this.$nextTick(function(){e.$emit("change",e.range?[e.minValue,e.maxValue]:e.value)})},getStopStyle:function(e){return this.vertical?{bottom:e+"%"}:{left:e+"%"}}},computed:{stops:function(){var e=this;if(!this.showStops||this.min>this.max)return[];if(0===this.step)return[];for(var t=(this.max-this.min)/this.step,n=100*this.step/(this.max-this.min),i=[],r=1;r<t;r++)i.push(r*n);return this.range?i.filter(function(t){return t<100*(e.minValue-e.min)/(e.max-e.min)||t>100*(e.maxValue-e.min)/(e.max-e.min)}):i.filter(function(t){return t>100*(e.firstValue-e.min)/(e.max-e.min)})},markList:function(){var e=this;return this.marks?Object.keys(this.marks).map(parseFloat).sort(function(e,t){return e-t}).filter(function(t){return t<=e.max&&t>=e.min}).map(function(t){return{point:t,position:100*(t-e.min)/(e.max-e.min),mark:e.marks[t]}}):[]},minValue:function(){return Math.min(this.firstValue,this.secondValue)},maxValue:function(){return Math.max(this.firstValue,this.secondValue)},barSize:function(){return this.range?100*(this.maxValue-this.minValue)/(this.max-this.min)+"%":100*(this.firstValue-this.min)/(this.max-this.min)+"%"},barStart:function(){return this.range?100*(this.minValue-this.min)/(this.max-this.min)+"%":"0%"},precision:function(){var e=[this.min,this.max,this.step].map(function(e){var t=(""+e).split(".")[1];return t?t.length:0});return Math.max.apply(null,e)},runwayStyle:function(){return this.vertical?{height:this.height}:{}},barStyle:function(){return this.vertical?{height:this.barSize,bottom:this.barStart}:{width:this.barSize,left:this.barStart}},sliderDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},mounted:function(){var e=void 0;this.range?(Array.isArray(this.value)?(this.firstValue=Math.max(this.min,this.value[0]),this.secondValue=Math.min(this.max,this.value[1])):(this.firstValue=this.min,this.secondValue=this.max),this.oldValue=[this.firstValue,this.secondValue],e=this.firstValue+"-"+this.secondValue):("number"!=typeof this.value||isNaN(this.value)?this.firstValue=this.min:this.firstValue=Math.min(this.max,Math.max(this.min,this.value)),this.oldValue=this.firstValue,e=this.firstValue),this.$el.setAttribute("aria-valuetext",e),this.$el.setAttribute("aria-label",this.label?this.label:"slider between "+this.min+" and "+this.max),this.resetSize(),window.addEventListener("resize",this.resetSize)},beforeDestroy:function(){window.removeEventListener("resize",this.resetSize)}},ol,[],!1,null,null,null);cl.options.__file="packages/slider/src/main.vue";var hl=cl.exports;hl.install=function(e){e.component(hl.name,hl)};var dl=hl,fl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-loading-fade"},on:{"after-leave":e.handleAfterLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-loading-mask",class:[e.customClass,{"is-fullscreen":e.fullscreen}],style:{backgroundColor:e.background||""}},[n("div",{staticClass:"el-loading-spinner"},[e.spinner?n("i",{class:e.spinner}):n("svg",{staticClass:"circular",attrs:{viewBox:"25 25 50 50"}},[n("circle",{staticClass:"path",attrs:{cx:"50",cy:"50",r:"20",fill:"none"}})]),e.text?n("p",{staticClass:"el-loading-text"},[e._v(e._s(e.text))]):e._e()])])])};fl._withStripped=!0;var pl=r({data:function(){return{text:null,spinner:null,background:null,fullscreen:!0,visible:!1,customClass:""}},methods:{handleAfterLeave:function(){this.$emit("after-leave")},setText:function(e){this.text=e}}},fl,[],!1,null,null,null);pl.options.__file="packages/loading/src/loading.vue";var ml=pl.exports,vl=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e||!t)throw new Error("instance & callback is required");var r=!1,o=function(){r||(r=!0,t&&t.apply(null,arguments))};i?e.$once("after-leave",o):e.$on("after-leave",o),setTimeout(function(){o()},n+100)},gl=h.a.extend(ml),yl={install:function(e){if(!e.prototype.$isServer){var t=function(t,i){i.value?e.nextTick(function(){i.modifiers.fullscreen?(t.originalPosition=ge(document.body,"position"),t.originalOverflow=ge(document.body,"overflow"),t.maskStyle.zIndex=De.nextZIndex(),me(t.mask,"is-fullscreen"),n(document.body,t,i)):(ve(t.mask,"is-fullscreen"),i.modifiers.body?(t.originalPosition=ge(document.body,"position"),["top","left"].forEach(function(e){var n="top"===e?"scrollTop":"scrollLeft";t.maskStyle[e]=t.getBoundingClientRect()[e]+document.body[n]+document.documentElement[n]-parseInt(ge(document.body,"margin-"+e),10)+"px"}),["height","width"].forEach(function(e){t.maskStyle[e]=t.getBoundingClientRect()[e]+"px"}),n(document.body,t,i)):(t.originalPosition=ge(t,"position"),n(t,t,i)))}):(vl(t.instance,function(e){if(t.instance.hiding){t.domVisible=!1;var n=i.modifiers.fullscreen||i.modifiers.body?document.body:t;ve(n,"el-loading-parent--relative"),ve(n,"el-loading-parent--hidden"),t.instance.hiding=!1}},300,!0),t.instance.visible=!1,t.instance.hiding=!0)},n=function(t,n,i){n.domVisible||"none"===ge(n,"display")||"hidden"===ge(n,"visibility")?n.domVisible&&!0===n.instance.hiding&&(n.instance.visible=!0,n.instance.hiding=!1):(Object.keys(n.maskStyle).forEach(function(e){n.mask.style[e]=n.maskStyle[e]}),"absolute"!==n.originalPosition&&"fixed"!==n.originalPosition&&"sticky"!==n.originalPosition&&me(t,"el-loading-parent--relative"),i.modifiers.fullscreen&&i.modifiers.lock&&me(t,"el-loading-parent--hidden"),n.domVisible=!0,t.appendChild(n.mask),e.nextTick(function(){n.instance.hiding?n.instance.$emit("after-leave"):n.instance.visible=!0}),n.domInserted=!0)};e.directive("loading",{bind:function(e,n,i){var r=e.getAttribute("element-loading-text"),o=e.getAttribute("element-loading-spinner"),s=e.getAttribute("element-loading-background"),a=e.getAttribute("element-loading-custom-class"),l=i.context,u=new gl({el:document.createElement("div"),data:{text:l&&l[r]||r,spinner:l&&l[o]||o,background:l&&l[s]||s,customClass:l&&l[a]||a,fullscreen:!!n.modifiers.fullscreen}});e.instance=u,e.mask=u.$el,e.maskStyle={},n.value&&t(e,n)},update:function(e,n){e.instance.setText(e.getAttribute("element-loading-text")),n.oldValue!==n.value&&t(e,n)},unbind:function(e,n){e.domInserted&&(e.mask&&e.mask.parentNode&&e.mask.parentNode.removeChild(e.mask),t(e,{value:!1,modifiers:n.modifiers})),e.instance&&e.instance.$destroy()}})}}},bl=yl,_l=h.a.extend(ml),wl={text:null,fullscreen:!0,body:!1,lock:!1,customClass:""},xl=void 0;_l.prototype.originalPosition="",_l.prototype.originalOverflow="",_l.prototype.close=function(){var e=this;this.fullscreen&&(xl=void 0),vl(this,function(t){var n=e.fullscreen||e.body?document.body:e.target;ve(n,"el-loading-parent--relative"),ve(n,"el-loading-parent--hidden"),e.$el&&e.$el.parentNode&&e.$el.parentNode.removeChild(e.$el),e.$destroy()},300),this.visible=!1};var Cl=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!h.a.prototype.$isServer){if("string"==typeof(e=Q({},wl,e)).target&&(e.target=document.querySelector(e.target)),e.target=e.target||document.body,e.target!==document.body?e.fullscreen=!1:e.body=!0,e.fullscreen&&xl)return xl;var t=e.body?document.body:e.target,n=new _l({el:document.createElement("div"),data:e});return function(e,t,n){var i={};e.fullscreen?(n.originalPosition=ge(document.body,"position"),n.originalOverflow=ge(document.body,"overflow"),i.zIndex=De.nextZIndex()):e.body?(n.originalPosition=ge(document.body,"position"),["top","left"].forEach(function(t){var n="top"===t?"scrollTop":"scrollLeft";i[t]=e.target.getBoundingClientRect()[t]+document.body[n]+document.documentElement[n]+"px"}),["height","width"].forEach(function(t){i[t]=e.target.getBoundingClientRect()[t]+"px"})):n.originalPosition=ge(t,"position"),Object.keys(i).forEach(function(e){n.$el.style[e]=i[e]})}(e,t,n),"absolute"!==n.originalPosition&&"fixed"!==n.originalPosition&&"sticky"!==n.originalPosition&&me(t,"el-loading-parent--relative"),e.fullscreen&&e.lock&&me(t,"el-loading-parent--hidden"),t.appendChild(n.$el),h.a.nextTick(function(){n.visible=!0}),e.fullscreen&&(xl=n),n}},kl={install:function(e){e.use(bl),e.prototype.$loading=Cl},directive:bl,service:Cl},Sl=function(){var e=this.$createElement;return(this._self._c||e)("i",{class:"el-icon-"+this.name})};Sl._withStripped=!0;var Dl=r({name:"ElIcon",props:{name:String}},Sl,[],!1,null,null,null);Dl.options.__file="packages/icon/src/icon.vue";var El=Dl.exports;El.install=function(e){e.component(El.name,El)};var $l=El,Tl={name:"ElRow",componentName:"ElRow",props:{tag:{type:String,default:"div"},gutter:Number,type:String,justify:{type:String,default:"start"},align:String},computed:{style:function(){var e={};return this.gutter&&(e.marginLeft="-"+this.gutter/2+"px",e.marginRight=e.marginLeft),e}},render:function(e){return e(this.tag,{class:["el-row","start"!==this.justify?"is-justify-"+this.justify:"",this.align?"is-align-"+this.align:"",{"el-row--flex":"flex"===this.type}],style:this.style},this.$slots.default)},install:function(e){e.component(Tl.name,Tl)}},Ml=Tl,Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ol={name:"ElCol",props:{span:{type:Number,default:24},tag:{type:String,default:"div"},offset:Number,pull:Number,push:Number,xs:[Number,Object],sm:[Number,Object],md:[Number,Object],lg:[Number,Object],xl:[Number,Object]},computed:{gutter:function(){for(var e=this.$parent;e&&"ElRow"!==e.$options.componentName;)e=e.$parent;return e?e.gutter:0}},render:function(e){var t=this,n=[],i={};return this.gutter&&(i.paddingLeft=this.gutter/2+"px",i.paddingRight=i.paddingLeft),["span","offset","pull","push"].forEach(function(e){(t[e]||0===t[e])&&n.push("span"!==e?"el-col-"+e+"-"+t[e]:"el-col-"+t[e])}),["xs","sm","md","lg","xl"].forEach(function(e){if("number"==typeof t[e])n.push("el-col-"+e+"-"+t[e]);else if("object"===Nl(t[e])){var i=t[e];Object.keys(i).forEach(function(t){n.push("span"!==t?"el-col-"+e+"-"+t+"-"+i[t]:"el-col-"+e+"-"+i[t])})}}),e(this.tag,{class:["el-col",n],style:i},this.$slots.default)},install:function(e){e.component(Ol.name,Ol)}},Pl=Ol,Il=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition-group",{class:["el-upload-list","el-upload-list--"+e.listType,{"is-disabled":e.disabled}],attrs:{tag:"ul",name:"el-list"}},e._l(e.files,function(t){return n("li",{key:t.uid,class:["el-upload-list__item","is-"+t.status,e.focusing?"focusing":""],attrs:{tabindex:"0"},on:{keydown:function(n){if(!("button"in n)&&e._k(n.keyCode,"delete",[8,46],n.key,["Backspace","Delete","Del"]))return null;!e.disabled&&e.$emit("remove",t)},focus:function(t){e.focusing=!0},blur:function(t){e.focusing=!1},click:function(t){e.focusing=!1}}},[e._t("default",["uploading"!==t.status&&["picture-card","picture"].indexOf(e.listType)>-1?n("img",{staticClass:"el-upload-list__item-thumbnail",attrs:{src:t.url,alt:""}}):e._e(),n("a",{staticClass:"el-upload-list__item-name",on:{click:function(n){e.handleClick(t)}}},[n("i",{staticClass:"el-icon-document"}),e._v(e._s(t.name)+"\n ")]),n("label",{staticClass:"el-upload-list__item-status-label"},[n("i",{class:{"el-icon-upload-success":!0,"el-icon-circle-check":"text"===e.listType,"el-icon-check":["picture-card","picture"].indexOf(e.listType)>-1}})]),e.disabled?e._e():n("i",{staticClass:"el-icon-close",on:{click:function(n){e.$emit("remove",t)}}}),e.disabled?e._e():n("i",{staticClass:"el-icon-close-tip"},[e._v(e._s(e.t("el.upload.deleteTip")))]),"uploading"===t.status?n("el-progress",{attrs:{type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:e.parsePercentage(t.percentage)}}):e._e(),"picture-card"===e.listType?n("span",{staticClass:"el-upload-list__item-actions"},[e.handlePreview&&"picture-card"===e.listType?n("span",{staticClass:"el-upload-list__item-preview",on:{click:function(n){e.handlePreview(t)}}},[n("i",{staticClass:"el-icon-zoom-in"})]):e._e(),e.disabled?e._e():n("span",{staticClass:"el-upload-list__item-delete",on:{click:function(n){e.$emit("remove",t)}}},[n("i",{staticClass:"el-icon-delete"})])]):e._e()],{file:t})],2)}),0)};Il._withStripped=!0;var Al=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-progress",class:["el-progress--"+e.type,e.status?"is-"+e.status:"",{"el-progress--without-text":!e.showText,"el-progress--text-inside":e.textInside}],attrs:{role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"}},["line"===e.type?n("div",{staticClass:"el-progress-bar"},[n("div",{staticClass:"el-progress-bar__outer",style:{height:e.strokeWidth+"px",backgroundColor:e.defineBackColor}},[n("div",{staticClass:"el-progress-bar__inner",style:e.barStyle},[e.showText&&e.textInside?n("div",{staticClass:"el-progress-bar__innerText",style:{color:e.textColor}},[e._v(e._s(e.content))]):e._e()])])]):n("div",{staticClass:"el-progress-circle",style:{height:e.width+"px",width:e.width+"px"}},[n("svg",{attrs:{viewBox:"0 0 100 100"}},[n("path",{staticClass:"el-progress-circle__track",style:e.trailPathStyle,attrs:{d:e.trackPath,stroke:e.defineBackColor,"stroke-width":e.relativeStrokeWidth,fill:"none"}}),n("path",{staticClass:"el-progress-circle__path",style:e.circlePathStyle,attrs:{d:e.trackPath,stroke:e.stroke,fill:"none","stroke-linecap":e.strokeLinecap,"stroke-width":e.percentage?e.relativeStrokeWidth:0}})])]),e.showText&&!e.textInside?n("div",{staticClass:"el-progress__text",style:{fontSize:e.progressTextSize+"px",color:e.textColor}},[e.status?n("i",{class:e.iconClass}):[e._v(e._s(e.content))]],2):e._e()])};Al._withStripped=!0;var Fl=r({name:"ElProgress",props:{type:{type:String,default:"line",validator:function(e){return["line","circle","dashboard"].indexOf(e)>-1}},percentage:{type:Number,default:0,required:!0,validator:function(e){return e>=0&&e<=100}},status:{type:String,validator:function(e){return["success","exception","warning"].indexOf(e)>-1}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},defineBackColor:{type:[String,Array,Function],default:"#ebeef5"},textColor:{type:[String,Array,Function],default:"#606266"},format:Function},computed:{barStyle:function(){var e={};return e.width=this.percentage+"%",e.backgroundColor=this.getCurrentColor(this.percentage),e},relativeStrokeWidth:function(){return(this.strokeWidth/this.width*100).toFixed(1)},radius:function(){return"circle"===this.type||"dashboard"===this.type?parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10):0},trackPath:function(){var e=this.radius,t="dashboard"===this.type;return"\n M 50 50\n m 0 "+(t?"":"-")+e+"\n a "+e+" "+e+" 0 1 1 0 "+(t?"-":"")+2*e+"\n a "+e+" "+e+" 0 1 1 0 "+(t?"":"-")+2*e+"\n "},perimeter:function(){return 2*Math.PI*this.radius},rate:function(){return"dashboard"===this.type?.75:1},strokeDashoffset:function(){return-1*this.perimeter*(1-this.rate)/2+"px"},trailPathStyle:function(){return{strokeDasharray:this.perimeter*this.rate+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset}},circlePathStyle:function(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"}},stroke:function(){var e=void 0;if(this.color)e=this.getCurrentColor(this.percentage);else switch(this.status){case"success":e="#13ce66";break;case"exception":e="#ff4949";break;case"warning":e="#e6a23c";break;default:e="#20a0ff"}return e},iconClass:function(){return"warning"===this.status?"el-icon-warning":"line"===this.type?"success"===this.status?"el-icon-circle-check":"el-icon-circle-close":"success"===this.status?"el-icon-check":"el-icon-close"},progressTextSize:function(){return"line"===this.type?12+.4*this.strokeWidth:.111111*this.width+2},content:function(){return"function"==typeof this.format?this.format(this.percentage)||"":this.percentage+"%"}},methods:{getCurrentColor:function(e){return"function"==typeof this.color?this.color(e):"string"==typeof this.color?this.color:this.getLevelColor(e)},getLevelColor:function(e){for(var t=this.getColorArray().sort(function(e,t){return e.percentage-t.percentage}),n=0;n<t.length;n++)if(t[n].percentage>e)return t[n].color;return t[t.length-1].color},getColorArray:function(){var e=this.color,t=100/e.length;return e.map(function(e,n){return"string"==typeof e?{color:e,percentage:(n+1)*t}:e})}}},Al,[],!1,null,null,null);Fl.options.__file="packages/progress/src/progress.vue";var Ll=Fl.exports;Ll.install=function(e){e.component(Ll.name,Ll)};var Vl=Ll,Bl=r({name:"ElUploadList",mixins:[Y],data:function(){return{focusing:!1}},components:{ElProgress:Vl},props:{files:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},handlePreview:Function,listType:String},methods:{parsePercentage:function(e){return parseInt(e,10)},handleClick:function(e){this.handlePreview&&this.handlePreview(e)}}},Il,[],!1,null,null,null);Bl.options.__file="packages/upload/src/upload-list.vue";var zl=Bl.exports,Rl=n(6),Hl=n.n(Rl);var jl=function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{staticClass:"el-upload-dragger",class:{"is-dragover":e.dragover},on:{drop:function(t){return t.preventDefault(),e.onDrop(t)},dragover:function(t){return t.preventDefault(),e.onDragover(t)},dragleave:function(t){t.preventDefault(),e.dragover=!1}}},[e._t("default")],2)};jl._withStripped=!0;var Wl=r({name:"ElUploadDrag",props:{disabled:Boolean},inject:{uploader:{default:""}},data:function(){return{dragover:!1}},methods:{onDragover:function(){this.disabled||(this.dragover=!0)},onDrop:function(e){if(!this.disabled&&this.uploader){var t=this.uploader.accept;this.dragover=!1,t?this.$emit("file",[].slice.call(e.dataTransfer.files).filter(function(e){var n=e.type,i=e.name,r=i.indexOf(".")>-1?"."+i.split(".").pop():"",o=n.replace(/\/.*$/,"");return t.split(",").map(function(e){return e.trim()}).filter(function(e){return e}).some(function(e){return/\..+$/.test(e)?r===e:/\/\*$/.test(e)?o===e.replace(/\/\*$/,""):!!/^[^\/]+\/[^\/]+$/.test(e)&&n===e})})):this.$emit("file",e.dataTransfer.files)}}}},jl,[],!1,null,null,null);Wl.options.__file="packages/upload/src/upload-dragger.vue";var ql=r({inject:["uploader"],components:{UploadDragger:Wl.exports},props:{type:String,action:{type:String,required:!0},name:{type:String,default:"file"},data:Object,headers:Object,withCredentials:Boolean,multiple:Boolean,accept:String,onStart:Function,onProgress:Function,onSuccess:Function,onError:Function,beforeUpload:Function,drag:Boolean,onPreview:{type:Function,default:function(){}},onRemove:{type:Function,default:function(){}},fileList:Array,autoUpload:Boolean,listType:String,httpRequest:{type:Function,default:function(e){if("undefined"!=typeof XMLHttpRequest){var t=new XMLHttpRequest,n=e.action;t.upload&&(t.upload.onprogress=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),e.onProgress(t)});var i=new FormData;e.data&&Object.keys(e.data).forEach(function(t){i.append(t,e.data[t])}),i.append(e.filename,e.file,e.file.name),t.onerror=function(t){e.onError(t)},t.onload=function(){if(t.status<200||t.status>=300)return e.onError(function(e,t,n){var i=void 0;i=n.response?""+(n.response.error||n.response):n.responseText?""+n.responseText:"fail to post "+e+" "+n.status;var r=new Error(i);return r.status=n.status,r.method="post",r.url=e,r}(n,0,t));e.onSuccess(function(e){var t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}(t))},t.open("post",n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);var r=e.headers||{};for(var o in r)r.hasOwnProperty(o)&&null!==r[o]&&t.setRequestHeader(o,r[o]);return t.send(i),t}}},disabled:Boolean,limit:Number,onExceed:Function},data:function(){return{mouseover:!1,reqs:{}}},methods:{isImage:function(e){return-1!==e.indexOf("image")},handleChange:function(e){var t=e.target.files;t&&this.uploadFiles(t)},uploadFiles:function(e){var t=this;if(this.limit&&this.fileList.length+e.length>this.limit)this.onExceed&&this.onExceed(e,this.fileList);else{var n=Array.prototype.slice.call(e);this.multiple||(n=n.slice(0,1)),0!==n.length&&n.forEach(function(e){t.onStart(e),t.autoUpload&&t.upload(e)})}},upload:function(e){var t=this;if(this.$refs.input.value=null,!this.beforeUpload)return this.post(e);var n=this.beforeUpload(e);n&&n.then?n.then(function(n){var i=Object.prototype.toString.call(n);if("[object File]"===i||"[object Blob]"===i){for(var r in"[object Blob]"===i&&(n=new File([n],e.name,{type:e.type})),e)e.hasOwnProperty(r)&&(n[r]=e[r]);t.post(n)}else t.post(e)},function(){t.onRemove(null,e)}):!1!==n?this.post(e):this.onRemove(null,e)},abort:function(e){var t=this.reqs;if(e){var n=e;e.uid&&(n=e.uid),t[n]&&t[n].abort()}else Object.keys(t).forEach(function(e){t[e]&&t[e].abort(),delete t[e]})},post:function(e){var t=this,n=e.uid,i={headers:this.headers,withCredentials:this.withCredentials,file:e,data:this.data,filename:this.name,action:this.action,onProgress:function(n){t.onProgress(n,e)},onSuccess:function(i){t.onSuccess(i,e),delete t.reqs[n]},onError:function(i){t.onError(i,e),delete t.reqs[n]}},r=this.httpRequest(i);this.reqs[n]=r,r&&r.then&&r.then(i.onSuccess,i.onError)},handleClick:function(){this.disabled||(this.$refs.input.value=null,this.$refs.input.click())},handleKeydown:function(e){e.target===e.currentTarget&&(13!==e.keyCode&&32!==e.keyCode||this.handleClick())}},render:function(e){var t=this.handleClick,n=this.drag,i=this.name,r=this.handleChange,o=this.multiple,s=this.accept,a=this.listType,l=this.uploadFiles,u=this.disabled,c={class:{"el-upload":!0},on:{click:t,keydown:this.handleKeydown}};return c.class["el-upload--"+a]=!0,e("div",Hl()([c,{attrs:{tabindex:"0"}}]),[n?e("upload-dragger",{attrs:{disabled:u},on:{file:l}},[this.$slots.default]):this.$slots.default,e("input",{class:"el-upload__input",attrs:{type:"file",name:i,multiple:o,accept:s},ref:"input",on:{change:r}})])}},void 0,void 0,!1,null,null,null);ql.options.__file="packages/upload/src/upload.vue";var Yl=ql.exports;function Kl(){}var Ul=r({name:"ElUpload",mixins:[U],components:{ElProgress:Vl,UploadList:zl,Upload:Yl},provide:function(){return{uploader:this}},inject:{elForm:{default:""}},props:{action:{type:String,required:!0},headers:{type:Object,default:function(){return{}}},data:Object,multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,dragger:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:String,type:{type:String,default:"select"},beforeUpload:Function,beforeRemove:Function,onRemove:{type:Function,default:Kl},onChange:{type:Function,default:Kl},onPreview:{type:Function},onSuccess:{type:Function,default:Kl},onProgress:{type:Function,default:Kl},onError:{type:Function,default:Kl},fileList:{type:Array,default:function(){return[]}},autoUpload:{type:Boolean,default:!0},listType:{type:String,default:"text"},httpRequest:Function,disabled:Boolean,limit:Number,onExceed:{type:Function,default:Kl}},data:function(){return{uploadFiles:[],dragOver:!1,draging:!1,tempIndex:1}},computed:{uploadDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{listType:function(e){"picture-card"!==e&&"picture"!==e||(this.uploadFiles=this.uploadFiles.map(function(e){if(!e.url&&e.raw)try{e.url=URL.createObjectURL(e.raw)}catch(e){console.error("[Element Error][Upload]",e)}return e}))},fileList:{immediate:!0,handler:function(e){var t=this;this.uploadFiles=e.map(function(e){return e.uid=e.uid||Date.now()+t.tempIndex++,e.status=e.status||"success",e})}}},methods:{handleStart:function(e){e.uid=Date.now()+this.tempIndex++;var t={status:"ready",name:e.name,size:e.size,percentage:0,uid:e.uid,raw:e};if("picture-card"===this.listType||"picture"===this.listType)try{t.url=URL.createObjectURL(e)}catch(e){return void console.error("[Element Error][Upload]",e)}this.uploadFiles.push(t),this.onChange(t,this.uploadFiles)},handleProgress:function(e,t){var n=this.getFile(t);this.onProgress(e,n,this.uploadFiles),n.status="uploading",n.percentage=e.percent||0},handleSuccess:function(e,t){var n=this.getFile(t);n&&(n.status="success",n.response=e,this.onSuccess(e,n,this.uploadFiles),this.onChange(n,this.uploadFiles))},handleError:function(e,t){var n=this.getFile(t),i=this.uploadFiles;n.status="fail",i.splice(i.indexOf(n),1),this.onError(e,n,this.uploadFiles),this.onChange(n,this.uploadFiles)},handleRemove:function(e,t){var n=this;t&&(e=this.getFile(t));var i=function(){n.abort(e);var t=n.uploadFiles;t.splice(t.indexOf(e),1),n.onRemove(e,t)};if(this.beforeRemove){if("function"==typeof this.beforeRemove){var r=this.beforeRemove(e,this.uploadFiles);r&&r.then?r.then(function(){i()},Kl):!1!==r&&i()}}else i()},getFile:function(e){var t=this.uploadFiles,n=void 0;return t.every(function(t){return!(n=e.uid===t.uid?t:null)}),n},abort:function(e){this.$refs["upload-inner"].abort(e)},clearFiles:function(){this.uploadFiles=[]},submit:function(){var e=this;this.uploadFiles.filter(function(e){return"ready"===e.status}).forEach(function(t){e.$refs["upload-inner"].upload(t.raw)})},getMigratingConfig:function(){return{props:{"default-file-list":"default-file-list is renamed to file-list.","show-upload-list":"show-upload-list is renamed to show-file-list.","thumbnail-mode":"thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan"}}}},beforeDestroy:function(){this.uploadFiles.forEach(function(e){e.url&&0===e.url.indexOf("blob:")&&URL.revokeObjectURL(e.url)})},render:function(e){var t=this,n=void 0;this.showFileList&&(n=e(zl,{attrs:{disabled:this.uploadDisabled,listType:this.listType,files:this.uploadFiles,handlePreview:this.onPreview},on:{remove:this.handleRemove}},[function(e){if(t.$scopedSlots.file)return t.$scopedSlots.file({file:e.file})}]));var i=e("upload",{props:{type:this.type,drag:this.drag,action:this.action,multiple:this.multiple,"before-upload":this.beforeUpload,"with-credentials":this.withCredentials,headers:this.headers,name:this.name,data:this.data,accept:this.accept,fileList:this.uploadFiles,autoUpload:this.autoUpload,listType:this.listType,disabled:this.uploadDisabled,limit:this.limit,"on-exceed":this.onExceed,"on-start":this.handleStart,"on-progress":this.handleProgress,"on-success":this.handleSuccess,"on-error":this.handleError,"on-preview":this.onPreview,"on-remove":this.handleRemove,"http-request":this.httpRequest},ref:"upload-inner"},[this.$slots.trigger||this.$slots.default]);return e("div",["picture-card"===this.listType?n:"",this.$slots.trigger?[i,this.$slots.default]:i,this.$slots.tip,"picture-card"!==this.listType?n:""])}},void 0,void 0,!1,null,null,null);Ul.options.__file="packages/upload/src/index.vue";var Gl=Ul.exports;Gl.install=function(e){e.component(Gl.name,Gl)};var Xl=Gl,Zl=function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"el-spinner"},[t("svg",{staticClass:"el-spinner-inner",style:{width:this.radius/2+"px",height:this.radius/2+"px"},attrs:{viewBox:"0 0 50 50"}},[t("circle",{staticClass:"path",attrs:{cx:"25",cy:"25",r:"20",fill:"none",stroke:this.strokeColor,"stroke-width":this.strokeWidth}})])])};Zl._withStripped=!0;var Jl=r({name:"ElSpinner",props:{type:String,radius:{type:Number,default:100},strokeWidth:{type:Number,default:5},strokeColor:{type:String,default:"#efefef"}}},Zl,[],!1,null,null,null);Jl.options.__file="packages/spinner/src/spinner.vue";var Ql=Jl.exports;Ql.install=function(e){e.component(Ql.name,Ql)};var eu=Ql,tu=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-message-fade"},on:{"after-leave":e.handleAfterLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],class:["el-message",e.type&&!e.iconClass?"el-message--"+e.type:"",e.center?"is-center":"",e.showClose?"is-closable":"",e.customClass],style:e.positionStyle,attrs:{role:"alert"},on:{mouseenter:e.clearTimer,mouseleave:e.startTimer}},[e.iconClass?n("i",{class:e.iconClass}):n("i",{class:e.typeClass}),e._t("default",[e.dangerouslyUseHTMLString?n("p",{staticClass:"el-message__content",domProps:{innerHTML:e._s(e.message)}}):n("p",{staticClass:"el-message__content"},[e._v(e._s(e.message))])]),e.showClose?n("i",{staticClass:"el-message__closeBtn el-icon-close",on:{click:e.close}}):e._e()],2)])};tu._withStripped=!0;var nu={success:"success",info:"info",warning:"warning",error:"error"},iu=r({data:function(){return{visible:!1,message:"",duration:3e3,type:"info",iconClass:"",customClass:"",onClose:null,showClose:!1,closed:!1,verticalOffset:20,timer:null,dangerouslyUseHTMLString:!1,center:!1}},computed:{typeClass:function(){return this.type&&!this.iconClass?"el-message__icon el-icon-"+nu[this.type]:""},positionStyle:function(){return{top:this.verticalOffset+"px"}}},watch:{closed:function(e){e&&(this.visible=!1)}},methods:{handleAfterLeave:function(){this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},close:function(){this.closed=!0,"function"==typeof this.onClose&&this.onClose(this)},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var e=this;this.duration>0&&(this.timer=setTimeout(function(){e.closed||e.close()},this.duration))},keydown:function(e){27===e.keyCode&&(this.closed||this.close())}},mounted:function(){this.startTimer(),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},tu,[],!1,null,null,null);iu.options.__file="packages/message/src/main.vue";var ru=iu.exports,ou=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},su=h.a.extend(ru),au=void 0,lu=[],uu=1,cu=function e(t){if(!h.a.prototype.$isServer){"string"==typeof(t=t||{})&&(t={message:t});var n=t.onClose,i="message_"+uu++;t.onClose=function(){e.close(i,n)},(au=new su({data:t})).id=i,fs(au.message)&&(au.$slots.default=[au.message],au.message=null),au.$mount(),document.body.appendChild(au.$el);var r=t.offset||20;return lu.forEach(function(e){r+=e.$el.offsetHeight+16}),au.verticalOffset=r,au.visible=!0,au.$el.style.zIndex=De.nextZIndex(),lu.push(au),au}};["success","warning","info","error"].forEach(function(e){cu[e]=function(t){return v(t)&&!fs(t)?cu(ou({},t,{type:e})):cu({type:e,message:t})}}),cu.close=function(e,t){for(var n=lu.length,i=-1,r=void 0,o=0;o<n;o++)if(e===lu[o].id){r=lu[o].$el.offsetHeight,i=o,"function"==typeof t&&t(lu[o]),lu.splice(o,1);break}if(!(n<=1||-1===i||i>lu.length-1))for(var s=i;s<n-1;s++){var a=lu[s].$el;a.style.top=parseInt(a.style.top,10)-r-16+"px"}},cu.closeAll=function(){for(var e=lu.length-1;e>=0;e--)lu[e].close()};var hu=cu,du=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-badge"},[e._t("default"),n("transition",{attrs:{name:"el-zoom-in-center"}},[n("sup",{directives:[{name:"show",rawName:"v-show",value:!e.hidden&&(e.content||0===e.content||e.isDot),expression:"!hidden && (content || content === 0 || isDot)"}],staticClass:"el-badge__content",class:[e.type?"el-badge__content--"+e.type:null,{"is-fixed":e.$slots.default,"is-dot":e.isDot}],domProps:{textContent:e._s(e.content)}})])],2)};du._withStripped=!0;var fu=r({name:"ElBadge",props:{value:[String,Number],max:Number,isDot:Boolean,hidden:Boolean,type:{type:String,validator:function(e){return["primary","success","warning","info","danger"].indexOf(e)>-1}}},computed:{content:function(){if(!this.isDot){var e=this.value,t=this.max;return"number"==typeof e&&"number"==typeof t&&t<e?t+"+":e}}}},du,[],!1,null,null,null);fu.options.__file="packages/badge/src/main.vue";var pu=fu.exports;pu.install=function(e){e.component(pu.name,pu)};var mu=pu,vu=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-card",class:e.shadow?"is-"+e.shadow+"-shadow":"is-always-shadow"},[e.$slots.header||e.header?n("div",{staticClass:"el-card__header"},[e._t("header",[e._v(e._s(e.header))])],2):e._e(),n("div",{staticClass:"el-card__body",style:e.bodyStyle},[e._t("default")],2)])};vu._withStripped=!0;var gu=r({name:"ElCard",props:{header:{},bodyStyle:{},shadow:{type:String}}},vu,[],!1,null,null,null);gu.options.__file="packages/card/src/main.vue";var yu=gu.exports;yu.install=function(e){e.component(yu.name,yu)};var bu=yu,_u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-rate",attrs:{role:"slider","aria-valuenow":e.currentValue,"aria-valuetext":e.text,"aria-valuemin":"0","aria-valuemax":e.max,tabindex:"0"},on:{keydown:e.handleKey}},[e._l(e.max,function(t,i){return n("span",{key:i,staticClass:"el-rate__item",style:{cursor:e.rateDisabled?"auto":"pointer"},on:{mousemove:function(n){e.setCurrentValue(t,n)},mouseleave:e.resetCurrentValue,click:function(n){e.selectValue(t)}}},[n("i",{staticClass:"el-rate__icon",class:[e.classes[t-1],{hover:e.hoverIndex===t}],style:e.getIconStyle(t)},[e.showDecimalIcon(t)?n("i",{staticClass:"el-rate__decimal",class:e.decimalIconClass,style:e.decimalStyle}):e._e()])])}),e.showText||e.showScore?n("span",{staticClass:"el-rate__text",style:{color:e.textColor}},[e._v(e._s(e.text))]):e._e()],2)};_u._withStripped=!0;var wu=r({name:"ElRate",mixins:[U],inject:{elForm:{default:""}},data:function(){return{pointerAtLeftHalf:!0,currentValue:this.value,hoverIndex:-1}},props:{value:{type:Number,default:0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:[Array,Object],default:function(){return["#F7BA2A","#F7BA2A","#F7BA2A"]}},voidColor:{type:String,default:"#C6D1DE"},disabledVoidColor:{type:String,default:"#EFF2F7"},iconClasses:{type:[Array,Object],default:function(){return["el-icon-star-on","el-icon-star-on","el-icon-star-on"]}},voidIconClass:{type:String,default:"el-icon-star-off"},disabledVoidIconClass:{type:String,default:"el-icon-star-on"},disabled:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},textColor:{type:String,default:"#1f2d3d"},texts:{type:Array,default:function(){return["��榆","憭望��","銝��","皛⊥��","����"]}},scoreTemplate:{type:String,default:"{value}"}},computed:{text:function(){var e="";return this.showScore?e=this.scoreTemplate.replace(/\{\s*value\s*\}/,this.rateDisabled?this.value:this.currentValue):this.showText&&(e=this.texts[Math.ceil(this.currentValue)-1]),e},decimalStyle:function(){var e="";return this.rateDisabled?e=this.valueDecimal+"%":this.allowHalf&&(e="50%"),{color:this.activeColor,width:e}},valueDecimal:function(){return 100*this.value-100*Math.floor(this.value)},classMap:function(){var e;return Array.isArray(this.iconClasses)?((e={})[this.lowThreshold]=this.iconClasses[0],e[this.highThreshold]={value:this.iconClasses[1],excluded:!0},e[this.max]=this.iconClasses[2],e):this.iconClasses},decimalIconClass:function(){return this.getValueFromMap(this.value,this.classMap)},voidClass:function(){return this.rateDisabled?this.disabledVoidIconClass:this.voidIconClass},activeClass:function(){return this.getValueFromMap(this.currentValue,this.classMap)},colorMap:function(){var e;return Array.isArray(this.colors)?((e={})[this.lowThreshold]=this.colors[0],e[this.highThreshold]={value:this.colors[1],excluded:!0},e[this.max]=this.colors[2],e):this.colors},activeColor:function(){return this.getValueFromMap(this.currentValue,this.colorMap)},classes:function(){var e=[],t=0,n=this.currentValue;for(this.allowHalf&&this.currentValue!==Math.floor(this.currentValue)&&n--;t<n;t++)e.push(this.activeClass);for(;t<this.max;t++)e.push(this.voidClass);return e},rateDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{value:function(e){this.currentValue=e,this.pointerAtLeftHalf=this.value!==Math.floor(this.value)}},methods:{getMigratingConfig:function(){return{props:{"text-template":"text-template is renamed to score-template."}}},getValueFromMap:function(e,t){var n=Object.keys(t).filter(function(n){var i=t[n];return!!v(i)&&i.excluded?e<n:e<=n}).sort(function(e,t){return e-t}),i=t[n[0]];return v(i)?i.value:i||""},showDecimalIcon:function(e){var t=this.rateDisabled&&this.valueDecimal>0&&e-1<this.value&&e>this.value,n=this.allowHalf&&this.pointerAtLeftHalf&&e-.5<=this.currentValue&&e>this.currentValue;return t||n},getIconStyle:function(e){var t=this.rateDisabled?this.disabledVoidColor:this.voidColor;return{color:e<=this.currentValue?this.activeColor:t}},selectValue:function(e){this.rateDisabled||(this.allowHalf&&this.pointerAtLeftHalf?(this.$emit("input",this.currentValue),this.$emit("change",this.currentValue)):(this.$emit("input",e),this.$emit("change",e)))},handleKey:function(e){if(!this.rateDisabled){var t=this.currentValue,n=e.keyCode;38===n||39===n?(this.allowHalf?t+=.5:t+=1,e.stopPropagation(),e.preventDefault()):37!==n&&40!==n||(this.allowHalf?t-=.5:t-=1,e.stopPropagation(),e.preventDefault()),t=(t=t<0?0:t)>this.max?this.max:t,this.$emit("input",t),this.$emit("change",t)}},setCurrentValue:function(e,t){if(!this.rateDisabled){if(this.allowHalf){var n=t.target;pe(n,"el-rate__item")&&(n=n.querySelector(".el-rate__icon")),pe(n,"el-rate__decimal")&&(n=n.parentNode),this.pointerAtLeftHalf=2*t.offsetX<=n.clientWidth,this.currentValue=this.pointerAtLeftHalf?e-.5:e}else this.currentValue=e;this.hoverIndex=e}},resetCurrentValue:function(){this.rateDisabled||(this.allowHalf&&(this.pointerAtLeftHalf=this.value!==Math.floor(this.value)),this.currentValue=this.value,this.hoverIndex=-1)}},created:function(){this.value||this.$emit("input",0)}},_u,[],!1,null,null,null);wu.options.__file="packages/rate/src/main.vue";var xu=wu.exports;xu.install=function(e){e.component(xu.name,xu)};var Cu=xu,ku=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-steps",class:[!this.simple&&"el-steps--"+this.direction,this.simple&&"el-steps--simple"]},[this._t("default")],2)};ku._withStripped=!0;var Su=r({name:"ElSteps",mixins:[U],props:{space:[Number,String],active:Number,direction:{type:String,default:"horizontal"},alignCenter:Boolean,simple:Boolean,finishStatus:{type:String,default:"finish"},processStatus:{type:String,default:"process"}},data:function(){return{steps:[],stepOffset:0}},methods:{getMigratingConfig:function(){return{props:{center:"center is removed."}}}},watch:{active:function(e,t){this.$emit("change",e,t)},steps:function(e){e.forEach(function(e,t){e.index=t})}}},ku,[],!1,null,null,null);Su.options.__file="packages/steps/src/steps.vue";var Du=Su.exports;Du.install=function(e){e.component(Du.name,Du)};var Eu=Du,$u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-step",class:[!e.isSimple&&"is-"+e.$parent.direction,e.isSimple&&"is-simple",e.isLast&&!e.space&&!e.isCenter&&"is-flex",e.isCenter&&!e.isVertical&&!e.isSimple&&"is-center"],style:e.style},[n("div",{staticClass:"el-step__head",class:"is-"+e.currentStatus},[n("div",{staticClass:"el-step__line",style:e.isLast?"":{marginRight:e.$parent.stepOffset+"px"}},[n("i",{staticClass:"el-step__line-inner",style:e.lineStyle})]),n("div",{staticClass:"el-step__icon",class:"is-"+(e.icon?"icon":"text")},["success"!==e.currentStatus&&"error"!==e.currentStatus?e._t("icon",[e.icon?n("i",{staticClass:"el-step__icon-inner",class:[e.icon]}):e._e(),e.icon||e.isSimple?e._e():n("div",{staticClass:"el-step__icon-inner"},[e._v(e._s(e.index+1))])]):n("i",{staticClass:"el-step__icon-inner is-status",class:["el-icon-"+("success"===e.currentStatus?"check":"close")]})],2)]),n("div",{staticClass:"el-step__main"},[n("div",{ref:"title",staticClass:"el-step__title",class:["is-"+e.currentStatus]},[e._t("title",[e._v(e._s(e.title))])],2),e.isSimple?n("div",{staticClass:"el-step__arrow"}):n("div",{staticClass:"el-step__description",class:["is-"+e.currentStatus]},[e._t("description",[e._v(e._s(e.description))])],2)])])};$u._withStripped=!0;var Tu=r({name:"ElStep",props:{title:String,icon:String,description:String,status:String},data:function(){return{index:-1,lineStyle:{},internalStatus:""}},beforeCreate:function(){this.$parent.steps.push(this)},beforeDestroy:function(){var e=this.$parent.steps,t=e.indexOf(this);t>=0&&e.splice(t,1)},computed:{currentStatus:function(){return this.status||this.internalStatus},prevStatus:function(){var e=this.$parent.steps[this.index-1];return e?e.currentStatus:"wait"},isCenter:function(){return this.$parent.alignCenter},isVertical:function(){return"vertical"===this.$parent.direction},isSimple:function(){return this.$parent.simple},isLast:function(){var e=this.$parent;return e.steps[e.steps.length-1]===this},stepsCount:function(){return this.$parent.steps.length},space:function(){var e=this.isSimple,t=this.$parent.space;return e?"":t},style:function(){var e={},t=this.$parent.steps.length,n="number"==typeof this.space?this.space+"px":this.space?this.space:100/(t-(this.isCenter?0:1))+"%";return e.flexBasis=n,this.isVertical?e:(this.isLast?e.maxWidth=100/this.stepsCount+"%":e.marginRight=-this.$parent.stepOffset+"px",e)}},methods:{updateStatus:function(e){var t=this.$parent.$children[this.index-1];e>this.index?this.internalStatus=this.$parent.finishStatus:e===this.index&&"error"!==this.prevStatus?this.internalStatus=this.$parent.processStatus:this.internalStatus="wait",t&&t.calcProgress(this.internalStatus)},calcProgress:function(e){var t=100,n={};n.transitionDelay=150*this.index+"ms",e===this.$parent.processStatus?(this.currentStatus,t=0):"wait"===e&&(t=0,n.transitionDelay=-150*this.index+"ms"),n.borderWidth=t&&!this.isSimple?"1px":0,"vertical"===this.$parent.direction?n.height=t+"%":n.width=t+"%",this.lineStyle=n}},mounted:function(){var e=this,t=this.$watch("index",function(n){e.$watch("$parent.active",e.updateStatus,{immediate:!0}),e.$watch("$parent.processStatus",function(){var t=e.$parent.active;e.updateStatus(t)},{immediate:!0}),t()})}},$u,[],!1,null,null,null);Tu.options.__file="packages/steps/src/step.vue";var Mu=Tu.exports;Mu.install=function(e){e.component(Mu.name,Mu)};var Nu=Mu,Ou=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.carouselClasses,on:{mouseenter:function(t){return t.stopPropagation(),e.handleMouseEnter(t)},mouseleave:function(t){return t.stopPropagation(),e.handleMouseLeave(t)}}},[n("div",{staticClass:"el-carousel__container",style:{height:e.height}},[e.arrowDisplay?n("transition",{attrs:{name:"carousel-arrow-left"}},[n("button",{directives:[{name:"show",rawName:"v-show",value:("always"===e.arrow||e.hover)&&(e.loop||e.activeIndex>0),expression:"(arrow === 'always' || hover) && (loop || activeIndex > 0)"}],staticClass:"el-carousel__arrow el-carousel__arrow--left",attrs:{type:"button"},on:{mouseenter:function(t){e.handleButtonEnter("left")},mouseleave:e.handleButtonLeave,click:function(t){t.stopPropagation(),e.throttledArrowClick(e.activeIndex-1)}}},[n("i",{staticClass:"el-icon-arrow-left"})])]):e._e(),e.arrowDisplay?n("transition",{attrs:{name:"carousel-arrow-right"}},[n("button",{directives:[{name:"show",rawName:"v-show",value:("always"===e.arrow||e.hover)&&(e.loop||e.activeIndex<e.items.length-1),expression:"(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)"}],staticClass:"el-carousel__arrow el-carousel__arrow--right",attrs:{type:"button"},on:{mouseenter:function(t){e.handleButtonEnter("right")},mouseleave:e.handleButtonLeave,click:function(t){t.stopPropagation(),e.throttledArrowClick(e.activeIndex+1)}}},[n("i",{staticClass:"el-icon-arrow-right"})])]):e._e(),e._t("default")],2),"none"!==e.indicatorPosition?n("ul",{class:e.indicatorsClasses},e._l(e.items,function(t,i){return n("li",{key:i,class:["el-carousel__indicator","el-carousel__indicator--"+e.direction,{"is-active":i===e.activeIndex}],on:{mouseenter:function(t){e.throttledIndicatorHover(i)},click:function(t){t.stopPropagation(),e.handleIndicatorClick(i)}}},[n("button",{staticClass:"el-carousel__button"},[e.hasLabel?n("span",[e._v(e._s(t.label))]):e._e()])])}),0):e._e()])};Ou._withStripped=!0;var Pu=n(4),Iu=n.n(Pu),Au=r({name:"ElCarousel",props:{initialIndex:{type:Number,default:0},height:String,trigger:{type:String,default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:String,indicator:{type:Boolean,default:!0},arrow:{type:String,default:"hover"},type:String,loop:{type:Boolean,default:!0},direction:{type:String,default:"horizontal",validator:function(e){return-1!==["horizontal","vertical"].indexOf(e)}}},data:function(){return{items:[],activeIndex:-1,containerWidth:0,timer:null,hover:!1}},computed:{arrowDisplay:function(){return"never"!==this.arrow&&"vertical"!==this.direction},hasLabel:function(){return this.items.some(function(e){return e.label.toString().length>0})},carouselClasses:function(){var e=["el-carousel","el-carousel--"+this.direction];return"card"===this.type&&e.push("el-carousel--card"),e},indicatorsClasses:function(){var e=["el-carousel__indicators","el-carousel__indicators--"+this.direction];return this.hasLabel&&e.push("el-carousel__indicators--labels"),"outside"!==this.indicatorPosition&&"card"!==this.type||e.push("el-carousel__indicators--outside"),e}},watch:{items:function(e){e.length>0&&this.setActiveItem(this.initialIndex)},activeIndex:function(e,t){this.resetItemPosition(t),t>-1&&this.$emit("change",e,t)},autoplay:function(e){e?this.startTimer():this.pauseTimer()},loop:function(){this.setActiveItem(this.activeIndex)},interval:function(){this.pauseTimer(),this.startTimer()}},methods:{handleMouseEnter:function(){this.hover=!0,this.pauseTimer()},handleMouseLeave:function(){this.hover=!1,this.startTimer()},itemInStage:function(e,t){var n=this.items.length;return t===n-1&&e.inStage&&this.items[0].active||e.inStage&&this.items[t+1]&&this.items[t+1].active?"left":!!(0===t&&e.inStage&&this.items[n-1].active||e.inStage&&this.items[t-1]&&this.items[t-1].active)&&"right"},handleButtonEnter:function(e){var t=this;"vertical"!==this.direction&&this.items.forEach(function(n,i){e===t.itemInStage(n,i)&&(n.hover=!0)})},handleButtonLeave:function(){"vertical"!==this.direction&&this.items.forEach(function(e){e.hover=!1})},updateItems:function(){this.items=this.$children.filter(function(e){return"ElCarouselItem"===e.$options.name})},resetItemPosition:function(e){var t=this;this.items.forEach(function(n,i){n.translateItem(i,t.activeIndex,e)})},playSlides:function(){this.activeIndex<this.items.length-1?this.activeIndex++:this.loop&&(this.activeIndex=0)},pauseTimer:function(){this.timer&&(clearInterval(this.timer),this.timer=null)},startTimer:function(){this.interval<=0||!this.autoplay||this.timer||(this.timer=setInterval(this.playSlides,this.interval))},resetTimer:function(){this.pauseTimer(),this.startTimer()},setActiveItem:function(e){if("string"==typeof e){var t=this.items.filter(function(t){return t.name===e});t.length>0&&(e=this.items.indexOf(t[0]))}if(e=Number(e),isNaN(e)||e!==Math.floor(e))console.warn("[Element Warn][Carousel]index must be an integer.");else{var n=this.items.length,i=this.activeIndex;this.activeIndex=e<0?this.loop?n-1:0:e>=n?this.loop?0:n-1:e,i===this.activeIndex&&this.resetItemPosition(i),this.resetTimer()}},prev:function(){this.setActiveItem(this.activeIndex-1)},next:function(){this.setActiveItem(this.activeIndex+1)},handleIndicatorClick:function(e){this.activeIndex=e},handleIndicatorHover:function(e){"hover"===this.trigger&&e!==this.activeIndex&&(this.activeIndex=e)}},created:function(){var e=this;this.throttledArrowClick=Iu()(300,!0,function(t){e.setActiveItem(t)}),this.throttledIndicatorHover=Iu()(300,function(t){e.handleIndicatorHover(t)})},mounted:function(){var e=this;this.updateItems(),this.$nextTick(function(){Ue(e.$el,e.resetItemPosition),e.initialIndex<e.items.length&&e.initialIndex>=0&&(e.activeIndex=e.initialIndex),e.startTimer()})},beforeDestroy:function(){this.$el&&Ge(this.$el,this.resetItemPosition),this.pauseTimer()}},Ou,[],!1,null,null,null);Au.options.__file="packages/carousel/src/main.vue";var Fu=Au.exports;Fu.install=function(e){e.component(Fu.name,Fu)};var Lu=Fu,Vu=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"show",rawName:"v-show",value:e.ready,expression:"ready"}],staticClass:"el-carousel__item",class:{"is-active":e.active,"el-carousel__item--card":"card"===e.$parent.type,"is-in-stage":e.inStage,"is-hover":e.hover,"is-animating":e.animating},style:e.itemStyle,on:{click:e.handleItemClick}},["card"===e.$parent.type?n("div",{directives:[{name:"show",rawName:"v-show",value:!e.active,expression:"!active"}],staticClass:"el-carousel__mask"}):e._e(),e._t("default")],2)};Vu._withStripped=!0;var Bu=r({name:"ElCarouselItem",props:{name:String,label:{type:[String,Number],default:""}},data:function(){return{hover:!1,translate:0,scale:1,active:!1,ready:!1,inStage:!1,animating:!1}},methods:{processIndex:function(e,t,n){return 0===t&&e===n-1?-1:t===n-1&&0===e?n:e<t-1&&t-e>=n/2?n+1:e>t+1&&e-t>=n/2?-2:e},calcCardTranslate:function(e,t){var n=this.$parent.$el.offsetWidth;return this.inStage?n*(1.17*(e-t)+1)/4:e<t?-1.83*n/4:3.83*n/4},calcTranslate:function(e,t,n){return this.$parent.$el[n?"offsetHeight":"offsetWidth"]*(e-t)},translateItem:function(e,t,n){var i=this.$parent.type,r=this.parentDirection,o=this.$parent.items.length;if("card"!==i&&void 0!==n&&(this.animating=e===t||e===n),e!==t&&o>2&&this.$parent.loop&&(e=this.processIndex(e,t,o)),"card"===i)"vertical"===r&&console.warn("[Element Warn][Carousel]vertical direction is not supported in card mode"),this.inStage=Math.round(Math.abs(e-t))<=1,this.active=e===t,this.translate=this.calcCardTranslate(e,t),this.scale=this.active?1:.83;else{this.active=e===t;var s="vertical"===r;this.translate=this.calcTranslate(e,t,s),this.scale=1}this.ready=!0},handleItemClick:function(){var e=this.$parent;if(e&&"card"===e.type){var t=e.items.indexOf(this);e.setActiveItem(t)}}},computed:{parentDirection:function(){return this.$parent.direction},itemStyle:function(){return function(e){if("object"!==(void 0===e?"undefined":_(e)))return e;var t=["ms-","webkit-"];return["transform","transition","animation"].forEach(function(n){var i=e[n];n&&i&&t.forEach(function(t){e[t+n]=i})}),e}({transform:("vertical"===this.parentDirection?"translateY":"translateX")+"("+this.translate+"px) scale("+this.scale+")"})}},created:function(){this.$parent&&this.$parent.updateItems()},destroyed:function(){this.$parent&&this.$parent.updateItems()}},Vu,[],!1,null,null,null);Bu.options.__file="packages/carousel/src/item.vue";var zu=Bu.exports;zu.install=function(e){e.component(zu.name,zu)};var Ru=zu,Hu=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"el-collapse",attrs:{role:"tablist","aria-multiselectable":"true"}},[this._t("default")],2)};Hu._withStripped=!0;var ju=r({name:"ElCollapse",componentName:"ElCollapse",props:{accordion:Boolean,value:{type:[Array,String,Number],default:function(){return[]}}},data:function(){return{activeNames:[].concat(this.value)}},provide:function(){return{collapse:this}},watch:{value:function(e){this.activeNames=[].concat(e)}},methods:{setActiveNames:function(e){e=[].concat(e);var t=this.accordion?e[0]:e;this.activeNames=e,this.$emit("input",t),this.$emit("change",t)},handleItemClick:function(e){if(this.accordion)this.setActiveNames(!this.activeNames[0]&&0!==this.activeNames[0]||this.activeNames[0]!==e.name?e.name:"");else{var t=this.activeNames.slice(0),n=t.indexOf(e.name);n>-1?t.splice(n,1):t.push(e.name),this.setActiveNames(t)}}},created:function(){this.$on("item-click",this.handleItemClick)}},Hu,[],!1,null,null,null);ju.options.__file="packages/collapse/src/collapse.vue";var Wu=ju.exports;Wu.install=function(e){e.component(Wu.name,Wu)};var qu=Wu,Yu=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-collapse-item",class:{"is-active":e.isActive,"is-disabled":e.disabled}},[n("div",{attrs:{role:"tab","aria-expanded":e.isActive,"aria-controls":"el-collapse-content-"+e.id,"aria-describedby":"el-collapse-content-"+e.id}},[n("div",{staticClass:"el-collapse-item__header",class:{focusing:e.focusing,"is-active":e.isActive},attrs:{role:"button",id:"el-collapse-head-"+e.id,tabindex:e.disabled?void 0:0},on:{click:e.handleHeaderClick,keyup:function(t){return"button"in t||!e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])||!e._k(t.keyCode,"enter",13,t.key,"Enter")?(t.stopPropagation(),e.handleEnterClick(t)):null},focus:e.handleFocus,blur:function(t){e.focusing=!1}}},[e._t("title",[e._v(e._s(e.title))]),n("i",{staticClass:"el-collapse-item__arrow el-icon-arrow-right",class:{"is-active":e.isActive}})],2)]),n("el-collapse-transition",[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isActive,expression:"isActive"}],staticClass:"el-collapse-item__wrap",attrs:{role:"tabpanel","aria-hidden":!e.isActive,"aria-labelledby":"el-collapse-head-"+e.id,id:"el-collapse-content-"+e.id}},[n("div",{staticClass:"el-collapse-item__content"},[e._t("default")],2)])])],1)};Yu._withStripped=!0;var Ku=r({name:"ElCollapseItem",componentName:"ElCollapseItem",mixins:[l],components:{ElCollapseTransition:on},data:function(){return{contentWrapStyle:{height:"auto",display:"block"},contentHeight:0,focusing:!1,isClick:!1,id:E()}},inject:["collapse"],props:{title:String,name:{type:[String,Number],default:function(){return this._uid}},disabled:Boolean},computed:{isActive:function(){return this.collapse.activeNames.indexOf(this.name)>-1}},methods:{handleFocus:function(){var e=this;setTimeout(function(){e.isClick?e.isClick=!1:e.focusing=!0},50)},handleHeaderClick:function(){this.disabled||(this.dispatch("ElCollapse","item-click",this),this.focusing=!1,this.isClick=!0)},handleEnterClick:function(){this.dispatch("ElCollapse","item-click",this)}}},Yu,[],!1,null,null,null);Ku.options.__file="packages/collapse/src/collapse-item.vue";var Uu=Ku.exports;Uu.install=function(e){e.component(Uu.name,Uu)};var Gu=Uu,Xu=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:function(){return e.toggleDropDownVisible(!1)},expression:"() => toggleDropDownVisible(false)"}],ref:"reference",class:["el-cascader",e.realSize&&"el-cascader--"+e.realSize,{"is-disabled":e.isDisabled}],on:{mouseenter:function(t){e.inputHover=!0},mouseleave:function(t){e.inputHover=!1},click:function(){return e.toggleDropDownVisible(!e.readonly||void 0)},keydown:e.handleKeyDown}},[n("el-input",{ref:"input",class:{"is-focus":e.dropDownVisible},attrs:{size:e.realSize,placeholder:e.placeholder,readonly:e.readonly,disabled:e.isDisabled,"validate-event":!1},on:{focus:e.handleFocus,blur:e.handleBlur,input:e.handleInput},model:{value:e.multiple?e.presentText:e.inputValue,callback:function(t){e.multiple?e.presentText:e.inputValue=t},expression:"multiple ? presentText : inputValue"}},[n("template",{slot:"suffix"},[e.clearBtnVisible?n("i",{key:"clear",staticClass:"el-input__icon el-icon-circle-close",on:{click:function(t){return t.stopPropagation(),e.handleClear(t)}}}):n("i",{key:"arrow-down",class:["el-input__icon","el-icon-arrow-down",e.dropDownVisible&&"is-reverse"],on:{click:function(t){t.stopPropagation(),e.toggleDropDownVisible()}}})])],2),e.multiple?n("div",{staticClass:"el-cascader__tags"},[e._l(e.presentTags,function(t){return n("el-tag",{key:t.key,attrs:{type:"info",size:e.tagSize,hit:t.hitState,closable:t.closable,"disable-transitions":""},on:{close:function(n){e.deleteTag(t)}}},[n("span",[e._v(e._s(t.text))])])}),e.filterable&&!e.isDisabled?n("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.inputValue,expression:"inputValue",modifiers:{trim:!0}}],staticClass:"el-cascader__search-input",attrs:{type:"text",placeholder:e.presentTags.length?"":e.placeholder},domProps:{value:e.inputValue},on:{input:[function(t){t.target.composing||(e.inputValue=t.target.value.trim())},function(t){return e.handleInput(e.inputValue,t)}],click:function(t){t.stopPropagation(),e.toggleDropDownVisible(!0)},keydown:function(t){return"button"in t||!e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?e.handleDelete(t):null},blur:function(t){e.$forceUpdate()}}}):e._e()],2):e._e(),n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.handleDropdownLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.dropDownVisible,expression:"dropDownVisible"}],ref:"popper",class:["el-popper","el-cascader__dropdown",e.popperClass]},[n("el-cascader-panel",{directives:[{name:"show",rawName:"v-show",value:!e.filtering,expression:"!filtering"}],ref:"panel",attrs:{options:e.options,props:e.config,border:!1,"render-label":e.$scopedSlots.default},on:{"expand-change":e.handleExpandChange,close:function(t){e.toggleDropDownVisible(!1)}},model:{value:e.checkedValue,callback:function(t){e.checkedValue=t},expression:"checkedValue"}}),e.filterable?n("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.filtering,expression:"filtering"}],ref:"suggestionPanel",staticClass:"el-cascader__suggestion-panel",attrs:{tag:"ul","view-class":"el-cascader__suggestion-list"},nativeOn:{keydown:function(t){return e.handleSuggestionKeyDown(t)}}},[e.suggestions.length?e._l(e.suggestions,function(t,i){return n("li",{key:t.uid,class:["el-cascader__suggestion-item",t.checked&&"is-checked"],attrs:{tabindex:-1},on:{click:function(t){e.handleSuggestionClick(i)}}},[n("span",[e._v(e._s(t.text))]),t.checked?n("i",{staticClass:"el-icon-check"}):e._e()])}):e._t("empty",[n("li",{staticClass:"el-cascader__empty-text"},[e._v(e._s(e.t("el.cascader.noMatch")))])])],2):e._e()],1)])],1)};Xu._withStripped=!0;var Zu=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{class:["el-cascader-panel",this.border&&"is-bordered"],on:{keydown:this.handleKeyDown}},this._l(this.menus,function(e,n){return t("cascader-menu",{key:n,ref:"menu",refInFor:!0,attrs:{index:n,nodes:e}})}),1)};Zu._withStripped=!0;var Ju=function(e){return e.stopPropagation()},Qu=r({inject:["panel"],components:{ElCheckbox:Rn,ElRadio:$n},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var e=this;return!!this.config.checkStrictly&&this.panel.checkedNodePaths.some(function(t){return e.isInPath(t)})},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var e=this,t=this.panel,n=this.node,i=this.isDisabled,r=this.config,o=r.multiple;!r.checkStrictly&&i||n.loading||(r.lazy&&!n.loaded?t.lazyLoad(n,function(){var t=e.isLeaf;if(t||e.handleExpand(),o){var i=!!t&&n.checked;e.handleMultiCheckChange(i)}}):t.handleExpand(n))},handleCheckChange:function(){var e=this.panel,t=this.value,n=this.node;e.handleCheckChange(t),e.handleExpand(n)},handleMultiCheckChange:function(e){this.node.doCheck(e),this.panel.calculateMultiCheckedValue()},isInPath:function(e){var t=this.node;return(e[t.level-1]||{}).uid===t.uid},renderPrefix:function(e){var t=this.isLeaf,n=this.isChecked,i=this.config,r=i.checkStrictly;return i.multiple?this.renderCheckbox(e):r?this.renderRadio(e):t&&n?this.renderCheckIcon(e):null},renderPostfix:function(e){var t=this.node,n=this.isLeaf;return t.loading?this.renderLoadingIcon(e):n?null:this.renderExpandIcon(e)},renderCheckbox:function(e){var t=this.node,n=this.config,i=this.isDisabled,r={on:{change:this.handleMultiCheckChange},nativeOn:{}};return n.checkStrictly&&(r.nativeOn.click=Ju),e("el-checkbox",Hl()([{attrs:{value:t.checked,indeterminate:t.indeterminate,disabled:i}},r]))},renderRadio:function(e){var t=this.checkedValue,n=this.value,i=this.isDisabled;return A(n,t)&&(n=t),e("el-radio",{attrs:{value:t,label:n,disabled:i},on:{change:this.handleCheckChange},nativeOn:{click:Ju}},[e("span")])},renderCheckIcon:function(e){return e("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(e){return e("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(e){return e("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(e){var t=this.panel,n=this.node,i=t.renderLabelFn;return e("span",{class:"el-cascader-node__label"},[(i?i({node:n,data:n.data}):null)||n.label])}},render:function(e){var t=this,n=this.inActivePath,i=this.inCheckedPath,r=this.isChecked,o=this.isLeaf,s=this.isDisabled,a=this.config,l=this.nodeId,u=a.expandTrigger,c=a.checkStrictly,h=a.multiple,d=!c&&s,f={on:{}};return"click"===u?f.on.click=this.handleExpand:(f.on.mouseenter=function(e){t.handleExpand(),t.$emit("expand",e)},f.on.focus=function(e){t.handleExpand(),t.$emit("expand",e)}),!o||s||c||h||(f.on.click=this.handleCheckChange),e("li",Hl()([{attrs:{role:"menuitem",id:l,"aria-expanded":n,tabindex:d?null:-1},class:{"el-cascader-node":!0,"is-selectable":c,"in-active-path":n,"in-checked-path":i,"is-active":r,"is-disabled":d}},f]),[this.renderPrefix(e),this.renderContent(e),this.renderPostfix(e)])}},void 0,void 0,!1,null,null,null);Qu.options.__file="packages/cascader-panel/src/cascader-node.vue";var ec=r({name:"ElCascaderMenu",mixins:[Y],inject:["panel"],components:{ElScrollbar:et,CascaderNode:Qu.exports},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:E()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(e){this.activeNode=e.target},handleMouseMove:function(e){var t=this.activeNode,n=this.hoverTimer,i=this.$refs.hoverZone;if(t&&i)if(t.contains(e.target)){clearTimeout(n);var r=this.$el.getBoundingClientRect().left,o=e.clientX-r,s=this.$el,a=s.offsetWidth,l=s.offsetHeight,u=t.offsetTop,c=u+t.offsetHeight;i.innerHTML='\n <path style="pointer-events: auto;" fill="transparent" d="M'+o+" "+u+" L"+a+" 0 V"+u+' Z" />\n <path style="pointer-events: auto;" fill="transparent" d="M'+o+" "+c+" L"+a+" "+l+" V"+c+' Z" />\n '}else n||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var e=this.$refs.hoverZone;e&&(e.innerHTML="")},renderEmptyText:function(e){return e("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(e){var t=this.menuId,n=this.panel.isHoverMenu,i={on:{}};n&&(i.on.expand=this.handleExpand);var r=this.nodes.map(function(n,r){var o=n.hasChildren;return e("cascader-node",Hl()([{key:n.uid,attrs:{node:n,"node-id":t+"-"+r,"aria-haspopup":o,"aria-owns":o?t:null}},i]))});return[].concat(r,[n?e("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(e){var t=this.isEmpty,n=this.menuId,i={nativeOn:{}};return this.panel.isHoverMenu&&(i.nativeOn.mousemove=this.handleMouseMove),e("el-scrollbar",Hl()([{attrs:{tag:"ul",role:"menu",id:n,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":t}},class:"el-cascader-menu"},i]),[t?this.renderEmptyText(e):this.renderNodeList(e)])}},void 0,void 0,!1,null,null,null);ec.options.__file="packages/cascader-panel/src/cascader-menu.vue";var tc=ec.exports,nc=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();var ic=0,rc=function(){function e(t,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.data=t,this.config=n,this.parent=i||null,this.level=this.parent?this.parent.level+1:1,this.uid=ic++,this.initState(),this.initChildren()}return e.prototype.initState=function(){var e=this.config,t=e.value,n=e.label;this.value=this.data[t],this.label=this.data[n],this.pathNodes=this.calculatePathNodes(),this.path=this.pathNodes.map(function(e){return e.value}),this.pathLabels=this.pathNodes.map(function(e){return e.label}),this.loading=!1,this.loaded=!1},e.prototype.initChildren=function(){var t=this,n=this.config,i=n.children,r=this.data[i];this.hasChildren=Array.isArray(r),this.children=(r||[]).map(function(i){return new e(i,n,t)})},e.prototype.calculatePathNodes=function(){for(var e=[this],t=this.parent;t;)e.unshift(t),t=t.parent;return e},e.prototype.getPath=function(){return this.path},e.prototype.getValue=function(){return this.value},e.prototype.getValueByOption=function(){return this.config.emitPath?this.getPath():this.getValue()},e.prototype.getText=function(e,t){return e?this.pathLabels.join(t):this.label},e.prototype.isSameNode=function(e){var t=this.getValueByOption();return this.config.multiple&&Array.isArray(e)?e.some(function(e){return A(e,t)}):A(e,t)},e.prototype.broadcast=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var r="onParent"+P(e);this.children.forEach(function(t){t&&(t.broadcast.apply(t,[e].concat(n)),t[r]&&t[r].apply(t,n))})},e.prototype.emit=function(e){var t=this.parent,n="onChild"+P(e);if(t){for(var i=arguments.length,r=Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];t[n]&&t[n].apply(t,r),t.emit.apply(t,[e].concat(r))}},e.prototype.onParentCheck=function(e){this.isDisabled||this.setCheckState(e)},e.prototype.onChildCheck=function(){var e=this.children.filter(function(e){return!e.isDisabled}),t=!!e.length&&e.every(function(e){return e.checked});this.setCheckState(t)},e.prototype.setCheckState=function(e){var t=this.children.length,n=this.children.reduce(function(e,t){return e+(t.checked?1:t.indeterminate?.5:0)},0);this.checked=e,this.indeterminate=n!==t&&n>0},e.prototype.syncCheckState=function(e){var t=this.getValueByOption(),n=this.isSameNode(e,t);this.doCheck(n)},e.prototype.doCheck=function(e){this.checked!==e&&(this.config.checkStrictly?this.checked=e:(this.broadcast("check",e),this.setCheckState(e),this.emit("check")))},nc(e,[{key:"isDisabled",get:function(){var e=this.data,t=this.parent,n=this.config,i=n.disabled,r=n.checkStrictly;return e[i]||!r&&t&&t.isDisabled}},{key:"isLeaf",get:function(){var e=this.data,t=this.loaded,n=this.hasChildren,i=this.children,r=this.config,o=r.lazy,s=r.leaf;if(o){var a=ee(e[s])?e[s]:!!t&&!i.length;return this.hasChildren=!a,a}return!n}}]),e}();var oc=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=n,this.initNodes(t)}return e.prototype.initNodes=function(e){var t=this;e=N(e),this.nodes=e.map(function(e){return new rc(e,t.config)}),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},e.prototype.appendNode=function(e,t){var n=new rc(e,this.config,t);(t?t.children:this.nodes).push(n)},e.prototype.appendNodes=function(e,t){var n=this;(e=N(e)).forEach(function(e){return n.appendNode(e,t)})},e.prototype.getNodes=function(){return this.nodes},e.prototype.getFlattedNodes=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e?this.leafNodes:this.flattedNodes;return t?n:function e(t,n){return t.reduce(function(t,i){return i.isLeaf?t.push(i):(!n&&t.push(i),t=t.concat(e(i.children,n))),t},[])}(this.nodes,e)},e.prototype.getNodeByValue=function(e){var t=this.getFlattedNodes(!1,!this.config.lazy).filter(function(t){return $(t.path,e)||t.value===e});return t&&t.length?t[0]:null},e}(),sc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ac=Kt.keys,lc={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:x,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},uc=function(e){return!e.getAttribute("aria-owns")},cc=function(e,t){var n=e.parentNode;if(n){var i=n.querySelectorAll('.el-cascader-node[tabindex="-1"]');return i[Array.prototype.indexOf.call(i,e)+t]||null}return null},hc=function(e,t){if(e){var n=e.id.split("-");return Number(n[n.length-2])}},dc=function(e){e&&(e.focus(),!uc(e)&&e.click())},fc=r({name:"ElCascaderPanel",components:{CascaderMenu:tc},props:{value:{},options:Array,props:Object,border:{type:Boolean,default:!0},renderLabel:Function},provide:function(){return{panel:this}},data:function(){return{checkedValue:null,checkedNodePaths:[],store:[],menus:[],activePath:[],loadCount:0}},computed:{config:function(){return Q(sc({},lc),this.props||{})},multiple:function(){return this.config.multiple},checkStrictly:function(){return this.config.checkStrictly},leafOnly:function(){return!this.checkStrictly},isHoverMenu:function(){return"hover"===this.config.expandTrigger},renderLabelFn:function(){return this.renderLabel||this.$scopedSlots.default}},watch:{value:function(){this.syncCheckedValue(),this.checkStrictly&&this.calculateCheckedNodePaths()},options:{handler:function(){this.initStore()},immediate:!0,deep:!0},checkedValue:function(e){A(e,this.value)||(this.checkStrictly&&this.calculateCheckedNodePaths(),this.$emit("input",e),this.$emit("change",e))}},mounted:function(){this.isEmptyValue(this.value)||this.syncCheckedValue()},methods:{initStore:function(){var e=this.config,t=this.options;e.lazy&&F(t)?this.lazyLoad():(this.store=new oc(t,e),this.menus=[this.store.getNodes()],this.syncMenuState())},syncCheckedValue:function(){var e=this.value,t=this.checkedValue;A(e,t)||(this.activePath=[],this.checkedValue=e,this.syncMenuState())},syncMenuState:function(){var e=this.multiple,t=this.checkStrictly;this.syncActivePath(),e&&this.syncMultiCheckState(),t&&this.calculateCheckedNodePaths(),this.$nextTick(this.scrollIntoView)},syncMultiCheckState:function(){var e=this;this.getFlattedNodes(this.leafOnly).forEach(function(t){t.syncCheckState(e.checkedValue)})},isEmptyValue:function(e){var t=this.multiple,n=this.config.emitPath;return!(!t&&!n)&&F(e)},syncActivePath:function(){var e=this,t=this.store,n=this.multiple,i=this.activePath,r=this.checkedValue;if(F(i))if(this.isEmptyValue(r))this.activePath=[],this.menus=[t.getNodes()];else{var o=n?r[0]:r,s=((this.getNodeByValue(o)||{}).pathNodes||[]).slice(0,-1);this.expandNodes(s)}else{var a=i.map(function(t){return e.getNodeByValue(t.getValue())});this.expandNodes(a)}},expandNodes:function(e){var t=this;e.forEach(function(e){return t.handleExpand(e,!0)})},calculateCheckedNodePaths:function(){var e=this,t=this.checkedValue,n=this.multiple?N(t):[t];this.checkedNodePaths=n.map(function(t){var n=e.getNodeByValue(t);return n?n.pathNodes:[]})},handleKeyDown:function(e){var t=e.target;switch(e.keyCode){case ac.up:var n=cc(t,-1);dc(n);break;case ac.down:var i=cc(t,1);dc(i);break;case ac.left:var r=this.$refs.menu[hc(t)-1];if(r){var o=r.$el.querySelector('.el-cascader-node[aria-expanded="true"]');dc(o)}break;case ac.right:var s=this.$refs.menu[hc(t)+1];if(s){var a=s.$el.querySelector('.el-cascader-node[tabindex="-1"]');dc(a)}break;case ac.enter:!function(e){if(e){var t=e.querySelector("input");t?t.click():uc(e)&&e.click()}}(t);break;case ac.esc:case ac.tab:this.$emit("close");break;default:return}},handleExpand:function(e,t){var n=this.activePath,i=e.level,r=n.slice(0,i-1),o=this.menus.slice(0,i);if(e.isLeaf||(r.push(e),o.push(e.children)),this.activePath=r,this.menus=o,!t){var s=r.map(function(e){return e.getValue()}),a=n.map(function(e){return e.getValue()});$(s,a)||(this.$emit("active-item-change",s),this.$emit("expand-change",s))}},handleCheckChange:function(e){this.checkedValue=e},lazyLoad:function(e,t){var n=this,i=this.config;e||(e=e||{root:!0,level:0},this.store=new oc([],i),this.menus=[this.store.getNodes()]),e.loading=!0;i.lazyLoad(e,function(i){var r=e.root?null:e;if(i&&i.length&&n.store.appendNodes(i,r),e.loading=!1,e.loaded=!0,Array.isArray(n.checkedValue)){var o=n.checkedValue[n.loadCount++],s=n.config.value,a=n.config.leaf;if(Array.isArray(i)&&i.filter(function(e){return e[s]===o}).length>0){var l=n.store.getNodeByValue(o);l.data[a]||n.lazyLoad(l,function(){n.handleExpand(l)}),n.loadCount===n.checkedValue.length&&n.$parent.computePresentText()}}t&&t(i)})},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map(function(e){return e.getValueByOption()})},scrollIntoView:function(){this.$isServer||(this.$refs.menu||[]).forEach(function(e){var t=e.$el;t&&ut(t.querySelector(".el-scrollbar__wrap"),t.querySelector(".el-cascader-node.is-active")||t.querySelector(".el-cascader-node.in-active-path"))})},getNodeByValue:function(e){return this.store.getNodeByValue(e)},getFlattedNodes:function(e){var t=!this.config.lazy;return this.store.getFlattedNodes(e,t)},getCheckedNodes:function(e){var t=this.checkedValue;return this.multiple?this.getFlattedNodes(e).filter(function(e){return e.checked}):this.isEmptyValue(t)?[]:[this.getNodeByValue(t)]},clearCheckedNodes:function(){var e=this.config,t=this.leafOnly,n=e.multiple,i=e.emitPath;n?(this.getCheckedNodes(t).filter(function(e){return!e.isDisabled}).forEach(function(e){return e.doCheck(!1)}),this.calculateMultiCheckedValue()):this.checkedValue=i?[]:null}}},Zu,[],!1,null,null,null);fc.options.__file="packages/cascader-panel/src/cascader-panel.vue";var pc=fc.exports;pc.install=function(e){e.component(pc.name,pc)};var mc=pc,vc=Kt.keys,gc={expandTrigger:{newProp:"expandTrigger",type:String},changeOnSelect:{newProp:"checkStrictly",type:Boolean},hoverThreshold:{newProp:"hoverThreshold",type:Number}},yc={props:{placement:{type:String,default:"bottom-start"},appendToBody:Ie.props.appendToBody,visibleArrow:{type:Boolean,default:!0},arrowOffset:Ie.props.arrowOffset,offset:Ie.props.offset,boundariesPadding:Ie.props.boundariesPadding,popperOptions:Ie.props.popperOptions,transformOrigin:Ie.props.transformOrigin},methods:Ie.methods,data:Ie.data,beforeDestroy:Ie.beforeDestroy},bc={medium:36,small:32,mini:28},_c=r({name:"ElCascader",directives:{Clickoutside:lt},mixins:[yc,l,Y,U],inject:{elForm:{default:""},elFormItem:{default:""}},components:{ElInput:re,ElTag:je,ElScrollbar:et,ElCascaderPanel:mc},props:{value:{},options:Array,props:Object,size:String,placeholder:{type:String,default:function(){return W("el.cascader.placeholder")}},disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:Function,separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,debounce:{type:Number,default:300},beforeFilter:{type:Function,default:function(){return function(){}}},popperClass:String},data:function(){return{dropDownVisible:!1,checkedValue:this.value,inputHover:!1,inputValue:null,presentText:null,presentTags:[],checkedNodes:[],filtering:!1,suggestions:[],inputInitialHeight:0,pressDeleteCount:0}},computed:{realSize:function(){var e=(this.elFormItem||{}).elFormItemSize;return this.size||e||(this.$ELEMENT||{}).size},tagSize:function(){return["small","mini"].indexOf(this.realSize)>-1?"mini":"small"},isDisabled:function(){return this.disabled||(this.elForm||{}).disabled},config:function(){var e=this.props||{},t=this.$attrs;return Object.keys(gc).forEach(function(n){var i=gc[n],r=i.newProp,o=i.type,s=t[n]||t[O(n)];ee(n)&&!ee(e[r])&&(o===Boolean&&""===s&&(s=!0),e[r]=s)}),e},multiple:function(){return this.config.multiple},leafOnly:function(){return!this.config.checkStrictly},readonly:function(){return!this.filterable||this.multiple},clearBtnVisible:function(){return!(!this.clearable||this.isDisabled||this.filtering||!this.inputHover)&&(this.multiple?!!this.checkedNodes.filter(function(e){return!e.isDisabled}).length:!!this.presentText)},panel:function(){return this.$refs.panel}},watch:{disabled:function(){this.computePresentContent()},value:function(e){A(e,this.checkedValue)||(this.checkedValue=e,this.computePresentContent())},checkedValue:function(e){var t=this.value,n=this.dropDownVisible,i=this.config,r=i.checkStrictly,o=i.multiple;A(e,t)&&!b(t)||(this.computePresentContent(),o||r||!n||this.toggleDropDownVisible(!1),this.$emit("input",e),this.$emit("change",e),this.dispatch("ElFormItem","el.form.change",[e]))},options:{handler:function(){this.$nextTick(this.computePresentContent)},deep:!0},presentText:function(e){this.inputValue=e},presentTags:function(e,t){this.multiple&&(e.length||t.length)&&this.$nextTick(this.updateStyle)},filtering:function(e){this.$nextTick(this.updatePopper)}},mounted:function(){var e=this,t=this.$refs.input;t&&t.$el&&(this.inputInitialHeight=t.$el.offsetHeight||bc[this.realSize]||40),this.isEmptyValue(this.value)||this.computePresentContent(),this.filterHandler=nt()(this.debounce,function(){var t=e.inputValue;if(t){var n=e.beforeFilter(t);n&&n.then?n.then(e.getSuggestions):!1!==n?e.getSuggestions():e.filtering=!1}else e.filtering=!1}),Ue(this.$el,this.updateStyle)},beforeDestroy:function(){Ge(this.$el,this.updateStyle)},methods:{getMigratingConfig:function(){return{props:{"expand-trigger":"expand-trigger is removed, use `props.expandTrigger` instead.","change-on-select":"change-on-select is removed, use `props.checkStrictly` instead.","hover-threshold":"hover-threshold is removed, use `props.hoverThreshold` instead"},events:{"active-item-change":"active-item-change is renamed to expand-change"}}},toggleDropDownVisible:function(e){var t=this;if(!this.isDisabled){var n=this.dropDownVisible,i=this.$refs.input;(e=ee(e)?e:!n)!==n&&(this.dropDownVisible=e,e&&this.$nextTick(function(){t.updatePopper(),t.panel.scrollIntoView()}),i.$refs.input.setAttribute("aria-expanded",e),this.$emit("visible-change",e))}},handleDropdownLeave:function(){this.filtering=!1,this.inputValue=this.presentText,this.doDestroy()},handleKeyDown:function(e){switch(e.keyCode){case vc.enter:this.toggleDropDownVisible();break;case vc.down:this.toggleDropDownVisible(!0),this.focusFirstNode(),e.preventDefault();break;case vc.esc:case vc.tab:this.toggleDropDownVisible(!1)}},handleFocus:function(e){this.$emit("focus",e)},handleBlur:function(e){this.$emit("blur",e)},handleInput:function(e,t){!this.dropDownVisible&&this.toggleDropDownVisible(!0),t&&t.isComposing||(e?this.filterHandler():this.filtering=!1)},handleClear:function(){this.presentText="",this.panel.clearCheckedNodes()},handleExpandChange:function(e){this.$nextTick(this.updatePopper.bind(this)),this.$emit("expand-change",e),this.$emit("active-item-change",e)},focusFirstNode:function(){var e=this;this.$nextTick(function(){var t=e.filtering,n=e.$refs,i=n.popper,r=n.suggestionPanel,o=null;t&&r?o=r.$el.querySelector(".el-cascader__suggestion-item"):o=i.querySelector(".el-cascader-menu").querySelector('.el-cascader-node[tabindex="-1"]');o&&(o.focus(),!t&&o.click())})},computePresentContent:function(){var e=this;this.$nextTick(function(){e.config.multiple?(e.computePresentTags(),e.presentText=e.presentTags.length?" ":null):e.computePresentText()})},isEmptyValue:function(e){var t=this.multiple,n=this.panel.config.emitPath;return!(!t&&!n)&&F(e)},computePresentText:function(){var e=this.checkedValue,t=this.config;if(!this.isEmptyValue(e)){var n=this.panel.getNodeByValue(e);if(n&&(t.checkStrictly||n.isLeaf))return void(this.presentText=n.getText(this.showAllLevels,this.separator))}this.presentText=null},computePresentTags:function(){var e=this.isDisabled,t=this.leafOnly,n=this.showAllLevels,i=this.separator,r=this.collapseTags,o=this.getCheckedNodes(t),s=[],a=function(t){return{node:t,key:t.uid,text:t.getText(n,i),hitState:!1,closable:!e&&!t.isDisabled}};if(o.length){var l=o[0],u=o.slice(1),c=u.length;s.push(a(l)),c&&(r?s.push({key:-1,text:"+ "+c,closable:!1}):u.forEach(function(e){return s.push(a(e))}))}this.checkedNodes=o,this.presentTags=s},getSuggestions:function(){var e=this,t=this.filterMethod;y(t)||(t=function(e,t){return e.text.includes(t)});var n=this.panel.getFlattedNodes(this.leafOnly).filter(function(n){return!n.isDisabled&&(n.text=n.getText(e.showAllLevels,e.separator)||"",t(n,e.inputValue))});this.multiple?this.presentTags.forEach(function(e){e.hitState=!1}):n.forEach(function(t){t.checked=A(e.checkedValue,t.getValueByOption())}),this.filtering=!0,this.suggestions=n,this.$nextTick(this.updatePopper)},handleSuggestionKeyDown:function(e){var t=e.keyCode,n=e.target;switch(t){case vc.enter:n.click();break;case vc.up:var i=n.previousElementSibling;i&&i.focus();break;case vc.down:var r=n.nextElementSibling;r&&r.focus();break;case vc.esc:case vc.tab:this.toggleDropDownVisible(!1)}},handleDelete:function(){var e=this.inputValue,t=this.pressDeleteCount,n=this.presentTags,i=n[n.length-1];this.pressDeleteCount=e?0:t+1,i&&this.pressDeleteCount&&(i.hitState?this.deleteTag(i):i.hitState=!0)},handleSuggestionClick:function(e){var t=this.multiple,n=this.suggestions[e];if(t){var i=n.checked;n.doCheck(!i),this.panel.calculateMultiCheckedValue()}else this.checkedValue=n.getValueByOption(),this.toggleDropDownVisible(!1)},deleteTag:function(e){var t=this.checkedValue,n=e.node.getValueByOption(),i=t.find(function(e){return A(e,n)});this.checkedValue=t.filter(function(e){return!A(e,n)}),this.$emit("remove-tag",i)},updateStyle:function(){var e=this.$el,t=this.inputInitialHeight;if(!this.$isServer&&e){var n=this.$refs.suggestionPanel,i=e.querySelector(".el-input__inner");if(i){var r=e.querySelector(".el-cascader__tags"),o=null;if(n&&(o=n.$el))o.querySelector(".el-cascader__suggestion-list").style.minWidth=i.offsetWidth+"px";if(r){var s=Math.round(r.getBoundingClientRect().height),a=Math.max(s+6,t)+"px";i.style.height=a,this.dropDownVisible&&this.updatePopper()}}}},getCheckedNodes:function(e){return this.panel.getCheckedNodes(e)}}},Xu,[],!1,null,null,null);_c.options.__file="packages/cascader/src/cascader.vue";var wc=_c.exports;wc.install=function(e){e.component(wc.name,wc)};var xc=wc,Cc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.hide,expression:"hide"}],class:["el-color-picker",e.colorDisabled?"is-disabled":"",e.colorSize?"el-color-picker--"+e.colorSize:""]},[e.colorDisabled?n("div",{staticClass:"el-color-picker__mask"}):e._e(),n("div",{staticClass:"el-color-picker__trigger",on:{click:e.handleTrigger}},[n("span",{staticClass:"el-color-picker__color",class:{"is-alpha":e.showAlpha}},[n("span",{staticClass:"el-color-picker__color-inner",style:{backgroundColor:e.displayedColor}}),e.value||e.showPanelColor?e._e():n("span",{staticClass:"el-color-picker__empty el-icon-close"})]),n("span",{directives:[{name:"show",rawName:"v-show",value:e.value||e.showPanelColor,expression:"value || showPanelColor"}],staticClass:"el-color-picker__icon el-icon-arrow-down"})]),n("picker-dropdown",{ref:"dropdown",class:["el-color-picker__panel",e.popperClass||""],attrs:{color:e.color,"show-alpha":e.showAlpha,predefine:e.predefine},on:{pick:e.confirmValue,clear:e.clearValue},model:{value:e.showPicker,callback:function(t){e.showPicker=t},expression:"showPicker"}})],1)};Cc._withStripped=!0;var kc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};var Sc=function(e,t,n){return[e,t*n/((e=(2-t)*n)<1?e:2-e)||0,e/2]},Dc=function(e,t){var n;"string"==typeof(n=e)&&-1!==n.indexOf(".")&&1===parseFloat(n)&&(e="100%");var i=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=Math.min(t,Math.max(0,parseFloat(e))),i&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)},Ec={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},$c={A:10,B:11,C:12,D:13,E:14,F:15},Tc=function(e){return 2===e.length?16*($c[e[0].toUpperCase()]||+e[0])+($c[e[1].toUpperCase()]||+e[1]):$c[e[1].toUpperCase()]||+e[1]},Mc=function(e,t,n){e=Dc(e,255),t=Dc(t,255),n=Dc(n,255);var i,r=Math.max(e,t,n),o=Math.min(e,t,n),s=void 0,a=r,l=r-o;if(i=0===r?0:l/r,r===o)s=0;else{switch(r){case e:s=(t-n)/l+(t<n?6:0);break;case t:s=(n-e)/l+2;break;case n:s=(e-t)/l+4}s/=6}return{h:360*s,s:100*i,v:100*a}},Nc=function(e,t,n){e=6*Dc(e,360),t=Dc(t,100),n=Dc(n,100);var i=Math.floor(e),r=e-i,o=n*(1-t),s=n*(1-r*t),a=n*(1-(1-r)*t),l=i%6,u=[n,s,o,o,a,n][l],c=[a,n,n,s,o,o][l],h=[o,o,a,n,n,s][l];return{r:Math.round(255*u),g:Math.round(255*c),b:Math.round(255*h)}},Oc=function(){function e(t){for(var n in function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this.enableAlpha=!1,this.format="hex",this.value="",t=t||{})t.hasOwnProperty(n)&&(this[n]=t[n]);this.doOnChange()}return e.prototype.set=function(e,t){if(1!==arguments.length||"object"!==(void 0===e?"undefined":kc(e)))this["_"+e]=t,this.doOnChange();else for(var n in e)e.hasOwnProperty(n)&&this.set(n,e[n])},e.prototype.get=function(e){return this["_"+e]},e.prototype.toRgb=function(){return Nc(this._hue,this._saturation,this._value)},e.prototype.fromString=function(e){var t=this;if(!e)return this._hue=0,this._saturation=100,this._value=100,void this.doOnChange();var n=function(e,n,i){t._hue=Math.max(0,Math.min(360,e)),t._saturation=Math.max(0,Math.min(100,n)),t._value=Math.max(0,Math.min(100,i)),t.doOnChange()};if(-1!==e.indexOf("hsl")){var i=e.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(function(e){return""!==e}).map(function(e,t){return t>2?parseFloat(e):parseInt(e,10)});if(4===i.length?this._alpha=Math.floor(100*parseFloat(i[3])):3===i.length&&(this._alpha=100),i.length>=3){var r=function(e,t,n){n/=100;var i=t/=100,r=Math.max(n,.01);return t*=(n*=2)<=1?n:2-n,i*=r<=1?r:2-r,{h:e,s:100*(0===n?2*i/(r+i):2*t/(n+t)),v:(n+t)/2*100}}(i[0],i[1],i[2]);n(r.h,r.s,r.v)}}else if(-1!==e.indexOf("hsv")){var o=e.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(function(e){return""!==e}).map(function(e,t){return t>2?parseFloat(e):parseInt(e,10)});4===o.length?this._alpha=Math.floor(100*parseFloat(o[3])):3===o.length&&(this._alpha=100),o.length>=3&&n(o[0],o[1],o[2])}else if(-1!==e.indexOf("rgb")){var s=e.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(function(e){return""!==e}).map(function(e,t){return t>2?parseFloat(e):parseInt(e,10)});if(4===s.length?this._alpha=Math.floor(100*parseFloat(s[3])):3===s.length&&(this._alpha=100),s.length>=3){var a=Mc(s[0],s[1],s[2]);n(a.h,a.s,a.v)}}else if(-1!==e.indexOf("#")){var l=e.replace("#","").trim();if(!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(l))return;var u=void 0,c=void 0,h=void 0;3===l.length?(u=Tc(l[0]+l[0]),c=Tc(l[1]+l[1]),h=Tc(l[2]+l[2])):6!==l.length&&8!==l.length||(u=Tc(l.substring(0,2)),c=Tc(l.substring(2,4)),h=Tc(l.substring(4,6))),8===l.length?this._alpha=Math.floor(Tc(l.substring(6))/255*100):3!==l.length&&6!==l.length||(this._alpha=100);var d=Mc(u,c,h);n(d.h,d.s,d.v)}},e.prototype.compare=function(e){return Math.abs(e._hue-this._hue)<2&&Math.abs(e._saturation-this._saturation)<1&&Math.abs(e._value-this._value)<1&&Math.abs(e._alpha-this._alpha)<1},e.prototype.doOnChange=function(){var e=this._hue,t=this._saturation,n=this._value,i=this._alpha,r=this.format;if(this.enableAlpha)switch(r){case"hsl":var o=Sc(e,t/100,n/100);this.value="hsla("+e+", "+Math.round(100*o[1])+"%, "+Math.round(100*o[2])+"%, "+i/100+")";break;case"hsv":this.value="hsva("+e+", "+Math.round(t)+"%, "+Math.round(n)+"%, "+i/100+")";break;default:var s=Nc(e,t,n),a=s.r,l=s.g,u=s.b;this.value="rgba("+a+", "+l+", "+u+", "+i/100+")"}else switch(r){case"hsl":var c=Sc(e,t/100,n/100);this.value="hsl("+e+", "+Math.round(100*c[1])+"%, "+Math.round(100*c[2])+"%)";break;case"hsv":this.value="hsv("+e+", "+Math.round(t)+"%, "+Math.round(n)+"%)";break;case"rgb":var h=Nc(e,t,n),d=h.r,f=h.g,p=h.b;this.value="rgb("+d+", "+f+", "+p+")";break;default:this.value=function(e){var t=e.r,n=e.g,i=e.b,r=function(e){e=Math.min(Math.round(e),255);var t=Math.floor(e/16),n=e%16;return""+(Ec[t]||t)+(Ec[n]||n)};return isNaN(t)||isNaN(n)||isNaN(i)?"":"#"+r(t)+r(n)+r(i)}(Nc(e,t,n))}},e}(),Pc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.doDestroy}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-color-dropdown"},[n("div",{staticClass:"el-color-dropdown__main-wrapper"},[n("hue-slider",{ref:"hue",staticStyle:{float:"right"},attrs:{color:e.color,vertical:""}}),n("sv-panel",{ref:"sl",attrs:{color:e.color}})],1),e.showAlpha?n("alpha-slider",{ref:"alpha",attrs:{color:e.color}}):e._e(),e.predefine?n("predefine",{attrs:{color:e.color,colors:e.predefine}}):e._e(),n("div",{staticClass:"el-color-dropdown__btns"},[n("span",{staticClass:"el-color-dropdown__value"},[n("el-input",{attrs:{"validate-event":!1,size:"mini"},on:{blur:e.handleConfirm},nativeOn:{keyup:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.handleConfirm(t):null}},model:{value:e.customInput,callback:function(t){e.customInput=t},expression:"customInput"}})],1),n("el-button",{staticClass:"el-color-dropdown__link-btn",attrs:{size:"mini",type:"text"},on:{click:function(t){e.$emit("clear")}}},[e._v("\n "+e._s(e.t("el.colorpicker.clear"))+"\n ")]),n("el-button",{staticClass:"el-color-dropdown__btn",attrs:{plain:"",size:"mini"},on:{click:e.confirmValue}},[e._v("\n "+e._s(e.t("el.colorpicker.confirm"))+"\n ")])],1)],1)])};Pc._withStripped=!0;var Ic=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"el-color-svpanel",style:{backgroundColor:this.background}},[t("div",{staticClass:"el-color-svpanel__white"}),t("div",{staticClass:"el-color-svpanel__black"}),t("div",{staticClass:"el-color-svpanel__cursor",style:{top:this.cursorTop+"px",left:this.cursorLeft+"px"}},[t("div")])])};Ic._withStripped=!0;var Ac=!1,Fc=function(e,t){if(!h.a.prototype.$isServer){var n=function(e){t.drag&&t.drag(e)},i=function e(i){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",e),document.onselectstart=null,document.ondragstart=null,Ac=!1,t.end&&t.end(i)};e.addEventListener("mousedown",function(e){Ac||(document.onselectstart=function(){return!1},document.ondragstart=function(){return!1},document.addEventListener("mousemove",n),document.addEventListener("mouseup",i),Ac=!0,t.start&&t.start(e))})}},Lc=r({name:"el-sl-panel",props:{color:{required:!0}},computed:{colorValue:function(){return{hue:this.color.get("hue"),value:this.color.get("value")}}},watch:{colorValue:function(){this.update()}},methods:{update:function(){var e=this.color.get("saturation"),t=this.color.get("value"),n=this.$el,i=n.clientWidth,r=n.clientHeight;this.cursorLeft=e*i/100,this.cursorTop=(100-t)*r/100,this.background="hsl("+this.color.get("hue")+", 100%, 50%)"},handleDrag:function(e){var t=this.$el.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top;n=Math.max(0,n),n=Math.min(n,t.width),i=Math.max(0,i),i=Math.min(i,t.height),this.cursorLeft=n,this.cursorTop=i,this.color.set({saturation:n/t.width*100,value:100-i/t.height*100})}},mounted:function(){var e=this;Fc(this.$el,{drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}}),this.update()},data:function(){return{cursorTop:0,cursorLeft:0,background:"hsl(0, 100%, 50%)"}}},Ic,[],!1,null,null,null);Lc.options.__file="packages/color-picker/src/components/sv-panel.vue";var Vc=Lc.exports,Bc=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"el-color-hue-slider",class:{"is-vertical":this.vertical}},[t("div",{ref:"bar",staticClass:"el-color-hue-slider__bar",on:{click:this.handleClick}}),t("div",{ref:"thumb",staticClass:"el-color-hue-slider__thumb",style:{left:this.thumbLeft+"px",top:this.thumbTop+"px"}})])};Bc._withStripped=!0;var zc=r({name:"el-color-hue-slider",props:{color:{required:!0},vertical:Boolean},data:function(){return{thumbLeft:0,thumbTop:0}},computed:{hueValue:function(){return this.color.get("hue")}},watch:{hueValue:function(){this.update()}},methods:{handleClick:function(e){var t=this.$refs.thumb;e.target!==t&&this.handleDrag(e)},handleDrag:function(e){var t=this.$el.getBoundingClientRect(),n=this.$refs.thumb,i=void 0;if(this.vertical){var r=e.clientY-t.top;r=Math.min(r,t.height-n.offsetHeight/2),r=Math.max(n.offsetHeight/2,r),i=Math.round((r-n.offsetHeight/2)/(t.height-n.offsetHeight)*360)}else{var o=e.clientX-t.left;o=Math.min(o,t.width-n.offsetWidth/2),o=Math.max(n.offsetWidth/2,o),i=Math.round((o-n.offsetWidth/2)/(t.width-n.offsetWidth)*360)}this.color.set("hue",i)},getThumbLeft:function(){if(this.vertical)return 0;var e=this.$el,t=this.color.get("hue");if(!e)return 0;var n=this.$refs.thumb;return Math.round(t*(e.offsetWidth-n.offsetWidth/2)/360)},getThumbTop:function(){if(!this.vertical)return 0;var e=this.$el,t=this.color.get("hue");if(!e)return 0;var n=this.$refs.thumb;return Math.round(t*(e.offsetHeight-n.offsetHeight/2)/360)},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop()}},mounted:function(){var e=this,t=this.$refs,n=t.bar,i=t.thumb,r={drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}};Fc(n,r),Fc(i,r),this.update()}},Bc,[],!1,null,null,null);zc.options.__file="packages/color-picker/src/components/hue-slider.vue";var Rc=zc.exports,Hc=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"el-color-alpha-slider",class:{"is-vertical":this.vertical}},[t("div",{ref:"bar",staticClass:"el-color-alpha-slider__bar",style:{background:this.background},on:{click:this.handleClick}}),t("div",{ref:"thumb",staticClass:"el-color-alpha-slider__thumb",style:{left:this.thumbLeft+"px",top:this.thumbTop+"px"}})])};Hc._withStripped=!0;var jc=r({name:"el-color-alpha-slider",props:{color:{required:!0},vertical:Boolean},watch:{"color._alpha":function(){this.update()},"color.value":function(){this.update()}},methods:{handleClick:function(e){var t=this.$refs.thumb;e.target!==t&&this.handleDrag(e)},handleDrag:function(e){var t=this.$el.getBoundingClientRect(),n=this.$refs.thumb;if(this.vertical){var i=e.clientY-t.top;i=Math.max(n.offsetHeight/2,i),i=Math.min(i,t.height-n.offsetHeight/2),this.color.set("alpha",Math.round((i-n.offsetHeight/2)/(t.height-n.offsetHeight)*100))}else{var r=e.clientX-t.left;r=Math.max(n.offsetWidth/2,r),r=Math.min(r,t.width-n.offsetWidth/2),this.color.set("alpha",Math.round((r-n.offsetWidth/2)/(t.width-n.offsetWidth)*100))}},getThumbLeft:function(){if(this.vertical)return 0;var e=this.$el,t=this.color._alpha;if(!e)return 0;var n=this.$refs.thumb;return Math.round(t*(e.offsetWidth-n.offsetWidth/2)/100)},getThumbTop:function(){if(!this.vertical)return 0;var e=this.$el,t=this.color._alpha;if(!e)return 0;var n=this.$refs.thumb;return Math.round(t*(e.offsetHeight-n.offsetHeight/2)/100)},getBackground:function(){if(this.color&&this.color.value){var e=this.color.toRgb(),t=e.r,n=e.g,i=e.b;return"linear-gradient(to right, rgba("+t+", "+n+", "+i+", 0) 0%, rgba("+t+", "+n+", "+i+", 1) 100%)"}return null},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop(),this.background=this.getBackground()}},data:function(){return{thumbLeft:0,thumbTop:0,background:null}},mounted:function(){var e=this,t=this.$refs,n=t.bar,i=t.thumb,r={drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}};Fc(n,r),Fc(i,r),this.update()}},Hc,[],!1,null,null,null);jc.options.__file="packages/color-picker/src/components/alpha-slider.vue";var Wc=jc.exports,qc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-color-predefine"},[n("div",{staticClass:"el-color-predefine__colors"},e._l(e.rgbaColors,function(t,i){return n("div",{key:e.colors[i],staticClass:"el-color-predefine__color-selector",class:{selected:t.selected,"is-alpha":t._alpha<100},on:{click:function(t){e.handleSelect(i)}}},[n("div",{style:{"background-color":t.value}})])}),0)])};qc._withStripped=!0;var Yc=r({props:{colors:{type:Array,required:!0},color:{required:!0}},data:function(){return{rgbaColors:this.parseColors(this.colors,this.color)}},methods:{handleSelect:function(e){this.color.fromString(this.colors[e])},parseColors:function(e,t){return e.map(function(e){var n=new Oc;return n.enableAlpha=!0,n.format="rgba",n.fromString(e),n.selected=n.value===t.value,n})}},watch:{"$parent.currentColor":function(e){var t=new Oc;t.fromString(e),this.rgbaColors.forEach(function(e){e.selected=t.compare(e)})},colors:function(e){this.rgbaColors=this.parseColors(e,this.color)},color:function(e){this.rgbaColors=this.parseColors(this.colors,e)}}},qc,[],!1,null,null,null);Yc.options.__file="packages/color-picker/src/components/predefine.vue";var Kc=Yc.exports,Uc=r({name:"el-color-picker-dropdown",mixins:[Ie,Y],components:{SvPanel:Vc,HueSlider:Rc,AlphaSlider:Wc,ElInput:re,ElButton:Mt,Predefine:Kc},props:{color:{required:!0},showAlpha:Boolean,predefine:Array},data:function(){return{customInput:""}},computed:{currentColor:function(){var e=this.$parent;return e.value||e.showPanelColor?e.color.value:""}},methods:{confirmValue:function(){this.$emit("pick")},handleConfirm:function(){this.color.fromString(this.customInput)}},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$el},watch:{showPopper:function(e){var t=this;!0===e&&this.$nextTick(function(){var e=t.$refs,n=e.sl,i=e.hue,r=e.alpha;n&&n.update(),i&&i.update(),r&&r.update()})},currentColor:{immediate:!0,handler:function(e){this.customInput=e}}}},Pc,[],!1,null,null,null);Uc.options.__file="packages/color-picker/src/components/picker-dropdown.vue";var Gc=Uc.exports,Xc=r({name:"ElColorPicker",mixins:[l],props:{value:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:String,popperClass:String,predefine:Array},inject:{elForm:{default:""},elFormItem:{default:""}},directives:{Clickoutside:lt},computed:{displayedColor:function(){return this.value||this.showPanelColor?this.displayedRgb(this.color,this.showAlpha):"transparent"},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},colorSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},colorDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{value:function(e){e?e&&e!==this.color.value&&this.color.fromString(e):this.showPanelColor=!1},color:{deep:!0,handler:function(){this.showPanelColor=!0}},displayedColor:function(e){if(this.showPicker){var t=new Oc({enableAlpha:this.showAlpha,format:this.colorFormat});t.fromString(this.value),e!==this.displayedRgb(t,this.showAlpha)&&this.$emit("active-change",e)}}},methods:{handleTrigger:function(){this.colorDisabled||(this.showPicker=!this.showPicker)},confirmValue:function(){var e=this.color.value;this.$emit("input",e),this.$emit("change",e),this.dispatch("ElFormItem","el.form.change",e),this.showPicker=!1},clearValue:function(){this.$emit("input",null),this.$emit("change",null),null!==this.value&&this.dispatch("ElFormItem","el.form.change",null),this.showPanelColor=!1,this.showPicker=!1,this.resetColor()},hide:function(){this.showPicker=!1,this.resetColor()},resetColor:function(){var e=this;this.$nextTick(function(t){e.value?e.color.fromString(e.value):e.showPanelColor=!1})},displayedRgb:function(e,t){if(!(e instanceof Oc))throw Error("color should be instance of Color Class");var n=e.toRgb(),i=n.r,r=n.g,o=n.b;return t?"rgba("+i+", "+r+", "+o+", "+e.get("alpha")/100+")":"rgb("+i+", "+r+", "+o+")"}},mounted:function(){var e=this.value;e&&this.color.fromString(e),this.popperElm=this.$refs.dropdown.$el},data:function(){return{color:new Oc({enableAlpha:this.showAlpha,format:this.colorFormat}),showPicker:!1,showPanelColor:!1}},components:{PickerDropdown:Gc}},Cc,[],!1,null,null,null);Xc.options.__file="packages/color-picker/src/main.vue";var Zc=Xc.exports;Zc.install=function(e){e.component(Zc.name,Zc)};var Jc=Zc,Qc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-transfer"},[n("transfer-panel",e._b({ref:"leftPanel",attrs:{data:e.sourceData,title:e.titles[0]||e.t("el.transfer.titles.0"),"default-checked":e.leftDefaultChecked,placeholder:e.filterPlaceholder||e.t("el.transfer.filterPlaceholder")},on:{"checked-change":e.onSourceCheckedChange}},"transfer-panel",e.$props,!1),[e._t("left-footer")],2),n("div",{staticClass:"el-transfer__buttons"},[n("el-button",{class:["el-transfer__button",e.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:0===e.rightChecked.length},nativeOn:{click:function(t){return e.addToLeft(t)}}},[n("i",{staticClass:"el-icon-arrow-left"}),void 0!==e.buttonTexts[0]?n("span",[e._v(e._s(e.buttonTexts[0]))]):e._e()]),n("el-button",{class:["el-transfer__button",e.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:0===e.leftChecked.length},nativeOn:{click:function(t){return e.addToRight(t)}}},[void 0!==e.buttonTexts[1]?n("span",[e._v(e._s(e.buttonTexts[1]))]):e._e(),n("i",{staticClass:"el-icon-arrow-right"})])],1),n("transfer-panel",e._b({ref:"rightPanel",attrs:{data:e.targetData,title:e.titles[1]||e.t("el.transfer.titles.1"),"default-checked":e.rightDefaultChecked,placeholder:e.filterPlaceholder||e.t("el.transfer.filterPlaceholder")},on:{"checked-change":e.onTargetCheckedChange}},"transfer-panel",e.$props,!1),[e._t("right-footer")],2)],1)};Qc._withStripped=!0;var eh=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-transfer-panel"},[n("p",{staticClass:"el-transfer-panel__header"},[n("el-checkbox",{attrs:{indeterminate:e.isIndeterminate},on:{change:e.handleAllCheckedChange},model:{value:e.allChecked,callback:function(t){e.allChecked=t},expression:"allChecked"}},[e._v("\n "+e._s(e.title)+"\n "),n("span",[e._v(e._s(e.checkedSummary))])])],1),n("div",{class:["el-transfer-panel__body",e.hasFooter?"is-with-footer":""]},[e.filterable?n("el-input",{staticClass:"el-transfer-panel__filter",attrs:{size:"small",placeholder:e.placeholder},nativeOn:{mouseenter:function(t){e.inputHover=!0},mouseleave:function(t){e.inputHover=!1}},model:{value:e.query,callback:function(t){e.query=t},expression:"query"}},[n("i",{class:["el-input__icon","el-icon-"+e.inputIcon],attrs:{slot:"prefix"},on:{click:e.clearQuery},slot:"prefix"})]):e._e(),n("el-checkbox-group",{directives:[{name:"show",rawName:"v-show",value:!e.hasNoMatch&&e.data.length>0,expression:"!hasNoMatch && data.length > 0"}],staticClass:"el-transfer-panel__list",class:{"is-filterable":e.filterable},model:{value:e.checked,callback:function(t){e.checked=t},expression:"checked"}},e._l(e.filteredData,function(t){return n("el-checkbox",{key:t[e.keyProp],staticClass:"el-transfer-panel__item",attrs:{label:t[e.keyProp],disabled:t[e.disabledProp]}},[n("option-content",{attrs:{option:t}})],1)}),1),n("p",{directives:[{name:"show",rawName:"v-show",value:e.hasNoMatch,expression:"hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[e._v(e._s(e.t("el.transfer.noMatch")))]),n("p",{directives:[{name:"show",rawName:"v-show",value:0===e.data.length&&!e.hasNoMatch,expression:"data.length === 0 && !hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[e._v(e._s(e.t("el.transfer.noData")))])],1),e.hasFooter?n("p",{staticClass:"el-transfer-panel__footer"},[e._t("default")],2):e._e()])};eh._withStripped=!0;var th=r({mixins:[Y],name:"ElTransferPanel",componentName:"ElTransferPanel",components:{ElCheckboxGroup:Gn,ElCheckbox:Rn,ElInput:re,OptionContent:{props:{option:Object},render:function(e){var t=function e(t){return"ElTransferPanel"===t.$options.componentName?t:t.$parent?e(t.$parent):t}(this),n=t.$parent||t;return t.renderContent?t.renderContent(e,this.option):n.$scopedSlots.default?n.$scopedSlots.default({option:this.option}):e("span",[this.option[t.labelProp]||this.option[t.keyProp]])}}},props:{data:{type:Array,default:function(){return[]}},renderContent:Function,placeholder:String,title:String,filterable:Boolean,format:Object,filterMethod:Function,defaultChecked:Array,props:Object},data:function(){return{checked:[],allChecked:!1,query:"",inputHover:!1,checkChangeByUser:!0}},watch:{checked:function(e,t){if(this.updateAllChecked(),this.checkChangeByUser){var n=e.concat(t).filter(function(n){return-1===e.indexOf(n)||-1===t.indexOf(n)});this.$emit("checked-change",e,n)}else this.$emit("checked-change",e),this.checkChangeByUser=!0},data:function(){var e=this,t=[],n=this.filteredData.map(function(t){return t[e.keyProp]});this.checked.forEach(function(e){n.indexOf(e)>-1&&t.push(e)}),this.checkChangeByUser=!1,this.checked=t},checkableData:function(){this.updateAllChecked()},defaultChecked:{immediate:!0,handler:function(e,t){var n=this;if(!t||e.length!==t.length||!e.every(function(e){return t.indexOf(e)>-1})){var i=[],r=this.checkableData.map(function(e){return e[n.keyProp]});e.forEach(function(e){r.indexOf(e)>-1&&i.push(e)}),this.checkChangeByUser=!1,this.checked=i}}}},computed:{filteredData:function(){var e=this;return this.data.filter(function(t){return"function"==typeof e.filterMethod?e.filterMethod(e.query,t):(t[e.labelProp]||t[e.keyProp].toString()).toLowerCase().indexOf(e.query.toLowerCase())>-1})},checkableData:function(){var e=this;return this.filteredData.filter(function(t){return!t[e.disabledProp]})},checkedSummary:function(){var e=this.checked.length,t=this.data.length,n=this.format,i=n.noChecked,r=n.hasChecked;return i&&r?e>0?r.replace(/\${checked}/g,e).replace(/\${total}/g,t):i.replace(/\${total}/g,t):e+"/"+t},isIndeterminate:function(){var e=this.checked.length;return e>0&&e<this.checkableData.length},hasNoMatch:function(){return this.query.length>0&&0===this.filteredData.length},inputIcon:function(){return this.query.length>0&&this.inputHover?"circle-close":"search"},labelProp:function(){return this.props.label||"label"},keyProp:function(){return this.props.key||"key"},disabledProp:function(){return this.props.disabled||"disabled"},hasFooter:function(){return!!this.$slots.default}},methods:{updateAllChecked:function(){var e=this,t=this.checkableData.map(function(t){return t[e.keyProp]});this.allChecked=t.length>0&&t.every(function(t){return e.checked.indexOf(t)>-1})},handleAllCheckedChange:function(e){var t=this;this.checked=e?this.checkableData.map(function(e){return e[t.keyProp]}):[]},clearQuery:function(){"circle-close"===this.inputIcon&&(this.query="")}}},eh,[],!1,null,null,null);th.options.__file="packages/transfer/src/transfer-panel.vue";var nh=r({name:"ElTransfer",mixins:[l,Y,U],components:{TransferPanel:th.exports,ElButton:Mt},props:{data:{type:Array,default:function(){return[]}},titles:{type:Array,default:function(){return[]}},buttonTexts:{type:Array,default:function(){return[]}},filterPlaceholder:{type:String,default:""},filterMethod:Function,leftDefaultChecked:{type:Array,default:function(){return[]}},rightDefaultChecked:{type:Array,default:function(){return[]}},renderContent:Function,value:{type:Array,default:function(){return[]}},format:{type:Object,default:function(){return{}}},filterable:Boolean,props:{type:Object,default:function(){return{label:"label",key:"key",disabled:"disabled"}}},targetOrder:{type:String,default:"original"}},data:function(){return{leftChecked:[],rightChecked:[]}},computed:{dataObj:function(){var e=this.props.key;return this.data.reduce(function(t,n){return(t[n[e]]=n)&&t},{})},sourceData:function(){var e=this;return this.data.filter(function(t){return-1===e.value.indexOf(t[e.props.key])})},targetData:function(){var e=this;return"original"===this.targetOrder?this.data.filter(function(t){return e.value.indexOf(t[e.props.key])>-1}):this.value.reduce(function(t,n){var i=e.dataObj[n];return i&&t.push(i),t},[])},hasButtonTexts:function(){return 2===this.buttonTexts.length}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",e)}},methods:{getMigratingConfig:function(){return{props:{"footer-format":"footer-format is renamed to format."}}},onSourceCheckedChange:function(e,t){this.leftChecked=e,void 0!==t&&this.$emit("left-check-change",e,t)},onTargetCheckedChange:function(e,t){this.rightChecked=e,void 0!==t&&this.$emit("right-check-change",e,t)},addToLeft:function(){var e=this.value.slice();this.rightChecked.forEach(function(t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}),this.$emit("input",e),this.$emit("change",e,"left",this.rightChecked)},addToRight:function(){var e=this,t=this.value.slice(),n=[],i=this.props.key;this.data.forEach(function(t){var r=t[i];e.leftChecked.indexOf(r)>-1&&-1===e.value.indexOf(r)&&n.push(r)}),t="unshift"===this.targetOrder?n.concat(t):t.concat(n),this.$emit("input",t),this.$emit("change",t,"right",this.leftChecked)},clearQuery:function(e){"left"===e?this.$refs.leftPanel.query="":"right"===e&&(this.$refs.rightPanel.query="")}}},Qc,[],!1,null,null,null);nh.options.__file="packages/transfer/src/main.vue";var ih=nh.exports;ih.install=function(e){e.component(ih.name,ih)};var rh=ih,oh=function(){var e=this.$createElement;return(this._self._c||e)("section",{staticClass:"el-container",class:{"is-vertical":this.isVertical}},[this._t("default")],2)};oh._withStripped=!0;var sh=r({name:"ElContainer",componentName:"ElContainer",props:{direction:String},computed:{isVertical:function(){return"vertical"===this.direction||"horizontal"!==this.direction&&(!(!this.$slots||!this.$slots.default)&&this.$slots.default.some(function(e){var t=e.componentOptions&&e.componentOptions.tag;return"el-header"===t||"el-footer"===t}))}}},oh,[],!1,null,null,null);sh.options.__file="packages/container/src/main.vue";var ah=sh.exports;ah.install=function(e){e.component(ah.name,ah)};var lh=ah,uh=function(){var e=this.$createElement;return(this._self._c||e)("header",{staticClass:"el-header",style:{height:this.height}},[this._t("default")],2)};uh._withStripped=!0;var ch=r({name:"ElHeader",componentName:"ElHeader",props:{height:{type:String,default:"60px"}}},uh,[],!1,null,null,null);ch.options.__file="packages/header/src/main.vue";var hh=ch.exports;hh.install=function(e){e.component(hh.name,hh)};var dh=hh,fh=function(){var e=this.$createElement;return(this._self._c||e)("aside",{staticClass:"el-aside",style:{width:this.width}},[this._t("default")],2)};fh._withStripped=!0;var ph=r({name:"ElAside",componentName:"ElAside",props:{width:{type:String,default:"300px"}}},fh,[],!1,null,null,null);ph.options.__file="packages/aside/src/main.vue";var mh=ph.exports;mh.install=function(e){e.component(mh.name,mh)};var vh=mh,gh=function(){var e=this.$createElement;return(this._self._c||e)("main",{staticClass:"el-main"},[this._t("default")],2)};gh._withStripped=!0;var yh=r({name:"ElMain",componentName:"ElMain"},gh,[],!1,null,null,null);yh.options.__file="packages/main/src/main.vue";var bh=yh.exports;bh.install=function(e){e.component(bh.name,bh)};var _h=bh,wh=function(){var e=this.$createElement;return(this._self._c||e)("footer",{staticClass:"el-footer",style:{height:this.height}},[this._t("default")],2)};wh._withStripped=!0;var xh=r({name:"ElFooter",componentName:"ElFooter",props:{height:{type:String,default:"60px"}}},wh,[],!1,null,null,null);xh.options.__file="packages/footer/src/main.vue";var Ch=xh.exports;Ch.install=function(e){e.component(Ch.name,Ch)};var kh=Ch,Sh=r({name:"ElTimeline",props:{reverse:{type:Boolean,default:!1}},provide:function(){return{timeline:this}},render:function(){var e=arguments[0],t=this.reverse,n={"el-timeline":!0,"is-reverse":t},i=this.$slots.default||[];return t&&(i=i.reverse()),e("ul",{class:n},[i])}},void 0,void 0,!1,null,null,null);Sh.options.__file="packages/timeline/src/main.vue";var Dh=Sh.exports;Dh.install=function(e){e.component(Dh.name,Dh)};var Eh=Dh,$h=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"el-timeline-item"},[n("div",{staticClass:"el-timeline-item__tail"}),e.$slots.dot?e._e():n("div",{staticClass:"el-timeline-item__node",class:["el-timeline-item__node--"+(e.size||""),"el-timeline-item__node--"+(e.type||"")],style:{backgroundColor:e.color}},[e.icon?n("i",{staticClass:"el-timeline-item__icon",class:e.icon}):e._e()]),e.$slots.dot?n("div",{staticClass:"el-timeline-item__dot"},[e._t("dot")],2):e._e(),n("div",{staticClass:"el-timeline-item__wrapper"},[e.hideTimestamp||"top"!==e.placement?e._e():n("div",{staticClass:"el-timeline-item__timestamp is-top"},[e._v("\n "+e._s(e.timestamp)+"\n ")]),n("div",{staticClass:"el-timeline-item__content"},[e._t("default")],2),e.hideTimestamp||"bottom"!==e.placement?e._e():n("div",{staticClass:"el-timeline-item__timestamp is-bottom"},[e._v("\n "+e._s(e.timestamp)+"\n ")])])])};$h._withStripped=!0;var Th=r({name:"ElTimelineItem",inject:["timeline"],props:{timestamp:String,hideTimestamp:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},type:String,color:String,size:{type:String,default:"normal"},icon:String}},$h,[],!1,null,null,null);Th.options.__file="packages/timeline/src/item.vue";var Mh=Th.exports;Mh.install=function(e){e.component(Mh.name,Mh)};var Nh=Mh,Oh=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",e._b({class:["el-link",e.type?"el-link--"+e.type:"",e.disabled&&"is-disabled",e.underline&&!e.disabled&&"is-underline"],attrs:{href:e.disabled?null:e.href},on:{click:e.handleClick}},"a",e.$attrs,!1),[e.icon?n("i",{class:e.icon}):e._e(),e.$slots.default?n("span",{staticClass:"el-link--inner"},[e._t("default")],2):e._e(),e.$slots.icon?[e.$slots.icon?e._t("icon"):e._e()]:e._e()],2)};Oh._withStripped=!0;var Ph=r({name:"ElLink",props:{type:{type:String,default:"default"},underline:{type:Boolean,default:!0},disabled:Boolean,href:String,icon:String},methods:{handleClick:function(e){this.disabled||this.href||this.$emit("click",e)}}},Oh,[],!1,null,null,null);Ph.options.__file="packages/link/src/main.vue";var Ih=Ph.exports;Ih.install=function(e){e.component(Ih.name,Ih)};var Ah=Ih,Fh=function(e,t){var n=t._c;return n("div",t._g(t._b({class:[t.data.staticClass,"el-divider","el-divider--"+t.props.direction]},"div",t.data.attrs,!1),t.listeners),[t.slots().default&&"vertical"!==t.props.direction?n("div",{class:["el-divider__text","is-"+t.props.contentPosition]},[t._t("default")],2):t._e()])};Fh._withStripped=!0;var Lh=r({name:"ElDivider",props:{direction:{type:String,default:"horizontal",validator:function(e){return-1!==["horizontal","vertical"].indexOf(e)}},contentPosition:{type:String,default:"center",validator:function(e){return-1!==["left","center","right"].indexOf(e)}}}},Fh,[],!0,null,null,null);Lh.options.__file="packages/divider/src/main.vue";var Vh=Lh.exports;Vh.install=function(e){e.component(Vh.name,Vh)};var Bh=Vh,zh=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-image"},[e.loading?e._t("placeholder",[n("div",{staticClass:"el-image__placeholder"})]):e.error?e._t("error",[n("div",{staticClass:"el-image__error"},[e._v(e._s(e.t("el.image.error")))])]):n("img",e._g(e._b({staticClass:"el-image__inner",class:{"el-image__inner--center":e.alignCenter,"el-image__preview":e.preview},style:e.imageStyle,attrs:{src:e.src},on:{click:e.clickHandler}},"img",e.$attrs,!1),e.$listeners)),e.preview?[e.showViewer?n("image-viewer",{attrs:{"z-index":e.zIndex,"initial-index":e.imageIndex,"on-close":e.closeViewer,"url-list":e.previewSrcList}}):e._e()]:e._e()],2)};zh._withStripped=!0;var Rh=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"viewer-fade"}},[n("div",{ref:"el-image-viewer__wrapper",staticClass:"el-image-viewer__wrapper",style:{"z-index":e.viewerZIndex},attrs:{tabindex:"-1"}},[n("div",{staticClass:"el-image-viewer__mask",on:{click:function(t){return t.target!==t.currentTarget?null:e.handleMaskClick(t)}}}),n("span",{staticClass:"el-image-viewer__btn el-image-viewer__close",on:{click:e.hide}},[n("i",{staticClass:"el-icon-close"})]),e.isSingle?e._e():[n("span",{staticClass:"el-image-viewer__btn el-image-viewer__prev",class:{"is-disabled":!e.infinite&&e.isFirst},on:{click:e.prev}},[n("i",{staticClass:"el-icon-arrow-left"})]),n("span",{staticClass:"el-image-viewer__btn el-image-viewer__next",class:{"is-disabled":!e.infinite&&e.isLast},on:{click:e.next}},[n("i",{staticClass:"el-icon-arrow-right"})])],n("div",{staticClass:"el-image-viewer__btn el-image-viewer__actions"},[n("div",{staticClass:"el-image-viewer__actions__inner"},[n("i",{staticClass:"el-icon-zoom-out",on:{click:function(t){e.handleActions("zoomOut")}}}),n("i",{staticClass:"el-icon-zoom-in",on:{click:function(t){e.handleActions("zoomIn")}}}),n("i",{staticClass:"el-image-viewer__actions__divider"}),n("i",{class:e.mode.icon,on:{click:e.toggleMode}}),n("i",{staticClass:"el-image-viewer__actions__divider"}),n("i",{staticClass:"el-icon-refresh-left",on:{click:function(t){e.handleActions("anticlocelise")}}}),n("i",{staticClass:"el-icon-refresh-right",on:{click:function(t){e.handleActions("clocelise")}}})])]),n("div",{staticClass:"el-image-viewer__canvas"},e._l(e.urlList,function(t,i){return i===e.index?n("img",{key:t,ref:"img",refInFor:!0,staticClass:"el-image-viewer__img",style:e.imgStyle,attrs:{src:e.currentImg,referrerpolicy:"no-referrer"},on:{load:e.handleImgLoad,error:e.handleImgError,mousedown:e.handleMouseDown}}):e._e()}),0)],2)])};Rh._withStripped=!0;var Hh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},jh={CONTAIN:{name:"contain",icon:"el-icon-full-screen"},ORIGINAL:{name:"original",icon:"el-icon-c-scale-to-original"}},Wh=!h.a.prototype.$isServer&&window.navigator.userAgent.match(/firefox/i)?"DOMMouseScroll":"mousewheel",qh=r({name:"elImageViewer",props:{urlList:{type:Array,default:function(){return[]}},zIndex:{type:Number,default:2e3},onSwitch:{type:Function,default:function(){}},onClose:{type:Function,default:function(){}},initialIndex:{type:Number,default:0},appendToBody:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0}},data:function(){return{index:this.initialIndex,isShow:!1,infinite:!0,loading:!1,mode:jh.CONTAIN,transform:{scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}},computed:{isSingle:function(){return this.urlList.length<=1},isFirst:function(){return 0===this.index},isLast:function(){return this.index===this.urlList.length-1},currentImg:function(){return this.urlList[this.index]},imgStyle:function(){var e=this.transform,t=e.scale,n=e.deg,i=e.offsetX,r=e.offsetY,o={transform:"scale("+t+") rotate("+n+"deg)",transition:e.enableTransition?"transform .3s":"","margin-left":i+"px","margin-top":r+"px"};return this.mode===jh.CONTAIN&&(o.maxWidth=o.maxHeight="100%"),o},viewerZIndex:function(){var e=De.nextZIndex();return this.zIndex>e?this.zIndex:e}},watch:{index:{handler:function(e){this.reset(),this.onSwitch(e)}},currentImg:function(e){var t=this;this.$nextTick(function(e){t.$refs.img[0].complete||(t.loading=!0)})}},methods:{hide:function(){this.deviceSupportUninstall(),this.onClose()},deviceSupportInstall:function(){var e=this;this._keyDownHandler=function(t){switch(t.stopPropagation(),t.keyCode){case 27:e.hide();break;case 32:e.toggleMode();break;case 37:e.prev();break;case 38:e.handleActions("zoomIn");break;case 39:e.next();break;case 40:e.handleActions("zoomOut")}},this._mouseWheelHandler=L(function(t){(t.wheelDelta?t.wheelDelta:-t.detail)>0?e.handleActions("zoomIn",{zoomRate:.015,enableTransition:!1}):e.handleActions("zoomOut",{zoomRate:.015,enableTransition:!1})}),de(document,"keydown",this._keyDownHandler),de(document,Wh,this._mouseWheelHandler)},deviceSupportUninstall:function(){fe(document,"keydown",this._keyDownHandler),fe(document,Wh,this._mouseWheelHandler),this._keyDownHandler=null,this._mouseWheelHandler=null},handleImgLoad:function(e){this.loading=!1},handleImgError:function(e){this.loading=!1,e.target.alt="��蝸憭梯揖"},handleMouseDown:function(e){var t=this;if(!this.loading&&0===e.button){var n=this.transform,i=n.offsetX,r=n.offsetY,o=e.pageX,s=e.pageY;this._dragHandler=L(function(e){t.transform.offsetX=i+e.pageX-o,t.transform.offsetY=r+e.pageY-s}),de(document,"mousemove",this._dragHandler),de(document,"mouseup",function(e){fe(document,"mousemove",t._dragHandler)}),e.preventDefault()}},handleMaskClick:function(){this.maskClosable&&this.hide()},reset:function(){this.transform={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}},toggleMode:function(){if(!this.loading){var e=Object.keys(jh),t=(Object.values(jh).indexOf(this.mode)+1)%e.length;this.mode=jh[e[t]],this.reset()}},prev:function(){if(!this.isFirst||this.infinite){var e=this.urlList.length;this.index=(this.index-1+e)%e}},next:function(){if(!this.isLast||this.infinite){var e=this.urlList.length;this.index=(this.index+1)%e}},handleActions:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.loading){var n=Hh({zoomRate:.2,rotateDeg:90,enableTransition:!0},t),i=n.zoomRate,r=n.rotateDeg,o=n.enableTransition,s=this.transform;switch(e){case"zoomOut":s.scale>.2&&(s.scale=parseFloat((s.scale-i).toFixed(3)));break;case"zoomIn":s.scale=parseFloat((s.scale+i).toFixed(3));break;case"clocelise":s.deg+=r;break;case"anticlocelise":s.deg-=r}s.enableTransition=o}}},mounted:function(){this.deviceSupportInstall(),this.appendToBody&&document.body.appendChild(this.$el),this.$refs["el-image-viewer__wrapper"].focus()},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},Rh,[],!1,null,null,null);qh.options.__file="packages/image/src/image-viewer.vue";var Yh=qh.exports,Kh=function(){return void 0!==document.documentElement.style.objectFit},Uh="none",Gh="contain",Xh="cover",Zh="fill",Jh="scale-down",Qh="",ed=r({name:"ElImage",mixins:[Y],inheritAttrs:!1,components:{ImageViewer:Yh},props:{src:String,fit:String,lazy:Boolean,scrollContainer:{},previewSrcList:{type:Array,default:function(){return[]}},zIndex:{type:Number,default:2e3},initialIndex:Number},data:function(){return{loading:!0,error:!1,show:!this.lazy,imageWidth:0,imageHeight:0,showViewer:!1}},computed:{imageStyle:function(){var e=this.fit;return!this.$isServer&&e?Kh()?{"object-fit":e}:this.getImageStyle(e):{}},alignCenter:function(){return!this.$isServer&&!Kh()&&this.fit!==Zh},preview:function(){var e=this.previewSrcList;return Array.isArray(e)&&e.length>0},imageIndex:function(){var e=0,t=this.initialIndex;if(t>=0)return e=t;var n=this.previewSrcList.indexOf(this.src);return n>=0?e=n:e}},watch:{src:function(e){this.show&&this.loadImage()},show:function(e){e&&this.loadImage()}},mounted:function(){this.lazy?this.addLazyLoadListener():this.loadImage()},beforeDestroy:function(){this.lazy&&this.removeLazyLoadListener()},methods:{loadImage:function(){var e=this;if(!this.$isServer){this.loading=!0,this.error=!1;var t=new Image;t.onload=function(n){return e.handleLoad(n,t)},t.onerror=this.handleError.bind(this),Object.keys(this.$attrs).forEach(function(n){var i=e.$attrs[n];t.setAttribute(n,i)}),t.src=this.src}},handleLoad:function(e,t){this.imageWidth=t.width,this.imageHeight=t.height,this.loading=!1,this.error=!1},handleError:function(e){this.loading=!1,this.error=!0,this.$emit("error",e)},handleLazyLoad:function(){(function(e,t){if(se||!e||!t)return!1;var n=e.getBoundingClientRect(),i=void 0;return i=[window,document,document.documentElement,null,void 0].includes(t)?{top:0,right:window.innerWidth,bottom:window.innerHeight,left:0}:t.getBoundingClientRect(),n.top<i.bottom&&n.bottom>i.top&&n.right>i.left&&n.left<i.right})(this.$el,this._scrollContainer)&&(this.show=!0,this.removeLazyLoadListener())},addLazyLoadListener:function(){if(!this.$isServer){var e=this.scrollContainer,t=null;(t=g(e)?e:m(e)?document.querySelector(e):be(this.$el))&&(this._scrollContainer=t,this._lazyLoadHandler=Iu()(200,this.handleLazyLoad),de(t,"scroll",this._lazyLoadHandler),this.handleLazyLoad())}},removeLazyLoadListener:function(){var e=this._scrollContainer,t=this._lazyLoadHandler;!this.$isServer&&e&&t&&(fe(e,"scroll",t),this._scrollContainer=null,this._lazyLoadHandler=null)},getImageStyle:function(e){var t=this.imageWidth,n=this.imageHeight,i=this.$el,r=i.clientWidth,o=i.clientHeight;if(!(t&&n&&r&&o))return{};var s=t/n,a=r/o;e===Jh&&(e=t<r&&n<o?Uh:Gh);switch(e){case Uh:return{width:"auto",height:"auto"};case Gh:return s<a?{width:"auto"}:{height:"auto"};case Xh:return s<a?{height:"auto"}:{width:"auto"};default:return{}}},clickHandler:function(){this.preview&&(Qh=document.body.style.overflow,document.body.style.overflow="hidden",this.showViewer=!0)},closeViewer:function(){document.body.style.overflow=Qh,this.showViewer=!1}}},zh,[],!1,null,null,null);ed.options.__file="packages/image/src/main.vue";var td=ed.exports;td.install=function(e){e.component(td.name,td)};var nd=td,id=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-calendar"},[n("div",{staticClass:"el-calendar__header"},[n("div",{staticClass:"el-calendar__title"},[e._v("\n "+e._s(e.i18nDate)+"\n ")]),0===e.validatedRange.length?n("div",{staticClass:"el-calendar__button-group"},[n("el-button-group",[n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("prev-month")}}},[e._v("\n "+e._s(e.t("el.datepicker.prevMonth"))+"\n ")]),n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("today")}}},[e._v("\n "+e._s(e.t("el.datepicker.today"))+"\n ")]),n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("next-month")}}},[e._v("\n "+e._s(e.t("el.datepicker.nextMonth"))+"\n ")])],1)],1):e._e()]),0===e.validatedRange.length?n("div",{key:"no-range",staticClass:"el-calendar__body"},[n("date-table",{attrs:{date:e.date,"selected-day":e.realSelectedDay,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})],1):n("div",{key:"has-range",staticClass:"el-calendar__body"},e._l(e.validatedRange,function(t,i){return n("date-table",{key:i,attrs:{date:t[0],"selected-day":e.realSelectedDay,range:t,"hide-header":0!==i,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})}),1)])};id._withStripped=!0;var rd=r({props:{selectedDay:String,range:{type:Array,validator:function(e){if(!e||!e.length)return!0;var t=e[0],n=e[1];return Lr(t,n)}},date:Date,hideHeader:Boolean,firstDayOfWeek:Number},inject:["elCalendar"],methods:{toNestedArr:function(e){return xr(e.length/7).map(function(t,n){var i=7*n;return e.slice(i,i+7)})},getFormateDate:function(e,t){if(!e||-1===["prev","current","next"].indexOf(t))throw new Error("invalid day or type");var n=this.curMonthDatePrefix;return"prev"===t?n=this.prevMonthDatePrefix:"next"===t&&(n=this.nextMonthDatePrefix),n+"-"+(e=("00"+e).slice(-2))},getCellClass:function(e){var t=e.text,n=e.type,i=[n];if("current"===n){var r=this.getFormateDate(t,n);r===this.selectedDay&&i.push("is-selected"),r===this.formatedToday&&i.push("is-today")}return i},pickDay:function(e){var t=e.text,n=e.type,i=this.getFormateDate(t,n);this.$emit("pick",i)},cellRenderProxy:function(e){var t=e.text,n=e.type,i=this.$createElement,r=this.elCalendar.$scopedSlots.dateCell;if(!r)return i("span",[t]);var o=this.getFormateDate(t,n);return r({date:new Date(o),data:{isSelected:this.selectedDay===o,type:n+"-month",day:o}})}},computed:{WEEK_DAYS:function(){return hr().dayNames},prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),lr.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return lr.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return lr.a.format(e,"yyyy-MM")},formatedToday:function(){return this.elCalendar.formatedToday},isInRange:function(){return this.range&&this.range.length},rows:function(){var e=[];if(this.isInRange){var t=this.range,n=t[0],i=t[1],r=xr(i.getDate()-n.getDate()+1).map(function(e,t){return{text:n.getDate()+t,type:"current"}}),o=r.length%7,s=xr(o=0===o?0:7-o).map(function(e,t){return{text:t+1,type:"next"}});e=r.concat(s)}else{var a=this.date,l=gr(a),u=function(e,t){if(t<=0)return[];var n=new Date(e.getTime());n.setDate(0);var i=n.getDate();return xr(t).map(function(e,n){return i-(t-n-1)})}(a,(7+(l=0===l?7:l)-("number"==typeof this.firstDayOfWeek?this.firstDayOfWeek:1))%7).map(function(e){return{text:e,type:"prev"}}),c=function(e){var t=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();return xr(t).map(function(e,t){return t+1})}(a).map(function(e){return{text:e,type:"current"}});e=[].concat(u,c);var h=xr(42-e.length).map(function(e,t){return{text:t+1,type:"next"}});e=e.concat(h)}return this.toNestedArr(e)},weekDays:function(){var e=this.firstDayOfWeek,t=this.WEEK_DAYS;return"number"!=typeof e||0===e?t.slice():t.slice(e).concat(t.slice(0,e))}},render:function(){var e=this,t=arguments[0],n=this.hideHeader?null:t("thead",[this.weekDays.map(function(e){return t("th",{key:e},[e])})]);return t("table",{class:{"el-calendar-table":!0,"is-range":this.isInRange},attrs:{cellspacing:"0",cellpadding:"0"}},[n,t("tbody",[this.rows.map(function(n,i){return t("tr",{class:{"el-calendar-table__row":!0,"el-calendar-table__row--hide-border":0===i&&e.hideHeader},key:i},[n.map(function(n,i){return t("td",{key:i,class:e.getCellClass(n),on:{click:e.pickDay.bind(e,n)}},[t("div",{class:"el-calendar-day"},[e.cellRenderProxy(n)])])})])})])])}},void 0,void 0,!1,null,null,null);rd.options.__file="packages/calendar/src/date-table.vue";var od=rd.exports,sd=["prev-month","today","next-month"],ad=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ld=r({name:"ElCalendar",mixins:[Y],components:{DateTable:od,ElButton:Mt,ElButtonGroup:It},props:{value:[Date,String,Number],range:{type:Array,validator:function(e){return!Array.isArray(e)||2===e.length&&e.every(function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date})}},firstDayOfWeek:{type:Number,default:1}},provide:function(){return{elCalendar:this}},methods:{pickDay:function(e){this.realSelectedDay=e},selectDate:function(e){if(-1===sd.indexOf(e))throw new Error("invalid type "+e);var t="";(t="prev-month"===e?this.prevMonthDatePrefix+"-01":"next-month"===e?this.nextMonthDatePrefix+"-01":this.formatedToday)!==this.formatedDate&&this.pickDay(t)},toDate:function(e){if(!e)throw new Error("invalid val");return e instanceof Date?e:new Date(e)},rangeValidator:function(e,t){var n=this.realFirstDayOfWeek,i=t?n:0===n?6:n-1,r=(t?"start":"end")+" of range should be "+ad[i]+".";return e.getDay()===i||(console.warn("[ElementCalendar]",r,"Invalid range will be ignored."),!1)}},computed:{prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),lr.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return lr.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return lr.a.format(e,"yyyy-MM")},formatedDate:function(){return lr.a.format(this.date,"yyyy-MM-dd")},i18nDate:function(){var e=this.date.getFullYear(),t=this.date.getMonth()+1;return e+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+t)},formatedToday:function(){return lr.a.format(this.now,"yyyy-MM-dd")},realSelectedDay:{get:function(){return this.value?this.formatedDate:this.selectedDay},set:function(e){this.selectedDay=e;var t=new Date(e);this.$emit("input",t)}},date:function(){if(this.value)return this.toDate(this.value);if(this.realSelectedDay){var e=this.selectedDay.split("-");return new Date(e[0],e[1]-1,e[2])}return this.validatedRange.length?this.validatedRange[0][0]:this.now},validatedRange:function(){var e=this,t=this.range;if(!t)return[];if(2===(t=t.reduce(function(t,n,i){var r=e.toDate(n);return e.rangeValidator(r,0===i)&&(t=t.concat(r)),t},[])).length){var n=t,i=n[0],r=n[1];if(i>r)return console.warn("[ElementCalendar]end time should be greater than start time"),[];if(Lr(i,r))return[[i,r]];var o=[],s=new Date(i.getFullYear(),i.getMonth()+1,1),a=this.toDate(s.getTime()-864e5);if(!Lr(s,r))return console.warn("[ElementCalendar]start time and end time interval must not exceed two months"),[];o.push([i,a]);var l=this.realFirstDayOfWeek,u=s.getDay(),c=0;return u!==l&&(c=0===l?7-u:(c=l-u)>0?c:7+c),(s=this.toDate(s.getTime()+864e5*c)).getDate()<r.getDate()&&o.push([s,r]),o}return[]},realFirstDayOfWeek:function(){return this.firstDayOfWeek<1||this.firstDayOfWeek>6?0:Math.floor(this.firstDayOfWeek)}},data:function(){return{selectedDay:"",now:new Date}}},id,[],!1,null,null,null);ld.options.__file="packages/calendar/src/main.vue";var ud=ld.exports;ud.install=function(e){e.component(ud.name,ud)};var cd=ud,hd=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-fade-in"}},[e.visible?n("div",{staticClass:"el-backtop",style:{right:e.styleRight,bottom:e.styleBottom},on:{click:function(t){return t.stopPropagation(),e.handleClick(t)}}},[e._t("default",[n("el-icon",{attrs:{name:"caret-top"}})])],2):e._e()])};hd._withStripped=!0;var dd=function(e){return Math.pow(e,3)},fd=r({name:"ElBacktop",props:{visibilityHeight:{type:Number,default:200},target:[String],right:{type:Number,default:40},bottom:{type:Number,default:40}},data:function(){return{el:null,container:null,visible:!1}},computed:{styleBottom:function(){return this.bottom+"px"},styleRight:function(){return this.right+"px"}},mounted:function(){this.init(),this.throttledScrollHandler=Iu()(300,this.onScroll),this.container.addEventListener("scroll",this.throttledScrollHandler)},methods:{init:function(){if(this.container=document,this.el=document.documentElement,this.target){if(this.el=document.querySelector(this.target),!this.el)throw new Error("target is not existed: "+this.target);this.container=this.el}},onScroll:function(){var e=this.el.scrollTop;this.visible=e>=this.visibilityHeight},handleClick:function(e){this.scrollToTop(),this.$emit("click",e)},scrollToTop:function(){var e=this.el,t=Date.now(),n=e.scrollTop,i=window.requestAnimationFrame||function(e){return setTimeout(e,16)};i(function r(){var o,s=(Date.now()-t)/500;s<1?(e.scrollTop=n*(1-((o=s)<.5?dd(2*o)/2:1-dd(2*(1-o))/2)),i(r)):e.scrollTop=0})}},beforeDestroy:function(){this.container.removeEventListener("scroll",this.throttledScrollHandler)}},hd,[],!1,null,null,null);fd.options.__file="packages/backtop/src/main.vue";var pd=fd.exports;pd.install=function(e){e.component(pd.name,pd)};var md=pd,vd=function(e,t){return e===window||e===document?document.documentElement[t]:e[t]},gd=function(e){return vd(e,"offsetHeight")},yd="ElInfiniteScroll",bd={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},_d=function(e,t){return g(e)?(n=bd,Object.keys(n||{}).map(function(e){return[e,n[e]]})).reduce(function(n,i){var r=i[0],o=i[1],s=o.type,a=o.default,l=e.getAttribute("infinite-scroll-"+r);switch(l=b(t[l])?l:t[l],s){case Number:l=Number(l),l=Number.isNaN(l)?a:l;break;case Boolean:l=null!=l?"false"!==l&&Boolean(l):a;break;default:l=s(l)}return n[r]=l,n},{}):{};var n},wd=function(e){return e.getBoundingClientRect().top},xd=function(e){var t=this[yd],n=t.el,i=t.vm,r=t.container,o=t.observer,s=_d(n,i),a=s.distance;if(!s.disabled){var l=r.getBoundingClientRect();if(l.width||l.height){var u=!1;if(r===n){var c=r.scrollTop+function(e){return vd(e,"clientHeight")}(r);u=r.scrollHeight-c<=a}else{u=gd(n)+wd(n)-wd(r)-gd(r)+Number.parseFloat(function(e,t){if(e===window&&(e=document.documentElement),1!==e.nodeType)return[];var n=window.getComputedStyle(e,null);return t?n[t]:n}(r,"borderBottomWidth"))<=a}u&&y(e)?e.call(i):o&&(o.disconnect(),this[yd].observer=null)}}},Cd={name:"InfiniteScroll",inserted:function(e,t,n){var i=t.value,r=n.context,o=be(e,!0),s=_d(e,r),a=s.delay,l=s.immediate,u=nt()(a,xd.bind(e,i));(e[yd]={el:e,vm:r,container:o,onScroll:u},o)&&(o.addEventListener("scroll",u),l&&((e[yd].observer=new MutationObserver(u)).observe(o,{childList:!0,subtree:!0}),u()))},unbind:function(e){var t=e[yd],n=t.container,i=t.onScroll;n&&n.removeEventListener("scroll",i)},install:function(e){e.directive(Cd.name,Cd)}},kd=Cd,Sd=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-page-header"},[n("div",{staticClass:"el-page-header__left",on:{click:function(t){e.$emit("back")}}},[n("i",{staticClass:"el-icon-back"}),n("div",{staticClass:"el-page-header__title"},[e._t("title",[e._v(e._s(e.title))])],2)]),n("div",{staticClass:"el-page-header__content"},[e._t("content",[e._v(e._s(e.content))])],2)])};Sd._withStripped=!0;var Dd=r({name:"ElPageHeader",props:{title:{type:String,default:function(){return W("el.pageHeader.title")}},content:String}},Sd,[],!1,null,null,null);Dd.options.__file="packages/page-header/src/main.vue";var Ed=Dd.exports;Ed.install=function(e){e.component(Ed.name,Ed)};var $d=Ed,Td=r({name:"ElAvatar",props:{size:{type:[Number,String],validator:function(e){return"string"==typeof e?["large","medium","small"].includes(e):"number"==typeof e}},shape:{type:String,default:"circle",validator:function(e){return["circle","square"].includes(e)}},icon:String,src:String,alt:String,srcSet:String,error:Function,fit:{type:String,default:"cover"}},data:function(){return{isImageExist:!0}},computed:{avatarClass:function(){var e=this.size,t=this.icon,n=this.shape,i=["el-avatar"];return e&&"string"==typeof e&&i.push("el-avatar--"+e),t&&i.push("el-avatar--icon"),n&&i.push("el-avatar--"+n),i.join(" ")}},methods:{handleError:function(){var e=this.error;!1!==(e?e():void 0)&&(this.isImageExist=!1)},renderAvatar:function(){var e=this.$createElement,t=this.icon,n=this.src,i=this.alt,r=this.isImageExist,o=this.srcSet,s=this.fit;return r&&n?e("img",{attrs:{src:n,alt:i,srcSet:o},on:{error:this.handleError},style:{"object-fit":s}}):t?e("i",{class:t}):this.$slots.default}},render:function(){var e=arguments[0],t=this.avatarClass,n=this.size;return e("span",{class:t,style:"number"==typeof n?{height:n+"px",width:n+"px",lineHeight:n+"px"}:{}},[this.renderAvatar()])}},void 0,void 0,!1,null,null,null);Td.options.__file="packages/avatar/src/main.vue";var Md=Td.exports;Md.install=function(e){e.component(Md.name,Md)};var Nd=Md,Od=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"el-drawer-fade"},on:{"after-enter":e.afterEnter,"after-leave":e.afterLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-drawer__wrapper",attrs:{tabindex:"-1"}},[n("div",{staticClass:"el-drawer__container",class:e.visible&&"el-drawer__open",attrs:{role:"document",tabindex:"-1"},on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[n("div",{ref:"drawer",staticClass:"el-drawer",class:[e.direction,e.customClass],style:e.isHorizontal?"width: "+e.drawerSize:"height: "+e.drawerSize,attrs:{"aria-modal":"true","aria-labelledby":"el-drawer__title","aria-label":e.title,role:"dialog",tabindex:"-1"}},[e.withHeader?n("header",{staticClass:"el-drawer__header",attrs:{id:"el-drawer__title"}},[e._t("title",[n("span",{attrs:{role:"heading",title:e.title}},[e._v(e._s(e.title))])]),e.showClose?n("button",{staticClass:"el-drawer__close-btn",attrs:{"aria-label":"close "+(e.title||"drawer"),type:"button"},on:{click:e.closeDrawer}},[n("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):e._e()],2):e._e(),e.rendered?n("section",{staticClass:"el-drawer__body"},[e._t("default")],2):e._e()])])])])};Od._withStripped=!0;var Pd=r({name:"ElDrawer",mixins:[Ne,l],props:{appendToBody:{type:Boolean,default:!1},beforeClose:{type:Function},customClass:{type:String,default:""},closeOnPressEscape:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},modal:{type:Boolean,default:!0},direction:{type:String,default:"rtl",validator:function(e){return-1!==["ltr","rtl","ttb","btt"].indexOf(e)}},modalAppendToBody:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},size:{type:[Number,String],default:"30%"},title:{type:String,default:""},visible:{type:Boolean},wrapperClosable:{type:Boolean,default:!0},withHeader:{type:Boolean,default:!0}},computed:{isHorizontal:function(){return"rtl"===this.direction||"ltr"===this.direction},drawerSize:function(){return"number"==typeof this.size?this.size+"px":this.size}},data:function(){return{closed:!1,prevActiveElement:null}},watch:{visible:function(e){var t=this;e?(this.closed=!1,this.$emit("open"),this.appendToBody&&document.body.appendChild(this.$el),this.prevActiveElement=document.activeElement):(this.closed||(this.$emit("close"),!0===this.destroyOnClose&&(this.rendered=!1)),this.$nextTick(function(){t.prevActiveElement&&t.prevActiveElement.focus()}))}},methods:{afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")},hide:function(e){!1!==e&&(this.$emit("update:visible",!1),this.$emit("close"),!0===this.destroyOnClose&&(this.rendered=!1),this.closed=!0)},handleWrapperClick:function(){this.wrapperClosable&&this.closeDrawer()},closeDrawer:function(){"function"==typeof this.beforeClose?this.beforeClose(this.hide):this.hide()},handleClose:function(){this.closeDrawer()}},mounted:function(){this.visible&&(this.rendered=!0,this.open(),this.appendToBody&&document.body.appendChild(this.$el))},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},Od,[],!1,null,null,null);Pd.options.__file="packages/drawer/src/main.vue";var Id=Pd.exports;Id.install=function(e){e.component(Id.name,Id)};var Ad=Id,Fd=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-statistic"},[e.title||e.$slots.title?n("div",{staticClass:"head"},[e._t("title",[n("span",{staticClass:"title"},[e._v("\n "+e._s(e.title)+"\n ")])])],2):e._e(),n("div",{staticClass:"con"},[e.prefix||e.$slots.prefix?n("span",{staticClass:"prefix"},[e._t("prefix",[e._v("\n "+e._s(e.prefix)+"\n ")])],2):e._e(),n("span",{staticClass:"number",style:e.valueStyle},[e._t("formatter",[e._v(" "+e._s(e.disposeValue))])],2),e.suffix||e.$slots.suffix?n("span",{staticClass:"suffix"},[e._t("suffix",[e._v("\n "+e._s(e.suffix)+"\n ")])],2):e._e()])])};Fd._withStripped=!0;var Ld=n(14),Vd=r({name:"ElStatistic",data:function(){return{disposeValue:"",timeTask:null,REFRESH_INTERVAL:1e3/30}},props:{decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:""},precision:{type:Number,default:null},value:{type:[String,Number],default:""},prefix:{type:String,default:""},suffix:{type:String,default:""},title:{type:[String,Number],default:""},timeIndices:{type:Boolean,default:!1},valueStyle:{type:Object,default:function(){return{}}},format:{type:String,default:"HH:mm:ss:SSS"},rate:{type:Number,default:1e3}},created:function(){this.branch()},watch:{value:function(){this.branch()}},methods:{branch:function(){var e=this.timeIndices,t=this.countDown,n=this.dispose;e?t():n()},magnification:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:",",i=String(t).length-1,r=new RegExp("\\d{1,"+i+"}(?=(\\d{"+i+"})+$)","g");return String(e).replace(r,"$&,").split(",").join(n)},dispose:function(){var e=this.value,t=this.precision,n=this.groupSeparator,i=this.rate;if(!Object(Ld.isNumber)(e))return!1;var r=String(e).split("."),o=r[0],s=r[1];t&&(s=(s=""+(s||"")+1..toFixed(t).replace(".","").slice(1)).slice(0,t));var a;return n&&(o=this.magnification(o,i,n)),a=[o,s].join(s?this.decimalSeparator:""),this.disposeValue=a,a},diffDate:function(e,t){return Math.max(e-t,0)},suspend:function(e){return e?this.timeTask&&(clearInterval(this.timeTask),this.timeTask=null):this.branch(),this.disposeValue},formatTimeStr:function(e){var t=this.format,n=/\[[^\]]*]/g,i=(t.match(n)||[]).map(function(e){return e.slice(1,-1)}),r=Object(Ld.reduce)([["Y",31536e6],["M",2592e6],["D",864e5],["H",36e5],["m",6e4],["s",1e3],["S",1]],function(t,n){var i=n[0];return t.replace(new RegExp(i+"+","g"),function(t){var i=Object(Ld.chain)(e).divide(n[1]).floor(0).value();return e-=Object(Ld.multiply)(i,n[1]),Object(Ld.padStart)(String(i),String(t).length,0)})},t),o=0;return r.replace(n,function(){var e=i[o];return o+=1,e})},stopTime:function(e){var t=!0;return e?(this.$emit("change",e),t=!1):(t=!0,this.suspend(!0),this.$emit("finish",!0)),t},countDown:function(){var e=this.REFRESH_INTERVAL,t=this.timeTask,n=this.diffDate,i=this.formatTimeStr,r=this.stopTime,o=this.suspend;if(!t){var s=this;this.timeTask=setInterval(function(){var e=n(s.value,Date.now());s.disposeValue=i(e),r(e)},e),this.$once("hook:beforeDestroy",function(){o(!0)})}}}},Fd,[],!1,null,null,null);Vd.options.__file="packages/statistic/src/main.vue";var Bd=Vd.exports;Bd.install=function(e){e.component(Bd.name,Bd)};var zd=Bd,Rd=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-popover",e._b({attrs:{trigger:"click"},model:{value:e.visible,callback:function(t){e.visible=t},expression:"visible"}},"el-popover",e.$attrs,!1),[n("div",{staticClass:"el-popconfirm"},[n("p",{staticClass:"el-popconfirm__main"},[e.hideIcon?e._e():n("i",{staticClass:"el-popconfirm__icon",class:e.icon,style:{color:e.iconColor}}),e._v("\n "+e._s(e.title)+"\n ")]),n("div",{staticClass:"el-popconfirm__action"},[n("el-button",{attrs:{size:"mini",type:e.cancelButtonType},on:{click:e.cancel}},[e._v("\n "+e._s(e.displayCancelButtonText)+"\n ")]),n("el-button",{attrs:{size:"mini",type:e.confirmButtonType},on:{click:e.confirm}},[e._v("\n "+e._s(e.displayConfirmButtonText)+"\n ")])],1)]),e._t("reference",null,{slot:"reference"})],2)};Rd._withStripped=!0;var Hd=r({name:"ElPopconfirm",props:{title:{type:String},confirmButtonText:{type:String},cancelButtonText:{type:String},confirmButtonType:{type:String,default:"primary"},cancelButtonType:{type:String,default:"text"},icon:{type:String,default:"el-icon-question"},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1}},components:{ElPopover:ns,ElButton:Mt},data:function(){return{visible:!1}},computed:{displayConfirmButtonText:function(){return this.confirmButtonText||W("el.popconfirm.confirmButtonText")},displayCancelButtonText:function(){return this.cancelButtonText||W("el.popconfirm.cancelButtonText")}},methods:{confirm:function(){this.visible=!1,this.$emit("confirm")},cancel:function(){this.visible=!1,this.$emit("cancel")}}},Rd,[],!1,null,null,null);Hd.options.__file="packages/popconfirm/src/main.vue";var jd=Hd.exports;jd.install=function(e){e.component(jd.name,jd)};var Wd=jd,qd=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.uiLoading?[n("div",e._b({class:["el-skeleton",e.animated?"is-animated":""]},"div",e.$attrs,!1),[e._l(e.count,function(t){return[e.loading?e._t("template",e._l(e.rows,function(i){return n("el-skeleton-item",{key:t+"-"+i,class:{"el-skeleton__paragraph":1!==i,"is-first":1===i,"is-last":i===e.rows&&e.rows>1},attrs:{variant:"p"}})})):e._e()]})],2)]:[e._t("default",null,null,e.$attrs)]],2)};qd._withStripped=!0;var Yd=r({name:"ElSkeleton",props:{animated:{type:Boolean,default:!1},count:{type:Number,default:1},rows:{type:Number,default:4},loading:{type:Boolean,default:!0},throttle:{type:Number,default:0}},watch:{loading:{handler:function(e){var t=this;this.throttle<=0?this.uiLoading=e:e?(clearTimeout(this.timeoutHandle),this.timeoutHandle=setTimeout(function(){t.uiLoading=t.loading},this.throttle)):this.uiLoading=e},immediate:!0}},data:function(){return{uiLoading:this.throttle<=0&&this.loading}}},qd,[],!1,null,null,null);Yd.options.__file="packages/skeleton/src/index.vue";var Kd=Yd.exports;Kd.install=function(e){e.component(Kd.name,Kd)};var Ud=Kd,Gd=function(){var e=this.$createElement,t=this._self._c||e;return t("div",{class:["el-skeleton__item","el-skeleton__"+this.variant]},["image"===this.variant?t("img-placeholder"):this._e()],1)};Gd._withStripped=!0;var Xd=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z"}})])};Xd._withStripped=!0;var Zd=r({name:"ImgPlaceholder"},Xd,[],!1,null,null,null);Zd.options.__file="packages/skeleton/src/img-placeholder.vue";var Jd,Qd=Zd.exports,ef=r({name:"ElSkeletonItem",props:{variant:{type:String,default:"text"}},components:(Jd={},Jd[Qd.name]=Qd,Jd)},Gd,[],!1,null,null,null);ef.options.__file="packages/skeleton/src/item.vue";var tf=ef.exports;tf.install=function(e){e.component(tf.name,tf)};var nf=tf,rf=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-empty"},[n("div",{staticClass:"el-empty__image",style:e.imageStyle},[e.image?n("img",{attrs:{src:e.image,ondragstart:"return false"}}):e._t("image",[n("img-empty")])],2),n("div",{staticClass:"el-empty__description"},[e.$slots.description?e._t("description"):n("p",[e._v(e._s(e.emptyDescription))])],2),e.$slots.default?n("div",{staticClass:"el-empty__bottom"},[e._t("default")],2):e._e()])};rf._withStripped=!0;var of=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[n("defs",[n("linearGradient",{attrs:{id:"linearGradient-1-"+e.id,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"}},[n("stop",{attrs:{"stop-color":"#FCFCFD",offset:"0%"}}),n("stop",{attrs:{"stop-color":"#EEEFF3",offset:"100%"}})],1),n("linearGradient",{attrs:{id:"linearGradient-2-"+e.id,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"}},[n("stop",{attrs:{"stop-color":"#FCFCFD",offset:"0%"}}),n("stop",{attrs:{"stop-color":"#E9EBEF",offset:"100%"}})],1),n("rect",{attrs:{id:"path-3-"+e.id,x:"0",y:"0",width:"17",height:"36"}})],1),n("g",{attrs:{id:"Illustrations",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[n("g",{attrs:{id:"B-type",transform:"translate(-1268.000000, -535.000000)"}},[n("g",{attrs:{id:"Group-2",transform:"translate(1268.000000, 535.000000)"}},[n("path",{attrs:{id:"Oval-Copy-2",d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:"#F7F8FC"}}),n("polygon",{attrs:{id:"Rectangle-Copy-14",fill:"#E5E7E9",transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"}}),n("g",{attrs:{id:"Group-Copy",transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"}},[n("polygon",{attrs:{id:"Rectangle-Copy-10",fill:"#E5E7E9",transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"}}),n("polygon",{attrs:{id:"Rectangle-Copy-11",fill:"#EDEEF2",points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"}}),n("rect",{attrs:{id:"Rectangle-Copy-12",fill:"url(#linearGradient-1-"+e.id+")",transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"}}),n("polygon",{attrs:{id:"Rectangle-Copy-13",fill:"#F8F9FB",transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"}})]),n("rect",{attrs:{id:"Rectangle-Copy-15",fill:"url(#linearGradient-2-"+e.id+")",x:"13",y:"45",width:"40",height:"36"}}),n("g",{attrs:{id:"Rectangle-Copy-17",transform:"translate(53.000000, 45.000000)"}},[n("mask",{attrs:{id:"mask-4-"+e.id,fill:"white"}},[n("use",{attrs:{"xlink:href":"#path-3-"+e.id}})]),n("use",{attrs:{id:"Mask",fill:"#E0E3E9",transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":"#path-3-"+e.id}}),n("polygon",{attrs:{id:"Rectangle-Copy",fill:"#D5D7DE",mask:"url(#mask-4-"+e.id+")",transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 -1.70530257e-13 16"}})]),n("polygon",{attrs:{id:"Rectangle-Copy-18",fill:"#F8F9FB",transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"}})])])])])};of._withStripped=!0;var sf=0,af=r({name:"ImgEmpty",data:function(){return{id:++sf}}},of,[],!1,null,null,null);af.options.__file="packages/empty/src/img-empty.vue";var lf,uf=af.exports,cf=r({name:"ElEmpty",components:(lf={},lf[uf.name]=uf,lf),props:{image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}},computed:{emptyDescription:function(){return this.description||W("el.empty.description")},imageStyle:function(){return{width:this.imageSize?this.imageSize+"px":""}}}},rf,[],!1,null,null,null);cf.options.__file="packages/empty/src/index.vue";var hf=cf.exports;hf.install=function(e){e.component(hf.name,hf)};var df,ff=hf,pf=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},mf={name:"ElDescriptionsRow",props:{row:{type:Array}},inject:["elDescriptions"],render:function(e){var t=this.elDescriptions,n=(this.row||[]).map(function(e){return pf({},e,{label:e.slots.label||e.props.label},["labelClassName","contentClassName","labelStyle","contentStyle"].reduce(function(n,i){return n[i]=e.props[i]||t[i],n},{}))});return"vertical"===t.direction?e("tbody",[e("tr",{class:"el-descriptions-row"},[n.map(function(n){var i;return e("th",{class:(i={"el-descriptions-item__cell":!0,"el-descriptions-item__label":!0,"has-colon":!t.border&&t.colon,"is-bordered-label":t.border},i[n.labelClassName]=!0,i),style:n.labelStyle,attrs:{colSpan:n.props.span}},[n.label])})]),e("tr",{class:"el-descriptions-row"},[n.map(function(t){return e("td",{class:["el-descriptions-item__cell","el-descriptions-item__content",t.contentClassName],style:t.contentStyle,attrs:{colSpan:t.props.span}},[t.slots.default])})])]):t.border?e("tbody",[e("tr",{class:"el-descriptions-row"},[n.map(function(n){var i;return[e("th",{class:(i={"el-descriptions-item__cell":!0,"el-descriptions-item__label":!0,"is-bordered-label":t.border},i[n.labelClassName]=!0,i),style:n.labelStyle,attrs:{colSpan:"1"}},[n.label]),e("td",{class:["el-descriptions-item__cell","el-descriptions-item__content",n.contentClassName],style:n.contentStyle,attrs:{colSpan:2*n.props.span-1}},[n.slots.default])]})])]):e("tbody",[e("tr",{class:"el-descriptions-row"},[n.map(function(n){var i;return e("td",{class:"el-descriptions-item el-descriptions-item__cell",attrs:{colSpan:n.props.span}},[e("div",{class:"el-descriptions-item__container"},[e("span",{class:(i={"el-descriptions-item__label":!0,"has-colon":t.colon},i[n.labelClassName]=!0,i),style:n.labelStyle},[n.label]),e("span",{class:["el-descriptions-item__content",n.contentClassName],style:n.contentStyle},[n.slots.default])])])})])])}},vf=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},gf={name:"ElDescriptions",components:(df={},df[mf.name]=mf,df),props:{border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,default:"horizontal"},size:{type:String},title:{type:String,default:""},extra:{type:String,default:""},labelStyle:{type:Object},contentStyle:{type:Object},labelClassName:{type:String,default:""},contentClassName:{type:String,default:""},colon:{type:Boolean,default:!0}},computed:{descriptionsSize:function(){return this.size||(this.$ELEMENT||{}).size}},provide:function(){return{elDescriptions:this}},methods:{getOptionProps:function(e){if(e.componentOptions){var t=e.componentOptions,n=t.propsData,i=void 0===n?{}:n,r=t.Ctor,o=((void 0===r?{}:r).options||{}).props||{},s={};for(var a in o){var l=o[a].default;void 0!==l&&(s[a]=y(l)?l.call(e):l)}return vf({},s,i)}return{}},getSlots:function(e){var t=this,n=e.componentOptions||{},i=e.children||n.children||[],r={};return i.forEach(function(e){if(!t.isEmptyElement(e)){var n=e.data&&e.data.slot||"default";r[n]=r[n]||[],"template"===e.tag?r[n].push(e.children):r[n].push(e)}}),vf({},r)},isEmptyElement:function(e){return!(e.tag||e.text&&""!==e.text.trim())},filledNode:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return e.props||(e.props={}),t>n&&(e.props.span=n),i&&(e.props.span=n),e},getRows:function(){var e=this,t=(this.$slots.default||[]).filter(function(e){return e.tag&&e.componentOptions&&"ElDescriptionsItem"===e.componentOptions.Ctor.options.name}),n=t.map(function(t){return{props:e.getOptionProps(t),slots:e.getSlots(t),vnode:t}}),i=[],r=[],o=this.column;return n.forEach(function(n,s){var a=n.props.span||1;if(s===t.length-1)return r.push(e.filledNode(n,a,o,!0)),void i.push(r);a<o?(o-=a,r.push(n)):(r.push(e.filledNode(n,a,o)),i.push(r),o=e.column,r=[])}),i}},render:function(){var e=arguments[0],t=this.title,n=this.extra,i=this.border,r=this.descriptionsSize,o=this.$slots,s=this.getRows();return e("div",{class:"el-descriptions"},[t||n||o.title||o.extra?e("div",{class:"el-descriptions__header"},[e("div",{class:"el-descriptions__title"},[o.title?o.title:t]),e("div",{class:"el-descriptions__extra"},[o.extra?o.extra:n])]):null,e("div",{class:"el-descriptions__body"},[e("table",{class:["el-descriptions__table",{"is-bordered":i},r?"el-descriptions--"+r:""]},[s.map(function(t){return e(mf,{attrs:{row:t}})})])])])},install:function(e){e.component(gf.name,gf)}},yf=gf,bf={name:"ElDescriptionsItem",props:{label:{type:String,default:""},span:{type:Number,default:1},contentClassName:{type:String,default:""},contentStyle:{type:Object},labelClassName:{type:String,default:""},labelStyle:{type:Object}},render:function(){return null},install:function(e){e.component(bf.name,bf)}},_f=bf,wf=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-result"},[n("div",{staticClass:"el-result__icon"},[e._t("icon",[n(e.iconElement,{tag:"component",class:e.iconElement})])],2),e.title||e.$slots.title?n("div",{staticClass:"el-result__title"},[e._t("title",[n("p",[e._v(e._s(e.title))])])],2):e._e(),e.subTitle||e.$slots.subTitle?n("div",{staticClass:"el-result__subtitle"},[e._t("subTitle",[n("p",[e._v(e._s(e.subTitle))])])],2):e._e(),e.$slots.extra?n("div",{staticClass:"el-result__extra"},[e._t("extra")],2):e._e()])};wf._withStripped=!0;var xf=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M34.5548098,16.4485711 C33.9612228,15.8504763 32.9988282,15.8504763 32.4052412,16.4485711 L32.4052412,16.4485711 L21.413757,27.5805811 L21.413757,27.5805811 L21.4034642,27.590855 C21.0097542,27.9781674 20.3766105,27.9729811 19.9892981,27.5792711 L19.9892981,27.5792711 L15.5947588,23.1121428 C15.0011718,22.514048 14.0387772,22.514048 13.4451902,23.1121428 C12.8516033,23.7102376 12.8516033,24.6799409 13.4451902,25.2780357 L13.4451902,25.2780357 L19.6260786,31.5514289 C20.2196656,32.1495237 21.1820602,32.1495237 21.7756472,31.5514289 L21.7756472,31.5514289 L34.5548098,18.614464 C35.1483967,18.0163692 35.1483967,17.0466659 34.5548098,16.4485711 Z"}})])};xf._withStripped=!0;var Cf=r({name:"IconSuccess"},xf,[],!1,null,null,null);Cf.options.__file="packages/result/src/icon-success.vue";var kf=Cf.exports,Sf=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.57818,15.42182 C32.0157534,14.8593933 31.1038797,14.8593933 30.541453,15.42182 L30.541453,15.42182 L24.0006789,21.9625941 L17.458547,15.42182 C16.8961203,14.8593933 15.9842466,14.8593933 15.42182,15.42182 C14.8593933,15.9842466 14.8593933,16.8961203 15.42182,17.458547 L15.42182,17.458547 L21.9639519,23.9993211 L15.42182,30.541453 C14.8593933,31.1038797 14.8593933,32.0157534 15.42182,32.57818 C15.9842466,33.1406067 16.8961203,33.1406067 17.458547,32.57818 L17.458547,32.57818 L24.0006789,26.0360481 L30.541453,32.57818 C31.1038797,33.1406067 32.0157534,33.1406067 32.57818,32.57818 C33.1406067,32.0157534 33.1406067,31.1038797 32.57818,30.541453 L32.57818,30.541453 L26.0374059,23.9993211 L32.57818,17.458547 C33.1406067,16.8961203 33.1406067,15.9842466 32.57818,15.42182 Z"}})])};Sf._withStripped=!0;var Df=r({name:"IconError"},Sf,[],!1,null,null,null);Df.options.__file="packages/result/src/icon-error.vue";var Ef=Df.exports,$f=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,31 C22.8954305,31 22,31.8954305 22,33 C22,34.1045695 22.8954305,35 24,35 C25.1045695,35 26,34.1045695 26,33 C26,31.8954305 25.1045695,31 24,31 Z M24,14 C23.1715729,14 22.5,14.6715729 22.5,15.5 L22.5,15.5 L22.5,27.5 C22.5,28.3284271 23.1715729,29 24,29 C24.8284271,29 25.5,28.3284271 25.5,27.5 L25.5,27.5 L25.5,15.5 C25.5,14.6715729 24.8284271,14 24,14 Z"}})])};$f._withStripped=!0;var Tf=r({name:"IconWarning"},$f,[],!1,null,null,null);Tf.options.__file="packages/result/src/icon-warning.vue";var Mf=Tf.exports,Nf=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg"}},[t("path",{attrs:{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,19 L21,19 C20.1715729,19 19.5,19.6715729 19.5,20.5 C19.5,21.3284271 20.1715729,22 21,22 L21,22 L22.5,22 L22.5,31 L21,31 C20.1715729,31 19.5,31.6715729 19.5,32.5 C19.5,33.3284271 20.1715729,34 21,34 L21,34 L27,34 C27.8284271,34 28.5,33.3284271 28.5,32.5 C28.5,31.6715729 27.8284271,31 27,31 L27,31 L25.5,31 L25.5,20.5 C25.5,19.6715729 24.8284271,19 24,19 L24,19 Z M24,13 C22.8954305,13 22,13.8954305 22,15 C22,16.1045695 22.8954305,17 24,17 C25.1045695,17 26,16.1045695 26,15 C26,13.8954305 25.1045695,13 24,13 Z"}})])};Nf._withStripped=!0;var Of=r({name:"IconInfo"},Nf,[],!1,null,null,null);Of.options.__file="packages/result/src/icon-info.vue";var Pf,If=Of.exports,Af={success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},Ff=r({name:"ElResult",components:(Pf={},Pf[kf.name]=kf,Pf[Ef.name]=Ef,Pf[Mf.name]=Mf,Pf[If.name]=If,Pf),props:{title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,default:"info"}},computed:{iconElement:function(){var e=this.icon;return e&&Af[e]?Af[e]:"icon-info"}}},wf,[],!1,null,null,null);Ff.options.__file="packages/result/src/index.vue";var Lf=Ff.exports;Lf.install=function(e){e.component(Lf.name,Lf)};var Vf=Lf,Bf=[mt,bt,Dt,Lt,Rt,qt,nn,un,mn,bn,re,kn,$n,Pn,Ln,Rn,qn,Gn,Qn,dt,ft,ii,Mt,It,Ji,or,Po,Ro,Xo,ns,dn,Es,Ns,As,fa,xa,Da,je,ja,Ua,dl,$l,Ml,Pl,Xl,Vl,eu,mu,bu,Cu,Eu,Nu,Lu,et,Ru,qu,Gu,xc,Jc,rh,lh,dh,vh,_h,kh,Eh,Nh,Ah,Bh,nd,cd,md,$d,mc,Nd,Ad,zd,Wd,Ud,nf,ff,yf,_f,Vf,on],zf=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};q.use(t.locale),q.i18n(t.i18n),Bf.forEach(function(t){e.component(t.name,t)}),e.use(kd),e.use(kl.directive),e.prototype.$ELEMENT={size:t.size||"",zIndex:t.zIndex||2e3},e.prototype.$loading=kl.service,e.prototype.$msgbox=Cs,e.prototype.$alert=Cs.alert,e.prototype.$confirm=Cs.confirm,e.prototype.$prompt=Cs.prompt,e.prototype.$notify=rl,e.prototype.$message=hu};"undefined"!=typeof window&&window.Vue&&zf(window.Vue);t.default={version:"2.15.13",locale:q.use,i18n:q.i18n,install:zf,CollapseTransition:on,Loading:kl,Pagination:mt,Dialog:bt,Autocomplete:Dt,Dropdown:Lt,DropdownMenu:Rt,DropdownItem:qt,Menu:nn,Submenu:un,MenuItem:mn,MenuItemGroup:bn,Input:re,InputNumber:kn,Radio:$n,RadioGroup:Pn,RadioButton:Ln,Checkbox:Rn,CheckboxButton:qn,CheckboxGroup:Gn,Switch:Qn,Select:dt,Option:ft,OptionGroup:ii,Button:Mt,ButtonGroup:It,Table:Ji,TableColumn:or,DatePicker:Po,TimeSelect:Ro,TimePicker:Xo,Popover:ns,Tooltip:dn,MessageBox:Cs,Breadcrumb:Es,BreadcrumbItem:Ns,Form:As,FormItem:fa,Tabs:xa,TabPane:Da,Tag:je,Tree:ja,Alert:Ua,Notification:rl,Slider:dl,Icon:$l,Row:Ml,Col:Pl,Upload:Xl,Progress:Vl,Spinner:eu,Message:hu,Badge:mu,Card:bu,Rate:Cu,Steps:Eu,Step:Nu,Carousel:Lu,Scrollbar:et,CarouselItem:Ru,Collapse:qu,CollapseItem:Gu,Cascader:xc,ColorPicker:Jc,Transfer:rh,Container:lh,Header:dh,Aside:vh,Main:_h,Footer:kh,Timeline:Eh,TimelineItem:Nh,Link:Ah,Divider:Bh,Image:nd,Calendar:cd,Backtop:md,InfiniteScroll:kd,PageHeader:$d,CascaderPanel:mc,Avatar:Nd,Drawer:Ad,Statistic:zd,Popconfirm:Wd,Skeleton:Ud,SkeletonItem:nf,Empty:ff,Descriptions:yf,DescriptionsItem:_f,Result:Vf}}]).default}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/infinite-scroll.js b/PAMapp/local_modules/element-ui/lib/infinite-scroll.js new file mode 100644 index 0000000..0200d82 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/infinite-scroll.js @@ -0,0 +1,300 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 141); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 141: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./packages/infinite-scroll/src/main.js + + + + +var getStyleComputedProperty = function getStyleComputedProperty(element, property) { + if (element === window) { + element = document.documentElement; + } + + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; +}; + +var entries = function entries(obj) { + return Object.keys(obj || {}).map(function (key) { + return [key, obj[key]]; + }); +}; + +var getPositionSize = function getPositionSize(el, prop) { + return el === window || el === document ? document.documentElement[prop] : el[prop]; +}; + +var getOffsetHeight = function getOffsetHeight(el) { + return getPositionSize(el, 'offsetHeight'); +}; + +var getClientHeight = function getClientHeight(el) { + return getPositionSize(el, 'clientHeight'); +}; + +var scope = 'ElInfiniteScroll'; +var attributes = { + delay: { + type: Number, + default: 200 + }, + distance: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + }, + immediate: { + type: Boolean, + default: true + } +}; + +var main_getScrollOptions = function getScrollOptions(el, vm) { + if (!Object(types_["isHtmlElement"])(el)) return {}; + + return entries(attributes).reduce(function (map, _ref) { + var key = _ref[0], + option = _ref[1]; + var type = option.type, + defaultValue = option.default; + + var value = el.getAttribute('infinite-scroll-' + key); + value = Object(types_["isUndefined"])(vm[value]) ? value : vm[value]; + switch (type) { + case Number: + value = Number(value); + value = Number.isNaN(value) ? defaultValue : value; + break; + case Boolean: + value = Object(types_["isDefined"])(value) ? value === 'false' ? false : Boolean(value) : defaultValue; + break; + default: + value = type(value); + } + map[key] = value; + return map; + }, {}); +}; + +var getElementTop = function getElementTop(el) { + return el.getBoundingClientRect().top; +}; + +var main_handleScroll = function handleScroll(cb) { + var _scope = this[scope], + el = _scope.el, + vm = _scope.vm, + container = _scope.container, + observer = _scope.observer; + + var _getScrollOptions = main_getScrollOptions(el, vm), + distance = _getScrollOptions.distance, + disabled = _getScrollOptions.disabled; + + if (disabled) return; + + var containerInfo = container.getBoundingClientRect(); + if (!containerInfo.width && !containerInfo.height) return; + + var shouldTrigger = false; + + if (container === el) { + // be aware of difference between clientHeight & offsetHeight & window.getComputedStyle().height + var scrollBottom = container.scrollTop + getClientHeight(container); + shouldTrigger = container.scrollHeight - scrollBottom <= distance; + } else { + var heightBelowTop = getOffsetHeight(el) + getElementTop(el) - getElementTop(container); + var offsetHeight = getOffsetHeight(container); + var borderBottom = Number.parseFloat(getStyleComputedProperty(container, 'borderBottomWidth')); + shouldTrigger = heightBelowTop - offsetHeight + borderBottom <= distance; + } + + if (shouldTrigger && Object(types_["isFunction"])(cb)) { + cb.call(vm); + } else if (observer) { + observer.disconnect(); + this[scope].observer = null; + } +}; + +/* harmony default export */ var main = ({ + name: 'InfiniteScroll', + inserted: function inserted(el, binding, vnode) { + var cb = binding.value; + + var vm = vnode.context; + // only include vertical scroll + var container = Object(dom_["getScrollContainer"])(el, true); + + var _getScrollOptions2 = main_getScrollOptions(el, vm), + delay = _getScrollOptions2.delay, + immediate = _getScrollOptions2.immediate; + + var onScroll = debounce_default()(delay, main_handleScroll.bind(el, cb)); + + el[scope] = { el: el, vm: vm, container: container, onScroll: onScroll }; + + if (container) { + container.addEventListener('scroll', onScroll); + + if (immediate) { + var observer = el[scope].observer = new MutationObserver(onScroll); + observer.observe(container, { childList: true, subtree: true }); + onScroll(); + } + } + }, + unbind: function unbind(el) { + var _el$scope = el[scope], + container = _el$scope.container, + onScroll = _el$scope.onScroll; + + if (container) { + container.removeEventListener('scroll', onScroll); + } + } +}); +// CONCATENATED MODULE: ./packages/infinite-scroll/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.directive(main.name, main); +}; + +/* harmony default export */ var infinite_scroll = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), + +/***/ 19: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/input-number.js b/PAMapp/local_modules/element-ui/lib/input-number.js new file mode 100644 index 0000000..223176e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/input-number.js @@ -0,0 +1,751 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 87); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 22: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/focus"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 30: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__); + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + bind: function bind(el, binding, vnode) { + var interval = null; + var startTime = void 0; + var maxIntervals = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__["isMac"])() ? 100 : 200; + var handler = function handler() { + return vnode.context[binding.expression].apply(); + }; + var clear = function clear() { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["on"])(el, 'mousedown', function (e) { + if (e.button !== 0) return; + startTime = Date.now(); + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["once"])(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}); + +/***/ }), + +/***/ 87: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: [ + "el-input-number", + _vm.inputNumberSize ? "el-input-number--" + _vm.inputNumberSize : "", + { "is-disabled": _vm.inputNumberDisabled }, + { "is-without-controls": !_vm.controls }, + { "is-controls-right": _vm.controlsAtRight } + ], + on: { + dragstart: function($event) { + $event.preventDefault() + } + } + }, + [ + _vm.controls + ? _c( + "span", + { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-input-number__decrease", + class: { "is-disabled": _vm.minDisabled }, + attrs: { role: "button" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.decrease($event) + } + } + }, + [ + _c("i", { + class: + "el-icon-" + (_vm.controlsAtRight ? "arrow-down" : "minus") + }) + ] + ) + : _vm._e(), + _vm.controls + ? _c( + "span", + { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-input-number__increase", + class: { "is-disabled": _vm.maxDisabled }, + attrs: { role: "button" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.increase($event) + } + } + }, + [ + _c("i", { + class: "el-icon-" + (_vm.controlsAtRight ? "arrow-up" : "plus") + }) + ] + ) + : _vm._e(), + _c("el-input", { + ref: "input", + attrs: { + value: _vm.displayValue, + placeholder: _vm.placeholder, + disabled: _vm.inputNumberDisabled, + size: _vm.inputNumberSize, + max: _vm.max, + min: _vm.min, + name: _vm.name, + label: _vm.label + }, + on: { + blur: _vm.handleBlur, + focus: _vm.handleFocus, + input: _vm.handleInput, + change: _vm.handleInputChange + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"]) + ) { + return null + } + $event.preventDefault() + return _vm.increase($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + return _vm.decrease($event) + } + ] + } + }) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66& + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/focus" +var focus_ = __webpack_require__(22); +var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); + +// EXTERNAL MODULE: ./src/directives/repeat-click.js +var repeat_click = __webpack_require__(30); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var input_numbervue_type_script_lang_js_ = ({ + name: 'ElInputNumber', + mixins: [focus_default()('input')], + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + directives: { + repeatClick: repeat_click["a" /* default */] + }, + components: { + ElInput: input_default.a + }, + props: { + step: { + type: Number, + default: 1 + }, + stepStrictly: { + type: Boolean, + default: false + }, + max: { + type: Number, + default: Infinity + }, + min: { + type: Number, + default: -Infinity + }, + value: {}, + disabled: Boolean, + size: String, + controls: { + type: Boolean, + default: true + }, + controlsPosition: { + type: String, + default: '' + }, + name: String, + label: String, + placeholder: String, + precision: { + type: Number, + validator: function validator(val) { + return val >= 0 && val === parseInt(val, 10); + } + } + }, + data: function data() { + return { + currentValue: 0, + userInput: null + }; + }, + + watch: { + value: { + immediate: true, + handler: function handler(value) { + var newVal = value === undefined ? value : Number(value); + if (newVal !== undefined) { + if (isNaN(newVal)) { + return; + } + + if (this.stepStrictly) { + var stepPrecision = this.getPrecision(this.step); + var precisionFactor = Math.pow(10, stepPrecision); + newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + this.currentValue = newVal; + this.userInput = null; + this.$emit('input', newVal); + } + } + }, + computed: { + minDisabled: function minDisabled() { + return this._decrease(this.value, this.step) < this.min; + }, + maxDisabled: function maxDisabled() { + return this._increase(this.value, this.step) > this.max; + }, + numPrecision: function numPrecision() { + var value = this.value, + step = this.step, + getPrecision = this.getPrecision, + precision = this.precision; + + var stepPrecision = getPrecision(step); + if (precision !== undefined) { + if (stepPrecision > precision) { + console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step'); + } + return precision; + } else { + return Math.max(getPrecision(value), stepPrecision); + } + }, + controlsAtRight: function controlsAtRight() { + return this.controls && this.controlsPosition === 'right'; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + inputNumberSize: function inputNumberSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputNumberDisabled: function inputNumberDisabled() { + return this.disabled || !!(this.elForm || {}).disabled; + }, + displayValue: function displayValue() { + if (this.userInput !== null) { + return this.userInput; + } + + var currentValue = this.currentValue; + + if (typeof currentValue === 'number') { + if (this.stepStrictly) { + var stepPrecision = this.getPrecision(this.step); + var precisionFactor = Math.pow(10, stepPrecision); + currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + currentValue = currentValue.toFixed(this.precision); + } + } + + return currentValue; + } + }, + methods: { + toPrecision: function toPrecision(num, precision) { + if (precision === undefined) precision = this.numPrecision; + return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision)); + }, + getPrecision: function getPrecision(value) { + if (value === undefined) return 0; + var valueString = value.toString(); + var dotPosition = valueString.indexOf('.'); + var precision = 0; + if (dotPosition !== -1) { + precision = valueString.length - dotPosition - 1; + } + return precision; + }, + _increase: function _increase(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + var precisionFactor = Math.pow(10, this.numPrecision); + // Solve the accuracy problem of JS decimal calculation by converting the value to integer. + return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor); + }, + _decrease: function _decrease(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + var precisionFactor = Math.pow(10, this.numPrecision); + + return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor); + }, + increase: function increase() { + if (this.inputNumberDisabled || this.maxDisabled) return; + var value = this.value || 0; + var newVal = this._increase(value, this.step); + this.setCurrentValue(newVal); + }, + decrease: function decrease() { + if (this.inputNumberDisabled || this.minDisabled) return; + var value = this.value || 0; + var newVal = this._decrease(value, this.step); + this.setCurrentValue(newVal); + }, + handleBlur: function handleBlur(event) { + this.$emit('blur', event); + }, + handleFocus: function handleFocus(event) { + this.$emit('focus', event); + }, + setCurrentValue: function setCurrentValue(newVal) { + var oldVal = this.currentValue; + if (typeof newVal === 'number' && this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + if (oldVal === newVal) return; + this.userInput = null; + this.$emit('input', newVal); + this.$emit('change', newVal, oldVal); + this.currentValue = newVal; + }, + handleInput: function handleInput(value) { + this.userInput = value; + }, + handleInputChange: function handleInputChange(value) { + var newVal = value === '' ? undefined : Number(value); + if (!isNaN(newVal) || value === '') { + this.setCurrentValue(newVal); + } + this.userInput = null; + }, + select: function select() { + this.$refs.input.select(); + } + }, + mounted: function mounted() { + var innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('role', 'spinbutton'); + innerInput.setAttribute('aria-valuemax', this.max); + innerInput.setAttribute('aria-valuemin', this.min); + innerInput.setAttribute('aria-valuenow', this.currentValue); + innerInput.setAttribute('aria-disabled', this.inputNumberDisabled); + }, + updated: function updated() { + if (!this.$refs || !this.$refs.input) return; + var innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('aria-valuenow', this.currentValue); + } +}); +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js& + /* harmony default export */ var src_input_numbervue_type_script_lang_js_ = (input_numbervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_input_numbervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/input-number/src/input-number.vue" +/* harmony default export */ var input_number = (component.exports); +// CONCATENATED MODULE: ./packages/input-number/index.js + + +/* istanbul ignore next */ +input_number.install = function (Vue) { + Vue.component(input_number.name, input_number); +}; + +/* harmony default export */ var packages_input_number = __webpack_exports__["default"] = (input_number); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/input.js b/PAMapp/local_modules/element-ui/lib/input.js new file mode 100644 index 0000000..d1ef94b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/input.js @@ -0,0 +1,997 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 75); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 21: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/shared"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 75: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + class: [ + _vm.type === "textarea" ? "el-textarea" : "el-input", + _vm.inputSize ? "el-input--" + _vm.inputSize : "", + { + "is-disabled": _vm.inputDisabled, + "is-exceed": _vm.inputExceed, + "el-input-group": _vm.$slots.prepend || _vm.$slots.append, + "el-input-group--append": _vm.$slots.append, + "el-input-group--prepend": _vm.$slots.prepend, + "el-input--prefix": _vm.$slots.prefix || _vm.prefixIcon, + "el-input--suffix": + _vm.$slots.suffix || + _vm.suffixIcon || + _vm.clearable || + _vm.showPassword + } + ], + on: { + mouseenter: function($event) { + _vm.hovering = true + }, + mouseleave: function($event) { + _vm.hovering = false + } + } + }, + [ + _vm.type !== "textarea" + ? [ + _vm.$slots.prepend + ? _c( + "div", + { staticClass: "el-input-group__prepend" }, + [_vm._t("prepend")], + 2 + ) + : _vm._e(), + _vm.type !== "textarea" + ? _c( + "input", + _vm._b( + { + ref: "input", + staticClass: "el-input__inner", + attrs: { + tabindex: _vm.tabindex, + type: _vm.showPassword + ? _vm.passwordVisible + ? "text" + : "password" + : _vm.type, + disabled: _vm.inputDisabled, + readonly: _vm.readonly, + autocomplete: _vm.autoComplete || _vm.autocomplete, + "aria-label": _vm.label + }, + on: { + compositionstart: _vm.handleCompositionStart, + compositionupdate: _vm.handleCompositionUpdate, + compositionend: _vm.handleCompositionEnd, + input: _vm.handleInput, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + change: _vm.handleChange + } + }, + "input", + _vm.$attrs, + false + ) + ) + : _vm._e(), + _vm.$slots.prefix || _vm.prefixIcon + ? _c( + "span", + { staticClass: "el-input__prefix" }, + [ + _vm._t("prefix"), + _vm.prefixIcon + ? _c("i", { + staticClass: "el-input__icon", + class: _vm.prefixIcon + }) + : _vm._e() + ], + 2 + ) + : _vm._e(), + _vm.getSuffixVisible() + ? _c("span", { staticClass: "el-input__suffix" }, [ + _c( + "span", + { staticClass: "el-input__suffix-inner" }, + [ + !_vm.showClear || + !_vm.showPwdVisible || + !_vm.isWordLimitVisible + ? [ + _vm._t("suffix"), + _vm.suffixIcon + ? _c("i", { + staticClass: "el-input__icon", + class: _vm.suffixIcon + }) + : _vm._e() + ] + : _vm._e(), + _vm.showClear + ? _c("i", { + staticClass: + "el-input__icon el-icon-circle-close el-input__clear", + on: { + mousedown: function($event) { + $event.preventDefault() + }, + click: _vm.clear + } + }) + : _vm._e(), + _vm.showPwdVisible + ? _c("i", { + staticClass: + "el-input__icon el-icon-view el-input__clear", + on: { click: _vm.handlePasswordVisible } + }) + : _vm._e(), + _vm.isWordLimitVisible + ? _c("span", { staticClass: "el-input__count" }, [ + _c( + "span", + { staticClass: "el-input__count-inner" }, + [ + _vm._v( + "\n " + + _vm._s(_vm.textLength) + + "/" + + _vm._s(_vm.upperLimit) + + "\n " + ) + ] + ) + ]) + : _vm._e() + ], + 2 + ), + _vm.validateState + ? _c("i", { + staticClass: "el-input__icon", + class: ["el-input__validateIcon", _vm.validateIcon] + }) + : _vm._e() + ]) + : _vm._e(), + _vm.$slots.append + ? _c( + "div", + { staticClass: "el-input-group__append" }, + [_vm._t("append")], + 2 + ) + : _vm._e() + ] + : _c( + "textarea", + _vm._b( + { + ref: "textarea", + staticClass: "el-textarea__inner", + style: _vm.textareaStyle, + attrs: { + tabindex: _vm.tabindex, + disabled: _vm.inputDisabled, + readonly: _vm.readonly, + autocomplete: _vm.autoComplete || _vm.autocomplete, + "aria-label": _vm.label + }, + on: { + compositionstart: _vm.handleCompositionStart, + compositionupdate: _vm.handleCompositionUpdate, + compositionend: _vm.handleCompositionEnd, + input: _vm.handleInput, + focus: _vm.handleFocus, + blur: _vm.handleBlur, + change: _vm.handleChange + } + }, + "textarea", + _vm.$attrs, + false + ) + ), + _vm.isWordLimitVisible && _vm.type === "textarea" + ? _c("span", { staticClass: "el-input__count" }, [ + _vm._v(_vm._s(_vm.textLength) + "/" + _vm._s(_vm.upperLimit)) + ]) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js +var hiddenTextarea = void 0; + +var HIDDEN_STYLE = '\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'; + +var CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing']; + +function calculateNodeStyling(targetElement) { + var style = window.getComputedStyle(targetElement); + + var boxSizing = style.getPropertyValue('box-sizing'); + + var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top')); + + var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width')); + + var contextStyle = CONTEXT_STYLE.map(function (name) { + return name + ':' + style.getPropertyValue(name); + }).join(';'); + + return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing }; +} + +function calcTextareaHeight(targetElement) { + var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!hiddenTextarea) { + hiddenTextarea = document.createElement('textarea'); + document.body.appendChild(hiddenTextarea); + } + + var _calculateNodeStyling = calculateNodeStyling(targetElement), + paddingSize = _calculateNodeStyling.paddingSize, + borderSize = _calculateNodeStyling.borderSize, + boxSizing = _calculateNodeStyling.boxSizing, + contextStyle = _calculateNodeStyling.contextStyle; + + hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE); + hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''; + + var height = hiddenTextarea.scrollHeight; + var result = {}; + + if (boxSizing === 'border-box') { + height = height + borderSize; + } else if (boxSizing === 'content-box') { + height = height - paddingSize; + } + + hiddenTextarea.value = ''; + var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; + + if (minRows !== null) { + var minHeight = singleRowHeight * minRows; + if (boxSizing === 'border-box') { + minHeight = minHeight + paddingSize + borderSize; + } + height = Math.max(minHeight, height); + result.minHeight = minHeight + 'px'; + } + if (maxRows !== null) { + var maxHeight = singleRowHeight * maxRows; + if (boxSizing === 'border-box') { + maxHeight = maxHeight + paddingSize + borderSize; + } + height = Math.min(maxHeight, height); + } + result.height = height + 'px'; + hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea); + hiddenTextarea = null; + return result; +}; +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/shared" +var shared_ = __webpack_require__(21); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +/* harmony default export */ var inputvue_type_script_lang_js_ = ({ + name: 'ElInput', + + componentName: 'ElInput', + + mixins: [emitter_default.a, migrating_default.a], + + inheritAttrs: false, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data: function data() { + return { + textareaCalcStyle: {}, + hovering: false, + focused: false, + isComposing: false, + passwordVisible: false + }; + }, + + + props: { + value: [String, Number], + size: String, + resize: String, + form: String, + disabled: Boolean, + readonly: Boolean, + type: { + type: String, + default: 'text' + }, + autosize: { + type: [Boolean, Object], + default: false + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator: function validator(val) { + false && false; + return true; + } + }, + validateEvent: { + type: Boolean, + default: true + }, + suffixIcon: String, + prefixIcon: String, + label: String, + clearable: { + type: Boolean, + default: false + }, + showPassword: { + type: Boolean, + default: false + }, + showWordLimit: { + type: Boolean, + default: false + }, + tabindex: String + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + validateState: function validateState() { + return this.elFormItem ? this.elFormItem.validateState : ''; + }, + needStatusIcon: function needStatusIcon() { + return this.elForm ? this.elForm.statusIcon : false; + }, + validateIcon: function validateIcon() { + return { + validating: 'el-icon-loading', + success: 'el-icon-circle-check', + error: 'el-icon-circle-close' + }[this.validateState]; + }, + textareaStyle: function textareaStyle() { + return merge_default()({}, this.textareaCalcStyle, { resize: this.resize }); + }, + inputSize: function inputSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputDisabled: function inputDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + nativeInputValue: function nativeInputValue() { + return this.value === null || this.value === undefined ? '' : String(this.value); + }, + showClear: function showClear() { + return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering); + }, + showPwdVisible: function showPwdVisible() { + return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused); + }, + isWordLimitVisible: function isWordLimitVisible() { + return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword; + }, + upperLimit: function upperLimit() { + return this.$attrs.maxlength; + }, + textLength: function textLength() { + if (typeof this.value === 'number') { + return String(this.value).length; + } + + return (this.value || '').length; + }, + inputExceed: function inputExceed() { + // show exceed style if length of initial value greater then maxlength + return this.isWordLimitVisible && this.textLength > this.upperLimit; + } + }, + + watch: { + value: function value(val) { + this.$nextTick(this.resizeTextarea); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + + // native input value is set explicitly + // do not use v-model / :value in template + // see: https://github.com/ElemeFE/element/issues/14521 + nativeInputValue: function nativeInputValue() { + this.setNativeInputValue(); + }, + + // when change between <input> and <textarea>, + // update DOM dependent value and styles + // https://github.com/ElemeFE/element/issues/14857 + type: function type() { + var _this = this; + + this.$nextTick(function () { + _this.setNativeInputValue(); + _this.resizeTextarea(); + _this.updateIconOffset(); + }); + } + }, + + methods: { + focus: function focus() { + this.getInput().focus(); + }, + blur: function blur() { + this.getInput().blur(); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.', + 'on-icon-click': 'on-icon-click is removed.' + }, + events: { + 'click': 'click is removed.' + } + }; + }, + handleBlur: function handleBlur(event) { + this.focused = false; + this.$emit('blur', event); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur', [this.value]); + } + }, + select: function select() { + this.getInput().select(); + }, + resizeTextarea: function resizeTextarea() { + if (this.$isServer) return; + var autosize = this.autosize, + type = this.type; + + if (type !== 'textarea') return; + if (!autosize) { + this.textareaCalcStyle = { + minHeight: calcTextareaHeight(this.$refs.textarea).minHeight + }; + return; + } + var minRows = autosize.minRows; + var maxRows = autosize.maxRows; + + this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows); + }, + setNativeInputValue: function setNativeInputValue() { + var input = this.getInput(); + if (!input) return; + if (input.value === this.nativeInputValue) return; + input.value = this.nativeInputValue; + }, + handleFocus: function handleFocus(event) { + this.focused = true; + this.$emit('focus', event); + }, + handleCompositionStart: function handleCompositionStart(event) { + this.$emit('compositionstart', event); + this.isComposing = true; + }, + handleCompositionUpdate: function handleCompositionUpdate(event) { + this.$emit('compositionupdate', event); + var text = event.target.value; + var lastCharacter = text[text.length - 1] || ''; + this.isComposing = !Object(shared_["isKorean"])(lastCharacter); + }, + handleCompositionEnd: function handleCompositionEnd(event) { + this.$emit('compositionend', event); + if (this.isComposing) { + this.isComposing = false; + this.handleInput(event); + } + }, + handleInput: function handleInput(event) { + // should not emit input during composition + // see: https://github.com/ElemeFE/element/issues/10516 + if (this.isComposing) return; + + // hack for https://github.com/ElemeFE/element/issues/8548 + // should remove the following line when we don't support IE + if (event.target.value === this.nativeInputValue) return; + + this.$emit('input', event.target.value); + + // ensure native input value is controlled + // see: https://github.com/ElemeFE/element/issues/12850 + this.$nextTick(this.setNativeInputValue); + }, + handleChange: function handleChange(event) { + this.$emit('change', event.target.value); + }, + calcIconOffset: function calcIconOffset(place) { + var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []); + if (!elList.length) return; + var el = null; + for (var i = 0; i < elList.length; i++) { + if (elList[i].parentNode === this.$el) { + el = elList[i]; + break; + } + } + if (!el) return; + var pendantMap = { + suffix: 'append', + prefix: 'prepend' + }; + + var pendant = pendantMap[place]; + if (this.$slots[pendant]) { + el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)'; + } else { + el.removeAttribute('style'); + } + }, + updateIconOffset: function updateIconOffset() { + this.calcIconOffset('prefix'); + this.calcIconOffset('suffix'); + }, + clear: function clear() { + this.$emit('input', ''); + this.$emit('change', ''); + this.$emit('clear'); + }, + handlePasswordVisible: function handlePasswordVisible() { + var _this2 = this; + + this.passwordVisible = !this.passwordVisible; + this.$nextTick(function () { + _this2.focus(); + }); + }, + getInput: function getInput() { + return this.$refs.input || this.$refs.textarea; + }, + getSuffixVisible: function getSuffixVisible() { + return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon; + } + }, + + created: function created() { + this.$on('inputSelect', this.select); + }, + mounted: function mounted() { + this.setNativeInputValue(); + this.resizeTextarea(); + this.updateIconOffset(); + }, + updated: function updated() { + this.$nextTick(this.updateIconOffset); + } +}); +// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js& + /* harmony default export */ var src_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/input/src/input.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_inputvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/input/src/input.vue" +/* harmony default export */ var input = (component.exports); +// CONCATENATED MODULE: ./packages/input/index.js + + +/* istanbul ignore next */ +input.install = function (Vue) { + Vue.component(input.name, input); +}; + +/* harmony default export */ var packages_input = __webpack_exports__["default"] = (input); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/link.js b/PAMapp/local_modules/element-ui/lib/link.js new file mode 100644 index 0000000..1cac0d8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/link.js @@ -0,0 +1,329 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 122); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 122: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=template&id=01cf3b65& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "a", + _vm._b( + { + class: [ + "el-link", + _vm.type ? "el-link--" + _vm.type : "", + _vm.disabled && "is-disabled", + _vm.underline && !_vm.disabled && "is-underline" + ], + attrs: { href: _vm.disabled ? null : _vm.href }, + on: { click: _vm.handleClick } + }, + "a", + _vm.$attrs, + false + ), + [ + _vm.icon ? _c("i", { class: _vm.icon }) : _vm._e(), + _vm.$slots.default + ? _c("span", { staticClass: "el-link--inner" }, [_vm._t("default")], 2) + : _vm._e(), + _vm.$slots.icon ? [_vm.$slots.icon ? _vm._t("icon") : _vm._e()] : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=template&id=01cf3b65& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/link/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElLink', + + props: { + type: { + type: String, + default: 'default' + }, + underline: { + type: Boolean, + default: true + }, + disabled: Boolean, + href: String, + icon: String + }, + + methods: { + handleClick: function handleClick(event) { + if (!this.disabled) { + if (!this.href) { + this.$emit('click', event); + } + } + } + } +}); +// CONCATENATED MODULE: ./packages/link/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/link/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/link/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/link/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var packages_link = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/loading.js b/PAMapp/local_modules/element-ui/lib/loading.js new file mode 100644 index 0000000..fd45ed0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/loading.js @@ -0,0 +1,630 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 73); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 42: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/after-leave"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 73: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-loading-fade" }, + on: { "after-leave": _vm.handleAfterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-loading-mask", + class: [_vm.customClass, { "is-fullscreen": _vm.fullscreen }], + style: { backgroundColor: _vm.background || "" } + }, + [ + _c("div", { staticClass: "el-loading-spinner" }, [ + !_vm.spinner + ? _c( + "svg", + { + staticClass: "circular", + attrs: { viewBox: "25 25 50 50" } + }, + [ + _c("circle", { + staticClass: "path", + attrs: { cx: "50", cy: "50", r: "20", fill: "none" } + }) + ] + ) + : _c("i", { class: _vm.spinner }), + _vm.text + ? _c("p", { staticClass: "el-loading-text" }, [ + _vm._v(_vm._s(_vm.text)) + ]) + : _vm._e() + ]) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var loadingvue_type_script_lang_js_ = ({ + data: function data() { + return { + text: null, + spinner: null, + background: null, + fullscreen: true, + visible: false, + customClass: '' + }; + }, + + + methods: { + handleAfterLeave: function handleAfterLeave() { + this.$emit('after-leave'); + }, + setText: function setText(text) { + this.text = text; + } + } +}); +// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=script&lang=js& + /* harmony default export */ var src_loadingvue_type_script_lang_js_ = (loadingvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/loading/src/loading.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_loadingvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/loading/src/loading.vue" +/* harmony default export */ var loading = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); + +// EXTERNAL MODULE: external "element-ui/lib/utils/after-leave" +var after_leave_ = __webpack_require__(42); +var after_leave_default = /*#__PURE__*/__webpack_require__.n(after_leave_); + +// CONCATENATED MODULE: ./packages/loading/src/directive.js + + + + + +var Mask = external_vue_default.a.extend(loading); + +var loadingDirective = {}; +loadingDirective.install = function (Vue) { + if (Vue.prototype.$isServer) return; + var toggleLoading = function toggleLoading(el, binding) { + if (binding.value) { + Vue.nextTick(function () { + if (binding.modifiers.fullscreen) { + el.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + el.originalOverflow = Object(dom_["getStyle"])(document.body, 'overflow'); + el.maskStyle.zIndex = popup_["PopupManager"].nextZIndex(); + + Object(dom_["addClass"])(el.mask, 'is-fullscreen'); + insertDom(document.body, el, binding); + } else { + Object(dom_["removeClass"])(el.mask, 'is-fullscreen'); + + if (binding.modifiers.body) { + el.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + + ['top', 'left'].forEach(function (property) { + var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + el.maskStyle[property] = el.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] - parseInt(Object(dom_["getStyle"])(document.body, 'margin-' + property), 10) + 'px'; + }); + ['height', 'width'].forEach(function (property) { + el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px'; + }); + + insertDom(document.body, el, binding); + } else { + el.originalPosition = Object(dom_["getStyle"])(el, 'position'); + insertDom(el, el, binding); + } + } + }); + } else { + after_leave_default()(el.instance, function (_) { + if (!el.instance.hiding) return; + el.domVisible = false; + var target = binding.modifiers.fullscreen || binding.modifiers.body ? document.body : el; + Object(dom_["removeClass"])(target, 'el-loading-parent--relative'); + Object(dom_["removeClass"])(target, 'el-loading-parent--hidden'); + el.instance.hiding = false; + }, 300, true); + el.instance.visible = false; + el.instance.hiding = true; + } + }; + var insertDom = function insertDom(parent, el, binding) { + if (!el.domVisible && Object(dom_["getStyle"])(el, 'display') !== 'none' && Object(dom_["getStyle"])(el, 'visibility') !== 'hidden') { + Object.keys(el.maskStyle).forEach(function (property) { + el.mask.style[property] = el.maskStyle[property]; + }); + + if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed' && el.originalPosition !== 'sticky') { + Object(dom_["addClass"])(parent, 'el-loading-parent--relative'); + } + if (binding.modifiers.fullscreen && binding.modifiers.lock) { + Object(dom_["addClass"])(parent, 'el-loading-parent--hidden'); + } + el.domVisible = true; + + parent.appendChild(el.mask); + Vue.nextTick(function () { + if (el.instance.hiding) { + el.instance.$emit('after-leave'); + } else { + el.instance.visible = true; + } + }); + el.domInserted = true; + } else if (el.domVisible && el.instance.hiding === true) { + el.instance.visible = true; + el.instance.hiding = false; + } + }; + + Vue.directive('loading', { + bind: function bind(el, binding, vnode) { + var textExr = el.getAttribute('element-loading-text'); + var spinnerExr = el.getAttribute('element-loading-spinner'); + var backgroundExr = el.getAttribute('element-loading-background'); + var customClassExr = el.getAttribute('element-loading-custom-class'); + var vm = vnode.context; + var mask = new Mask({ + el: document.createElement('div'), + data: { + text: vm && vm[textExr] || textExr, + spinner: vm && vm[spinnerExr] || spinnerExr, + background: vm && vm[backgroundExr] || backgroundExr, + customClass: vm && vm[customClassExr] || customClassExr, + fullscreen: !!binding.modifiers.fullscreen + } + }); + el.instance = mask; + el.mask = mask.$el; + el.maskStyle = {}; + + binding.value && toggleLoading(el, binding); + }, + + update: function update(el, binding) { + el.instance.setText(el.getAttribute('element-loading-text')); + if (binding.oldValue !== binding.value) { + toggleLoading(el, binding); + } + }, + + unbind: function unbind(el, binding) { + if (el.domInserted) { + el.mask && el.mask.parentNode && el.mask.parentNode.removeChild(el.mask); + toggleLoading(el, { value: false, modifiers: binding.modifiers }); + } + el.instance && el.instance.$destroy(); + } + }); +}; + +/* harmony default export */ var directive = (loadingDirective); +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./packages/loading/src/index.js + + + + + + + +var LoadingConstructor = external_vue_default.a.extend(loading); + +var defaults = { + text: null, + fullscreen: true, + body: false, + lock: false, + customClass: '' +}; + +var fullscreenLoading = void 0; + +LoadingConstructor.prototype.originalPosition = ''; +LoadingConstructor.prototype.originalOverflow = ''; + +LoadingConstructor.prototype.close = function () { + var _this = this; + + if (this.fullscreen) { + fullscreenLoading = undefined; + } + after_leave_default()(this, function (_) { + var target = _this.fullscreen || _this.body ? document.body : _this.target; + Object(dom_["removeClass"])(target, 'el-loading-parent--relative'); + Object(dom_["removeClass"])(target, 'el-loading-parent--hidden'); + if (_this.$el && _this.$el.parentNode) { + _this.$el.parentNode.removeChild(_this.$el); + } + _this.$destroy(); + }, 300); + this.visible = false; +}; + +var src_addStyle = function addStyle(options, parent, instance) { + var maskStyle = {}; + if (options.fullscreen) { + instance.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + instance.originalOverflow = Object(dom_["getStyle"])(document.body, 'overflow'); + maskStyle.zIndex = popup_["PopupManager"].nextZIndex(); + } else if (options.body) { + instance.originalPosition = Object(dom_["getStyle"])(document.body, 'position'); + ['top', 'left'].forEach(function (property) { + var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + maskStyle[property] = options.target.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] + 'px'; + }); + ['height', 'width'].forEach(function (property) { + maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px'; + }); + } else { + instance.originalPosition = Object(dom_["getStyle"])(parent, 'position'); + } + Object.keys(maskStyle).forEach(function (property) { + instance.$el.style[property] = maskStyle[property]; + }); +}; + +var src_Loading = function Loading() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (external_vue_default.a.prototype.$isServer) return; + options = merge_default()({}, defaults, options); + if (typeof options.target === 'string') { + options.target = document.querySelector(options.target); + } + options.target = options.target || document.body; + if (options.target !== document.body) { + options.fullscreen = false; + } else { + options.body = true; + } + if (options.fullscreen && fullscreenLoading) { + return fullscreenLoading; + } + + var parent = options.body ? document.body : options.target; + var instance = new LoadingConstructor({ + el: document.createElement('div'), + data: options + }); + + src_addStyle(options, parent, instance); + if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') { + Object(dom_["addClass"])(parent, 'el-loading-parent--relative'); + } + if (options.fullscreen && options.lock) { + Object(dom_["addClass"])(parent, 'el-loading-parent--hidden'); + } + parent.appendChild(instance.$el); + external_vue_default.a.nextTick(function () { + instance.visible = true; + }); + if (options.fullscreen) { + fullscreenLoading = instance; + } + return instance; +}; + +/* harmony default export */ var src = (src_Loading); +// CONCATENATED MODULE: ./packages/loading/index.js + + + +/* harmony default export */ var packages_loading = __webpack_exports__["default"] = ({ + install: function install(Vue) { + Vue.use(directive); + Vue.prototype.$loading = src; + }, + + directive: directive, + service: src +}); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/format.js b/PAMapp/local_modules/element-ui/lib/locale/format.js new file mode 100644 index 0000000..e510af4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/format.js @@ -0,0 +1,56 @@ +'use strict'; + +exports.__esModule = true; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.default = function (Vue) { + + /** + * template + * + * @param {String} string + * @param {Array} ...args + * @return {String} + */ + + function template(string) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (args.length === 1 && _typeof(args[0]) === 'object') { + args = args[0]; + } + + if (!args || !args.hasOwnProperty) { + args = {}; + } + + return string.replace(RE_NARGS, function (match, prefix, i, index) { + var result = void 0; + + if (string[index - 1] === '{' && string[index + match.length] === '}') { + return i; + } else { + result = (0, _util.hasOwn)(args, i) ? args[i] : null; + if (result === null || result === undefined) { + return ''; + } + + return result; + } + }); + } + + return template; +}; + +var _util = require('element-ui/lib/utils/util'); + +var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g; +/** + * String format template + * - Inspired: + * https://github.com/Matt-Esch/string-template/index.js + */ \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/index.js b/PAMapp/local_modules/element-ui/lib/locale/index.js new file mode 100644 index 0000000..40ee745 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/index.js @@ -0,0 +1,63 @@ +'use strict'; + +exports.__esModule = true; +exports.i18n = exports.use = exports.t = undefined; + +var _zhCN = require('element-ui/lib/locale/lang/zh-CN'); + +var _zhCN2 = _interopRequireDefault(_zhCN); + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _deepmerge = require('deepmerge'); + +var _deepmerge2 = _interopRequireDefault(_deepmerge); + +var _format = require('./format'); + +var _format2 = _interopRequireDefault(_format); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var format = (0, _format2.default)(_vue2.default); +var lang = _zhCN2.default; +var merged = false; +var i18nHandler = function i18nHandler() { + var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t; + if (typeof vuei18n === 'function' && !!_vue2.default.locale) { + if (!merged) { + merged = true; + _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true })); + } + return vuei18n.apply(this, arguments); + } +}; + +var t = exports.t = function t(path, options) { + var value = i18nHandler.apply(this, arguments); + if (value !== null && value !== undefined) return value; + + var array = path.split('.'); + var current = lang; + + for (var i = 0, j = array.length; i < j; i++) { + var property = array[i]; + value = current[property]; + if (i === j - 1) return format(value, options); + if (!value) return ''; + current = value; + } + return ''; +}; + +var use = exports.use = function use(l) { + lang = l || lang; +}; + +var i18n = exports.i18n = function i18n(fn) { + i18nHandler = fn || i18nHandler; +}; + +exports.default = { use: use, t: t, i18n: i18n }; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/af-ZA.js b/PAMapp/local_modules/element-ui/lib/locale/lang/af-ZA.js new file mode 100644 index 0000000..184de39 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/af-ZA.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Maak skoon' + }, + datepicker: { + now: 'Nou', + today: 'Vandag', + cancel: 'Kanselleer', + clear: 'Maak skoon', + confirm: 'Bevestig', + selectDate: 'Kies datum', + selectTime: 'Kies tyd', + startDate: 'Begindatum', + startTime: 'Begintyd', + endDate: 'Einddatum', + endTime: 'Eindtyd', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: 'Jaar', + month1: 'Jan', + month2: 'Feb', + month3: 'Mrt', + month4: 'Apr', + month5: 'Mei', + month6: 'Jun', + month7: 'Jul', + month8: 'Aug', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Des', + // week: 'week', + weeks: { + sun: 'So', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mrt', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laai', + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + placeholder: 'Kies' + }, + cascader: { + noMatch: 'Geen toepaslike data', + loading: 'Laai', + placeholder: 'Kies', + noData: 'Geen data' + }, + pagination: { + goto: 'Gaan na', + pagesize: '/page', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Boodskap', + confirm: 'Bevestig', + cancel: 'Kanselleer', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Verwyder', + preview: 'Voorskou', + continue: 'Gaan voort' + }, + table: { + emptyText: 'Geen Data', + confirmFilter: 'Bevestig', + resetFilter: 'Herstel', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen Data' + }, + transfer: { + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + titles: ['Lys 1', 'Lys 2'], + filterPlaceholder: 'Voer sleutelwoord in', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} gekies' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen Data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ar.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ar.js new file mode 100644 index 0000000..461ab59 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ar.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '�戒�', + clear: '堨堬塈��' + }, + datepicker: { + now: '塈�K�', + today: '塈��', + cancel: '堨�種忪�', + clear: '堨堬塈��', + confirm: '�戒�', + selectDate: '堨堮堛堭 塈�臾忪斬�', + selectTime: '堨堮堛堭 塈��', + startDate: '堛塈堭�� 塈�佩胰�', + startTime: '�� 塈�佩胰�', + endDate: '堛塈堭�� 塈�矛舍忪�', + endTime: '�� 塈�矛舍忪�', + prevYear: '塈�喧� 塈�喀忪佻�', + nextYear: '塈�喧� 塈�臾戒�', + prevMonth: '塈�棻� 塈�喀忪佻�', + nextMonth: '塈�棻� 塈�臾戒�', + year: '堻��', + month1: '�戒�', + month2: '�佩斛戒�', + month3: '�忪斛�', + month4: '塈堥堭��', + month5: '�戒�', + month6: '��', + month7: '��', + month8: '堧媞堻媟堻', + month9: '堻堥堛�佩�', + month10: '堧�舍佩�', + month11: '�佩�', + month12: '堹�喧佩�', + week: '堧堻堥��', + weeks: { + sun: '塈��堶堹', + mon: '塈��堳��', + tue: '塈�弈忪建忪�', + wed: '塈��堭堥媢塈堙', + thu: '塈�桓�', + fri: '塈�省壽�', + sat: '塈�喀佩�' + }, + months: { + jan: '�戒�', + feb: '�佩斛戒�', + mar: '�忪斛�', + apr: '堧堥堭��', + may: '�戒�', + jun: '��', + jul: '��', + aug: '堧媞堻媟堻', + sep: '堻堥堛�佩�', + oct: '堧�舍佩�', + nov: '�佩�', + dec: '堹�喧佩�' + } + }, + select: { + loading: '堿塈堭 塈�臾倪�', + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + placeholder: '堨堮堛堭' + }, + cascader: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + loading: '堿塈堭 塈�臾倪�', + placeholder: '堨堮堛堭', + noData: '�戒盅� 堥�戒忪�' + }, + pagination: { + goto: '堧堸�� 堨��', + pagesize: '/媯�倭�', + total: '塈�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '塈�夥戒�', + confirm: '�戒�', + cancel: '堨�種忪�', + error: '�胰桓� 媞�� 媯堶��' + }, + upload: { + delete: '堶堸��', + preview: '媢堭媔', + continue: '堨堻堛�斛忪�' + }, + table: { + emptyText: '�戒盅� 堥�戒忪�', + confirmFilter: '堛堧��', + resetFilter: '堶堸��', + clearFilter: '塈��', + sumText: '塈�省�' + }, + tree: { + emptyText: '�戒盅� 堥�戒忪�' + }, + transfer: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + titles: ['�忪肌� 1', '�忪肌� 2'], + filterPlaceholder: '塈堹堮�� ��', + noCheckedFormat: '{total} 媢�忪華�', + hasCheckedFormat: '{checked}/{total} �框臾忪�' + }, + image: { + error: '�棻�' + }, + pageHeader: { + title: '媢�胰�' + }, + popconfirm: { + confirmButtonText: '堛堧��', + cancelButtonText: '堨�種忪�' + }, + empty: { + description: '�戒盅� 堥�戒忪�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/az.js b/PAMapp/local_modules/element-ui/lib/locale/lang/az.js new file mode 100644 index 0000000..548ac74 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/az.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'T�diql��', + clear: 'T�izl��' + }, + datepicker: { + now: '襤ndi', + today: 'Bug羹n', + cancel: '襤mtina', + clear: 'T�izl��', + confirm: 'T�diql��', + selectDate: 'Taxir se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�an�帷 Tarixi', + startTime: 'Ba�an�帷 Saat覺', + endDate: 'Bitm�� Tarixi', + endTime: 'Bitm�� Saat覺', + prevYear: '�c�i il', + nextYear: 'Sonrak覺 il', + prevMonth: '�c�i ay', + nextMonth: 'Sonrak覺 ay', + year: '', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: '襤yun', + month7: '襤yul', + month8: 'Avqust', + month9: 'Sentyabr', + month10: 'Oktyabr', + month11: 'Noyabr', + month12: 'Dekabr', + // week: 'week', + weeks: { + sun: 'Baz', + mon: 'B.e', + tue: '��.a', + wed: '�', + thu: 'C.a', + fri: 'C羹m', + sat: '�' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: '襤yn', + jul: '襤yl', + aug: 'Avq', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Y羹kl�ir', + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'N�ic�� tap覺lmad覺', + loading: 'Y羹kl�ir', + placeholder: 'Se癟', + noData: 'M�umat yoxdur' + }, + pagination: { + goto: 'Get', + pagesize: '/s�if��', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'T�diql��', + cancel: '襤mtina', + error: 'S�v' + }, + upload: { + deleteTip: 'S羹r羹�羹rm�� sonra sil', + delete: 'Sil', + preview: '� izl��', + continue: 'Davam et' + }, + table: { + emptyText: 'M�umat yoxdur', + confirmFilter: 'T�diql��', + resetFilter: 'S覺f覺rla', + clearFilter: 'B羹t羹n', + sumText: 'C�i' + }, + tree: { + emptyText: 'M�umat yoxdur' + }, + transfer: { + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + titles: ['List 1', 'List 2'], + filterPlaceholder: 'K�im�iri daxil et', + noCheckedFormat: '{total} ��', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'S�V' // to be translated + }, + pageHeader: { + title: 'Geri' // to be translated + }, + popconfirm: { + confirmButtonText: 'B�i', // to be translated + cancelButtonText: 'Xeyr' // to be translated + }, + empty: { + description: 'M�umat yoxdur' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/bg.js b/PAMapp/local_modules/element-ui/lib/locale/lang/bg.js new file mode 100644 index 0000000..53ca043 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/bg.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�煤解�' + }, + datepicker: { + now: '苤迮迣訄', + today: '�請萃�', + cancel: '�碟匾剷�', + clear: '�煤解�', + confirm: '��', + selectDate: '�煩教萃�邽 迡訄��', + selectTime: '�煩教萃�邽 �參�', + startDate: '�參匾鉼請� 迡訄��', + startTime: '�參匾鉼菩� �參�', + endDate: '��訄邿郇訄 迡訄��', + endTime: '��訄迮郇 �參�', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '觓郇�參�邽', + month2: '苳迮赲��參�邽', + month3: '�參���', + month4: '�謀�邽郅', + month5: '�匾�', + month6: '衩郇邽', + month7: '衩郅邽', + month8: '�紹剩�', + month9: '苤迮郈�菩標紼�邽', + month10: '�碧憶標紼�邽', + month11: '�憶菩標紼�邽', + month12: '�菩碟菩標紼�邽', + // week: '苤迮迡邾邽��', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '��', + wed: '苤���', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '觓郇��', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '衩郇邽', + jul: '衩郅邽', + aug: '�紹�', + sep: '苤迮郈', + oct: '�碧�', + nov: '�憶�', + dec: '�菩�' + } + }, + select: { + loading: '�參�迮迠迡訄郇迮', + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + placeholder: '�煩教萃�邽' + }, + cascader: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + loading: '�參�迮迠迡訄郇迮', + placeholder: '�煩教萃�邽', + noData: '�標� 迡訄郇郇邽' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽��', + total: '�敗� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤�憶敗菩請覜�', + confirm: '��', + cancel: '�碟匾剷�', + error: '�菩紹匾鉼覜棣請� 迡訄郇郇邽' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '�煤�邽邿', + preview: '��迮迣郅迮迡訄邿', + continue: '��郋迡�鉼剷�' + }, + table: { + emptyText: '�標� 迡訄郇郇邽', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�煤解�', + clearFilter: '�解碟�', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '�標� 迡訄郇郇邽' + }, + transfer: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�標� 迡訄郇郇邽' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/bn.js b/PAMapp/local_modules/element-ui/lib/locale/lang/bn.js new file mode 100644 index 0000000..19f0bd0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/bn.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '鄏兒江鄏嗣��江鄏�', + clear: '鄏汙鄏耜江' + }, + datepicker: { + now: '鄏�成', + today: '鄏��汙鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + clear: '鄏汙鄏耜江', + confirm: '鄏兒江鄏嗣��江鄏�', + selectDate: '鄏戈汙鄏啤江鄏� 鄏兒江鄏啤�收鄏擒�成 鄏旭鄑成', + selectTime: '鄏兒江鄏啤�收鄏擒�成鄑旭 鄏詮旨鄏能汝鄏汙鄏�', + startDate: '鄏嗣�旭鄑旭 鄏戈汙鄏啤江鄏�', + startTime: '鄏嗣�旭鄑旭 鄏詮旨鄏能汝', + endDate: '鄏嗣�朵 鄏戈汙鄏啤江鄏�', + endTime: '鄏嗣�朵 鄏詮旨鄏能汝', + prevYear: '鄏忖 鄏眇�旭', + nextYear: '鄏�汙鄏桌� 鄏眇�旭', + prevMonth: '鄏忖 鄏桌汙鄏詮��', + nextMonth: '鄏芹旭鄑旭 鄏桌汙鄏詮��', + year: '鄏眇�旭', + month1: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + month2: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + month3: '鄏桌汙鄏啤���', + month4: '鄏扛鄑旭鄏賴曳', + month5: '鄏桌��', + month6: '鄏�成', + month7: '鄏�曳鄏擒��', + month8: '鄏�次鄑��', + month9: '鄏詮�扛鄑��旨鄑收鄏�', + month10: '鄏����收鄏�', + month11: '鄏兒早鄑旨鄑收鄏�', + month12: '鄏﹤江鄏詮�旨鄑收鄏�', + // week: '�甈�', + weeks: { + sun: '鄏啤收鄏賴收鄏擒旭', + mon: '鄏詮�旨鄏眇汙鄏啤��', + tue: '鄏桌���曳鄏眇汙鄏�', + wed: '鄏眇�戍鄏眇汙鄏�', + thu: '鄏眇�此鄏詮�扛鄏戈江鄏眇汙鄏�', + fri: '鄏嗣���旭鄏眇汙鄏�', + sat: '鄏嗣成鄏賴收鄏擒旭' + }, + months: { + jan: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + feb: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + mar: '鄏桌汙鄏啤���', + apr: '鄏扛鄑旭鄏賴曳', + may: '鄏桌��', + jun: '鄏�成', + jul: '鄏�曳鄏擒��', + aug: '鄏�次鄑��', + sep: '鄏詮�扛鄑��旨鄑收鄏�', + oct: '鄏����收鄏�', + nov: '鄏兒早鄑旨鄑收鄏�', + dec: '鄏﹤江鄏詮�旨鄑收鄏�' + } + }, + select: { + loading: '鄏耜�式 鄏嫩�����', + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + placeholder: '鄏芹�成鄑戌 鄏旭' + }, + cascader: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + loading: '鄏耜�式 鄏嫩�����', + placeholder: '鄏芹�成鄑戌 鄏旭', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + pagination: { + goto: '鄏能汙鄏�', + pagesize: '鄏芹�旭鄏眇成鄑戍/鄏芹�朵鄑�汙', + total: '鄏詮旭鄑收鄏桌��� {total} 鄏徇汙鄏耜汙', + pageClassifier: '鄏芹汙鄏戈汙' + }, + messagebox: { + title: '鄏���江鄏�', + confirm: '鄏兒江鄏嗣��江鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + error: '鄏芹�旭鄏眇�朱 鄏旭鄏� 鄏戈戎鄑旬 鄏收鄑戍!' + }, + upload: { + deleteTip: '鄏成鄑次鄏擒旭鄑� delete 鄏桌���� 鄏徇�曳鄏�', + delete: '鄏桌���� 鄏徇�曳鄏�', + preview: '鄏冢江鄏� 鄏旨鄑��', + continue: '鄏扛鄏耜�式 鄏汙鄏耜江鄏能汝鄑� 鄏能汙鄏�' + }, + table: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���', + confirmFilter: '鄏汙鄏�成鄏�', + resetFilter: '鄏啤江鄏詮���', + clearFilter: '鄏詮收', + sumText: '鄏桌���' + }, + tree: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + transfer: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + titles: ['鄏戈汙鄏耜江鄏汙 1', '鄏戈汙鄏耜江鄏汙 2'], + filterPlaceholder: '鄏成鄑次鄏兒�戍鄏擒成 鄏眇江鄏獅旬鄏潼收鄏詮�忖鄑� 鄏耜江鄏�成', + noCheckedFormat: '鄏桌��� {total} 鄏���旨', + hasCheckedFormat: '鄏兒江鄏啤�收鄏擒�江鄏� {checked}/{total} 鄏���旨' + }, + image: { + error: '鄏耜�式 鄏旭鄏戈�� 鄏眇�旬鄏啤�戎' + }, + pageHeader: { + title: '鄏芹�旭鄏戈�旬鄏擒收鄏啤�忖鄏�' + }, + popconfirm: { + confirmButtonText: '鄏兒江鄏嗣��江鄏�', + cancelButtonText: '鄏眇汙鄏戈江鄏� 鄏旭鄑成' + }, + empty: { + description: '鄏�成 鄏戈戎鄑旬 鄏兒���' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ca.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ca.js new file mode 100644 index 0000000..591d09f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ca.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Netejar' + }, + datepicker: { + now: 'Ara', + today: 'Avui', + cancel: 'Cancel繚lar', + clear: 'Netejar', + confirm: 'Confirmar', + selectDate: 'Seleccionar data', + selectTime: 'Seleccionar hora', + startDate: 'Data Inici', + startTime: 'Hora Inici', + endDate: 'Data Final', + endTime: 'Hora Final', + prevYear: 'Any anterior', + nextYear: 'Pr簷xim Any', + prevMonth: 'Mes anterior', + nextMonth: 'Pr簷xim Mes', + year: '', + month1: 'Gener', + month2: 'Febrer', + month3: 'Mar癟', + month4: 'Abril', + month5: 'Maig', + month6: 'Juny', + month7: 'Juliol', + month8: 'Agost', + month9: 'Setembre', + month10: 'Octubre', + month11: 'Novembre', + month12: 'Desembre', + // week: 'setmana', + weeks: { + sun: 'Dg', + mon: 'Dl', + tue: 'Dt', + wed: 'Dc', + thu: 'Dj', + fri: 'Dv', + sat: 'Ds' + }, + months: { + jan: 'Gen', + feb: 'Febr', + mar: 'Mar癟', + apr: 'Abr', + may: 'Maig', + jun: 'Juny', + jul: 'Jul', + aug: 'Ag', + sep: 'Set', + oct: 'Oct', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Carregant', + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hi ha dades que coincideixin', + loading: 'Carregant', + placeholder: 'Seleccionar', + noData: 'Sense Dades' + }, + pagination: { + goto: 'Anar a', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Acceptar', + cancel: 'Cancel繚lar', + error: 'Entrada inv�ida' + }, + upload: { + deleteTip: 'premi eliminar per descartar', + delete: 'Eliminar', + preview: 'Vista Pr癡via', + continue: 'Continuar' + }, + table: { + emptyText: 'Sense Dades', + confirmFilter: 'Confirmar', + resetFilter: 'Netejar', + clearFilter: 'Tot', + sumText: 'Tot' + }, + tree: { + emptyText: 'Sense Dades' + }, + transfer: { + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + titles: ['Llista 1', 'Llista 2'], + filterPlaceholder: 'Introdueix la paraula clau', + noCheckedFormat: '{total} 穩tems', + hasCheckedFormat: '{checked}/{total} seleccionats' + }, + image: { + error: 'HA FALLAT' + }, + pageHeader: { + title: 'Tornar' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sense Dades' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/cs-CZ.js b/PAMapp/local_modules/element-ui/lib/locale/lang/cs-CZ.js new file mode 100644 index 0000000..b768348 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/cs-CZ.js @@ -0,0 +1,128 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Vymazat' + }, + datepicker: { + now: 'Te��', + today: 'Dnes', + cancel: 'Zru禳it', + clear: 'Vymazat', + confirm: 'OK', + selectDate: 'Vybrat datum', + selectTime: 'Vybrat �s', + startDate: 'Datum za�﹀ku', + startTime: '�s za�﹀ku', + endDate: 'Datum konce', + endTime: '�s konce', + prevYear: 'P�dchoz穩 rok', + nextYear: 'P�倩﹀穩 rok', + prevMonth: 'P�dchoz穩 m�穩c', + nextMonth: 'P�倩﹀穩 m�穩c', + day: 'Den', + week: 'T羸den', + month: 'M�穩c', + year: 'Rok', + month1: 'Leden', + month2: '�or', + month3: 'B�zen', + month4: 'Duben', + month5: 'Kv�en', + month6: '�rven', + month7: '�rvenec', + month8: 'Srpen', + month9: 'Z獺��', + month10: '�虻en', + month11: 'Listopad', + month12: 'Prosinec', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: '�', + wed: 'St', + thu: '�', + fri: 'P獺', + sat: 'So' + }, + months: { + jan: 'Led', + feb: '�o', + mar: 'B�', + apr: 'Dub', + may: 'Kv��', + jun: '�r', + jul: '�c', + aug: 'Srp', + sep: 'Z獺��', + oct: '�虻', + nov: 'Lis', + dec: 'Pro' + } + }, + select: { + loading: 'Na�負獺n穩', + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + placeholder: 'Vybrat' + }, + cascader: { + noMatch: '鬚獺dn獺 shoda', + loading: 'Na�負獺n穩', + placeholder: 'Vybrat', + noData: '鬚獺dn獺 data' + }, + pagination: { + goto: 'J穩t na', + pagesize: 'na stranu', + total: 'Celkem {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Zpr獺va', + confirm: 'OK', + cancel: 'Zru禳it', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'Stisknout pro smaz獺n穩', + delete: 'Vymazat', + preview: 'N獺hled', + continue: 'Pokra�vat' + }, + table: { + emptyText: '鬚獺dn獺 data', + confirmFilter: 'Potvrdit', + resetFilter: 'Resetovat', + clearFilter: 'V禳e', + sumText: 'Celkem' + }, + tree: { + emptyText: '鬚獺dn獺 data' + }, + transfer: { + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Kl穩�v矇 slovo', + noCheckedFormat: '{total} polo鱉ek', + hasCheckedFormat: '{checked}/{total} vybr獺no' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鬚獺dn獺 data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/da.js b/PAMapp/local_modules/element-ui/lib/locale/lang/da.js new file mode 100644 index 0000000..6ac18d2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/da.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Ryd' + }, + datepicker: { + now: 'Nu', + today: 'I dag', + cancel: 'Annuller', + clear: 'Ryd', + confirm: 'OK', + selectDate: 'V疆lg dato', + selectTime: 'V疆lg tidspunkt', + startDate: 'Startdato', + startTime: 'Starttidspunkt', + endDate: 'Slutdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige 疇r', + nextYear: 'N疆ste 疇r', + prevMonth: 'Forrige m疇ned', + nextMonth: 'N疆ste m疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Marts', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + week: 'uge', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Henter', + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + placeholder: 'V疆lg' + }, + cascader: { + noMatch: 'Ingen matchende data', + loading: 'Henter', + placeholder: 'V疆lg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annuller', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'tryk slet for at fjerne', + delete: 'Slet', + preview: 'Forh疇ndsvisning', + continue: 'Forts疆t' + }, + table: { + emptyText: 'Ingen data', + confirmFilter: 'Bekr疆ft', + resetFilter: 'Nulstil', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Indtast s繪geord', + noCheckedFormat: '{total} emner', + hasCheckedFormat: '{checked}/{total} valgt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ingen data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/de.js b/PAMapp/local_modules/element-ui/lib/locale/lang/de.js new file mode 100644 index 0000000..516fada --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/de.js @@ -0,0 +1,127 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Leeren' + }, + datepicker: { + now: 'Jetzt', + today: 'Heute', + cancel: 'Abbrechen', + clear: 'Leeren', + confirm: 'OK', + selectDate: 'Datum w瓣hlen', + selectTime: 'Uhrzeit w瓣hlen', + startDate: 'Startdatum', + startTime: 'Startzeit', + endDate: 'Enddatum', + endTime: 'Endzeit', + prevYear: 'Letztes Jahr', + nextYear: 'N瓣chtes Jahr', + prevMonth: 'Letzter Monat', + nextMonth: 'N瓣chster Monat', + day: 'Tag', + week: 'Woche', + month: 'Monat', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'M瓣rz', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Dezember', + weeks: { + sun: 'So', + mon: 'Mo', + tue: 'Di', + wed: 'Mi', + thu: 'Do', + fri: 'Fr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'L瓣dt.', + noMatch: 'Nichts gefunden.', + noData: 'Keine Daten', + placeholder: 'Daten w瓣hlen' + }, + cascader: { + noMatch: 'Nichts gefunden.', + loading: 'L瓣dt.', + placeholder: 'Daten w瓣hlen', + noData: 'Keine Daten' + }, + pagination: { + goto: 'Gehe zu', + pagesize: ' pro Seite', + total: 'Gesamt {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Abbrechen', + error: 'Fehler' + }, + upload: { + deleteTip: 'Klicke l繹schen zum entfernen', + delete: 'L繹schen', + preview: 'Vorschau', + continue: 'Fortsetzen' + }, + table: { + emptyText: 'Keine Daten', + confirmFilter: 'Anwenden', + resetFilter: 'Zur羹cksetzen', + clearFilter: 'Alles ', + sumText: 'Summe' + }, + tree: { + emptyText: 'Keine Eintr瓣ge' + }, + transfer: { + noMatch: 'Nichts gefunden.', + noData: 'Keine Eintr瓣ge', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Eintr瓣ge filtern', + noCheckedFormat: '{total} Eintr瓣ge', + hasCheckedFormat: '{checked}/{total} ausgew瓣hlt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Keine Daten' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ee.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ee.js new file mode 100644 index 0000000..959ea6d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ee.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T羹hjenda' + }, + datepicker: { + now: 'Praegu', + today: 'T瓣na', + cancel: 'T羹hista', + clear: 'T羹hjenda', + confirm: 'OK', + selectDate: 'Vali kuup瓣ev', + selectTime: 'Vali kellaaeg', + startDate: 'Alguskuup瓣ev', + startTime: 'Algusaeg', + endDate: 'L繭pukuup瓣ev', + endTime: 'L繭puaeg', + prevYear: 'Eelmine aasta', + nextYear: 'J瓣rgmine aasta', + prevMonth: 'Eelmine kuu', + nextMonth: 'J瓣rgmine kuu', + year: '', + month1: 'Jaanuar', + month2: 'Veebruar', + month3: 'M瓣rts', + month4: 'Aprill', + month5: 'Mai', + month6: 'Juuni', + month7: 'Juuli', + month8: 'August', + month9: 'September', + month10: 'Oktoober', + month11: 'November', + month12: 'Detsember', + // week: 'n瓣dal', + weeks: { + sun: 'P', + mon: 'E', + tue: 'T', + wed: 'K', + thu: 'N', + fri: 'R', + sat: 'L' + }, + months: { + jan: 'Jaan', + feb: 'Veeb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Juun', + jul: 'Juul', + aug: 'Aug', + sep: 'Sept', + oct: 'Okt', + nov: 'Nov', + dec: 'Dets' + } + }, + select: { + loading: 'Laadimine', + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + placeholder: 'Vali' + }, + cascader: { + noMatch: 'Sobivad andmed puuduvad', + loading: 'Laadimine', + placeholder: 'Vali', + noData: 'Andmed puuduvad' + }, + pagination: { + goto: 'Mine lehele', + pagesize: '/page', + total: 'Kokku {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Teade', + confirm: 'OK', + cancel: 'T羹hista', + error: 'Vigane sisend' + }, + upload: { + deleteTip: 'Vajuta "Kustuta", et eemaldada', + delete: 'Kustuta', + preview: 'Eelvaate', + continue: 'J瓣tka' + }, + table: { + emptyText: 'Andmed puuduvad', + confirmFilter: 'Kinnita', + resetFilter: 'Taasta', + clearFilter: 'K繭ik', + sumText: 'Summa' + }, + tree: { + emptyText: 'Andmed puuduvad' + }, + transfer: { + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + titles: ['Loend 1', 'Loend 2'], + filterPlaceholder: 'Sisesta m瓣rks繭na', + noCheckedFormat: '{total} objekti', + hasCheckedFormat: '{checked}/{total} valitud' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Andmed puuduvad' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/el.js b/PAMapp/local_modules/element-ui/lib/locale/lang/el.js new file mode 100644 index 0000000..2c330b8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/el.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '�誕疥憊舒�', + clear: '�敖裕救圖樞�' + }, + datepicker: { + now: '峇��', + today: '峉峸弮庰��', + cancel: '�磁�', + clear: '�敖裕救圖樞�', + confirm: '�誕疥憊舒�', + selectDate: '��庣弇峟徆�� 庢弮峟��', + selectTime: '��庣弇峟徆�� ��', + startDate: '�樁舜諺樁煎諄翁� �諄救憊煙�', + startTime: '峏�� �諄救憊煙�', + endDate: '�樁舜諺樁煎諄翁� �晌憊煙�', + endTime: '峏�� �晌憊煙�', + prevYear: '�諺煎割諫樁舒諄� �諫�', + nextYear: '���樁舒諄� �諫�', + prevMonth: '�諺煎割諫樁舒諄諫� �晌諄救�', + nextMonth: '���樁舒諄諫� �晌諄救�', + year: '�諫�', + month1: '�敖諄諫疢團諫�', + month2: '峖庰帣�諫疢團諫�', + month3: '�疢團諫�', + month4: '���翁銜團諫�', + month5: '�疥團諫�', + month6: '�諫諄團諫�', + month7: '�諫銜團諫�', + month8: '�割諫諫�', + month9: '峉庰��倀樁紮團諫�', + month10: '�磁紮團諫�', + month11: '�諺倀樁紮團諫�', + month12: '�舒睡倀樁紮團諫�', + // week: '庰帣帤怷弮峎帤帢', + weeks: { + sun: '��', + mon: '�舜�', + tue: '峇��', + wed: '峇庰��', + thu: '�舒�', + fri: '�救�', + sat: '峉帢帣' + }, + months: { + jan: '�敖�', + feb: '峖庰帣', + mar: '�救�', + apr: '����', + may: '�救�', + jun: '�諫�', + jul: '�諫�', + aug: '��', + sep: '峉庰�', + oct: '�磁�', + nov: '�諺�', + dec: '�舒�' + } + }, + select: { + loading: '峖��', + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + placeholder: '��庣弇怷帠峸' + }, + cascader: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + loading: '峖��', + placeholder: '��庣弇怷帠峸', + noData: '峓�耆� 帤庰帤怷弮峟彖帢' + }, + pagination: { + goto: '�舜疥統救� ��', + pagesize: '/�舒銜翁棒�', + total: '峉�諄諺銜� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�晌誕樁�', + confirm: '�誕疥憊舒�', + cancel: '�磁�', + error: '�磁� 庰庣�敖剴割�' + }, + upload: { + deleteTip: '�疢煙� �團敖剴救� 帠庣帢 帢�敖耆舜�', + delete: '�團敖剴救�', + preview: '�諺舜�庣�磁�庢��', + continue: '峉�諄倔舒團�' + }, + table: { + emptyText: '峓�耆� �舒棒諺樁倀諄�', + confirmFilter: '��庣帣庰帣帢巹��', + resetFilter: '��帢彖帢�諫�', + clearFilter: '�銜�', + sumText: '峉�諄諺銜�' + }, + tree: { + emptyText: '峓�耆� �舒棒諺樁倀諄�' + }, + transfer: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + titles: ['�耆� 1', '�耆� 2'], + filterPlaceholder: '�諄敖僇晅煙�', + noCheckedFormat: '{total} �誕團睡舒翁樁舒諄�', + hasCheckedFormat: '{checked}/{total} 庰�庣弇庰帠弮峟彖帢' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '峓�耆� �舒棒諺樁倀諄�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/en.js b/PAMapp/local_modules/element-ui/lib/locale/lang/en.js new file mode 100644 index 0000000..ffec4da --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/en.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Clear' + }, + datepicker: { + now: 'Now', + today: 'Today', + cancel: 'Cancel', + clear: 'Clear', + confirm: 'OK', + selectDate: 'Select date', + selectTime: 'Select time', + startDate: 'Start Date', + startTime: 'Start Time', + endDate: 'End Date', + endTime: 'End Time', + prevYear: 'Previous Year', + nextYear: 'Next Year', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + year: '', + month1: 'January', + month2: 'February', + month3: 'March', + month4: 'April', + month5: 'May', + month6: 'June', + month7: 'July', + month8: 'August', + month9: 'September', + month10: 'October', + month11: 'November', + month12: 'December', + week: 'week', + weeks: { + sun: 'Sun', + mon: 'Mon', + tue: 'Tue', + wed: 'Wed', + thu: 'Thu', + fri: 'Fri', + sat: 'Sat' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Loading', + noMatch: 'No matching data', + noData: 'No data', + placeholder: 'Select' + }, + cascader: { + noMatch: 'No matching data', + loading: 'Loading', + placeholder: 'Select', + noData: 'No data' + }, + pagination: { + goto: 'Go to', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Message', + confirm: 'OK', + cancel: 'Cancel', + error: 'Illegal input' + }, + upload: { + deleteTip: 'press delete to remove', + delete: 'Delete', + preview: 'Preview', + continue: 'Continue' + }, + table: { + emptyText: 'No Data', + confirmFilter: 'Confirm', + resetFilter: 'Reset', + clearFilter: 'All', + sumText: 'Sum' + }, + tree: { + emptyText: 'No Data' + }, + transfer: { + noMatch: 'No matching data', + noData: 'No data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', + cancelButtonText: 'No' + }, + empty: { + description: 'No Data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/eo.js b/PAMapp/local_modules/element-ui/lib/locale/lang/eo.js new file mode 100644 index 0000000..4b55400 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/eo.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Bone', + clear: 'Malplenigi' + }, + datepicker: { + now: 'Nun', + today: 'Hodia躑', + cancel: 'Nuligi', + clear: 'Malplenigi', + confirm: 'Bone', + selectDate: 'Elektu daton', + selectTime: 'Elektu horon', + startDate: 'Komenca Dato', + startTime: 'Komenca Horo', + endDate: 'Fina Dato', + endTime: 'Fina Horo', + prevYear: 'Anta躑a Jaro', + nextYear: 'Sekva Jaro', + prevMonth: 'Anta躑a Monato', + nextMonth: 'Sekva Monato', + year: 'Jaro', + month1: 'Januaro', + month2: 'Februaro', + month3: 'Marto', + month4: 'Aprilo', + month5: 'Majo', + month6: 'Junio', + month7: 'Julio', + month8: 'A躑gusto', + month9: 'Septembro', + month10: 'Oktobro', + month11: 'Novembro', + month12: 'Decembro', + week: 'Semajno', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: '譬a躑', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'A躑g', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: '�r�nte', + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + placeholder: 'Bonvolu elekti' + }, + cascader: { + noMatch: 'Neniuj kongruaj datumoj', + loading: '�r�nte', + placeholder: 'Bonvolu elekti', + noData: 'Neniuj datumoj' + }, + pagination: { + goto: 'Iru al', + pagesize: '/ pa�', + total: 'Entute {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesa�', + confirm: 'Bone', + cancel: 'Nuligi', + error: 'Nevalida Enigo!' + }, + upload: { + deleteTip: 'Premu "Delete" por forigi', + delete: 'Forigi', + preview: 'Anta躑rigardi', + continue: 'Da躑rigi' + }, + table: { + emptyText: 'Neniuj datumoj', + confirmFilter: 'Konfirmi', + resetFilter: 'Restarigi', + clearFilter: '�uj', + sumText: 'Sumo' + }, + tree: { + emptyText: 'Neniuj datumoj' + }, + transfer: { + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + titles: ['Listo 1', 'Listo 2'], + filterPlaceholder: 'Enigu �osilvorton', + noCheckedFormat: '{total} elementoj', + hasCheckedFormat: '{checked}/{total} elektitaj' + }, + image: { + error: 'MALSUKCESIS' + }, + pageHeader: { + title: 'Reen' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Neniuj datumoj' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/es.js b/PAMapp/local_modules/element-ui/lib/locale/lang/es.js new file mode 100644 index 0000000..329b4f1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/es.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Despejar' + }, + datepicker: { + now: 'Ahora', + today: 'Hoy', + cancel: 'Cancelar', + clear: 'Limpiar', + confirm: 'Confirmar', + selectDate: 'Seleccionar fecha', + selectTime: 'Seleccionar hora', + startDate: 'Fecha Incial', + startTime: 'Hora Inicial', + endDate: 'Fecha Final', + endTime: 'Hora Final', + prevYear: 'A簽o Anterior', + nextYear: 'Pr籀ximo A簽o', + prevMonth: 'Mes Anterior', + nextMonth: 'Pr籀ximo Mes', + year: '', + month1: 'enero', + month2: 'febrero', + month3: 'marzo', + month4: 'abril', + month5: 'mayo', + month6: 'junio', + month7: 'julio', + month8: 'agosto', + month9: 'septiembre', + month10: 'octubre', + month11: 'noviembre', + month12: 'diciembre', + // week: 'semana', + weeks: { + sun: 'dom', + mon: 'lun', + tue: 'mar', + wed: 'mi矇', + thu: 'jue', + fri: 'vie', + sat: 's獺b' + }, + months: { + jan: 'ene', + feb: 'feb', + mar: 'mar', + apr: 'abr', + may: 'may', + jun: 'jun', + jul: 'jul', + aug: 'ago', + sep: 'sep', + oct: 'oct', + nov: 'nov', + dec: 'dic' + } + }, + select: { + loading: 'Cargando', + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hay datos que coincidan', + loading: 'Cargando', + placeholder: 'Seleccionar', + noData: 'Sin datos' + }, + pagination: { + goto: 'Ir a', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Aceptar', + cancel: 'Cancelar', + error: 'Entrada inv獺lida' + }, + upload: { + deleteTip: 'Pulse Eliminar para retirar', + delete: 'Eliminar', + preview: 'Vista Previa', + continue: 'Continuar' + }, + table: { + emptyText: 'Sin Datos', + confirmFilter: 'Confirmar', + resetFilter: 'Reiniciar', + clearFilter: 'Limpiar', + sumText: 'Suma' + }, + tree: { + emptyText: 'Sin Datos' + }, + transfer: { + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Ingresar palabra clave', + noCheckedFormat: '{total} art穩culos', + hasCheckedFormat: '{checked}/{total} revisados' + }, + image: { + error: 'HA FALLADO' + }, + pageHeader: { + title: 'Volver' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sin Datos' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/eu.js b/PAMapp/local_modules/element-ui/lib/locale/lang/eu.js new file mode 100644 index 0000000..48eea99 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/eu.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Ados', + clear: 'Garbitu' + }, + datepicker: { + now: 'Orain', + today: 'Gaur', + cancel: 'Utzi', + clear: 'Garbitu', + confirm: 'Ados', + selectDate: 'Hautatu data', + selectTime: 'Hautatu ordua', + startDate: 'Hasierako data', + startTime: 'Hasierako ordua', + endDate: 'Amaierako data', + endTime: 'Amaierako ordua', + prevYear: 'Aurreko urtea', + nextYear: 'Hurrengo urtea', + prevMonth: 'Aurreko hilabetea', + nextMonth: 'Hurrengo hilabetea', + year: '', + month1: 'Urtarrila', + month2: 'Otsaila', + month3: 'Martxoa', + month4: 'Apirila', + month5: 'Maiatza', + month6: 'Ekaina', + month7: 'Uztaila', + month8: 'Abuztua', + month9: 'Iraila', + month10: 'Urria', + month11: 'Azaroa', + month12: 'Abendua', + // week: 'astea', + weeks: { + sun: 'ig.', + mon: 'al.', + tue: 'ar.', + wed: 'az.', + thu: 'og.', + fri: 'ol.', + sat: 'lr.' + }, + months: { + jan: 'urt', + feb: 'ots', + mar: 'mar', + apr: 'api', + may: 'mai', + jun: 'eka', + jul: 'uzt', + aug: 'abu', + sep: 'ira', + oct: 'urr', + nov: 'aza', + dec: 'abe' + } + }, + select: { + loading: 'Kargatzen', + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + placeholder: 'Hautatu' + }, + cascader: { + noMatch: 'Bat datorren daturik ez', + loading: 'Kargatzen', + placeholder: 'Hautatu', + noData: 'Daturik ez' + }, + pagination: { + goto: 'Joan', + pagesize: '/orria', + total: 'Guztira {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mezua', + confirm: 'Ados', + cancel: 'Utzi', + error: 'Sarrera baliogabea' + }, + upload: { + deleteTip: 'sakatu Ezabatu kentzeko', + delete: 'Ezabatu', + preview: 'Aurrebista', + continue: 'Jarraitu' + }, + table: { + emptyText: 'Daturik ez', + confirmFilter: 'Baieztatu', + resetFilter: 'Berrezarri', + clearFilter: 'Guztia', + sumText: 'Batura' + }, + tree: { + emptyText: 'Daturik ez' + }, + transfer: { + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + titles: ['Zerrenda 1', 'Zerrenda 2'], // to be translated + filterPlaceholder: 'Sartu gako-hitza', // to be translated + noCheckedFormat: '{total} elementu', // to be translated + hasCheckedFormat: '{checked}/{total} hautatuta' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Daturik ez' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/fa.js b/PAMapp/local_modules/element-ui/lib/locale/lang/fa.js new file mode 100644 index 0000000..7ecd0fb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/fa.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '堥塈奡堹', + clear: '堶堸��' + }, + datepicker: { + now: '塈琠��', + today: '塈�斬�', + cancel: '�稱�', + clear: '堶堸��', + confirm: '堥塈奡��', + selectDate: '塈�臾框忪� 堛塈堭��', + selectTime: '塈�臾框忪� 堬�戒�', + startDate: '堛塈堭�� 奡堭��', + startTime: '堬�戒� 奡堭��', + endDate: '堛塈堭�� 椈塈�戒�', + endTime: '堬�戒� 椈塈�戒�', + prevYear: '堻塈�� �佻�', + nextYear: '堻塈�� 堥媢堹', + prevMonth: '�戒� �佻�', + nextMonth: '�戒� 堥媢堹', + year: '堻塈��', + month1: '�戒�', + month2: '�旋�', + month3: '�忪斛�', + month4: '堞�旋�', + month5: '��', + month6: '�肌�', + month7: '堿�抄�', + month8: '塈��', + month9: '堻椈堛塈�佩�', + month10: '塈琠堛堥堭', + month11: '�戒佩�', + month12: '堹堻塈�佩�', + // week: 'week', + weeks: { + sun: '�拂棻佻�', + mon: '堹�棻佻�', + tue: '堻��棻佻�', + wed: '�忪斛棻佻�', + thu: '椈�砂�棻佻�', + fri: '堿�夥�', + sat: '奡�佻�' + }, + months: { + jan: '�戒�', + feb: '�旋�', + mar: '�忪斛�', + apr: '堞�旋�', + may: '��', + jun: '�肌�', + jul: '堿�抄�', + aug: '塈��', + sep: '堻椈堛塈�佩�', + oct: '塈琠堛堥堭', + nov: '�戒佩�', + dec: '堹堻塈�佩�' + } + }, + select: { + loading: '堥塈堭痧�旋�', + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + placeholder: '塈�臾框忪� 琠��' + }, + cascader: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + loading: '堥塈堭痧�旋�', + placeholder: '塈�臾框忪� 琠��', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + pagination: { + goto: '堥堭�� 堥��', + pagesize: '/媯�倪�', + total: '�省� {total}', + pageClassifier: '' + }, + messagebox: { + title: '椈�戒�', + confirm: '堥塈奡��', + cancel: '�稱�', + error: '�斬胴� 媞�� �盅忪�' + }, + upload: { + deleteTip: '堥堭塈�� 椈塈琠 琠堭堹�� 堶堸�� 堭塈 �楮忪� 堹��', + delete: '堶堸��', + preview: '椈�氯�抄�', + continue: '塈堹塈��' + }, + table: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�', + confirmFilter: '堛塈��', + resetFilter: '堶堸��', + clearFilter: '��', + sumText: '堿��' + }, + tree: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + transfer: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + titles: ['�喀� 1', '�喀� 2'], + filterPlaceholder: '琠�� �我� �忪斬� �忪斛� 琠��', + noCheckedFormat: '{total} �斛�', + hasCheckedFormat: '{checked} �斛� 塈堬 {total} �斛� 塈�臾框忪� 奡堹�� 塈堻堛' + }, + image: { + error: '堮媟塈 堹堭 堥塈堭痧�旋� 堛媯��' + }, + pageHeader: { + title: '堥塈堬痧奡堛' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '塈媟�忪壽忪芝� �省� �胰忪斛�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/fi.js b/PAMapp/local_modules/element-ui/lib/locale/lang/fi.js new file mode 100644 index 0000000..3b9b3ad --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/fi.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Tyhjenn瓣' + }, + datepicker: { + now: 'Nyt', + today: 'T瓣n瓣瓣n', + cancel: 'Peruuta', + clear: 'Tyhjenn瓣', + confirm: 'OK', + selectDate: 'Valitse p瓣iv瓣', + selectTime: 'Valitse aika', + startDate: 'Aloitusp瓣iv瓣', + startTime: 'Aloitusaika', + endDate: 'Lopetusp瓣iv瓣', + endTime: 'Lopetusaika', + prevYear: 'Edellinen vuosi', + nextYear: 'Seuraava vuosi', + prevMonth: 'Edellinen kuukausi', + nextMonth: 'Seuraava kuukausi', + year: '', + month1: 'tammikuu', + month2: 'helmikuu', + month3: 'maaliskuu', + month4: 'huhtikuu', + month5: 'toukokuu', + month6: 'kes瓣kuu', + month7: 'hein瓣kuu', + month8: 'elokuu', + month9: 'syyskuu', + month10: 'lokakuu', + month11: 'marraskuu', + month12: 'joulukuu', + // week: 'week', + weeks: { + sun: 'su', + mon: 'ma', + tue: 'ti', + wed: 'ke', + thu: 'to', + fri: 'pe', + sat: 'la' + }, + months: { + jan: 'tammi', + feb: 'helmi', + mar: 'maalis', + apr: 'huhti', + may: 'touko', + jun: 'kes瓣', + jul: 'hein瓣', + aug: 'elo', + sep: 'syys', + oct: 'loka', + nov: 'marras', + dec: 'joulu' + } + }, + select: { + loading: 'Lataa', + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + placeholder: 'Valitse' + }, + cascader: { + noMatch: 'Ei vastaavia tietoja', + loading: 'Lataa', + placeholder: 'Valitse', + noData: 'Ei tietoja' + }, + pagination: { + goto: 'Mene', + pagesize: '/sivu', + total: 'Yhteens瓣 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Viesti', + confirm: 'OK', + cancel: 'Peruuta', + error: 'Virheellinen sy繹te' + }, + upload: { + deleteTip: 'Poista Delete-n瓣pp瓣imell瓣', + delete: 'Poista', + preview: 'Esikatsele', + continue: 'Jatka' + }, + table: { + emptyText: 'Ei tietoja', + confirmFilter: 'Vahvista', + resetFilter: 'Tyhjenn瓣', + clearFilter: 'Kaikki', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ei tietoja' + }, + transfer: { + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + titles: ['Luettelo 1', 'Luettelo 2'], + filterPlaceholder: 'Sy繹t瓣 hakusana', + noCheckedFormat: '{total} kohdetta', + hasCheckedFormat: '{checked}/{total} valittu' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ei tietoja' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/fr.js b/PAMapp/local_modules/element-ui/lib/locale/lang/fr.js new file mode 100644 index 0000000..f4a9bb3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/fr.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Effacer' + }, + datepicker: { + now: 'Maintenant', + today: 'Auj.', + cancel: 'Annuler', + clear: 'Effacer', + confirm: 'OK', + selectDate: 'Choisir date', + selectTime: 'Choisir horaire', + startDate: 'Date d矇but', + startTime: 'Horaire d矇but', + endDate: 'Date fin', + endTime: 'Horaire fin', + prevYear: 'Ann矇e pr矇c矇dente', + nextYear: 'Ann矇e suivante', + prevMonth: 'Mois pr矇c矇dent', + nextMonth: 'Mois suivant', + year: '', // In french, like in english, we don't say "Ann矇e" after the year number. + month1: 'Janvier', + month2: 'F矇vrier', + month3: 'Mars', + month4: 'Avril', + month5: 'Mai', + month6: 'Juin', + month7: 'Juillet', + month8: 'Ao羶t', + month9: 'Septembre', + month10: 'Octobre', + month11: 'Novembre', + month12: 'D矇cembre', + // week: 'Semaine', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Jeu', + fri: 'Ven', + sat: 'Sam' + }, + months: { + jan: 'Jan', + feb: 'F矇v', + mar: 'Mar', + apr: 'Avr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ao羶', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'D矇c' + } + }, + select: { + loading: 'Chargement', + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + placeholder: 'Choisir' + }, + cascader: { + noMatch: 'Aucune correspondance', + loading: 'Chargement', + placeholder: 'Choisir', + noData: 'Aucune donn矇e' + }, + pagination: { + goto: 'Aller ��', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Confirmer', + cancel: 'Annuler', + error: 'Erreur' + }, + upload: { + deleteTip: 'Cliquer sur supprimer pour retirer le fichier', + delete: 'Supprimer', + preview: 'Aper癟u', + continue: 'Continuer' + }, + table: { + emptyText: 'Aucune donn矇e', + confirmFilter: 'Confirmer', + resetFilter: 'R矇initialiser', + clearFilter: 'Tous', + sumText: 'Somme' + }, + tree: { + emptyText: 'Aucune donn矇e' + }, + transfer: { + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Entrer un mot clef', + noCheckedFormat: '{total} elements', + hasCheckedFormat: '{checked}/{total} coch矇(s)' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Aucune donn矇e' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/he.js b/PAMapp/local_modules/element-ui/lib/locale/lang/he.js new file mode 100644 index 0000000..b923338 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/he.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '�抿�', + clear: '�忸�' + }, + datepicker: { + now: '�I�', + today: '��', + cancel: '��', + clear: '�忸�', + confirm: '�抿�', + selectDate: '�� 蛌�侈�', + selectTime: '�� ��', + startDate: '蛌�侈� �臥�', + startTime: '�� �臥�', + endDate: '蛌�侈� 蛂��', + endTime: '�� 蛂��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '��', + month2: '蚺�侈�', + month3: '�侈�', + month4: '�尤侈�', + month5: '��', + month6: '��', + month7: '��', + month8: '�=�', + month9: '蛂蚺��', + month10: '�忸�', + month11: '��', + month12: '�肉�', + // week: 'week', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '��', + thu: '��', + fri: '��', + sat: '蚸��' + }, + months: { + jan: '��', + feb: '蚺�侈�', + mar: '�侈�', + apr: '�尤侈�', + may: '��', + jun: '��', + jul: '��', + aug: '�=�', + sep: '蛂蚺��', + oct: '�忸�', + nov: '��', + dec: '�肉�' + } + }, + select: { + loading: '�I�', + noMatch: '�� �肉� �臥�', + noData: '�� �臥�', + placeholder: '��' + }, + cascader: { + noMatch: '�� �臥� �臥�', + loading: '�I�', + placeholder: '��', + noData: '�� �臥�' + }, + pagination: { + goto: '蛁�� ��', + pagesize: '/page', + total: '�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�I�', + confirm: '�抿�', + cancel: '��', + error: '蚹�� �� 蛌蚹��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '��', + preview: '蛌蛈�� �忸�', + continue: '�抿�' + }, + table: { + emptyText: '�� �臥�', + confirmFilter: '�抿�', + resetFilter: '�忸�', + clearFilter: '��', + sumText: '蛂��' + }, + tree: { + emptyText: '�� �臥�' + }, + transfer: { + noMatch: '�� �臥� �臥�', + noData: '�� �臥�', + titles: ['蚳蚸�� 1', '蚳蚸�� 2'], + filterPlaceholder: '�忸�', + noCheckedFormat: '蚺蚳�� {total}', + hasCheckedFormat: ' �抿� {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�� �臥�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/hr.js b/PAMapp/local_modules/element-ui/lib/locale/lang/hr.js new file mode 100644 index 0000000..5599695 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/hr.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'O�sti' + }, + datepicker: { + now: 'Sada', + today: 'Danas', + cancel: 'Otka鱉i', + clear: 'O�sti', + confirm: 'OK', + selectDate: 'Odaberi datum', + selectTime: 'Odaberi vrijeme', + startDate: 'Datum po�tka', + startTime: 'Vrijeme po�tka', + endDate: 'Datum zavr禳etka', + endTime: 'Vrijeme zavr禳etka', + prevYear: 'Prethodna godina', + nextYear: 'Sljede� godina', + prevMonth: 'Prethodni mjesec', + nextMonth: 'Sljede� mjesec', + year: '', + month1: 'Sije�nj', + month2: 'Velja�', + month3: 'O鱉ujak', + month4: 'Travanj', + month5: 'Svibanj', + month6: 'Lipanj', + month7: 'Srpanj', + month8: 'Kolovoz', + month9: 'Rujan', + month10: 'Listopad', + month11: 'Studeni', + month12: 'Prosinac', + week: 'tjedan', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Uto', + wed: 'Sri', + thu: '�t', + fri: 'Pet', + sat: 'Sub' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'U�tavanje', + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + placeholder: 'Izaberi' + }, + cascader: { + noMatch: 'Nema prona�nih podataka', + loading: 'U�tavanje', + placeholder: 'Izaberi', + noData: 'Nema podataka' + }, + pagination: { + goto: 'Idi na', + pagesize: '/stranica', + total: 'Ukupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Poruka', + confirm: 'OK', + cancel: 'Otka鱉i', + error: 'Pogre禳an unos' + }, + upload: { + deleteTip: 'pritisnite izbri禳i za brisanje', + delete: 'Izbri禳i', + preview: 'Pregled', + continue: 'Nastavak' + }, + table: { + emptyText: 'Nema podataka', + confirmFilter: 'Potvrdi', + resetFilter: 'Resetiraj', + clearFilter: 'Sve', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nema podataka' + }, + transfer: { + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + titles: ['Lista 1', 'Lista 2'], // to be translated + filterPlaceholder: 'Unesite klju�u rije��', // to be translated + noCheckedFormat: '{total} stavki', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nema podataka' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/hu.js b/PAMapp/local_modules/element-ui/lib/locale/lang/hu.js new file mode 100644 index 0000000..3eac31f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/hu.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹rl矇s' + }, + datepicker: { + now: 'Most', + today: 'Ma', + cancel: 'M矇gse', + clear: 'T繹rl矇s', + confirm: 'OK', + selectDate: 'D獺tum', + selectTime: 'Id�ont', + startDate: 'D獺tum-t籀l', + startTime: 'Id�ont-t籀l', + endDate: 'D獺tum-ig', + endTime: 'Id�ont-ig', + prevYear: 'El��� 矇v', + nextYear: 'K繹vetkez�� 矇v', + prevMonth: 'El��� h籀nap', + nextMonth: 'K繹vetkez�� h籀nap', + year: '', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'M獺rcius', + month4: '�rilis', + month5: 'M獺jus', + month6: 'J繳nius', + month7: 'J繳lius', + month8: 'Augusztus', + month9: 'Szeptember', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Vas', + mon: 'H矇t', + tue: 'Ked', + wed: 'Sze', + thu: 'Cs羹', + fri: 'P矇n', + sat: 'Szo' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M獺r', + apr: '�r', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Szep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Bet繹lt矇s', + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + placeholder: 'V獺lassz' + }, + cascader: { + noMatch: 'Nincs tal獺lat', + loading: 'Bet繹lt矇s', + placeholder: 'V獺lassz', + noData: 'Nincs adat' + }, + pagination: { + goto: 'Ugr獺s', + pagesize: '/oldal', + total: '�sz {total}', + pageClassifier: '' + }, + messagebox: { + title: '�enet', + confirm: 'OK', + cancel: 'M矇gse', + error: 'Hib獺s adat' + }, + upload: { + deleteTip: 'kattints a t繹rl矇shez', + delete: 'T繹rl矇s', + preview: 'El�矇zet', + continue: 'Tov獺bb' + }, + table: { + emptyText: 'Nincs adat', + confirmFilter: 'Meger�穩t', + resetFilter: 'Alaphelyet', + clearFilter: 'Mind', + sumText: '�szeg' + }, + tree: { + emptyText: 'Nincs adat' + }, + transfer: { + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Kulcssz籀', + noCheckedFormat: '{total} elem', + hasCheckedFormat: '{checked}/{total} kiv獺lasztva' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nincs adat' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/hy-AM.js b/PAMapp/local_modules/element-ui/lib/locale/lang/hy-AM.js new file mode 100644 index 0000000..a57e6c0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/hy-AM.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '埮捸��', + clear: '�>�掍晙' + }, + datepicker: { + now: '�晛桭捸', + today: '埜桮桵��', + cancel: '�白組>�朘掍晙', + clear: '�>�掍晙', + confirm: '埮捸��', + selectDate: '堋梮梲�掍�� 捸桭桵捸晥晛��', + selectTime: '堋梮梲�掍�� 晡捸桭捸梮捸朘旍', + startDate: '�耿耳�. 捸桭桵捸晥晛��', + startTime: '�耿耳�. 晡捸桭捸梮捸朘旍', + endDate: '�皮�梬. 捸桭桵捸晥晛桴旍', + endTime: '�皮�梬. 晡捸桭捸梮捸朘旍', + prevYear: '�<倘詩�掑 梲捸�晛', + nextYear: '�<閣詩�掑 梲捸�晛', + prevMonth: '�<倘詩�掑 捸桭晛桵', + nextMonth: '�<閣詩�掑 捸桭晛桵', + year: '�>�晛', + month1: '�詩勢詩>�', + month2: '�白謁�楖�>�', + month3: '�>�梲', + month4: '埜梣�晛晙', + month5: '�<菅幽�', + month6: '�詩勢幽�', + month7: '�詩盈幽�', + month8: '��楖桵梲楖桵', + month9: '�白禎諾白椎G皮�', + month10: '�試耿諾白椎G皮�', + month11: '�試菅白椎G皮�', + month12: '埭掍朘梲掍桭掅掍�', + week: '�<G<�', + weeks: { + sun: '埥晛�', + mon: '埽�朘', + tue: '埽�', + wed: '�詩�', + thu: '�晛梮掁', + fri: '��掅', + sat: '�<�' + }, + months: { + jan: '�詩勢�', + feb: '�白�', + mar: '�>�', + apr: '埜梣�', + may: '�<�', + jun: '�詩�', + jul: '�詩�', + aug: '��', + sep: '�白禎�', + oct: '�試�', + nov: '�試�', + dec: '埭掍朘' + } + }, + select: { + loading: '埴掍梩梮楖��', + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�擅菅<盈勢皮� 桯朘捸梮', + placeholder: '堋梮梲�掍晙' + }, + cascader: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + loading: '埴掍梩梮楖��', + placeholder: '堋梮梲�掍晙', + noData: '�擅菅<盈勢皮� 桯朘捸梮' + }, + pagination: { + goto: '埜梮�勢白�', + pagesize: ' 敓梬楖��', + total: '堋梮掑捸桭掍梮旍 {total}', + pageClassifier: '' + }, + messagebox: { + title: '�捸梐楖�掑捸掁�楖�拌庠�', + confirm: '埮捸��', + cancel: '�白組>�朘掍晙', + error: '埜梮桴捸�皮� 梲楖�白<盈勢皮�晛 桭楖�謁�' + }, + upload: { + deleteTip: '�白組椎皮� [�勢閣白柵 梬梮梬掍晙楖�� 桹捸桭捸�', + delete: '�勢閣白�', + preview: '�<倘<孔幽諾詩�', + continue: '�>�楖�勢<耿白�' + }, + table: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮', + confirmFilter: '�<調諾<諾白�', + resetFilter: '�皮�捸掁楖�晢捸�朘掍晙', + clearFilter: '埴楖晙楖�旍', + sumText: '堀楖�椎>�旍' + }, + tree: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮' + }, + transfer: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�詩白<盈勢皮� 桯朘捸梮', + titles: ['�詩<� 1', '�詩<� 2'], + filterPlaceholder: '�詩謁<��掍�� 掅捸梮捸晙晛 掅捸梩', + noCheckedFormat: '{total} 桭晛捸�詩�', + hasCheckedFormat: '{checked}/{total} 旍梮梲�楖�<� 敓' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�詩白<盈勢皮� 桯朘捸梮' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/id.js b/PAMapp/local_modules/element-ui/lib/locale/lang/id.js new file mode 100644 index 0000000..c8b797f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/id.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Pilih', + clear: 'Kosongkan' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Kosongkan', + confirm: 'Ya', + selectDate: 'Pilih tanggal', + selectTime: 'Pilih waktu', + startDate: 'Tanggal Mulai', + startTime: 'Waktu Mulai', + endDate: 'Tanggal Selesai', + endTime: 'Waktu Selesai', + prevYear: 'Tahun Sebelumnya', + nextYear: 'Tahun Selanjutnya', + prevMonth: 'Bulan Sebelumnya', + nextMonth: 'Bulan Selanjutnya', + year: 'Tahun', + month1: 'Januari', + month2: 'Februari', + month3: 'Maret', + month4: 'April', + month5: 'Mei', + month6: 'Juni', + month7: 'Juli', + month8: 'Agustus', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'minggu', + weeks: { + sun: 'Min', + mon: 'Sen', + tue: 'Sel', + wed: 'Rab', + thu: 'Kam', + fri: 'Jum', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Agu', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Memuat', + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + placeholder: 'Pilih' + }, + cascader: { + noMatch: 'Tidak ada data yg cocok', + loading: 'Memuat', + placeholder: 'Pilih', + noData: 'Tidak ada data' + }, + pagination: { + goto: 'Pergi ke', + pagesize: '/laman', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pesan', + confirm: 'Ya', + cancel: 'Batal', + error: 'Masukan ilegal' + }, + upload: { + deleteTip: 'Tekan hapus untuk melanjutkan', + delete: 'Hapus', + preview: 'Pratinjau', + continue: 'Lanjutkan' + }, + table: { + emptyText: 'Tidak ada data', + confirmFilter: 'Konfirmasi', + resetFilter: 'Atur ulang', + clearFilter: 'Semua', + sumText: 'Jml' + }, + tree: { + emptyText: 'Tidak ada data' + }, + transfer: { + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukan kata kunci', + noCheckedFormat: '{total} butir', + hasCheckedFormat: '{checked}/{total} terpilih' + }, + image: { + error: 'GAGAL' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Ya', + cancelButtonText: 'Tidak' + }, + empty: { + description: 'Tidak ada data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/is.js b/PAMapp/local_modules/element-ui/lib/locale/lang/is.js new file mode 100644 index 0000000..235bf18 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/is.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Hreinsa' + }, + datepicker: { + now: 'N繳na', + today: '�� dag', + cancel: 'H疆tta vi簸', + clear: 'Hreinsa', + confirm: 'OK', + selectDate: 'Velja dagsetningu', + selectTime: 'Velja t穩ma', + startDate: 'Upphafsdagsetning', + startTime: 'Upphafst穩mi', + endDate: 'Lokadagsetning', + endTime: 'Lokat穩mi', + prevYear: 'S穩簸asta 獺r', + nextYear: 'N疆sta 獺r', + prevMonth: 'S穩簸asti m獺nu簸ur', + nextMonth: 'N疆sti m獺nu簸ur', + year: '�', + month1: 'Jan繳ar', + month2: 'Febr繳ar', + month3: 'Mars', + month4: 'Apr穩l', + month5: 'Ma穩', + month6: 'J繳n穩', + month7: 'J繳l穩', + month8: '�繳st', + month9: 'September', + month10: 'Okt籀ber', + month11: 'N籀vember', + month12: 'Desember', + week: 'Vika', + weeks: { + sun: 'Sun', + mon: 'M獺n', + tue: '�i', + wed: 'Mi簸', + thu: 'Fim', + fri: 'F繹s', + sat: 'Lau' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Ma穩', + jun: 'J繳n', + jul: 'J繳l', + aug: '�繳', + sep: 'Sep', + oct: 'Okt', + nov: 'N籀v', + dec: 'Des' + } + }, + select: { + loading: 'Hle簸', + noMatch: 'Ekkert fannst', + noData: 'Engin g繹gn', + placeholder: 'Velja' + }, + cascader: { + noMatch: 'Ekkert fannst', + loading: 'Hle簸', + placeholder: 'Velja', + noData: 'Engin g繹gn' + }, + pagination: { + goto: 'Fara 獺', + pagesize: '/sida', + total: 'Samtals {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Skilabo簸', + confirm: 'OK', + cancel: 'H疆tta vi簸', + error: 'Rangt innslegi簸' + }, + upload: { + deleteTip: 'smelltu 獺 ey簸a til a簸 ey簸a', + delete: 'Ey簸a', + preview: 'Sko簸a', + continue: 'Halda 獺fram' + }, + table: { + emptyText: 'Engin g繹gn', + confirmFilter: 'Sta簸festa', + resetFilter: 'Endurstilla', + clearFilter: 'Allt', + sumText: 'Summa' + }, + tree: { + emptyText: 'Engin g繹gn' + }, + transfer: { + noMatch: 'Engin g繹gn fundust', + noData: 'Engin g繹gn', + titles: ['Listi 1', 'Listi 2'], + filterPlaceholder: 'Sl獺 inn or簸', + noCheckedFormat: '{total} atri簸i', + hasCheckedFormat: '{checked}/{total} valin' + }, + image: { + error: 'VILLA' + }, + pageHeader: { + title: 'Til baka' + }, + popconfirm: { + confirmButtonText: 'J獺', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Engin g繹gn' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/it.js b/PAMapp/local_modules/element-ui/lib/locale/lang/it.js new file mode 100644 index 0000000..666be9f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/it.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Pulisci' + }, + datepicker: { + now: 'Ora', + today: 'Oggi', + cancel: 'Cancella', + clear: 'Pulisci', + confirm: 'OK', + selectDate: 'Seleziona data', + selectTime: 'Seleziona ora', + startDate: 'Data inizio', + startTime: 'Ora inizio', + endDate: 'Data fine', + endTime: 'Ora fine', + prevYear: 'Anno precedente', + nextYear: 'Anno successivo', + prevMonth: 'Mese precedente', + nextMonth: 'Mese successivo', + year: 'anno', + month1: 'Gennaio', + month2: 'Febbraio', + month3: 'Marzo', + month4: 'Aprile', + month5: 'Maggio', + month6: 'Giugno', + month7: 'Luglio', + month8: 'Agosto', + month9: 'Settembre', + month10: 'Ottobre', + month11: 'Novembre', + month12: 'Dicembre', + // week: 'settimana', + weeks: { + sun: 'Dom', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Gio', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Gen', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mag', + jun: 'Giu', + jul: 'Lug', + aug: 'Ago', + sep: 'Set', + oct: 'Ott', + nov: 'Nov', + dec: 'Dic' + } + }, + select: { + loading: 'Caricamento', + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + placeholder: 'Seleziona' + }, + cascader: { + noMatch: 'Nessuna corrispondenza', + loading: 'Caricamento', + placeholder: 'Seleziona', + noData: 'Nessun dato' + }, + pagination: { + goto: 'Vai a', + pagesize: '/pagina', + total: 'Totale {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annulla', + error: 'Input non valido' + }, + upload: { + deleteTip: 'Premi cancella per rimuovere', + delete: 'Cancella', + preview: 'Anteprima', + continue: 'Continua' + }, + table: { + emptyText: 'Nessun dato', + confirmFilter: 'Conferma', + resetFilter: 'Reset', + clearFilter: 'Tutti', + sumText: 'Somma' + }, + tree: { + emptyText: 'Nessun dato' + }, + transfer: { + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Inserisci filtro', + noCheckedFormat: '{total} elementi', + hasCheckedFormat: '{checked}/{total} selezionati' + }, + image: { + error: 'ERRORE' + }, + pageHeader: { + title: 'Indietro' + }, + popconfirm: { + confirmButtonText: 'S穫', + cancelButtonText: 'No' + }, + empty: { + description: 'Nessun dato' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ja.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ja.js new file mode 100644 index 0000000..66e83b2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ja.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '���' + }, + datepicker: { + now: '��', + today: '隞', + cancel: '�����', + clear: '���', + confirm: 'OK', + selectDate: '�隞����', + selectTime: '�������', + startDate: '���', + startTime: '������', + endDate: '蝯�', + endTime: '蝯����', + prevYear: '��僑', + nextYear: '蝧僑', + prevMonth: '����', + nextMonth: '蝧��', + year: '撟�', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: '�望活', + weeks: { + sun: '�', + mon: '���', + tue: '�', + wed: '瘞�', + thu: '�', + fri: '���', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '����葉', + noMatch: '�������', + noData: '�������', + placeholder: '����������' + }, + cascader: { + noMatch: '�������', + loading: '����葉', + placeholder: '����������', + noData: '�������' + }, + pagination: { + goto: '', + pagesize: '隞�/���', + total: '蝺�� {total} 隞�', + pageClassifier: '�����' + }, + messagebox: { + title: '�����', + confirm: 'OK', + cancel: '�����', + error: '甇���������' + }, + upload: { + deleteTip: 'Del������������', + delete: '������', + preview: '�����', + continue: '蝬����' + }, + table: { + emptyText: '�������', + confirmFilter: '蝣箄��', + resetFilter: '�����', + clearFilter: '���', + sumText: '����' + }, + tree: { + emptyText: '�������' + }, + transfer: { + noMatch: '�������', + noData: '�������', + titles: ['����� 1', '����� 2'], + filterPlaceholder: '����������', + noCheckedFormat: '蝺�� {total} 隞�', + hasCheckedFormat: '{checked}/{total} �������' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�������' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/kg.js b/PAMapp/local_modules/element-ui/lib/locale/lang/kg.js new file mode 100644 index 0000000..cca12a6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/kg.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '���請碧�', + clear: '訄��' + }, + datepicker: { + now: '訄郱��', + today: '訇玼迣玼郇', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + clear: '訄��', + confirm: '訇迮郅迣邽郅茤茤', + selectDate: '迡訄��', + selectTime: '�匾請棣憶� �教匾碧�', + startDate: '�參匾鉼創匾� 迡訄�參�', + startTime: 'Start �教匾碧�', + endDate: '�耕碩房� 迡訄�參�', + endTime: 'End �教匾碧�', + prevYear: '茤�碩房� 迠�銑�', + nextYear: '訇邽� 迠�鉼棣匾� 郕邽邿邽郇', + prevMonth: '茖�碩房� 訄邿迡訄', + nextMonth: '�覜塵覜請碟� 訄邿', + year: '迠��', + month1: '訇邽�邽郇�� 訄邿', + month2: '衪郕邽郇�� 訄邿迡訄', + month3: '珖�耘諸� 訄邿迡訄', + month4: '苠茤��耘諸� 訄邿迡訄', + month5: '訇迮�覜諸� 訄邿迡訄', + month6: '�鉼創參碧� 訄郅�� 訄邿', + month7: '迠迮�覜諸� 訄邿迡訄', + month8: '�菩創覜煩覜諸� 訄邿', + month9: '�鉼創參碧� �憶剩� 訄邿', + month10: '郋郇�諸� 訄邿迡訄', + month11: '郋郇 訇邽�邽郇�� 訄邿', + month12: '郋郇 �碟覜諸� 訄邿迡訄', + // week: '�甈�', + weeks: { + sun: '迠迮�� 迠�標�', + mon: '迡玼邿�房標啟�', + tue: '�菩塾菩標教�', + wed: '�參��菩標教�', + thu: '訇迮邿�菩標教�', + fri: '迠�標�', + sat: '邽�菩標教�' + }, + months: { + jan: '訇邽�邽郇�� 訄邿', + feb: '衪郕邽郇�� 訄邿迡訄', + mar: '珖�耘諸� 訄邿迡訄', + apr: '苠茤��耘諸� 訄邿迡訄', + may: '訇迮�覜諸� 訄邿迡訄', + jun: '�鉼創參碧� 訄郅�� 訄邿', + jul: '迠迮�覜諸� 訄邿迡訄', + aug: '�菩創覜煩覜諸� 訄邿', + sep: '�鉼創參碧� �憶剩� 訄邿', + oct: '郋郇�諸� 訄邿迡訄', + nov: '郋郇 訇邽�邽郇�� 訄邿', + dec: '郋郇 �碟覜諸� 訄邿迡訄' + } + }, + select: { + loading: '�耘碧房閡耙耘植�', + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + placeholder: '�匾請棣憶�' + }, + cascader: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + loading: '�耘碧房閡耙耘植�', + placeholder: '�匾請棣憶�', + noData: '邾訄訄郅�標參� 迠郋郕' + }, + pagination: { + goto: '���請碧�', + pagesize: '訇邽�', + total: '訇玼�耘請植房� {total} �匾� ', + pageClassifier: '訇迮��' + }, + messagebox: { + title: '�菩�', + confirm: '訇迮郅迣邽郅茤茤', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + error: '�匾匾銑標參參�迡�� 郕邽�迣邽郱玼玼 邾�塵煩匾標棋� �標萃�!' + }, + upload: { + deleteTip: '�憶� 郕�銑� 訇訄�碧� 訇訄�� 迠郋郕', + delete: '迠郋郕 郕�銑�', + preview: '�諸� 郕訄��覜請碟�', + continue: '迠玼郕�房� 訇迮�' + }, + table: { + emptyText: '邾訄訄郅�標參� 迠郋郕', + confirmFilter: '�諱碟�', + resetFilter: '郕訄邿�訄 郋�郇郋��', + clearFilter: '訇玼�碩房�', + sumText: '�參�迡�剩� 訇郋郅��' + }, + tree: { + emptyText: '邾訄訄郅�標參� 迠郋郕' + }, + transfer: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + titles: ['1 �覜煩標萃�', '2 �覜煩標萃�'], + filterPlaceholder: '苤��訄郇��, 邽郱迡茤茤 郕邽�迮��', + noCheckedFormat: '訇玼�耘請植房� {total} �匾�', + hasCheckedFormat: '苠訄郇迡訄郅迣訄郇 {checked}/{total} �匾�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '邾訄訄郅�標參� 迠郋郕' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/km.js b/PAMapp/local_modules/element-ui/lib/locale/lang/km.js new file mode 100644 index 0000000..a71f3d1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/km.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '���������', + clear: '�����' + }, + datepicker: { + now: '���������', + today: '���������', + cancel: '��������', + clear: '�����', + confirm: '���������', + selectDate: '��������������', + selectTime: '��������������', + startDate: '���������������', + startTime: '���������������', + endDate: '������������', + endTime: '������������', + prevYear: '����������', + nextYear: '�������������', + prevMonth: '�������', + nextMonth: '����������', + year: '�������', + month1: '�����', + month2: '���������', + month3: '����', + month4: '����', + month5: '����', + month6: '������', + month7: '���������', + month8: '����', + month9: '������', + month10: '����', + month11: '��������', + month12: '����', + week: '���������', + weeks: { + sun: '���������', + mon: '�������', + tue: '��������', + wed: '�����', + thu: '�����.���', + fri: '��������', + sat: '������' + }, + months: { + jan: '�����', + feb: '���������', + mar: '����', + apr: '����', + may: '����', + jun: '������', + jul: '���������', + aug: '����', + sep: '������', + oct: '����', + nov: '��������', + dec: '����' + } + }, + select: { + loading: '������������', + noMatch: '�����������������', + noData: '��������������', + placeholder: '����������' + }, + cascader: { + noMatch: '�����������������', + loading: '������������', + placeholder: '����������', + noData: '��������������' + }, + pagination: { + goto: '���������', + pagesize: '/�������', + total: '������ {total}', + pageClassifier: '' + }, + messagebox: { + title: '�����', + confirm: '���������', + cancel: '��������', + error: '�����������������������' + }, + upload: { + deleteTip: '��������������������', + delete: '�����', + preview: '�����', + continue: '������' + }, + table: { + emptyText: '��������������', + confirmFilter: '���������', + resetFilter: '��������������', + clearFilter: '���������', + sumText: '����' + }, + tree: { + emptyText: '��������������' + }, + transfer: { + noMatch: '�����������������', + noData: '��������������', + titles: ['����� �', '����� �'], + filterPlaceholder: '��������������', + noCheckedFormat: '{total} ����', + hasCheckedFormat: '{checked}/{total} ����������' + }, + image: { + error: '��������' + }, + pageHeader: { + title: 'Back' + }, + popconfirm: { + confirmButtonText: '������', + cancelButtonText: '���������' + }, + empty: { + description: '��������������' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ko.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ko.js new file mode 100644 index 0000000..2d11602 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ko.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '��', + clear: '黕萼���' + }, + datepicker: { + now: '鴔�篣�', + today: '����', + cancel: '鼒到��', + clear: '黕萼���', + confirm: '��', + selectDate: '���� ����', + selectTime: '���� ����', + startDate: '���� ����', + startTime: '���� ����', + endDate: '鮈�� ����', + endTime: '鮈�� ����', + prevYear: '鴔���', + nextYear: '���', + prevMonth: '鴔���', + nextMonth: '���', + year: '���', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: 'week', + weeks: { + sun: '�', + mon: '���', + tue: '���', + wed: '���', + thu: '諈�', + fri: '篣�', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '賱���� 鴗�', + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + placeholder: '����' + }, + cascader: { + noMatch: '諤�� ���穈� ����', + loading: '賱���� 鴗�', + placeholder: '����', + noData: '��� ����' + }, + pagination: { + goto: '����', + pagesize: '/page', + total: '黕� {total}', + pageClassifier: '' + }, + messagebox: { + title: '諰��', + confirm: '��', + cancel: '鼒到��', + error: '�諻打鴔� ��� ��' + }, + upload: { + deleteTip: '�謔原�� �����', + delete: '����', + preview: '諯賈收貐湊萼', + continue: '窸��萼' + }, + table: { + emptyText: '��� ����', + confirmFilter: '��', + resetFilter: '黕萼���', + clearFilter: '��眼', + sumText: '�' + }, + tree: { + emptyText: '��� ����' + }, + transfer: { + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + titles: ['謔科� 1', '謔科� 2'], + filterPlaceholder: ' �������', + noCheckedFormat: '{total} �諈�', + hasCheckedFormat: '{checked}/{total} ���' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��� ����' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ku.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ku.js new file mode 100644 index 0000000..442fe47 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ku.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Temam', + clear: 'Paqij bike' + }, + datepicker: { + now: 'Niha', + today: '�o', + cancel: 'Betal bike', + clear: 'Paqij bike', + confirm: 'Temam', + selectDate: 'D簾rok礙 bibij礙re', + selectTime: 'Dem礙 bibij礙re', + startDate: 'D簾roka Destp礙k礙', + startTime: 'Dema Destp礙k礙', + endDate: 'D簾roka Daw簾', + endTime: 'Dema Daw簾', + prevYear: 'Sala P礙��', + nextYear: 'Sala Pa��', + prevMonth: 'Meha P礙��', + nextMonth: 'Meha Pa��', + year: 'Sal', + month1: 'R礙bendan', + month2: 'Re�meh', + month3: 'Adar', + month4: 'Avr礙l', + month5: 'Gulan', + month6: 'P羶�er', + month7: 'T簾rmeh', + month8: 'Gilav礙j', + month9: 'Rezber', + month10: 'Kew癟礙r', + month11: 'Sarmawaz', + month12: 'Berfanbar', + // week: 'week', + weeks: { + sun: 'Yek', + mon: 'Du��', + tue: 'S礙��', + wed: '�r', + thu: 'P礙n', + fri: '�', + sat: '�m' + }, + months: { + jan: 'R礙b', + feb: 'Re��', + mar: 'Ada', + apr: 'Avr', + may: 'Gul', + jun: 'P羶��', + jul: 'T簾r', + aug: 'Gil', + sep: 'Rez', + oct: 'Kew', + nov: 'Sar', + dec: 'Ber' + } + }, + select: { + loading: 'Bardibe', + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + placeholder: 'Bibij礙re' + }, + cascader: { + noMatch: 'Li hembere ve agah簾 tune', + loading: 'Bardibe', + placeholder: 'Bibij礙re', + noData: 'Agah簾 tune' + }, + pagination: { + goto: 'Bi癟e', + pagesize: '/rupel', + total: 'Tevah簾 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Peyam', + confirm: 'Temam', + cancel: 'Betal bike', + error: 'Beyana 癟ewt' + }, + upload: { + deleteTip: 'ji bo rake p礙l "delete" bike', + delete: 'Rake', + preview: 'P礙�簾tin', + continue: 'Berdewam' + }, + table: { + emptyText: 'Agah簾 tune', + confirmFilter: 'Pi�rast bike', + resetFilter: 'J礙 bibe', + clearFilter: 'Hem羶', + sumText: 'Kom' + }, + tree: { + emptyText: 'Agah簾 tune' + }, + transfer: { + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + titles: ['L簾ste 1', 'L簾ste 2'], + filterPlaceholder: 'Biniv簾se', + noCheckedFormat: '{total} lib', + hasCheckedFormat: '{checked}/{total} bijartin' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Agah簾 tune' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/kz.js b/PAMapp/local_modules/element-ui/lib/locale/lang/kz.js new file mode 100644 index 0000000..aea66f7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/kz.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '�匾敗鉼棣參�', + clear: '苠訄郱訄郅訄��' + }, + datepicker: { + now: '�匾煤�', + today: '�耘剩�', + cancel: '�憶鉼棋�邾訄��', + clear: '苠訄郱訄郅訄��', + confirm: '�匾敗鉼棣參�', + selectDate: '�耘請棋� �曼�迡訄猀��', + selectTime: '苤訄�參� �曼�迡訄猀��', + startDate: '�參匾銑� 郕玼郇��', + startTime: '�參匾銑� �曼參�', + endDate: '�匾銑� 郕玼郇��', + endTime: '�匾銑� �曼參�', + prevYear: '�鉼棋��� 迠��', + nextYear: '�菩鉼萃� 迠��', + prevMonth: '�鉼棋��� 訄邿', + nextMonth: '�菩鉼萃� 訄邿', + year: '��', + month1: '�曼��參�', + month2: '�諱匾�', + month3: '�參���', + month4: '苤��', + month5: '�匾槽�', + month6: '�參�', + month7: '虼�鉼棣�', + month8: '苠訄邾��', + month9: '��郕玼邿迮郕', + month10: '�匾煩匾�', + month11: '�參�訄��', + month12: '�菩銑懊匾�', + week: '�謀�', + weeks: { + sun: '�菩�', + mon: '�耘�', + tue: '苤迮邿', + wed: '苤��', + thu: '�菩�', + fri: '�教�', + sat: '苤迮郇' + }, + months: { + jan: '�曼�', + feb: '��', + mar: '�參�', + apr: '苤��', + may: '�匾�', + jun: '�參�', + jul: '虼��', + aug: '苠訄邾', + sep: '��', + oct: '�匾�', + nov: '�參�', + dec: '�菩�' + } + }, + select: { + loading: '�耘碧菩銑棣�', + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + placeholder: '苠訄猀迡訄猀��' + }, + cascader: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + loading: '�耘碧菩銑棣�', + placeholder: '苠訄猀迡訄猀��', + noData: '�萃�迮郕�萃� 迠郋��' + }, + pagination: { + goto: '�參���', + pagesize: '/page', + total: '�參�郅�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苭訄訇訄�', + confirm: '�匾敗鉼棣參�', + cancel: '�憶鉼棋�邾訄��', + error: '�參�訄邾�� 迮郇迣�煤鉼萃�' + }, + upload: { + deleteTip: '茖���棋� 訇訄�� 茤������', + delete: '茖����', + preview: '�鉼棋� 訄郅訄 �參�訄��', + continue: '�匾閡參���' + }, + table: { + emptyText: '�萃�迮郕�萃� 迠郋��', + confirmFilter: '�匾敗鉼棣參�', + resetFilter: '�匾鉼謀請� 郕迮郅����', + clearFilter: '�參�郅��', + sumText: '苤郋邾訄��' + }, + tree: { + emptyText: '�萃�迮郕�萃� 迠郋��' + }, + transfer: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + titles: ['List 1', 'List 2'], + filterPlaceholder: '�銑� �房煩棋� 迮郇迣�煤���', + noCheckedFormat: '{total} �銑槽諸�', + hasCheckedFormat: '{checked}/{total} �敗教菩鉼剩� �憶塾鉼棋�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�萃�迮郕�萃� 迠郋��' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/lt.js b/PAMapp/local_modules/element-ui/lib/locale/lang/lt.js new file mode 100644 index 0000000..bdfc0a0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/lt.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Valyti' + }, + datepicker: { + now: 'Dabar', + today: '�andien', + cancel: 'At禳aukti', + clear: 'Valyti', + confirm: 'OK', + selectDate: 'Pasirink dat��', + selectTime: 'Pasirink laik��', + startDate: 'Data nuo', + startTime: 'Laikas nuo', + endDate: 'Data iki', + endTime: 'Laikas iki', + prevYear: 'Metai atgal', + nextYear: 'Metai 蠕 priek蠕', + prevMonth: 'M�. atgal', + nextMonth: 'M�. 蠕 priek蠕', + year: '', + month1: 'Sausis', + month2: 'Vasaris', + month3: 'Kovas', + month4: 'Balandis', + month5: 'Gegu鱉��', + month6: 'Bir鱉elis', + month7: 'Liepa', + month8: 'Rugpj贖tis', + month9: 'Rugs�is', + month10: 'Spalis', + month11: 'Lapkritis', + month12: 'Gruodis', + // week: 'savait��', + weeks: { + sun: 'S.', + mon: 'Pr.', + tue: 'A.', + wed: 'T.', + thu: 'K.', + fri: 'Pn.', + sat: '��.' + }, + months: { + jan: 'Sau', + feb: 'Vas', + mar: 'Kov', + apr: 'Bal', + may: 'Geg', + jun: 'Bir', + jul: 'Lie', + aug: 'Rugp', + sep: 'Rugs', + oct: 'Spa', + nov: 'Lap', + dec: 'Gruo' + } + }, + select: { + loading: 'Kraunasi', + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + placeholder: 'Pasirink' + }, + cascader: { + noMatch: 'Duomen鑒 nerasta', + loading: 'Kraunasi', + placeholder: 'Pasirink', + noData: 'N�a duomen鑒' + }, + pagination: { + goto: 'Eiti 蠕', + pagesize: '/p', + total: 'Viso {total}', + pageClassifier: '' + }, + messagebox: { + title: '鬚inut��', + confirm: 'OK', + cancel: 'At禳aukti', + error: 'Klaida 蠕vestuose duomenyse' + }, + upload: { + deleteTip: 'spauskite "Trinti" nor�ami pa禳alinti', + delete: 'Trinti', + preview: 'Per鱉i贖r�i', + continue: 'Toliau' + }, + table: { + emptyText: 'Duomen鑒 nerasta', + confirmFilter: 'Patvirtinti', + resetFilter: 'Atstatyti', + clearFilter: 'I禳valyti', + sumText: 'Suma' + }, + tree: { + emptyText: 'N�a duomen鑒' + }, + transfer: { + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + titles: ['S�a禳as 1', 'S�a禳as 2'], + filterPlaceholder: '蠔vesk rakta鱉od蠕', + noCheckedFormat: 'Viso: {total}', + hasCheckedFormat: 'Pa鱉ym�a {checked} i禳 {total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Duomen鑒 nerasta' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/lv.js b/PAMapp/local_modules/element-ui/lib/locale/lang/lv.js new file mode 100644 index 0000000..0e4e49e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/lv.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Labi', + clear: 'Not蘋r蘋t' + }, + datepicker: { + now: 'Tagad', + today: '�dien', + cancel: 'Atcelt', + clear: 'Not蘋r蘋t', + confirm: 'Labi', + selectDate: 'Izv��ies datumu', + selectTime: 'Izv��ies laiku', + startDate: 'S�uma datums', + startTime: 'S�uma laiks', + endDate: 'Beigu datums', + endTime: 'Beigu laiks', + prevYear: 'Iepriek禳�ais gads', + nextYear: 'N�amais gads', + prevMonth: 'Iepriek禳�ais m�esis', + nextMonth: 'N�amais m�esis', + year: '', + month1: 'Janv�is', + month2: 'Febru�is', + month3: 'Marts', + month4: 'Apr蘋lis', + month5: 'Maijs', + month6: 'J贖nijs', + month7: 'J贖lijs', + month8: 'Augusts', + month9: 'Septembris', + month10: 'Oktobris', + month11: 'Novembris', + month12: 'Decembris', + // week: 'ned�嫵', + weeks: { + sun: 'Sv', + mon: 'Pr', + tue: 'Ot', + wed: 'Tr', + thu: 'Ce', + fri: 'Pk', + sat: 'Se' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'J贖n', + jul: 'J贖l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Iel���', + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + placeholder: 'Izv��ies' + }, + cascader: { + noMatch: 'Nav atbilsto禳u datu', + loading: 'Iel���', + placeholder: 'Izv��ies', + noData: 'Nav datu' + }, + pagination: { + goto: 'Iet uz', + pagesize: '/lapa', + total: 'Kop�� {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pazi�jums', + confirm: 'Labi', + cancel: 'Atcelt', + error: 'Neder蘋ga ievade' + }, + upload: { + deleteTip: 'Nospiediet dz�t lai iz�mtu', + delete: 'Dz�t', + preview: 'Priek禳skat蘋t', + continue: 'Turpin�' + }, + table: { + emptyText: 'Nav datu', + confirmFilter: 'Apstiprin�', + resetFilter: 'Atiestat蘋t', + clearFilter: 'Visi', + sumText: 'Summa' + }, + tree: { + emptyText: 'Nav datu' + }, + transfer: { + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + titles: ['Saraksts 1', 'Saraksts 2'], + filterPlaceholder: 'Ievad蘋t atsl�v�du', + noCheckedFormat: '{total} vien蘋bas', + hasCheckedFormat: '{checked}/{total} atz蘋m�i' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nav datu' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/mn.js b/PAMapp/local_modules/element-ui/lib/locale/lang/mn.js new file mode 100644 index 0000000..de11bdd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/mn.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '苠邽邿邾', + clear: '虷�紼�郅��' + }, + datepicker: { + now: '�棣憶�', + today: '茖郇茤茤迡茤�', + cancel: '�憶鉼解�', + clear: '虷�紼�郅��', + confirm: '苠邽邿邾', + selectDate: '�創請憶憶� �憶請創�', + selectTime: '虷訄迣邽邿迣 �憶請創�', + startDate: '衪�銑� 郋迣郇郋郋', + startTime: '衪�銑� �匾�', + endDate: '�參� 郋迣郇郋郋', + endTime: '�參� �匾�', + prevYear: '茖邾郇茤�� 迠邽郅', + nextYear: '�參�訄訄 迠邽郅', + prevMonth: '茖邾郇茤�� �參�', + nextMonth: '�參�訄訄 �參�', + year: '郋郇', + month1: '1 �參�', + month2: '2 �參�', + month3: '3 �參�', + month4: '4 �參�', + month5: '5 �參�', + month6: '6 �參�', + month7: '7 �參�', + month8: '8 �參�', + month9: '9 �參�', + month10: '10 �參�', + month11: '11 �參�', + month12: '12 �參�', + week: '�憶鉼憶� �憶請憶�', + weeks: { + sun: '��', + mon: '�匾�', + tue: '��', + wed: '��', + thu: '�耕�', + fri: '�匾�', + sat: '��' + }, + months: { + jan: '1 �參�', + feb: '2 �參�', + mar: '3 �參�', + apr: '4 �參�', + may: '5 �參�', + jun: '6 �參�', + jul: '7 �參�', + aug: '8 �參�', + sep: '9 �參�', + oct: '10 �參�', + nov: '11 �參�', + dec: '12 �參�' + } + }, + select: { + loading: '�匾匾鉼� 訇訄邿郇訄', + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + placeholder: '苤郋郇迣郋��' + }, + cascader: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + loading: '�匾匾鉼� 訇訄邿郇訄', + placeholder: '苤郋郇迣郋��', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + pagination: { + goto: '�解�', + pagesize: '/�棣參�', + total: '�覜塾� {total}', + pageClassifier: '' + }, + messagebox: { + title: '��赲訄��', + confirm: '苠邽邿邾', + cancel: '�憶鉼解�', + error: '���� �創�' + }, + upload: { + deleteTip: '苺�創參� 迡訄�迠 訄�邽郅迣訄', + delete: '苺�創參�', + preview: '茖邾郇茤��', + continue: '珖�迣�鉼剷閡耙耘銑�' + }, + table: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + confirmFilter: '�房紼承戾�茤��', + resetFilter: '虷�紼�郅��', + clearFilter: '�耘創�', + sumText: '�覜塾�' + }, + tree: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + transfer: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + titles: ['�匾剩匾匾銑� 1', '�匾剩匾匾銑� 2'], + filterPlaceholder: '苺�創� 郋���', + noCheckedFormat: '{total} 茤迣茤迣迡茤郅', + hasCheckedFormat: '{checked}/{total} �憶請創憾憶�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ms.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ms.js new file mode 100644 index 0000000..d2bae8e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ms.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Sah', + clear: 'Padam' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Padam', + confirm: 'Sah', + selectDate: 'Pilih Tarikh', + selectTime: 'Pilih Masa', + startDate: 'Tarikh Mula', + startTime: 'Masa Mula', + endDate: 'Tarikh Tamat', + endTime: 'Masa Tamat', + prevYear: 'Tahun Lepas', + nextYear: 'Tahun Depan', + prevMonth: 'Bulan Lepas', + nextMonth: 'Bulan Depan', + year: 'Tahun', + month1: 'Januari', + month2: 'Febuari', + month3: 'Mac', + month4: 'April', + month5: 'Mei', + month6: 'Jun', + month7: 'Julai', + month8: 'Ogos', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Disember', + weeks: { + sun: 'Ahad', + mon: 'Isnin', + tue: 'Selasa', + wed: 'Rabu', + thu: 'Khamis', + fri: 'Jumaat', + sat: 'Sabtu' + }, + months: { + jan: 'Januari', + feb: 'Febuari', + mar: 'Mac', + apr: 'April', + may: 'Mei', + jun: 'Jun', + jul: 'Julai', + aug: 'Ogos', + sep: 'September', + oct: 'Oktober', + nov: 'November', + dec: 'Disember' + } + }, + select: { + loading: 'Sedang dimuat turun', + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + placeholder: 'Sila pilih' + }, + cascader: { + noMatch: 'Tiada maklumat yang sepadan', + loading: 'Sedang dimuat turun', + placeholder: 'Sila pilih', + noData: 'Tiada maklumat' + }, + pagination: { + goto: 'Seterusnya', + pagesize: 'x/Halaman', + total: 'Jumlah {total} ', + pageClassifier: 'Halaman' + }, + messagebox: { + title: 'Tip', + confirm: 'Sah', + cancel: 'Batal', + error: 'Data yang diisi tidak sah!' + }, + upload: { + deleteTip: 'Tekan "Padam" untuk memadam', + delete: 'Padam', + preview: 'Pratonton gambar', + continue: 'Meneruskan muat naik' + }, + table: { + emptyText: 'Tiada maklumat', + confirmFilter: 'Tapis', + resetFilter: 'Set Semula', + clearFilter: 'Semua', + sumText: 'Jumlah' + }, + tree: { + emptyText: 'Tiada maklumat' + }, + transfer: { + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukkan kandungan carian', + noCheckedFormat: 'Jumlah {total} item', + hasCheckedFormat: 'Telah memilih {checked}/{total} item' + }, + image: { + error: 'Muat turun gagal' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Sah', + cancelButtonText: 'Batal' + }, + empty: { + description: 'Tiada maklumat' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/nb-NO.js b/PAMapp/local_modules/element-ui/lib/locale/lang/nb-NO.js new file mode 100644 index 0000000..250ebf9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/nb-NO.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繪m' + }, + datepicker: { + now: 'N疇', + today: 'I dag', + cancel: 'Avbryt', + clear: 'T繪m', + confirm: 'OK', + selectDate: 'Velg dato', + selectTime: 'Velg tidspunkt', + startDate: 'Start Dato', + startTime: 'Start Tidspunkt', + endDate: 'Sluttdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige �', + nextYear: 'Neste �', + prevMonth: 'Forrige M疇ned', + nextMonth: 'Neste M疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Mars', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'week', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laster', + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + placeholder: 'Velg' + }, + cascader: { + noMatch: 'Ingen samsvarende data', + loading: 'Laster', + placeholder: 'Velg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Avbryt', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'trykk slett for 疇 ta bort', + delete: 'Slett', + preview: 'Forh疇ndsvisning', + continue: 'Fortsett' + }, + table: { + emptyText: 'Ingen Data', + confirmFilter: 'Bekreft', + resetFilter: 'Tilbakestill', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen Data' + }, + transfer: { + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Tast inn n繪kkelord', + noCheckedFormat: '{total} gjenstander', + hasCheckedFormat: '{checked}/{total} sjekket' + }, + image: { + error: 'MISLYKTES' + }, + pageHeader: { + title: 'Tilbake' + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Ingen Data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/nl.js b/PAMapp/local_modules/element-ui/lib/locale/lang/nl.js new file mode 100644 index 0000000..d422fc0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/nl.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Wissen' + }, + datepicker: { + now: 'Nu', + today: 'Vandaag', + cancel: 'Annuleren', + clear: 'Legen', + confirm: 'Bevestig', + selectDate: 'Selecteer datum', + selectTime: 'Selecteer tijd', + startDate: 'Startdatum', + startTime: 'Starttijd', + endDate: 'Einddatum', + endTime: 'Eindtijd', + prevYear: 'Vorig jaar', + nextYear: 'Volgend jaar', + prevMonth: 'Vorige maand', + nextMonth: 'Volgende maand', + year: '', + month1: 'januari', + month2: 'februari', + month3: 'maart', + month4: 'april', + month5: 'mei', + month6: 'juni', + month7: 'juli', + month8: 'augustus', + month9: 'september', + month10: 'oktober', + month11: 'november', + month12: 'december', + // week: 'week', + weeks: { + sun: 'Zo', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Za' + }, + months: { + jan: 'jan', + feb: 'feb', + mar: 'maa', + apr: 'apr', + may: 'mei', + jun: 'jun', + jul: 'jul', + aug: 'aug', + sep: 'sep', + oct: 'okt', + nov: 'nov', + dec: 'dec' + } + }, + select: { + loading: 'Laden', + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + placeholder: 'Selecteer' + }, + cascader: { + noMatch: 'Geen overeenkomende resultaten', + loading: 'Laden', + placeholder: 'Selecteer', + noData: 'Geen data' + }, + pagination: { + goto: 'Ga naar', + pagesize: '/pagina', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Bericht', + confirm: 'Bevestig', + cancel: 'Annuleren', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'Kies verwijder om te wissen', + delete: 'Verwijder', + preview: 'Voorbeeld', + continue: 'Doorgaan' + }, + table: { + emptyText: 'Geen data', + confirmFilter: 'Bevestigen', + resetFilter: 'Reset', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen data' + }, + transfer: { + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + titles: ['Lijst 1', 'Lijst 2'], + filterPlaceholder: 'Geef zoekwoerd', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} geselecteerd' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/pl.js b/PAMapp/local_modules/element-ui/lib/locale/lang/pl.js new file mode 100644 index 0000000..1bc7b63 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/pl.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Wyczy��' + }, + datepicker: { + now: 'Teraz', + today: 'Dzisiaj', + cancel: 'Anuluj', + clear: 'Wyczy��', + confirm: 'OK', + selectDate: 'Wybierz dat��', + selectTime: 'Wybierz godzin��', + startDate: 'Data pocz�kowa', + startTime: 'Godzina pocz�kowa', + endDate: 'Data ko�owa', + endTime: 'Czas ko�owa', + prevYear: 'Poprzedni rok', + nextYear: 'Nast�ny rok', + prevMonth: 'Poprzedni miesi�', + nextMonth: 'Nast�ny miesi�', + year: 'rok', + month1: 'stycze��', + month2: 'luty', + month3: 'marzec', + month4: 'kwiecie��', + month5: 'maj', + month6: 'czerwiec', + month7: 'lipiec', + month8: 'sierpie��', + month9: 'wrzesie��', + month10: 'pa驕dziernik', + month11: 'listopad', + month12: 'grudzie��', + week: 'tydzie��', + weeks: { + sun: 'niedz.', + mon: 'pon.', + tue: 'wt.', + wed: '�.', + thu: 'czw.', + fri: 'pt.', + sat: 'sob.' + }, + months: { + jan: 'STY', + feb: 'LUT', + mar: 'MAR', + apr: 'KWI', + may: 'MAJ', + jun: 'CZE', + jul: 'LIP', + aug: 'SIE', + sep: 'WRZ', + oct: 'PA饕', + nov: 'LIS', + dec: 'GRU' + } + }, + select: { + loading: '�dowanie', + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + placeholder: 'Wybierz' + }, + cascader: { + noMatch: 'Brak dopasowa��', + loading: '�dowanie', + placeholder: 'Wybierz', + noData: 'Brak danych' + }, + pagination: { + goto: 'Id驕 do', + pagesize: '/strona', + total: 'Wszystkich {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Wiadomo��', + confirm: 'OK', + cancel: 'Anuluj', + error: 'Wiadomo�� zawiera niedozwolone znaki' + }, + upload: { + deleteTip: 'kliknij kasuj aby usun��', + delete: 'Kasuj', + preview: 'Podgl�', + continue: 'Kontynuuj' + }, + table: { + emptyText: 'Brak danych', + confirmFilter: 'Potwierd驕', + resetFilter: 'Resetuj', + clearFilter: 'Wszystko', + sumText: 'Razem' + }, + tree: { + emptyText: 'Brak danych' + }, + transfer: { + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Wpisz szukan�� fraz��', + noCheckedFormat: 'razem: {total}', + hasCheckedFormat: 'wybranych: {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Brak danych' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/pt-br.js b/PAMapp/local_modules/element-ui/lib/locale/lang/pt-br.js new file mode 100644 index 0000000..94000fd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/pt-br.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data inicial', + startTime: 'Hora inicial', + endDate: 'Data final', + endTime: 'Hora final', + prevYear: 'Ano anterior', + nextYear: 'Pr籀ximo ano', + prevMonth: 'M礙s anterior', + nextMonth: 'Pr籀ximo m礙s', + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'Carregando', + noMatch: 'Sem resultados', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem resultados', + loading: 'Carregando', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'aperte delete para apagar', + delete: 'Apagar', + preview: 'Pr矇-visualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Total' + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem resultados', + noData: 'Sem dados', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Digite uma palavra-chave', + noCheckedFormat: '{total} itens', + hasCheckedFormat: '{checked}/{total} selecionados' + }, + image: { + error: 'Erro ao carregar imagem' + }, + pageHeader: { + title: 'Voltar' + }, + popconfirm: { + confirmButtonText: 'Sim', + cancelButtonText: 'N瓊o' + }, + empty: { + description: 'Sem dados' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/pt.js b/PAMapp/local_modules/element-ui/lib/locale/lang/pt.js new file mode 100644 index 0000000..f8c058e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/pt.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data de inicio', + startTime: 'Hora de inicio', + endDate: 'Data de fim', + endTime: 'Hora de fim', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'A carregar', + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem correspond礙ncia', + loading: 'A carregar', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Apagar', + preview: 'Previsualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Sem dados' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ro.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ro.js new file mode 100644 index 0000000..0ad14a7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ro.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�erge' + }, + datepicker: { + now: 'Acum', + today: 'Azi', + cancel: 'Anuleaz��', + clear: '�erge', + confirm: 'OK', + selectDate: 'Selecteaz�� data', + selectTime: 'Selecteaz�� ora', + startDate: 'Data de 簾nceput', + startTime: 'Ora de 簾nceput', + endDate: 'Data de sf璽r�t', + endTime: 'Ora de sf璽r�t', + prevYear: 'Anul trecut', + nextYear: 'Anul urm�or', + prevMonth: 'Luna trecut��', + nextMonth: 'Luna urm�oare', + year: '', + month1: 'Ianuarie', + month2: 'Februarie', + month3: 'Martie', + month4: 'Aprilie', + month5: 'Mai', + month6: 'Iunie', + month7: 'Iulie', + month8: 'August', + month9: 'Septembrie', + month10: 'Octombrie', + month11: 'Noiembrie', + month12: 'Decembrie', + // week: 'week', + weeks: { + sun: 'Du', + mon: 'Lu', + tue: 'Ma', + wed: 'Mi', + thu: 'Jo', + fri: 'Vi', + sat: 'S璽' + }, + months: { + jan: 'Ian', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Iun', + jul: 'Iul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Noi', + dec: 'Dec' + } + }, + select: { + loading: 'Se 簾ncarc��', + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + placeholder: 'Selecteaz��' + }, + cascader: { + noMatch: 'Nu exist�� date potrivite', + loading: 'Se 簾ncarc��', + placeholder: 'Selecteaz��', + noData: 'Nu exist�� date' + }, + pagination: { + goto: 'Go to', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'OK', + cancel: 'Anuleaz��', + error: 'Date introduse eronate' + }, + upload: { + deleteTip: 'ap�a� pe �erge� pentru a elimina', + delete: '�erge', + preview: 'previzualizare', + continue: 'continu��' + }, + table: { + emptyText: 'Nu exist�� date', + confirmFilter: 'Confirm��', + resetFilter: 'Reseteaz��', + clearFilter: 'Tot', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nu exist�� date' + }, + transfer: { + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Introduce� cuv璽ntul cheie', + noCheckedFormat: '{total} elemente', + hasCheckedFormat: '{checked}/{total} verificate' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nu exist�� date' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ru-RU.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ru-RU.js new file mode 100644 index 0000000..f4cca69 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ru-RU.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�解解�' + }, + datepicker: { + now: '苤迮邿�參�', + today: '苤迮迣郋迡郇��', + cancel: '�標菩請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�敗�訄�� 迡訄��', + selectTime: '�敗�訄�� 赲�迮邾��', + startDate: '�參� 郇訄�匾鉼�', + startTime: '��迮邾�� 郇訄�匾鉼�', + endDate: '�參� 郋郕郋郇�匾請解�', + endTime: '��迮邾�� 郋郕郋郇�匾請解�', + prevYear: '��迮迡�棋覜� 迣郋迡', + nextYear: '苤郅迮迡�覜� 迣郋迡', + prevMonth: '��迮迡�棋覜� 邾迮��', + nextMonth: '苤郅迮迡�覜� 邾迮��', + year: '', + month1: '觓郇赲訄���', + month2: '苳迮赲�訄郅��', + month3: '�參���', + month4: '�謀�迮郅��', + month5: '�匾�', + month6: '�諸�', + month7: '�銑�', + month8: '�紹剩�', + month9: '苤迮郇�敗���', + month10: '�碧敗���', + month11: '�憾敗���', + month12: '�菩碟匾敗���', + week: '郇迮迡迮郅��', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '觓郇赲', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '��', + jul: '��', + aug: '�紹�', + sep: '苤迮郇', + oct: '�碧�', + nov: '�憾�', + dec: '�菩�' + } + }, + select: { + loading: '�匾剩��煩碟�', + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + loading: '�匾剩��煩碟�', + placeholder: '�敗�訄��', + noData: '�萃� 迡訄郇郇��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: ' 郇訄 ��訄郇邽��', + total: '�菩創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤郋郋訇�菩請覜�', + confirm: 'OK', + cancel: '�標菩請�', + error: '�菩棣憶謀覜槽� 赲赲郋迡 迡訄郇郇��' + }, + upload: { + deleteTip: '�匾剷標解� [苺迡訄郅邽� 迡郅�� �棣匾鉼菩請解�', + delete: '苺迡訄郅邽��', + preview: '��迮迡郈�郋�標憾�', + continue: '��郋迡郋郅迠邽��' + }, + table: { + emptyText: '�萃� 迡訄郇郇��', + confirmFilter: '�憶棋紹萃�迡邽��', + resetFilter: '苤訇�郋�解�', + clearFilter: '��', + sumText: '苤�標標�' + }, + tree: { + emptyText: '�萃� 迡訄郇郇��' + }, + transfer: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棣解� 郕郅�菩紹憶� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧憶�', + hasCheckedFormat: '{checked}/{total} 赲�敗�訄郇郋' + }, + image: { + error: '��郋邽郱郋�鉼� 郋�覜教碟�' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: 'OK', + cancelButtonText: '�標菩請�' + }, + empty: { + description: '�萃� 迡訄郇郇��' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/si.js b/PAMapp/local_modules/element-ui/lib/locale/lang/si.js new file mode 100644 index 0000000..dc65284 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/si.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '鈮飩鈮�', + clear: '鈮���� 銃飩銃晤�雇' + }, + datepicker: { + now: '銃能�雇鈮�', + today: '銃雄', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + clear: '鈮���� 銃飩銃晤�雇', + confirm: '鈮飩鈮�', + selectDate: '銃能�雇銃� 銃冢�飩銃晤�雇', + selectTime: '鈮�鈮飭鈮� 銃冢�飩銃晤�雇', + startDate: '銃飩銃詮�須銃� 銃能�雇銃�', + startTime: '銃飩銃詮�須銃� 鈮�鈮飭鈮�', + endDate: '銃�鈮雇鈮� 鈮�銃� 銃能�雇銃�', + endTime: '銃�鈮雇鈮� 鈮�銃� 鈮�鈮飭鈮�', + prevYear: '銃飭鈮雇鈮� 銃�鈮飩鈮雄鈮雄', + nextYear: '銃��� 銃�鈮飩鈮雄鈮雄', + prevMonth: '銃飭鈮雇鈮� 銃詮��飯', + nextMonth: '銃��� 銃詮��飯', + year: '', + month1: '銃能�飩鈮雁鈮�', + month2: '銃晤�銃詮��', + month3: '銃詮�雄鈮雇鈮�', + month4: '銃嗣���', + month5: '鈮�鈮����', + month6: '銃毯���雇鈮�', + month7: '銃���', + month8: '銃晤���陲鈮�', + month9: '銃嗣�雇銃�', + month10: '鈮�銃毯��', + month11: '銃飭鈮�', + month12: '銃雲鈮�銃毯��', + week: '鈮雁鈮飯', + weeks: { + sun: '銃飩鈮雄鈮�', + mon: '鈮雲鈮雄鈮�', + tue: '銃���', + wed: '銃嗣雄鈮雄鈮�', + thu: '銃嗣��飩鈮���', + fri: '鈮����', + sat: '鈮�雇' + }, + months: { + jan: '銃能�飩鈮雁鈮�', + feb: '銃晤�銃詮��', + mar: '銃詮�雄鈮雇鈮�', + apr: '銃嗣���', + may: '鈮�鈮����', + jun: '銃毯����雇鈮�', + jul: '銃���', + aug: '銃晤���陲鈮�', + sep: '銃嗣�雇銃�', + oct: '鈮�銃毯��', + nov: '銃飭鈮�', + dec: '銃雲鈮�' + } + }, + select: { + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃能雁鈮雁 銃晤�雁', + placeholder: '銃冢�飩銃晤�雇' + }, + cascader: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + placeholder: '銃冢�飩銃晤�雇', + noData: '銃能雁鈮雁 銃晤�雁' + }, + pagination: { + goto: '鈮�鈮雁 銃箋雇鈮雇', + pagesize: '/銃毯�陽鈮�', + total: '銃詮���� {total}', + pageClassifier: '' + }, + messagebox: { + title: '銃毯陲鈮�鈮隆銃�', + confirm: '鈮飩鈮�', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + error: '銃雇鈮雁鈮�� 銃雄鈮雇銃箋���' + }, + upload: { + deleteTip: '銃�銃冢飭鈮飧銃� 銃詮�雇鈮雇 銃順銃晤�雇', + delete: '銃詮�雇鈮雇', + preview: '銃毯�飩銃能��雇', + continue: '銃雄鈮飩鈮飯銃�' + }, + table: { + emptyText: '銃能雁鈮雁 銃晤�雁', + confirmFilter: '銃冢��鈮飩鈮�', + resetFilter: '銃箋��� 鈮��雇鈮雇', + clearFilter: '鈮�飯銃賞�飭', + sumText: '銃�雁鈮�' + }, + tree: { + emptyText: '銃能雁鈮雁 銃晤�雁' + }, + transfer: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃冢�飩銃晤�雇', + titles: ['銃賞��雇銃� 1', '銃賞��雇銃� 2'], // to be translated + filterPlaceholder: '銃詮�飭銃毯雄銃� 銃箋�雄銃晤�雇', // to be translated + noCheckedFormat: '銃雅銃� {total}', // to be translated + hasCheckedFormat: '{checked}/{total} 銃毯飩鈮������ 鈮�鈮飯' // to be translated + }, + image: { + error: '銃�飧銃冢�� 鈮�鈮飯' + }, + pageHeader: { + title: '銃韌鈮��' // to be translated + }, + popconfirm: { + confirmButtonText: '銃�鈮�', + cancelButtonText: '銃晤����' + }, + empty: { + description: '銃能雁鈮雁 銃晤�雁' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/sk.js b/PAMapp/local_modules/element-ui/lib/locale/lang/sk.js new file mode 100644 index 0000000..6a67761 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/sk.js @@ -0,0 +1,128 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Zmaza聽' + }, + datepicker: { + now: 'Teraz', + today: 'Dnes', + cancel: 'Zru禳i聽', + clear: 'Zmaza聽', + confirm: 'OK', + selectDate: 'Vybra聽 d獺tum', + selectTime: 'Vybra聽 �s', + startDate: 'D獺tum za�atku', + startTime: '�s za�atku', + endDate: 'D獺tum konca', + endTime: '�s konca', + prevYear: 'Predo禳l羸 rok', + nextYear: '�l禳穩 rok', + prevMonth: 'Predo禳l羸 mesiac', + nextMonth: '�l禳穩 mesiac', + day: 'De��', + week: 'T羸鱉de��', + month: 'Mesiac', + year: 'Rok', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'Marec', + month4: 'Apr穩l', + month5: 'M獺j', + month6: 'J繳n', + month7: 'J繳l', + month8: 'August', + month9: 'September', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: 'Ut', + wed: 'St', + thu: '�', + fri: 'Pi', + sat: 'So' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Na�負avanie', + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + placeholder: 'Vybra聽' + }, + cascader: { + noMatch: '鬚iadna zhoda', + loading: 'Na�負avanie', + placeholder: 'Vybra聽', + noData: '鬚iadne d獺ta' + }, + pagination: { + goto: 'Cho�� na', + pagesize: 'na stranu', + total: 'V禳etko {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Spr獺va', + confirm: 'OK', + cancel: 'Zru禳i聽', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'pre odstr獺nenie stisni kl獺vesu Delete', + delete: 'Vymaza聽', + preview: 'Prehliada聽', + continue: 'Pokra�va聽' + }, + table: { + emptyText: '鬚iadne d獺ta', + confirmFilter: 'Potvrdi聽', + resetFilter: 'Zresetova聽', + clearFilter: 'V禳etko', + sumText: 'Spolu' + }, + tree: { + emptyText: '鬚iadne d獺ta' + }, + transfer: { + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + titles: ['Zoznam 1', 'Zoznam 2'], + filterPlaceholder: 'Filtrova聽 pod躂a', + noCheckedFormat: '{total} polo鱉iek', + hasCheckedFormat: '{checked}/{total} ozna�n羸ch' + }, + image: { + error: 'Chyba na�負ania' + }, + pageHeader: { + title: 'Sp瓣聽' + }, + popconfirm: { + confirmButtonText: 'Potvrdi聽', + cancelButtonText: 'Zru禳i聽' + }, + empty: { + description: '鬚iadne d獺ta' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/sl.js b/PAMapp/local_modules/element-ui/lib/locale/lang/sl.js new file mode 100644 index 0000000..9a757a6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/sl.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'V redu', + clear: 'Po�sti' + }, + datepicker: { + now: 'Zdaj', + today: 'Danes', + cancel: 'Prekli�', + clear: 'Po�sti', + confirm: 'Potrdi', + selectDate: 'Izberi datum', + selectTime: 'Izberi �s', + startDate: 'Za�tni datum', + startTime: 'Za�tni �s', + endDate: 'Kon�i datum', + endTime: 'Kon�i �s', + prevYear: 'Prej禳nje leto', + nextYear: 'Naslednje leto', + prevMonth: 'Prej禳nji mesec', + nextMonth: 'Naslednji mesec', + year: '', + month1: 'Jan', + month2: 'Feb', + month3: 'Mar', + month4: 'Apr', + month5: 'Maj', + month6: 'Jun', + month7: 'Jul', + month8: 'Avg', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Dec', + week: 'teden', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Tor', + wed: 'Sre', + thu: '�t', + fri: 'Pet', + sat: 'Sob' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Avg', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Nalaganje', + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + placeholder: 'Izberi' + }, + cascader: { + noMatch: 'Ni ustreznih podatkov', + loading: 'Nalaganje', + placeholder: 'Izberi', + noData: 'Ni podatkov' + }, + pagination: { + goto: 'Pojdi na', + pagesize: '/stran', + total: 'Skupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Sporo�lo', + confirm: 'V redu', + cancel: 'Prekli�', + error: 'Nedovoljen vnos' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Izbri禳i', + preview: 'Predogled', + continue: 'Nadaljuj' + }, + table: { + emptyText: 'Ni podatkov', + confirmFilter: 'Potrdi', + resetFilter: 'Ponastavi', + clearFilter: 'Vse', + sumText: 'Skupno' + }, + tree: { + emptyText: 'Ni podatkov' + }, + transfer: { + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Vnesi klju�o besedo', + noCheckedFormat: '{total} elementov', + hasCheckedFormat: '{checked}/{total} izbranih' + }, + image: { + error: 'NEUSPELO' + }, + pageHeader: { + title: 'Nazaj' + }, + popconfirm: { + confirmButtonText: 'Da', + cancelButtonText: 'Ne' + }, + empty: { + description: 'Ni podatkov' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/sr.js b/PAMapp/local_modules/element-ui/lib/locale/lang/sr.js new file mode 100644 index 0000000..0fc3c40 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/sr.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�憶請解�' + }, + datepicker: { + now: '苤訄迡', + today: '�匾請參�', + cancel: '�碟匾剷�', + clear: '��邽��', + confirm: 'OK', + selectDate: '�煩匾教萃�邽 迡訄��', + selectTime: '�煩匾教萃�邽 赲�迮邾迮', + startDate: '�參� 郈郋�萃碟�', + startTime: '��迮邾迮 郈郋�萃碟�', + endDate: '�參� 郱訄赲��萃碟�', + endTime: '��迮邾迮 郱訄赲��萃碟�', + prevYear: '��迮�憶棣請� 迣郋迡邽郇訄', + nextYear: '苤郅迮迡迮�� 迣郋迡邽郇訄', + prevMonth: '��迮�憶棣請� 邾迮�萃�', + nextMonth: '苤郅迮迡迮�� 邾迮�萃�', + year: '迣郋迡邽郇訄', + month1: '�匾諸參�', + month2: '�菩敗��參�', + month3: '邾訄���', + month4: '訄郈�邽郅', + month5: '邾訄��', + month6: '��', + month7: '��', + month8: '訄赲迣��', + month9: '�菩謀菩標教參�', + month10: '郋郕�憶教參�', + month11: '郇郋赲迮邾訇訄�', + month12: '迡迮�菩標教參�', + week: '�菩棣標解�', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '苺��', + wed: '苤�迮', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '�匾�', + feb: '�菩�', + mar: '邾訄�', + apr: '訄郈�', + may: '邾訄��', + jun: '��', + jul: '��', + aug: '訄赲迣', + sep: '�菩�', + oct: '郋郕��', + nov: '郇郋赲', + dec: '迡迮��' + } + }, + select: { + loading: '苺�解匾紹參�', + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + placeholder: '�煩匾教萃�邽' + }, + cascader: { + noMatch: '�菩標� �迮郱�銑參�', + loading: '苺�解匾紹參�', + placeholder: '�煩匾教萃�邽', + noData: '�菩標� 郈郋迡訄�匾碟�' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽', + total: '苺郕�諱請� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憾��碟�', + confirm: 'OK', + cancel: '�碟匾剷�', + error: '�菩解謀�訄赲訄郇 �請憾�' + }, + upload: { + deleteTip: '郈�邽�解請� �佬� 迡訄 郋訇�邽�萃�', + delete: '��邽��', + preview: '�覜棣�', + continue: '�參匾紹�' + }, + table: { + emptyText: '�菩標� 郈郋迡訄�匾碟�', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�萃萃�', + clearFilter: '苤赲迮', + sumText: '�教解�' + }, + tree: { + emptyText: '�菩標� 郈郋迡訄�匾碟�' + }, + transfer: { + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + titles: ['�解� 1', '�解� 2'], // to be translated + filterPlaceholder: '苺郇迮�� 郕�諸� �迮��', // to be translated + noCheckedFormat: '{total} �匾紹碟�', // to be translated + hasCheckedFormat: '{checked}/{total} 郋訇迮郅迮迠迮郇邽��' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�菩標� 郈郋迡訄�匾碟�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/sv-SE.js b/PAMapp/local_modules/element-ui/lib/locale/lang/sv-SE.js new file mode 100644 index 0000000..5222870 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/sv-SE.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹m' + }, + datepicker: { + now: 'Nu', + today: 'Idag', + cancel: 'Avbryt', + clear: 'T繹m', + confirm: 'OK', + selectDate: 'V瓣lj datum', + selectTime: 'V瓣lj tid', + startDate: 'Startdatum', + startTime: 'Starttid', + endDate: 'Slutdatum', + endTime: 'Sluttid', + prevYear: 'F繹reg疇ende 疇r', + nextYear: 'N瓣sta 疇r', + prevMonth: 'F繹reg疇ende m疇nad', + nextMonth: 'N瓣sta m疇nad', + year: '', + month1: 'Januari', + month2: 'Februari', + month3: 'Mars', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'Augusti', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + // week: 'week', + weeks: { + sun: 'S繹n', + mon: 'M疇n', + tue: 'Tis', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繹r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Laddar', + noMatch: 'Hittade inget', + noData: 'Ingen data', + placeholder: 'V瓣lj' + }, + cascader: { + noMatch: 'Hittade inget', + loading: 'Laddar', + placeholder: 'V瓣lj', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 till', + pagesize: '/sida', + total: 'Totalt {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Meddelande', + confirm: 'OK', + cancel: 'Avbryt', + error: 'Felaktig inmatning' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Radera', + preview: 'F繹rhandsvisa', + continue: 'Forts瓣tt' + }, + table: { + emptyText: 'Inga Data', + confirmFilter: 'Bekr瓣fta', + resetFilter: '�erst瓣ll', + clearFilter: 'Alla', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Hittade inget', + noData: 'Ingen data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Bak疇t' // to be translated + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nej' + }, + empty: { + description: 'Inga Data' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ta.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ta.js new file mode 100644 index 0000000..b8a50b4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ta.js @@ -0,0 +1,125 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + clear: '鉈戈�拿鉈賴挾鉈擒�����' + }, + datepicker: { + now: '鉈戈拳鉒悚鉒恕鉒�', + today: '鉈悟鉒拳鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + clear: '鉈扇鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + selectDate: '鉈戈�恕鉈賴悖鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + selectTime: '鉈兒�扇鉈戈�恕鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + startDate: '鉈戈������悅鉒� 鉈兒挽鉈喪��', + startTime: '鉈戈������悅鉒� 鉈兒�扇鉈桌��', + endDate: '鉈桌��挪鉈能�悅鉒� 鉈戈�恕鉈�', + endTime: '鉈桌��挪鉈能�悅鉒� 鉈兒�扇鉈桌��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '鉈菽扇鉒�悅鉒�', + month1: '鉈悟鉈菽扇鉈�', + month2: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + month3: '鉈桌挽鉈啤����', + month4: '鉈悚鉒扇鉈耜��', + month5: '鉈桌��', + month6: '鉈�悟鉒�', + month7: '鉈�挈鉒�', + month8: '鉈�捂鉒���', + month9: '鉈�悚鉒�悅鉒悚鉈啤��', + month10: '鉈����悚鉈啤��', + month11: '鉈兒挾鉈桌�悚鉈啤��', + month12: '鉈挪鉈悅鉒悚鉈啤��', + weeks: { + sun: '鉈挽鉈能挪鉈晤��', + mon: '鉈戈挪鉈��拿鉒�', + tue: '鉈�挾鉒挾鉈擒悖鉒�', + wed: '鉈芹�恕鉈拈��', + thu: '鉈菽挪鉈能挽鉈毯悟鉒�', + fri: '鉈菽�拿鉒拿鉈�', + sat: '鉈悟鉈�' + }, + months: { + jan: '鉈悟鉈菽扇鉈�', + feb: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + mar: '鉈桌挽鉈啤����', + apr: '鉈悚鉒扇鉈耜��', + may: '鉈桌��', + jun: '鉈�悟鉒�', + jul: '鉈�挈鉒�', + aug: '鉈�捂鉒���', + sep: '鉈�悚鉒�悅鉒悚鉈啤��', + oct: '鉈����悚鉈啤��', + nov: '鉈兒挾鉈桌�悚鉈啤��', + dec: '鉈挪鉈悅鉒悚鉈啤��' + } + }, + select: { + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�' + }, + cascader: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + pagination: { + goto: '鉈戈�挾鉒悖鉈擒悟鉒� 鉈芹��恕鉈賴����� 鉈�挈鉒�', + pagesize: '/page', + total: '鉈桌�恕鉒恕鉈桌�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉈�悖鉒恕鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + error: '鉈芹�扇鉒恕鉒恕鉈擒悅鉈賴挈鉒挈鉈擒恕 鉈拿鉒拿鉒�鉈��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '鉈兒�鉈����', + preview: '鉈桌�悟鉒悟鉒���悅鉒� 鉈芹挽鉈啤��', + continue: '鉈戈��扇鉒�' + }, + table: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + confirmFilter: '鉈拳鉒恕鉈� 鉈�悖鉒�', + resetFilter: '鉈芹�恕鉒悅鉈擒拳鉒拳鉈桌�� 鉈�悖鉒�', + clearFilter: '鉈悟鉒恕鉒恕鉒悅鉒�', + sumText: '鉈������' + }, + tree: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + transfer: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + titles: ['鉈芹���挪鉈能挈鉒� 1', '鉈芹���挪鉈能挈鉒� 2'], + filterPlaceholder: '鉈�挈鉒挈鉒� 鉈拿鉒拿鉒�鉈�� 鉈�悖鉒�', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} 鉈戈�扇鉒挾鉒� 鉈�悖鉒悖鉈芹�悚鉈��挾鉒�拿鉒�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/th.js b/PAMapp/local_modules/element-ui/lib/locale/lang/th.js new file mode 100644 index 0000000..1b0ca1d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/th.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '鉊�艇鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�' + }, + datepicker: { + now: '鉊葉鉊�葭鉆�', + today: '鉊抉萵鉊�葭鉆�', + cancel: '鉊R��鉊丞葩鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�', + confirm: '鉊�艇鉊�', + selectDate: '鉆�鉊丞虞鉊冢�葷鉊晤��葭鉆�', + selectTime: '鉆�鉊丞虞鉊冢��鉊抉艇鉊�', + startDate: '鉊抉萵鉊�葭鉆�鉊�鉊毯�腹鉊���', + startTime: '鉆�鉊抉艇鉊耜�鉊�鉊毯�腹鉊���', + endDate: '鉊抉萵鉊�葭鉆葵鉊毯��葵鉊詮��', + endTime: '鉆�鉊抉艇鉊耜葵鉊毯��葵鉊詮��', + prevYear: '鉊葭鉊�葉鉊葦鉊�葡', + nextYear: '鉊葭鉊萵鉊���', + prevMonth: '鉆�鉊虞鉊冢���葉鉊葦鉊�葡', + nextMonth: '鉆�鉊虞鉊冢��萵鉊���', + year: '鉊葭', + month1: '鉊﹤�腦鉊耜�腹', + month2: '鉊虜鉊﹤�葡鉊萵鉊���', + month3: '鉊﹤葭鉊葡鉊腹', + month4: '鉆�鉊﹤萱鉊耜腺鉊�', + month5: '鉊舅鉊拈�葡鉊腹', + month6: '鉊﹤葩鉊虜鉊葡鉊R��', + month7: '鉊腦鉊�葡鉊腹', + month8: '鉊芹葩鉊葦鉊耜�腹', + month9: '鉊萵鉊腺鉊耜腺鉊�', + month10: '鉊虜鉊丞葡鉊腹', + month11: '鉊舅鉊兒�葩鉊葡鉊R��', + month12: '鉊萵鉊葷鉊耜�腹', + // week: 'week', + weeks: { + sun: '鉊冢葡', + mon: '鉊�', + tue: '鉊�', + wed: '鉊�', + thu: '鉊舅', + fri: '鉊�', + sat: '鉊�' + }, + months: { + jan: '鉊﹤�腦鉊�', + feb: '鉊虜鉊﹤�葡', + mar: '鉊﹤葭鉊葡', + apr: '鉆�鉊﹤萱鉊�', + may: '鉊舅鉊拈�葡', + jun: '鉊﹤葩鉊虜鉊葡', + jul: '鉊腦鉊�葡', + aug: '鉊芹葩鉊葦鉊�', + sep: '鉊萵鉊腺鉊�', + oct: '鉊虜鉊丞葡', + nov: '鉊舅鉊兒�葩鉊葡', + dec: '鉊萵鉊葷鉊�' + } + }, + select: { + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + placeholder: '鉆�鉊丞虞鉊冢��' + }, + cascader: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + placeholder: '鉆�鉊丞虞鉊冢��', + noData: '鉆腹鉆����葉鉊﹤號鉊�' + }, + pagination: { + goto: '鉆��葭鉆�', + pagesize: '/鉊徇��葡', + total: '鉊萵鉆�葦鉊﹤�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉊�葉鉊葷鉊耜腹', + confirm: '鉊�艇鉊�', + cancel: '鉊R��鉊丞葩鉊�', + error: '鉊虜鉊��葉鉊��葉鉊﹤號鉊丞�腹鉆�號鉊��葉鉊�' + }, + upload: { + deleteTip: '鉊��虜鉆腹 "鉊丞��" 鉆�鉊虞鉆葉鉊丞�葉鉊冢��', + delete: '鉊丞��', + preview: '鉊萵鉊抉葉鉊R�葡鉊�', + continue: '鉊董鉊�葉' + }, + table: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�', + confirmFilter: '鉊R虞鉊腺鉊晤��', + resetFilter: '鉊�鉊菽�鉊���', + clearFilter: '鉊萵鉆�葦鉊﹤��', + sumText: '鉊�鉊抉腹' + }, + tree: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�' + }, + transfer: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: '鉊腦鉊冢��葭鉊R��鉊抉葩鉊�鉆��', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: '鉊R�葉鉊�艇鉊晤��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉆腹鉆����葉鉊﹤號鉊�' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/tk.js b/PAMapp/local_modules/element-ui/lib/locale/lang/tk.js new file mode 100644 index 0000000..f656c68 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/tk.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Arassala' + }, + datepicker: { + now: '�wagt', + today: '�寫羹n', + cancel: 'Bes et', + clear: 'Arassala', + confirm: 'OK', + selectDate: 'G羹ni sa羸la��', + selectTime: 'Wagty sa羸la��', + startDate: 'Ba�a羸an g羹ni', + startTime: 'Ba�a羸an wagty', + endDate: 'Gutar羸an g羹ni', + endTime: 'Gutar羸an wagty', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '�n', + month2: 'Few', + month3: 'Mar', + month4: 'Apr', + month5: 'Ma羸', + month6: 'I羸n', + month7: 'I羸l', + month8: 'Awg', + month9: 'Sen', + month10: 'Okt', + month11: 'No羸', + month12: 'Dek', + // week: 'week', + weeks: { + sun: '�k', + mon: 'Du��', + tue: 'Si��', + wed: '�r', + thu: 'Pen', + fri: 'Ann', + sat: '�n' + }, + months: { + jan: '�n', + feb: 'Few', + mar: 'Mar', + apr: 'Apr', + may: 'Ma羸', + jun: 'I羸n', + jul: 'I羸l', + aug: 'Awg', + sep: 'Sep', + oct: 'Okt', + nov: 'No羸', + dec: 'Dek' + } + }, + select: { + loading: 'Indiril羸瓣r', + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + placeholder: 'Sa羸la' + }, + cascader: { + noMatch: 'Hi癟zat tapylmady', + loading: 'Indiril羸瓣r', + placeholder: 'Sa羸la��', + noData: 'Hi癟zat 羸ok' + }, + pagination: { + goto: 'Git', + pagesize: '/sahypa', + total: 'Umumy {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Hat', + confirm: 'OK', + cancel: 'Bes et', + error: '�l��� girizme' + }, + upload: { + deleteTip: 'Pozmak 羹癟in "poz" d羹wm瓣 basy��', + delete: 'Poz', + preview: 'G繹r', + continue: 'Dowam et' + }, + table: { + emptyText: 'Maglumat 羸ok', + confirmFilter: 'Tassykla', + resetFilter: 'Arassala', + clearFilter: 'Hemmesi', + sumText: 'Jemi' + }, + tree: { + emptyText: 'Maglumat 羸ok' + }, + transfer: { + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + titles: ['Sanaw 1', 'Sanaw 2'], + filterPlaceholder: 'G繹zleg s繹zlerini girizi��', + noCheckedFormat: '{total} sany', + hasCheckedFormat: '{checked}/{total} sa羸lanan' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Maglumat 羸ok' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/tr-TR.js b/PAMapp/local_modules/element-ui/lib/locale/lang/tr-TR.js new file mode 100644 index 0000000..efdaecb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/tr-TR.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Onayla', + clear: 'Temizle' + }, + datepicker: { + now: '�mdi', + today: 'Bug羹n', + cancel: '襤ptal', + clear: 'Temizle', + confirm: 'Onayla', + selectDate: 'Tarih se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�ang覺癟 Tarihi', + startTime: 'Ba�ang覺癟 Saati', + endDate: 'Biti�� Tarihi', + endTime: 'Biti�� Saati', + prevYear: '�ceki Y覺l', + nextYear: 'Sonraki Y覺l', + prevMonth: '�ceki Ay', + nextMonth: 'Sonraki Ay', + year: '', + month1: 'Ocak', + month2: '�bat', + month3: 'Mart', + month4: 'Nisan', + month5: 'May覺s', + month6: 'Haziran', + month7: 'Temmuz', + month8: 'A�stos', + month9: 'Eyl羹l', + month10: 'Ekim', + month11: 'Kas覺m', + month12: 'Aral覺k', + // week: 'week', + weeks: { + sun: 'Paz', + mon: 'Pzt', + tue: 'Sal', + wed: '�r', + thu: 'Per', + fri: 'Cum', + sat: 'Cmt' + }, + months: { + jan: 'Oca', + feb: '�b', + mar: 'Mar', + apr: 'Nis', + may: 'May', + jun: 'Haz', + jul: 'Tem', + aug: 'A�', + sep: 'Eyl', + oct: 'Eki', + nov: 'Kas', + dec: 'Ara' + } + }, + select: { + loading: 'Y羹kleniyor', + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'E�e�n veri bulunamad覺', + loading: 'Y羹kleniyor', + placeholder: 'Se癟', + noData: 'Veri yok' + }, + pagination: { + goto: 'Git', + pagesize: '/sayfa', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'Onayla', + cancel: '襤ptal', + error: '襤llegal giri��' + }, + upload: { + deleteTip: 'kald覺rmak i癟in delete tu�na bas', + delete: 'Sil', + preview: 'G繹r羹nt羹le', + continue: 'Devam' + }, + table: { + emptyText: 'Veri yok', + confirmFilter: 'Onayla', + resetFilter: 'S覺f覺rla', + clearFilter: 'Hepsi', + sumText: 'Sum' + }, + tree: { + emptyText: 'Veri yok' + }, + transfer: { + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Anahtar kelimeleri gir', + noCheckedFormat: '{total} adet', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Veri yok' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ua.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ua.js new file mode 100644 index 0000000..ffd0e2d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ua.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '�敗�訄��', + clear: '�解解�' + }, + datepicker: { + now: '�參�訄郱', + today: '苤�憶創憶棣諸�', + cancel: '�棣槽請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�覜敗�訄�� 迡訄��', + selectTime: '�覜敗�訄�� �參�', + startDate: '�參� 郈郋�參碧�', + startTime: '虴訄�� 郈郋�參碧�', + endDate: '�參� 郱訄赲迮��菩請諸�', + endTime: '虴訄�� 郱訄赲迮��菩請諸�', + prevYear: '�憶諱萃�迮迡郇�� ��', + nextYear: '�參諱請覜� ��', + prevMonth: '�憶諱萃�迮迡郇�� ��', + nextMonth: '�參諱請覜� ��', + year: '', + month1: '苤�菩諸�', + month2: '�覜�', + month3: '�萃�迮郱迮郇��', + month4: '�紼菩諸�', + month5: '苠�訄赲迮郇��', + month6: '虴迮�赲迮郇��', + month7: '�覜諱菩諸�', + month8: '苤迮�郈迮郇��', + month9: '�萃�迮�菩諸�', + month10: '�憶紼菩諸�', + month11: '�解憶諱匾�', + month12: '���棣菩諸�', + week: '�覜剷棣菩諸�', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '苤��', + feb: '��', + mar: '�萃�', + apr: '�紼�', + may: '苠�訄', + jun: '虴迮�', + jul: '�覜�', + aug: '苤迮�', + sep: '�萃�', + oct: '�憶�', + nov: '�解�', + dec: '����' + } + }, + select: { + loading: '�匾紹匾諸匾剷菩請諸�', + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�菩標參� 迡訄郇邽��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + loading: '�匾紹匾諸匾剷菩請諸�', + placeholder: '�敗�訄��', + noData: '�菩標參� 迡訄郇邽��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: '郇訄 �憾��諸�', + total: '�憶創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憶紼棣憶標鉼菩請諸�', + confirm: 'OK', + cancel: '�棣槽請�', + error: '�菩謀�邽郈�覜標覜� 赲赲�� 迡訄郇邽��' + }, + upload: { + deleteTip: '郇訄�解諸� 郕郇郋郈郕�� �憶� 赲邽迡訄郅邽��', + delete: '�覜棣匾鉼解�', + preview: '�萃�迮迣郅��', + continue: '��郋迡郋赲迠邽��' + }, + table: { + emptyText: '�菩標參� 迡訄郇邽��', + confirmFilter: '�棋紹萃�迡邽��', + resetFilter: '苤郕邽郇��', + clearFilter: '��', + sumText: '苤�標�' + }, + tree: { + emptyText: '�菩標參� 迡訄郇邽��' + }, + transfer: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�敗�訄��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棋� 郕郅�憶紹� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧�', + hasCheckedFormat: '{checked}/{total} 赲邽訇�訄郇郋' + }, + image: { + error: '��' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: '苠訄郕', + cancelButtonText: '��' + }, + empty: { + description: '�菩標參� 迡訄郇邽��' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/ug-CN.js b/PAMapp/local_modules/element-ui/lib/locale/lang/ug-CN.js new file mode 100644 index 0000000..abf5b31 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/ug-CN.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '堿�紱�', + clear: '�旋胰忪�' + }, + datepicker: { + now: '睅塈堬�斬� �戒�', + today: '堥�胴�', + cancel: '堥�忪� ��', + clear: '�旋胰忪�', + confirm: '堿�紱�', + selectDate: '�喧� 堛塈�我�', + selectTime: '�戒� 堛塈�我�', + startDate: '堥塈奡�戒種戒� �喧�', + startTime: '堥塈奡�戒種戒� �戒�', + endDate: '埵塈堮�斬忪棻戒� �喧�', + endTime: '埵塈堮�斬忪棻戒� �戒�', + prevYear: '埵塈�脅� ��', + nextYear: '�� ��', + prevMonth: '埵塈�脅� 埵塈��', + nextMonth: '�� 埵塈��', + year: '- ��', + month1: '1-埵塈��', + month2: '2-埵塈��', + month3: '3-埵塈��', + month4: '4-埵塈��', + month5: '5-埵塈��', + month6: '6-埵塈��', + month7: '7-埵塈��', + month8: '8-埵塈��', + month9: '9-埵塈��', + month10: '10-埵塈��', + month11: '11-埵塈��', + month12: '12-埵塈��', + // week: '�甈�', + weeks: { + sun: '�欺佾�', + mon: '堹�欺佾�', + tue: '堻�欺佾�', + wed: '�忪斛欺佾�', + thu: '椈�欺佾�', + fri: '堿��', + sat: '奡�佾�' + }, + months: { + jan: '1-埵塈��', + feb: '2-埵塈��', + mar: '3-埵塈��', + apr: '4-埵塈��', + may: '5-埵塈��', + jun: '6-埵塈��', + jul: '7-埵塈��', + aug: '8-埵塈��', + sep: '9-埵塈��', + oct: '10-埵塈��', + nov: '11-埵塈��', + dec: '12-埵塈��' + } + }, + select: { + loading: '�忪舍胴�', + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + placeholder: '堛塈�我�' + }, + cascader: { + noMatch: '埵�� 堛�撼脅�', + loading: '�忪舍胴�', + placeholder: '堛塈�我�', + noData: '埵�� ��' + }, + pagination: { + goto: '�� 堥��', + pagesize: '堛塈��/堥��', + total: '堿�肌� {total} 堛塈��', + pageClassifier: '堥��' + }, + messagebox: { + title: '埵�喧斛舍�', + confirm: '堿�紱�', + cancel: '堥�忪� ��', + error: '�族胴缽胴� 埵�斬倪紲胰� 堮塈堛塈�� 堥塈堭!' + }, + upload: { + deleteTip: 'delete �撼喧� 堥�喧� 埵�旋喧�', + delete: '埵�旋�', + preview: '堭�喧� �旋�', + continue: '堭�喧� �忪�' + }, + table: { + emptyText: '埵�� ��', + confirmFilter: '堻�缽胴�', + resetFilter: '�戒臾� 堛�胴旋�', + clearFilter: '睅��', + sumText: '堿�肌�' + }, + tree: { + emptyText: '埵�� ��' + }, + transfer: { + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + titles: ['堿�胴� 1', '堿�胴� 2'], + filterPlaceholder: '埵�紲脅� 堥�種戒� �紱� �族胴羞�', + noCheckedFormat: '堿�肌� {total} 堛��', + hasCheckedFormat: '堛塈�戒稱� {checked}/{total} 堛��' + }, + image: { + error: '�稱� 堥�脅�' + }, + pageHeader: { + title: '�戒舍�' + }, + popconfirm: { + confirmButtonText: '睅�自�', + cancelButtonText: '�戒�' + }, + empty: { + description: '埵�� ��' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/uz-UZ.js b/PAMapp/local_modules/element-ui/lib/locale/lang/uz-UZ.js new file mode 100644 index 0000000..388b273 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/uz-UZ.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'Qabul qilish', + clear: 'Tozalash' + }, + datepicker: { + now: 'Hozir', + today: 'Bugun', + cancel: 'Bekor qilish', + clear: 'Tozalash', + confirm: 'Qabul qilish', + selectDate: 'Kunni tanlash', + selectTime: 'Soatni tanlash', + startDate: 'Boshlanish sanasi', + startTime: 'Boshlanish vaqti', + endDate: 'Tugash sanasi', + endTime: 'Tugash vaqti', + prevYear: 'O妡tgan yil', + nextYear: 'Kelgusi yil', + prevMonth: 'O妡tgan oy', + nextMonth: 'Kelgusi oy', + year: 'Yil', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: 'Iyun', + month7: 'Iyul', + month8: 'Avgust', + month9: 'Sentabr', + month10: 'Oktabr', + month11: 'Noyabr', + month12: 'Dekabr', + week: 'Hafta', + weeks: { + sun: 'Yak', + mon: 'Dush', + tue: 'Sesh', + wed: 'Chor', + thu: 'Pay', + fri: 'Jum', + sat: 'Shan' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Iyun', + jul: 'Iyul', + aug: 'Avg', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Yuklanmoqda', + noMatch: 'Mos ma宎lumot yo妡q', + noData: 'Ma宎lumot yo妡q', + placeholder: 'Tanladizngiz' + }, + cascader: { + noMatch: 'Mos ma宎lumot topilmadi', + loading: 'Yuklanmoqda', + placeholder: 'Tanlash', + noData: 'Ma宎lumot yo妡q' + }, + pagination: { + goto: 'O妡tish', + pagesize: '/sahifa', + total: 'Barchasi {total} ta', + pageClassifier: '' + }, + messagebox: { + title: 'Xabar', + confirm: 'Qabul qilish', + cancel: 'Bekor qilish', + error: 'Xatolik' + }, + upload: { + deleteTip: 'O妡chirish tugmasini bosib o妡chiring', + delete: 'O妡chirish', + preview: 'Oldin ko妡rish', + continue: 'Davom qilish' + }, + table: { + emptyText: 'Bo妡sh', + confirmFilter: 'Qabul qilish', + resetFilter: 'Oldingi holatga qaytarish', + clearFilter: 'Jami', + sumText: 'Summasi' + }, + tree: { + emptyText: 'Ma宎lumot yo妡q' + }, + transfer: { + noMatch: 'Mos ma宎lumot topilmadi', + noData: 'Ma宎lumot yo妡q', + titles: ['1-jadval', '2-jadval'], + filterPlaceholder: 'Kalit so妡zni kiriting', + noCheckedFormat: '{total} ta element', + hasCheckedFormat: '{checked}/{total} ta belgilandi' + }, + image: { + error: 'Xatolik' + }, + pageHeader: { + title: 'Orqaga' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Bo妡sh' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/vi.js b/PAMapp/local_modules/element-ui/lib/locale/lang/vi.js new file mode 100644 index 0000000..4c7dbca --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/vi.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'X籀a' + }, + datepicker: { + now: 'Hi廙 t廕【', + today: 'H繫m nay', + cancel: 'H廙囤', + clear: 'X籀a', + confirm: 'OK', + selectDate: 'Ch廙 ng�', + selectTime: 'Ch廙 gi廙�', + startDate: 'Ng� b廕眩 �漣u', + startTime: 'Th廙 gian b廕眩 �漣u', + endDate: 'Ng� k廕篙 th繳c', + endTime: 'Th廙 gian k廕篙 th繳c', + prevYear: 'N� tr廙', + nextYear: 'N� t廙', + prevMonth: 'Th獺ng tr廙', + nextMonth: 'Th獺ng t廙', + year: 'N�', + month1: 'Th獺ng 1', + month2: 'Th獺ng 2', + month3: 'Th獺ng 3', + month4: 'Th獺ng 4', + month5: 'Th獺ng 5', + month6: 'Th獺ng 6', + month7: 'Th獺ng 7', + month8: 'Th獺ng 8', + month9: 'Th獺ng 9', + month10: 'Th獺ng 10', + month11: 'Th獺ng 11', + month12: 'Th獺ng 12', + // week: 'week', + weeks: { + sun: 'CN', + mon: 'T2', + tue: 'T3', + wed: 'T4', + thu: 'T5', + fri: 'T6', + sat: 'T7' + }, + months: { + jan: 'Th.1', + feb: 'Th.2', + mar: 'Th.3', + apr: 'Th.4', + may: 'Th.5', + jun: 'Th.6', + jul: 'Th.7', + aug: 'Th.8', + sep: 'Th.9', + oct: 'Th.10', + nov: 'Th.11', + dec: 'Th.12' + } + }, + select: { + loading: '�ng t廕ξ', + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + placeholder: 'Ch廙' + }, + cascader: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + loading: '�ng t廕ξ', + placeholder: 'Ch廙', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙' + }, + pagination: { + goto: 'Nh廕ㄊ t廙', + pagesize: '/trang', + total: 'T廙g {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Th繫ng b獺o', + confirm: 'OK', + cancel: 'H廙囤', + error: 'D廙� li廙 kh繫ng h廙φ l廙�' + }, + upload: { + deleteTip: 'Nh廕叩 xo獺 ��� xo獺', + delete: 'X籀a', + preview: 'Xem tr廙', + continue: 'Ti廕穆 t廙卉' + }, + table: { + emptyText: 'Kh繫ng c籀 d廙� li廙', + confirmFilter: 'X獺c nh廕要', + resetFilter: 'L� m廙', + clearFilter: 'X籀a h廕篙', + sumText: 'T廙g' + }, + tree: { + emptyText: 'Kh繫ng c籀 d廙� li廙' + }, + transfer: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + titles: ['Danh s獺ch 1', 'Danh s獺ch 2'], + filterPlaceholder: 'Nh廕計 t廙� kh籀a', + noCheckedFormat: '{total} m廙卉', + hasCheckedFormat: '{checked}/{total} �� ch廙 ' + }, + image: { + error: 'L廙' + }, + pageHeader: { + title: 'Quay l廕【' + }, + popconfirm: { + confirmButtonText: 'Ok', + cancelButtonText: 'Hu廙�' + }, + empty: { + description: 'Kh繫ng c籀 d廙� li廙' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/zh-CN.js b/PAMapp/local_modules/element-ui/lib/locale/lang/zh-CN.js new file mode 100644 index 0000000..e86d03e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/zh-CN.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '蝖桀��', + clear: '皜征' + }, + datepicker: { + now: '甇文', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝖桀��', + selectDate: '�����', + selectTime: '���', + startDate: '撘�憪���', + startTime: '撘�憪�', + endDate: '蝏����', + endTime: '蝏��', + prevYear: '���撟�', + nextYear: '���撟�', + prevMonth: '銝葵���', + nextMonth: '銝葵���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '��蝸銝�', + noMatch: '�����', + noData: '���', + placeholder: '霂琿�' + }, + cascader: { + noMatch: '�����', + loading: '��蝸銝�', + placeholder: '霂琿�', + noData: '����' + }, + pagination: { + goto: '���', + pagesize: '�/憿�', + total: '� {total} �', + pageClassifier: '憿�' + }, + messagebox: { + title: '��內', + confirm: '蝖桀��', + cancel: '����', + error: '颲���銝���!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝏抒賒銝��' + }, + table: { + emptyText: '����', + confirmFilter: '蝑��', + resetFilter: '��蔭', + clearFilter: '��', + sumText: '��恣' + }, + tree: { + emptyText: '����' + }, + transfer: { + noMatch: '�����', + noData: '���', + titles: ['��” 1', '��” 2'], + filterPlaceholder: '霂瑁���揣��捆', + noCheckedFormat: '� {total} 憿�', + hasCheckedFormat: '撌脤�� {checked}/{total} 憿�' + }, + image: { + error: '��蝸憭梯揖' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: '蝖桀��', + cancelButtonText: '����' + }, + empty: { + description: '����' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/locale/lang/zh-TW.js b/PAMapp/local_modules/element-ui/lib/locale/lang/zh-TW.js new file mode 100644 index 0000000..1d26bd8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/locale/lang/zh-TW.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '蝣箄��', + clear: '皜征' + }, + datepicker: { + now: '��', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝣箄��', + selectDate: '������', + selectTime: '������', + startDate: '������', + startTime: '������', + endDate: '蝯����', + endTime: '蝯����', + prevYear: '���撟�', + nextYear: '敺�撟�', + prevMonth: '銝���', + nextMonth: '銝���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '���葉', + noMatch: '�������', + noData: '�鞈��', + placeholder: '隢���' + }, + cascader: { + noMatch: '�������', + loading: '���葉', + placeholder: '隢���', + noData: '�鞈��' + }, + pagination: { + goto: '���', + pagesize: '���/���', + total: '� {total} ���', + pageClassifier: '���' + }, + messagebox: { + title: '��內', + confirm: '蝣箏��', + cancel: '����', + error: '頛詨�����泵閬��!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝜潛��' + }, + table: { + emptyText: '��鞈��', + confirmFilter: '蝭拚', + resetFilter: '��蔭', + clearFilter: '��', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '��鞈��' + }, + transfer: { + noMatch: '�������', + noData: '�鞈��', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: '���仃���' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��鞈��' + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/main.js b/PAMapp/local_modules/element-ui/lib/main.js new file mode 100644 index 0000000..61cdd43 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/main.js @@ -0,0 +1,263 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 119); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 119: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=2a3a7406& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("main", { staticClass: "el-main" }, [_vm._t("default")], 2) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=2a3a7406& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElMain', + componentName: 'ElMain' +}); +// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/main/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/main/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/main/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var packages_main = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/menu-item-group.js b/PAMapp/local_modules/element-ui/lib/menu-item-group.js new file mode 100644 index 0000000..7d0917f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/menu-item-group.js @@ -0,0 +1,307 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 86); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 86: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("li", { staticClass: "el-menu-item-group" }, [ + _c( + "div", + { + staticClass: "el-menu-item-group__title", + style: { paddingLeft: _vm.levelPadding + "px" } + }, + [!_vm.$slots.title ? [_vm._v(_vm._s(_vm.title))] : _vm._t("title")], + 2 + ), + _c("ul", [_vm._t("default")], 2) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var menu_item_groupvue_type_script_lang_js_ = ({ + name: 'ElMenuItemGroup', + + componentName: 'ElMenuItemGroup', + + inject: ['rootMenu'], + props: { + title: { + type: String + } + }, + data: function data() { + return { + paddingLeft: 20 + }; + }, + + computed: { + levelPadding: function levelPadding() { + var padding = 20; + var parent = this.$parent; + if (this.rootMenu.collapse) return 20; + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + return padding; + } + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menu_item_groupvue_type_script_lang_js_ = (menu_item_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_menu_item_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/menu/src/menu-item-group.vue" +/* harmony default export */ var menu_item_group = (component.exports); +// CONCATENATED MODULE: ./packages/menu-item-group/index.js + + +/* istanbul ignore next */ +menu_item_group.install = function (Vue) { + Vue.component(menu_item_group.name, menu_item_group); +}; + +/* harmony default export */ var packages_menu_item_group = __webpack_exports__["default"] = (menu_item_group); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/menu-item.js b/PAMapp/local_modules/element-ui/lib/menu-item.js new file mode 100644 index 0000000..f1caaed --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/menu-item.js @@ -0,0 +1,490 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 85); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 29: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tooltip"); + +/***/ }), + +/***/ 37: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['rootMenu'], + computed: { + indexPath: function indexPath() { + var path = [this.index]; + var parent = this.$parent; + while (parent.$options.componentName !== 'ElMenu') { + if (parent.index) { + path.unshift(parent.index); + } + parent = parent.$parent; + } + return path; + }, + parentMenu: function parentMenu() { + var parent = this.$parent; + while (parent && ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1) { + parent = parent.$parent; + } + return parent; + }, + paddingStyle: function paddingStyle() { + if (this.rootMenu.mode !== 'vertical') return {}; + + var padding = 20; + var parent = this.$parent; + + if (this.rootMenu.collapse) { + padding = 20; + } else { + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + } + return { paddingLeft: padding + 'px' }; + } + } +}); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 85: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + staticClass: "el-menu-item", + class: { + "is-active": _vm.active, + "is-disabled": _vm.disabled + }, + style: [ + _vm.paddingStyle, + _vm.itemStyle, + { backgroundColor: _vm.backgroundColor } + ], + attrs: { role: "menuitem", tabindex: "-1" }, + on: { + click: _vm.handleClick, + mouseenter: _vm.onMouseEnter, + focus: _vm.onMouseEnter, + blur: _vm.onMouseLeave, + mouseleave: _vm.onMouseLeave + } + }, + [ + _vm.parentMenu.$options.componentName === "ElMenu" && + _vm.rootMenu.collapse && + _vm.$slots.title + ? _c("el-tooltip", { attrs: { effect: "dark", placement: "right" } }, [ + _c( + "div", + { attrs: { slot: "content" }, slot: "content" }, + [_vm._t("title")], + 2 + ), + _c( + "div", + { + staticStyle: { + position: "absolute", + left: "0", + top: "0", + height: "100%", + width: "100%", + display: "inline-block", + "box-sizing": "border-box", + padding: "0 20px" + } + }, + [_vm._t("default")], + 2 + ) + ]) + : [_vm._t("default"), _vm._t("title")] + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea& + +// EXTERNAL MODULE: ./packages/menu/src/menu-mixin.js +var menu_mixin = __webpack_require__(37); + +// EXTERNAL MODULE: external "element-ui/lib/tooltip" +var tooltip_ = __webpack_require__(29); +var tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var menu_itemvue_type_script_lang_js_ = ({ + name: 'ElMenuItem', + + componentName: 'ElMenuItem', + + mixins: [menu_mixin["a" /* default */], emitter_default.a], + + components: { ElTooltip: tooltip_default.a }, + + props: { + index: { + default: null, + validator: function validator(val) { + return typeof val === 'string' || val === null; + } + }, + route: [String, Object], + disabled: Boolean + }, + computed: { + active: function active() { + return this.index === this.rootMenu.activeIndex; + }, + hoverBackground: function hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor: function backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor: function activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor: function textColor() { + return this.rootMenu.textColor || ''; + }, + mode: function mode() { + return this.rootMenu.mode; + }, + itemStyle: function itemStyle() { + var style = { + color: this.active ? this.activeTextColor : this.textColor + }; + if (this.mode === 'horizontal' && !this.isNested) { + style.borderBottomColor = this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent'; + } + return style; + }, + isNested: function isNested() { + return this.parentMenu !== this.rootMenu; + } + }, + methods: { + onMouseEnter: function onMouseEnter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.hoverBackground; + }, + onMouseLeave: function onMouseLeave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.backgroundColor; + }, + handleClick: function handleClick() { + if (!this.disabled) { + this.dispatch('ElMenu', 'item-click', this); + this.$emit('click', this); + } + } + }, + mounted: function mounted() { + this.parentMenu.addItem(this); + this.rootMenu.addItem(this); + }, + beforeDestroy: function beforeDestroy() { + this.parentMenu.removeItem(this); + this.rootMenu.removeItem(this); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menu_itemvue_type_script_lang_js_ = (menu_itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_menu_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/menu/src/menu-item.vue" +/* harmony default export */ var menu_item = (component.exports); +// CONCATENATED MODULE: ./packages/menu-item/index.js + + +/* istanbul ignore next */ +menu_item.install = function (Vue) { + Vue.component(menu_item.name, menu_item); +}; + +/* harmony default export */ var packages_menu_item = __webpack_exports__["default"] = (menu_item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/menu.js b/PAMapp/local_modules/element-ui/lib/menu.js new file mode 100644 index 0000000..144536c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/menu.js @@ -0,0 +1,864 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 72); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 72: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./src/utils/aria-utils.js +var aria = aria || {}; + +aria.Utils = aria.Utils || {}; + +/** + * @desc Set focus on descendant nodes until the first focusable element is + * found. + * @param element + * DOM node for which to find the first focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ +aria.Utils.focusFirstDescendant = function (element) { + for (var i = 0; i < element.childNodes.length; i++) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Find the last descendant node that is focusable. + * @param element + * DOM node for which to find the last focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ + +aria.Utils.focusLastDescendant = function (element) { + for (var i = element.childNodes.length - 1; i >= 0; i--) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Set Attempt to set focus on the current node. + * @param element + * The node to attempt to focus on. + * @returns + * true if element is focused. + */ +aria.Utils.attemptFocus = function (element) { + if (!aria.Utils.isFocusable(element)) { + return false; + } + aria.Utils.IgnoreUtilFocusChanges = true; + try { + element.focus(); + } catch (e) {} + aria.Utils.IgnoreUtilFocusChanges = false; + return document.activeElement === element; +}; + +aria.Utils.isFocusable = function (element) { + if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) { + return true; + } + + if (element.disabled) { + return false; + } + + switch (element.nodeName) { + case 'A': + return !!element.href && element.rel !== 'ignore'; + case 'INPUT': + return element.type !== 'hidden' && element.type !== 'file'; + case 'BUTTON': + case 'SELECT': + case 'TEXTAREA': + return true; + default: + return false; + } +}; + +/** + * 閫血��銝芯�辣 + * mouseenter, mouseleave, mouseover, keyup, change, click 蝑� + * @param {Element} elm + * @param {String} name + * @param {*} opts + */ +aria.Utils.triggerEvent = function (elm, name) { + var eventName = void 0; + + if (/^mouse|click/.test(name)) { + eventName = 'MouseEvents'; + } else if (/^key/.test(name)) { + eventName = 'KeyboardEvent'; + } else { + eventName = 'HTMLEvents'; + } + var evt = document.createEvent(eventName); + + for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + opts[_key - 2] = arguments[_key]; + } + + evt.initEvent.apply(evt, [name].concat(opts)); + elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt); + + return elm; +}; + +aria.Utils.keys = { + tab: 9, + enter: 13, + space: 32, + left: 37, + up: 38, + right: 39, + down: 40, + esc: 27 +}; + +/* harmony default export */ var aria_utils = (aria.Utils); +// CONCATENATED MODULE: ./src/utils/menu/aria-submenu.js + + +var SubMenu = function SubMenu(parent, domNode) { + this.domNode = domNode; + this.parent = parent; + this.subMenuItems = []; + this.subIndex = 0; + this.init(); +}; + +SubMenu.prototype.init = function () { + this.subMenuItems = this.domNode.querySelectorAll('li'); + this.addListeners(); +}; + +SubMenu.prototype.gotoSubIndex = function (idx) { + if (idx === this.subMenuItems.length) { + idx = 0; + } else if (idx < 0) { + idx = this.subMenuItems.length - 1; + } + this.subMenuItems[idx].focus(); + this.subIndex = idx; +}; + +SubMenu.prototype.addListeners = function () { + var _this = this; + + var keys = aria_utils.keys; + var parentNode = this.parent.domNode; + Array.prototype.forEach.call(this.subMenuItems, function (el) { + el.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + _this.gotoSubIndex(_this.subIndex + 1); + prevDef = true; + break; + case keys.up: + _this.gotoSubIndex(_this.subIndex - 1); + prevDef = true; + break; + case keys.tab: + aria_utils.triggerEvent(parentNode, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + event.stopPropagation(); + } + return false; + }); + }); +}; + +/* harmony default export */ var aria_submenu = (SubMenu); +// CONCATENATED MODULE: ./src/utils/menu/aria-menuitem.js + + + +var MenuItem = function MenuItem(domNode) { + this.domNode = domNode; + this.submenu = null; + this.init(); +}; + +MenuItem.prototype.init = function () { + this.domNode.setAttribute('tabindex', '0'); + var menuChild = this.domNode.querySelector('.el-menu'); + if (menuChild) { + this.submenu = new aria_submenu(this, menuChild); + } + this.addListeners(); +}; + +MenuItem.prototype.addListeners = function () { + var _this = this; + + var keys = aria_utils.keys; + this.domNode.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + aria_utils.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(0); + prevDef = true; + break; + case keys.up: + aria_utils.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1); + prevDef = true; + break; + case keys.tab: + aria_utils.triggerEvent(event.currentTarget, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + } + }); +}; + +/* harmony default export */ var aria_menuitem = (MenuItem); +// CONCATENATED MODULE: ./src/utils/menu/aria-menubar.js + + +var Menu = function Menu(domNode) { + this.domNode = domNode; + this.init(); +}; + +Menu.prototype.init = function () { + var menuChildren = this.domNode.childNodes; + [].filter.call(menuChildren, function (child) { + return child.nodeType === 1; + }).forEach(function (child) { + new aria_menuitem(child); // eslint-disable-line + }); +}; +/* harmony default export */ var aria_menubar = (Menu); +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=script&lang=js& + + + + + + +/* harmony default export */ var menuvue_type_script_lang_js_ = ({ + name: 'ElMenu', + + render: function render(h) { + var component = h( + 'ul', + { + attrs: { + role: 'menubar' + }, + key: +this.collapse, + style: { backgroundColor: this.backgroundColor || '' }, + 'class': { + 'el-menu--horizontal': this.mode === 'horizontal', + 'el-menu--collapse': this.collapse, + "el-menu": true + } + }, + [this.$slots.default] + ); + + if (this.collapseTransition) { + return h('el-menu-collapse-transition', [component]); + } else { + return component; + } + }, + + + componentName: 'ElMenu', + + mixins: [emitter_default.a, migrating_default.a], + + provide: function provide() { + return { + rootMenu: this + }; + }, + + + components: { + 'el-menu-collapse-transition': { + functional: true, + render: function render(createElement, context) { + var data = { + props: { + mode: 'out-in' + }, + on: { + beforeEnter: function beforeEnter(el) { + el.style.opacity = 0.2; + }, + enter: function enter(el) { + Object(dom_["addClass"])(el, 'el-opacity-transition'); + el.style.opacity = 1; + }, + afterEnter: function afterEnter(el) { + Object(dom_["removeClass"])(el, 'el-opacity-transition'); + el.style.opacity = ''; + }, + beforeLeave: function beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + + if (Object(dom_["hasClass"])(el, 'el-menu--collapse')) { + Object(dom_["removeClass"])(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + Object(dom_["addClass"])(el, 'el-menu--collapse'); + } else { + Object(dom_["addClass"])(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + Object(dom_["removeClass"])(el, 'el-menu--collapse'); + } + + el.style.width = el.scrollWidth + 'px'; + el.style.overflow = 'hidden'; + }, + leave: function leave(el) { + Object(dom_["addClass"])(el, 'horizontal-collapse-transition'); + el.style.width = el.dataset.scrollWidth + 'px'; + } + } + }; + return createElement('transition', data, context.children); + } + } + }, + + props: { + mode: { + type: String, + default: 'vertical' + }, + defaultActive: { + type: String, + default: '' + }, + defaultOpeneds: Array, + uniqueOpened: Boolean, + router: Boolean, + menuTrigger: { + type: String, + default: 'hover' + }, + collapse: Boolean, + backgroundColor: String, + textColor: String, + activeTextColor: String, + collapseTransition: { + type: Boolean, + default: true + } + }, + data: function data() { + return { + activeIndex: this.defaultActive, + openedMenus: this.defaultOpeneds && !this.collapse ? this.defaultOpeneds.slice(0) : [], + items: {}, + submenus: {} + }; + }, + + computed: { + hoverBackground: function hoverBackground() { + return this.backgroundColor ? this.mixColor(this.backgroundColor, 0.2) : ''; + }, + isMenuPopup: function isMenuPopup() { + return this.mode === 'horizontal' || this.mode === 'vertical' && this.collapse; + } + }, + watch: { + defaultActive: function defaultActive(value) { + if (!this.items[value]) { + this.activeIndex = null; + } + this.updateActiveIndex(value); + }, + defaultOpeneds: function defaultOpeneds(value) { + if (!this.collapse) { + this.openedMenus = value; + } + }, + collapse: function collapse(value) { + if (value) this.openedMenus = []; + this.broadcast('ElSubmenu', 'toggle-collapse', value); + } + }, + methods: { + updateActiveIndex: function updateActiveIndex(val) { + var item = this.items[val] || this.items[this.activeIndex] || this.items[this.defaultActive]; + if (item) { + this.activeIndex = item.index; + this.initOpenedMenu(); + } else { + this.activeIndex = null; + } + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'theme': 'theme is removed.' + } + }; + }, + getColorChannels: function getColorChannels(color) { + color = color.replace('#', ''); + if (/^[0-9a-fA-F]{3}$/.test(color)) { + color = color.split(''); + for (var i = 2; i >= 0; i--) { + color.splice(i, 0, color[i]); + } + color = color.join(''); + } + if (/^[0-9a-fA-F]{6}$/.test(color)) { + return { + red: parseInt(color.slice(0, 2), 16), + green: parseInt(color.slice(2, 4), 16), + blue: parseInt(color.slice(4, 6), 16) + }; + } else { + return { + red: 255, + green: 255, + blue: 255 + }; + } + }, + mixColor: function mixColor(color, percent) { + var _getColorChannels = this.getColorChannels(color), + red = _getColorChannels.red, + green = _getColorChannels.green, + blue = _getColorChannels.blue; + + if (percent > 0) { + // shade given color + red *= 1 - percent; + green *= 1 - percent; + blue *= 1 - percent; + } else { + // tint given color + red += (255 - red) * percent; + green += (255 - green) * percent; + blue += (255 - blue) * percent; + } + return 'rgb(' + Math.round(red) + ', ' + Math.round(green) + ', ' + Math.round(blue) + ')'; + }, + addItem: function addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem: function removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu: function addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu: function removeSubmenu(item) { + delete this.submenus[item.index]; + }, + openMenu: function openMenu(index, indexPath) { + var openedMenus = this.openedMenus; + if (openedMenus.indexOf(index) !== -1) return; + // 撠�霂亥��楝敺��雿��韏� + // collapse all menu that are not under current menu item + if (this.uniqueOpened) { + this.openedMenus = openedMenus.filter(function (index) { + return indexPath.indexOf(index) !== -1; + }); + } + this.openedMenus.push(index); + }, + closeMenu: function closeMenu(index) { + var i = this.openedMenus.indexOf(index); + if (i !== -1) { + this.openedMenus.splice(i, 1); + } + }, + handleSubmenuClick: function handleSubmenuClick(submenu) { + var index = submenu.index, + indexPath = submenu.indexPath; + + var isOpened = this.openedMenus.indexOf(index) !== -1; + + if (isOpened) { + this.closeMenu(index); + this.$emit('close', index, indexPath); + } else { + this.openMenu(index, indexPath); + this.$emit('open', index, indexPath); + } + }, + handleItemClick: function handleItemClick(item) { + var _this = this; + + var index = item.index, + indexPath = item.indexPath; + + var oldActiveIndex = this.activeIndex; + var hasIndex = item.index !== null; + + if (hasIndex) { + this.activeIndex = item.index; + } + + this.$emit('select', index, indexPath, item); + + if (this.mode === 'horizontal' || this.collapse) { + this.openedMenus = []; + } + + if (this.router && hasIndex) { + this.routeToItem(item, function (error) { + _this.activeIndex = oldActiveIndex; + if (error) { + // vue-router 3.1.0+ push/replace cause NavigationDuplicated error + // https://github.com/ElemeFE/element/issues/17044 + if (error.name === 'NavigationDuplicated') return; + console.error(error); + } + }); + } + }, + + // ���������� + // initialize opened menu + initOpenedMenu: function initOpenedMenu() { + var _this2 = this; + + var index = this.activeIndex; + var activeItem = this.items[index]; + if (!activeItem || this.mode === 'horizontal' || this.collapse) return; + + var indexPath = activeItem.indexPath; + + // 撅�霂亥��★��楝敺�������� + // expand all submenus of the menu item + indexPath.forEach(function (index) { + var submenu = _this2.submenus[index]; + submenu && _this2.openMenu(index, submenu.indexPath); + }); + }, + routeToItem: function routeToItem(item, onError) { + var route = item.route || item.index; + try { + this.$router.push(route, function () {}, onError); + } catch (e) { + console.error(e); + } + }, + open: function open(index) { + var _this3 = this; + + var indexPath = this.submenus[index.toString()].indexPath; + + indexPath.forEach(function (i) { + return _this3.openMenu(i, indexPath); + }); + }, + close: function close(index) { + this.closeMenu(index); + } + }, + mounted: function mounted() { + this.initOpenedMenu(); + this.$on('item-click', this.handleItemClick); + this.$on('submenu-click', this.handleSubmenuClick); + if (this.mode === 'horizontal') { + new aria_menubar(this.$el); // eslint-disable-line + } + this.$watch('items', this.updateActiveIndex); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_menuvue_type_script_lang_js_ = (menuvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/menu/src/menu.vue +var menu_render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_menuvue_type_script_lang_js_, + menu_render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/menu/src/menu.vue" +/* harmony default export */ var menu = (component.exports); +// CONCATENATED MODULE: ./packages/menu/index.js + + +/* istanbul ignore next */ +menu.install = function (Vue) { + Vue.component(menu.name, menu); +}; + +/* harmony default export */ var packages_menu = __webpack_exports__["default"] = (menu); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/message-box.js b/PAMapp/local_modules/element-ui/lib/message-box.js new file mode 100644 index 0000000..73a8176 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/message-box.js @@ -0,0 +1,1191 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 79); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), + +/***/ 23: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vdom"); + +/***/ }), + +/***/ 48: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/aria-dialog"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 79: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=template&id=6b29b012& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "msgbox-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-message-box__wrapper", + attrs: { + tabindex: "-1", + role: "dialog", + "aria-modal": "true", + "aria-label": _vm.title || "dialog" + }, + on: { + click: function($event) { + if ($event.target !== $event.currentTarget) { + return null + } + return _vm.handleWrapperClick($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-message-box", + class: [_vm.customClass, _vm.center && "el-message-box--center"] + }, + [ + _vm.title !== null + ? _c("div", { staticClass: "el-message-box__header" }, [ + _c("div", { staticClass: "el-message-box__title" }, [ + _vm.icon && _vm.center + ? _c("div", { + class: ["el-message-box__status", _vm.icon] + }) + : _vm._e(), + _c("span", [_vm._v(_vm._s(_vm.title))]) + ]), + _vm.showClose + ? _c( + "button", + { + staticClass: "el-message-box__headerbtn", + attrs: { type: "button", "aria-label": "Close" }, + on: { + click: function($event) { + _vm.handleAction( + _vm.distinguishCancelAndClose + ? "close" + : "cancel" + ) + }, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction( + _vm.distinguishCancelAndClose + ? "close" + : "cancel" + ) + } + } + }, + [ + _c("i", { + staticClass: "el-message-box__close el-icon-close" + }) + ] + ) + : _vm._e() + ]) + : _vm._e(), + _c("div", { staticClass: "el-message-box__content" }, [ + _c("div", { staticClass: "el-message-box__container" }, [ + _vm.icon && !_vm.center && _vm.message !== "" + ? _c("div", { class: ["el-message-box__status", _vm.icon] }) + : _vm._e(), + _vm.message !== "" + ? _c( + "div", + { staticClass: "el-message-box__message" }, + [ + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", [_vm._v(_vm._s(_vm.message))]) + : _c("p", { + domProps: { innerHTML: _vm._s(_vm.message) } + }) + ]) + ], + 2 + ) + : _vm._e() + ]), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showInput, + expression: "showInput" + } + ], + staticClass: "el-message-box__input" + }, + [ + _c("el-input", { + ref: "input", + attrs: { + type: _vm.inputType, + placeholder: _vm.inputPlaceholder + }, + nativeOn: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + return _vm.handleInputEnter($event) + } + }, + model: { + value: _vm.inputValue, + callback: function($$v) { + _vm.inputValue = $$v + }, + expression: "inputValue" + } + }), + _c( + "div", + { + staticClass: "el-message-box__errormsg", + style: { + visibility: !!_vm.editorErrorMessage + ? "visible" + : "hidden" + } + }, + [_vm._v(_vm._s(_vm.editorErrorMessage))] + ) + ], + 1 + ) + ]), + _c( + "div", + { staticClass: "el-message-box__btns" }, + [ + _vm.showCancelButton + ? _c( + "el-button", + { + class: [_vm.cancelButtonClasses], + attrs: { + loading: _vm.cancelButtonLoading, + round: _vm.roundButton, + size: "small" + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction("cancel") + } + }, + nativeOn: { + click: function($event) { + _vm.handleAction("cancel") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s( + _vm.cancelButtonText || + _vm.t("el.messagebox.cancel") + ) + + "\n " + ) + ] + ) + : _vm._e(), + _c( + "el-button", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showConfirmButton, + expression: "showConfirmButton" + } + ], + ref: "confirm", + class: [_vm.confirmButtonClasses], + attrs: { + loading: _vm.confirmButtonLoading, + round: _vm.roundButton, + size: "small" + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + _vm.handleAction("confirm") + } + }, + nativeOn: { + click: function($event) { + _vm.handleAction("confirm") + } + } + }, + [ + _vm._v( + "\n " + + _vm._s( + _vm.confirmButtonText || + _vm.t("el.messagebox.confirm") + ) + + "\n " + ) + ] + ) + ], + 1 + ) + ] + ) + ] + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=template&id=6b29b012& + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); +var popup_default = /*#__PURE__*/__webpack_require__.n(popup_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/locale" +var lib_locale_ = __webpack_require__(20); + +// EXTERNAL MODULE: external "element-ui/lib/utils/aria-dialog" +var aria_dialog_ = __webpack_require__(48); +var aria_dialog_default = /*#__PURE__*/__webpack_require__.n(aria_dialog_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message-box/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var messageBox = void 0; +var typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + mixins: [popup_default.a, locale_default.a], + + props: { + modal: { + default: true + }, + lockScroll: { + default: true + }, + showClose: { + type: Boolean, + default: true + }, + closeOnClickModal: { + default: true + }, + closeOnPressEscape: { + default: true + }, + closeOnHashChange: { + default: true + }, + center: { + default: false, + type: Boolean + }, + roundButton: { + default: false, + type: Boolean + } + }, + + components: { + ElInput: input_default.a, + ElButton: button_default.a + }, + + computed: { + icon: function icon() { + var type = this.type, + iconClass = this.iconClass; + + return iconClass || (type && typeMap[type] ? 'el-icon-' + typeMap[type] : ''); + }, + confirmButtonClasses: function confirmButtonClasses() { + return 'el-button--primary ' + this.confirmButtonClass; + }, + cancelButtonClasses: function cancelButtonClasses() { + return '' + this.cancelButtonClass; + } + }, + + methods: { + getSafeClose: function getSafeClose() { + var _this = this; + + var currentId = this.uid; + return function () { + _this.$nextTick(function () { + if (currentId === _this.uid) _this.doClose(); + }); + }; + }, + doClose: function doClose() { + var _this2 = this; + + if (!this.visible) return; + this.visible = false; + this._closing = true; + + this.onClose && this.onClose(); + messageBox.closeDialog(); // 閫�蝏� + if (this.lockScroll) { + setTimeout(this.restoreBodyStyle, 200); + } + this.opened = false; + this.doAfterClose(); + setTimeout(function () { + if (_this2.action) _this2.callback(_this2.action, _this2); + }); + }, + handleWrapperClick: function handleWrapperClick() { + if (this.closeOnClickModal) { + this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel'); + } + }, + handleInputEnter: function handleInputEnter() { + if (this.inputType !== 'textarea') { + return this.handleAction('confirm'); + } + }, + handleAction: function handleAction(action) { + if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) { + return; + } + this.action = action; + if (typeof this.beforeClose === 'function') { + this.close = this.getSafeClose(); + this.beforeClose(action, this, this.close); + } else { + this.doClose(); + } + }, + validate: function validate() { + if (this.$type === 'prompt') { + var inputPattern = this.inputPattern; + if (inputPattern && !inputPattern.test(this.inputValue || '')) { + this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error'); + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + var inputValidator = this.inputValidator; + if (typeof inputValidator === 'function') { + var validateResult = inputValidator(this.inputValue); + if (validateResult === false) { + this.editorErrorMessage = this.inputErrorMessage || Object(lib_locale_["t"])('el.messagebox.error'); + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + if (typeof validateResult === 'string') { + this.editorErrorMessage = validateResult; + Object(dom_["addClass"])(this.getInputElement(), 'invalid'); + return false; + } + } + } + this.editorErrorMessage = ''; + Object(dom_["removeClass"])(this.getInputElement(), 'invalid'); + return true; + }, + getFirstFocus: function getFirstFocus() { + var btn = this.$el.querySelector('.el-message-box__btns .el-button'); + var title = this.$el.querySelector('.el-message-box__btns .el-message-box__title'); + return btn || title; + }, + getInputElement: function getInputElement() { + var inputRefs = this.$refs.input.$refs; + return inputRefs.input || inputRefs.textarea; + }, + handleClose: function handleClose() { + this.handleAction('close'); + } + }, + + watch: { + inputValue: { + immediate: true, + handler: function handler(val) { + var _this3 = this; + + this.$nextTick(function (_) { + if (_this3.$type === 'prompt' && val !== null) { + _this3.validate(); + } + }); + } + }, + + visible: function visible(val) { + var _this4 = this; + + if (val) { + this.uid++; + if (this.$type === 'alert' || this.$type === 'confirm') { + this.$nextTick(function () { + _this4.$refs.confirm.$el.focus(); + }); + } + this.focusAfterClosed = document.activeElement; + messageBox = new aria_dialog_default.a(this.$el, this.focusAfterClosed, this.getFirstFocus()); + } + + // prompt + if (this.$type !== 'prompt') return; + if (val) { + setTimeout(function () { + if (_this4.$refs.input && _this4.$refs.input.$el) { + _this4.getInputElement().focus(); + } + }, 500); + } else { + this.editorErrorMessage = ''; + Object(dom_["removeClass"])(this.getInputElement(), 'invalid'); + } + } + }, + + mounted: function mounted() { + var _this5 = this; + + this.$nextTick(function () { + if (_this5.closeOnHashChange) { + window.addEventListener('hashchange', _this5.close); + } + }); + }, + beforeDestroy: function beforeDestroy() { + if (this.closeOnHashChange) { + window.removeEventListener('hashchange', this.close); + } + setTimeout(function () { + messageBox.closeDialog(); + }); + }, + data: function data() { + return { + uid: 1, + title: undefined, + message: '', + type: '', + iconClass: '', + customClass: '', + showInput: false, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + action: '', + confirmButtonText: '', + cancelButtonText: '', + confirmButtonLoading: false, + cancelButtonLoading: false, + confirmButtonClass: '', + confirmButtonDisabled: false, + cancelButtonClass: '', + editorErrorMessage: null, + callback: null, + dangerouslyUseHTMLString: false, + focusAfterClosed: null, + isOnComposition: false, + distinguishCancelAndClose: false + }; + } +}); +// CONCATENATED MODULE: ./packages/message-box/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/message-box/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/message-box/src/main.vue" +/* harmony default export */ var main = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vdom" +var vdom_ = __webpack_require__(23); + +// CONCATENATED MODULE: ./packages/message-box/src/main.js +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var defaults = { + title: null, + message: '', + type: '', + iconClass: '', + showInput: false, + showClose: true, + modalFade: true, + lockScroll: true, + closeOnClickModal: true, + closeOnPressEscape: true, + closeOnHashChange: true, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + confirmButtonPosition: 'right', + confirmButtonHighlight: false, + cancelButtonHighlight: false, + confirmButtonText: '', + cancelButtonText: '', + confirmButtonClass: '', + cancelButtonClass: '', + customClass: '', + beforeClose: null, + dangerouslyUseHTMLString: false, + center: false, + roundButton: false, + distinguishCancelAndClose: false +}; + + + + + + +var MessageBoxConstructor = external_vue_default.a.extend(main); + +var currentMsg = void 0, + instance = void 0; +var msgQueue = []; + +var defaultCallback = function defaultCallback(action) { + if (currentMsg) { + var callback = currentMsg.callback; + if (typeof callback === 'function') { + if (instance.showInput) { + callback(instance.inputValue, action); + } else { + callback(action); + } + } + if (currentMsg.resolve) { + if (action === 'confirm') { + if (instance.showInput) { + currentMsg.resolve({ value: instance.inputValue, action: action }); + } else { + currentMsg.resolve(action); + } + } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) { + currentMsg.reject(action); + } + } + } +}; + +var initInstance = function initInstance() { + instance = new MessageBoxConstructor({ + el: document.createElement('div') + }); + + instance.callback = defaultCallback; +}; + +var main_showNextMsg = function showNextMsg() { + if (!instance) { + initInstance(); + } + instance.action = ''; + + if (!instance.visible || instance.closeTimer) { + if (msgQueue.length > 0) { + currentMsg = msgQueue.shift(); + + var options = currentMsg.options; + for (var prop in options) { + if (options.hasOwnProperty(prop)) { + instance[prop] = options[prop]; + } + } + if (options.callback === undefined) { + instance.callback = defaultCallback; + } + + var oldCb = instance.callback; + instance.callback = function (action, instance) { + oldCb(action, instance); + showNextMsg(); + }; + if (Object(vdom_["isVNode"])(instance.message)) { + instance.$slots.default = [instance.message]; + instance.message = null; + } else { + delete instance.$slots.default; + } + ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(function (prop) { + if (instance[prop] === undefined) { + instance[prop] = true; + } + }); + document.body.appendChild(instance.$el); + + external_vue_default.a.nextTick(function () { + instance.visible = true; + }); + } + } +}; + +var main_MessageBox = function MessageBox(options, callback) { + if (external_vue_default.a.prototype.$isServer) return; + if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) { + options = { + message: options + }; + if (typeof arguments[1] === 'string') { + options.title = arguments[1]; + } + } else if (options.callback && !callback) { + callback = options.callback; + } + + if (typeof Promise !== 'undefined') { + return new Promise(function (resolve, reject) { + // eslint-disable-line + msgQueue.push({ + options: merge_default()({}, defaults, MessageBox.defaults, options), + callback: callback, + resolve: resolve, + reject: reject + }); + + main_showNextMsg(); + }); + } else { + msgQueue.push({ + options: merge_default()({}, defaults, MessageBox.defaults, options), + callback: callback + }); + + main_showNextMsg(); + } +}; + +main_MessageBox.setDefaults = function (defaults) { + main_MessageBox.defaults = defaults; +}; + +main_MessageBox.alert = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + $type: 'alert', + closeOnPressEscape: false, + closeOnClickModal: false + }, options)); +}; + +main_MessageBox.confirm = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + $type: 'confirm', + showCancelButton: true + }, options)); +}; + +main_MessageBox.prompt = function (message, title, options) { + if ((typeof title === 'undefined' ? 'undefined' : _typeof(title)) === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return main_MessageBox(merge_default()({ + title: title, + message: message, + showCancelButton: true, + showInput: true, + $type: 'prompt' + }, options)); +}; + +main_MessageBox.close = function () { + instance.doClose(); + instance.visible = false; + msgQueue = []; + currentMsg = null; +}; + +/* harmony default export */ var src_main = (main_MessageBox); + +// CONCATENATED MODULE: ./packages/message-box/index.js + +/* harmony default export */ var message_box = __webpack_exports__["default"] = (src_main); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/message.js b/PAMapp/local_modules/element-ui/lib/message.js new file mode 100644 index 0000000..ad15504 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/message.js @@ -0,0 +1,547 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 81); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), + +/***/ 23: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vdom"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 81: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=template&id=455b9f60& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-message-fade" }, + on: { "after-leave": _vm.handleAfterLeave } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + class: [ + "el-message", + _vm.type && !_vm.iconClass ? "el-message--" + _vm.type : "", + _vm.center ? "is-center" : "", + _vm.showClose ? "is-closable" : "", + _vm.customClass + ], + style: _vm.positionStyle, + attrs: { role: "alert" }, + on: { mouseenter: _vm.clearTimer, mouseleave: _vm.startTimer } + }, + [ + _vm.iconClass + ? _c("i", { class: _vm.iconClass }) + : _c("i", { class: _vm.typeClass }), + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", { staticClass: "el-message__content" }, [ + _vm._v(_vm._s(_vm.message)) + ]) + : _c("p", { + staticClass: "el-message__content", + domProps: { innerHTML: _vm._s(_vm.message) } + }) + ]), + _vm.showClose + ? _c("i", { + staticClass: "el-message__closeBtn el-icon-close", + on: { click: _vm.close } + }) + : _vm._e() + ], + 2 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=template&id=455b9f60& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/message/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + data: function data() { + return { + visible: false, + message: '', + duration: 3000, + type: 'info', + iconClass: '', + customClass: '', + onClose: null, + showClose: false, + closed: false, + verticalOffset: 20, + timer: null, + dangerouslyUseHTMLString: false, + center: false + }; + }, + + + computed: { + typeClass: function typeClass() { + return this.type && !this.iconClass ? 'el-message__icon el-icon-' + typeMap[this.type] : ''; + }, + positionStyle: function positionStyle() { + return { + 'top': this.verticalOffset + 'px' + }; + } + }, + + watch: { + closed: function closed(newVal) { + if (newVal) { + this.visible = false; + } + } + }, + + methods: { + handleAfterLeave: function handleAfterLeave() { + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + close: function close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(this); + } + }, + clearTimer: function clearTimer() { + clearTimeout(this.timer); + }, + startTimer: function startTimer() { + var _this = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this.closed) { + _this.close(); + } + }, this.duration); + } + }, + keydown: function keydown(e) { + if (e.keyCode === 27) { + // esc��瘨 + if (!this.closed) { + this.close(); + } + } + } + }, + mounted: function mounted() { + this.startTimer(); + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy: function beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } +}); +// CONCATENATED MODULE: ./packages/message/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/message/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/message/src/main.vue" +/* harmony default export */ var main = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vdom" +var vdom_ = __webpack_require__(23); + +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// CONCATENATED MODULE: ./packages/message/src/main.js +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + +var MessageConstructor = external_vue_default.a.extend(main); + +var instance = void 0; +var instances = []; +var seed = 1; + +var main_Message = function Message(options) { + if (external_vue_default.a.prototype.$isServer) return; + options = options || {}; + if (typeof options === 'string') { + options = { + message: options + }; + } + var userOnClose = options.onClose; + var id = 'message_' + seed++; + + options.onClose = function () { + Message.close(id, userOnClose); + }; + instance = new MessageConstructor({ + data: options + }); + instance.id = id; + if (Object(vdom_["isVNode"])(instance.message)) { + instance.$slots.default = [instance.message]; + instance.message = null; + } + instance.$mount(); + document.body.appendChild(instance.$el); + var verticalOffset = options.offset || 20; + instances.forEach(function (item) { + verticalOffset += item.$el.offsetHeight + 16; + }); + instance.verticalOffset = verticalOffset; + instance.visible = true; + instance.$el.style.zIndex = popup_["PopupManager"].nextZIndex(); + instances.push(instance); + return instance; +}; + +['success', 'warning', 'info', 'error'].forEach(function (type) { + main_Message[type] = function (options) { + if (Object(types_["isObject"])(options) && !Object(vdom_["isVNode"])(options)) { + return main_Message(_extends({}, options, { + type: type + })); + } + return main_Message({ + type: type, + message: options + }); + }; +}); + +main_Message.close = function (id, userOnClose) { + var len = instances.length; + var index = -1; + var removedHeight = void 0; + for (var i = 0; i < len; i++) { + if (id === instances[i].id) { + removedHeight = instances[i].$el.offsetHeight; + index = i; + if (typeof userOnClose === 'function') { + userOnClose(instances[i]); + } + instances.splice(i, 1); + break; + } + } + if (len <= 1 || index === -1 || index > instances.length - 1) return; + for (var _i = index; _i < len - 1; _i++) { + var dom = instances[_i].$el; + dom.style['top'] = parseInt(dom.style['top'], 10) - removedHeight - 16 + 'px'; + } +}; + +main_Message.closeAll = function () { + for (var i = instances.length - 1; i >= 0; i--) { + instances[i].close(); + } +}; + +/* harmony default export */ var src_main = (main_Message); +// CONCATENATED MODULE: ./packages/message/index.js + +/* harmony default export */ var message = __webpack_exports__["default"] = (src_main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/mixins/emitter.js b/PAMapp/local_modules/element-ui/lib/mixins/emitter.js new file mode 100644 index 0000000..86132a5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/mixins/emitter.js @@ -0,0 +1,36 @@ +"use strict"; + +exports.__esModule = true; +function _broadcast(componentName, eventName, params) { + this.$children.forEach(function (child) { + var name = child.$options.componentName; + + if (name === componentName) { + child.$emit.apply(child, [eventName].concat(params)); + } else { + _broadcast.apply(child, [componentName, eventName].concat([params])); + } + }); +} +exports.default = { + methods: { + dispatch: function dispatch(componentName, eventName, params) { + var parent = this.$parent || this.$root; + var name = parent.$options.componentName; + + while (parent && (!name || name !== componentName)) { + parent = parent.$parent; + + if (parent) { + name = parent.$options.componentName; + } + } + if (parent) { + parent.$emit.apply(parent, [eventName].concat(params)); + } + }, + broadcast: function broadcast(componentName, eventName, params) { + _broadcast.call(this, componentName, eventName, params); + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/mixins/focus.js b/PAMapp/local_modules/element-ui/lib/mixins/focus.js new file mode 100644 index 0000000..a0cc23d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/mixins/focus.js @@ -0,0 +1,15 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (ref) { + return { + methods: { + focus: function focus() { + this.$refs[ref].focus(); + } + } + }; +}; + +; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/mixins/locale.js b/PAMapp/local_modules/element-ui/lib/mixins/locale.js new file mode 100644 index 0000000..c9839c3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/mixins/locale.js @@ -0,0 +1,17 @@ +'use strict'; + +exports.__esModule = true; + +var _locale = require('element-ui/lib/locale'); + +exports.default = { + methods: { + t: function t() { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _locale.t.apply(this, args); + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/mixins/migrating.js b/PAMapp/local_modules/element-ui/lib/mixins/migrating.js new file mode 100644 index 0000000..81db2c7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/mixins/migrating.js @@ -0,0 +1,69 @@ +'use strict'; + +exports.__esModule = true; + +var _util = require('element-ui/lib/utils/util'); + +/** + * Show migrating guide in browser console. + * + * Usage: + * import Migrating from 'element-ui/src/mixins/migrating'; + * + * mixins: [Migrating] + * + * add getMigratingConfig method for your component. + * getMigratingConfig() { + * return { + * props: { + * 'allow-no-selection': 'allow-no-selection is removed.', + * 'selection-mode': 'selection-mode is removed.' + * }, + * events: { + * selectionchange: 'selectionchange is renamed to selection-change.' + * } + * }; + * }, + */ +exports.default = { + mounted: function mounted() { + if (process.env.NODE_ENV === 'production') return; + if (!this.$vnode) return; + + var _getMigratingConfig = this.getMigratingConfig(), + _getMigratingConfig$p = _getMigratingConfig.props, + props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p, + _getMigratingConfig$e = _getMigratingConfig.events, + events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e; + + var _$vnode = this.$vnode, + data = _$vnode.data, + componentOptions = _$vnode.componentOptions; + + var definedProps = data.attrs || {}; + var definedEvents = componentOptions.listeners || {}; + + for (var propName in definedProps) { + propName = (0, _util.kebabCase)(propName); // compatible with camel case + if (props[propName]) { + console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]); + } + } + + for (var eventName in definedEvents) { + eventName = (0, _util.kebabCase)(eventName); // compatible with camel case + if (events[eventName]) { + console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]); + } + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: {}, + events: {} + }; + } + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/notification.js b/PAMapp/local_modules/element-ui/lib/notification.js new file mode 100644 index 0000000..0fe0952 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/notification.js @@ -0,0 +1,614 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 80); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 13: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), + +/***/ 23: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vdom"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 80: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-notification-fade" } }, [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + class: ["el-notification", _vm.customClass, _vm.horizontalClass], + style: _vm.positionStyle, + attrs: { role: "alert" }, + on: { + mouseenter: function($event) { + _vm.clearTimer() + }, + mouseleave: function($event) { + _vm.startTimer() + }, + click: _vm.click + } + }, + [ + _vm.type || _vm.iconClass + ? _c("i", { + staticClass: "el-notification__icon", + class: [_vm.typeClass, _vm.iconClass] + }) + : _vm._e(), + _c( + "div", + { + staticClass: "el-notification__group", + class: { "is-with-icon": _vm.typeClass || _vm.iconClass } + }, + [ + _c("h2", { + staticClass: "el-notification__title", + domProps: { textContent: _vm._s(_vm.title) } + }), + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.message, + expression: "message" + } + ], + staticClass: "el-notification__content" + }, + [ + _vm._t("default", [ + !_vm.dangerouslyUseHTMLString + ? _c("p", [_vm._v(_vm._s(_vm.message))]) + : _c("p", { domProps: { innerHTML: _vm._s(_vm.message) } }) + ]) + ], + 2 + ), + _vm.showClose + ? _c("div", { + staticClass: "el-notification__closeBtn el-icon-close", + on: { + click: function($event) { + $event.stopPropagation() + return _vm.close($event) + } + } + }) + : _vm._e() + ] + ) + ] + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=template&id=43dbc3d8& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/notification/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +var typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' +}; + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + data: function data() { + return { + visible: false, + title: '', + message: '', + duration: 4500, + type: '', + showClose: true, + customClass: '', + iconClass: '', + onClose: null, + onClick: null, + closed: false, + verticalOffset: 0, + timer: null, + dangerouslyUseHTMLString: false, + position: 'top-right' + }; + }, + + + computed: { + typeClass: function typeClass() { + return this.type && typeMap[this.type] ? 'el-icon-' + typeMap[this.type] : ''; + }, + horizontalClass: function horizontalClass() { + return this.position.indexOf('right') > -1 ? 'right' : 'left'; + }, + verticalProperty: function verticalProperty() { + return (/^top-/.test(this.position) ? 'top' : 'bottom' + ); + }, + positionStyle: function positionStyle() { + var _ref; + + return _ref = {}, _ref[this.verticalProperty] = this.verticalOffset + 'px', _ref; + } + }, + + watch: { + closed: function closed(newVal) { + if (newVal) { + this.visible = false; + this.$el.addEventListener('transitionend', this.destroyElement); + } + } + }, + + methods: { + destroyElement: function destroyElement() { + this.$el.removeEventListener('transitionend', this.destroyElement); + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + click: function click() { + if (typeof this.onClick === 'function') { + this.onClick(); + } + }, + close: function close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(); + } + }, + clearTimer: function clearTimer() { + clearTimeout(this.timer); + }, + startTimer: function startTimer() { + var _this = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this.closed) { + _this.close(); + } + }, this.duration); + } + }, + keydown: function keydown(e) { + if (e.keyCode === 46 || e.keyCode === 8) { + this.clearTimer(); // detele ����恣� + } else if (e.keyCode === 27) { + // esc��瘨 + if (!this.closed) { + this.close(); + } + } else { + this.startTimer(); // �憭�恣� + } + } + }, + mounted: function mounted() { + var _this2 = this; + + if (this.duration > 0) { + this.timer = setTimeout(function () { + if (!_this2.closed) { + _this2.close(); + } + }, this.duration); + } + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy: function beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } +}); +// CONCATENATED MODULE: ./packages/notification/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/notification/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/notification/src/main.vue" +/* harmony default export */ var main = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vdom" +var vdom_ = __webpack_require__(23); + +// CONCATENATED MODULE: ./packages/notification/src/main.js + + + + + +var NotificationConstructor = external_vue_default.a.extend(main); + +var instance = void 0; +var instances = []; +var seed = 1; + +var main_Notification = function Notification(options) { + if (external_vue_default.a.prototype.$isServer) return; + options = merge_default()({}, options); + var userOnClose = options.onClose; + var id = 'notification_' + seed++; + var position = options.position || 'top-right'; + + options.onClose = function () { + Notification.close(id, userOnClose); + }; + + instance = new NotificationConstructor({ + data: options + }); + + if (Object(vdom_["isVNode"])(options.message)) { + instance.$slots.default = [options.message]; + options.message = 'REPLACED_BY_VNODE'; + } + instance.id = id; + instance.$mount(); + document.body.appendChild(instance.$el); + instance.visible = true; + instance.dom = instance.$el; + instance.dom.style.zIndex = popup_["PopupManager"].nextZIndex(); + + var verticalOffset = options.offset || 0; + instances.filter(function (item) { + return item.position === position; + }).forEach(function (item) { + verticalOffset += item.$el.offsetHeight + 16; + }); + verticalOffset += 16; + instance.verticalOffset = verticalOffset; + instances.push(instance); + return instance; +}; + +['success', 'warning', 'info', 'error'].forEach(function (type) { + main_Notification[type] = function (options) { + if (typeof options === 'string' || Object(vdom_["isVNode"])(options)) { + options = { + message: options + }; + } + options.type = type; + return main_Notification(options); + }; +}); + +main_Notification.close = function (id, userOnClose) { + var index = -1; + var len = instances.length; + var instance = instances.filter(function (instance, i) { + if (instance.id === id) { + index = i; + return true; + } + return false; + })[0]; + if (!instance) return; + + if (typeof userOnClose === 'function') { + userOnClose(instance); + } + instances.splice(index, 1); + + if (len <= 1) return; + var position = instance.position; + var removedHeight = instance.dom.offsetHeight; + for (var i = index; i < len - 1; i++) { + if (instances[i].position === position) { + instances[i].dom.style[instance.verticalProperty] = parseInt(instances[i].dom.style[instance.verticalProperty], 10) - removedHeight - 16 + 'px'; + } + } +}; + +main_Notification.closeAll = function () { + for (var i = instances.length - 1; i >= 0; i--) { + instances[i].close(); + } +}; + +/* harmony default export */ var src_main = (main_Notification); +// CONCATENATED MODULE: ./packages/notification/index.js + +/* harmony default export */ var notification = __webpack_exports__["default"] = (src_main); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/option-group.js b/PAMapp/local_modules/element-ui/lib/option-group.js new file mode 100644 index 0000000..194abd6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/option-group.js @@ -0,0 +1,343 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 95); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 95: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=template&id=6685e5de& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "ul", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-select-group__wrap" + }, + [ + _c("li", { staticClass: "el-select-group__title" }, [ + _vm._v(_vm._s(_vm.label)) + ]), + _c("li", [ + _c("ul", { staticClass: "el-select-group" }, [_vm._t("default")], 2) + ]) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=template&id=6685e5de& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var option_groupvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a], + + name: 'ElOptionGroup', + + componentName: 'ElOptionGroup', + + props: { + label: String, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + visible: true + }; + }, + + + watch: { + disabled: function disabled(val) { + this.broadcast('ElOption', 'handleGroupDisabled', val); + } + }, + + methods: { + queryChange: function queryChange() { + this.visible = this.$children && Array.isArray(this.$children) && this.$children.some(function (option) { + return option.visible === true; + }); + } + }, + + created: function created() { + this.$on('queryChange', this.queryChange); + }, + mounted: function mounted() { + if (this.disabled) { + this.broadcast('ElOption', 'handleGroupDisabled', this.disabled); + } + } +}); +// CONCATENATED MODULE: ./packages/select/src/option-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_option_groupvue_type_script_lang_js_ = (option_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/select/src/option-group.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_option_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/select/src/option-group.vue" +/* harmony default export */ var option_group = (component.exports); +// CONCATENATED MODULE: ./packages/option-group/index.js + + +/* istanbul ignore next */ +option_group.install = function (Vue) { + Vue.component(option_group.name, option_group); +}; + +/* harmony default export */ var packages_option_group = __webpack_exports__["default"] = (option_group); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/option.js b/PAMapp/local_modules/element-ui/lib/option.js new file mode 100644 index 0000000..e3b5da2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/option.js @@ -0,0 +1,474 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 54); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 33: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-select-dropdown__item", + class: { + selected: _vm.itemSelected, + "is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached, + hover: _vm.hover + }, + on: { + mouseenter: _vm.hoverItem, + click: function($event) { + $event.stopPropagation() + return _vm.selectOptionClick($event) + } + } + }, + [_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js& +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var optionvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a], + + name: 'ElOption', + + componentName: 'ElOption', + + inject: ['select'], + + props: { + value: { + required: true + }, + label: [String, Number], + created: Boolean, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + index: -1, + groupDisabled: false, + visible: true, + hitState: false, + hover: false + }; + }, + + + computed: { + isObject: function isObject() { + return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]'; + }, + currentLabel: function currentLabel() { + return this.label || (this.isObject ? '' : this.value); + }, + currentValue: function currentValue() { + return this.value || this.label || ''; + }, + itemSelected: function itemSelected() { + if (!this.select.multiple) { + return this.isEqual(this.value, this.select.value); + } else { + return this.contains(this.select.value, this.value); + } + }, + limitReached: function limitReached() { + if (this.select.multiple) { + return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0; + } else { + return false; + } + } + }, + + watch: { + currentLabel: function currentLabel() { + if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected'); + }, + value: function value(val, oldVal) { + var _select = this.select, + remote = _select.remote, + valueKey = _select.valueKey; + + if (!this.created && !remote) { + if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) { + return; + } + this.dispatch('ElSelect', 'setSelected'); + } + } + }, + + methods: { + isEqual: function isEqual(a, b) { + if (!this.isObject) { + return a === b; + } else { + var valueKey = this.select.valueKey; + return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey); + } + }, + contains: function contains() { + var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var target = arguments[1]; + + if (!this.isObject) { + return arr && arr.indexOf(target) > -1; + } else { + var valueKey = this.select.valueKey; + return arr && arr.some(function (item) { + return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey); + }); + } + }, + handleGroupDisabled: function handleGroupDisabled(val) { + this.groupDisabled = val; + }, + hoverItem: function hoverItem() { + if (!this.disabled && !this.groupDisabled) { + this.select.hoverIndex = this.select.options.indexOf(this); + } + }, + selectOptionClick: function selectOptionClick() { + if (this.disabled !== true && this.groupDisabled !== true) { + this.dispatch('ElSelect', 'handleOptionClick', [this, true]); + } + }, + queryChange: function queryChange(query) { + this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created; + if (!this.visible) { + this.select.filteredOptionsCount--; + } + } + }, + + created: function created() { + this.select.options.push(this); + this.select.cachedOptions.push(this); + this.select.optionsCount++; + this.select.filteredOptionsCount++; + + this.$on('queryChange', this.queryChange); + this.$on('handleGroupDisabled', this.handleGroupDisabled); + }, + beforeDestroy: function beforeDestroy() { + var _select2 = this.select, + selected = _select2.selected, + multiple = _select2.multiple; + + var selectedOptions = multiple ? selected : [selected]; + var index = this.select.cachedOptions.indexOf(this); + var selectedIndex = selectedOptions.indexOf(this); + + // if option is not selected, remove it from cache + if (index > -1 && selectedIndex < 0) { + this.select.cachedOptions.splice(index, 1); + } + this.select.onOptionDestroy(this.select.options.indexOf(this)); + } +}); +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js& + /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/select/src/option.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_optionvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/select/src/option.vue" +/* harmony default export */ var src_option = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 54: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _select_src_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33); + + +/* istanbul ignore next */ +_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].install = function (Vue) { + Vue.component(_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].name, _select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); +}; + +/* harmony default export */ __webpack_exports__["default"] = (_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/page-header.js b/PAMapp/local_modules/element-ui/lib/page-header.js new file mode 100644 index 0000000..c81bc44 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/page-header.js @@ -0,0 +1,318 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 125); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 125: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=template&id=5070954c& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-page-header" }, [ + _c( + "div", + { + staticClass: "el-page-header__left", + on: { + click: function($event) { + _vm.$emit("back") + } + } + }, + [ + _c("i", { staticClass: "el-icon-back" }), + _c( + "div", + { staticClass: "el-page-header__title" }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ) + ] + ), + _c( + "div", + { staticClass: "el-page-header__content" }, + [_vm._t("content", [_vm._v(_vm._s(_vm.content))])], + 2 + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=template&id=5070954c& + +// EXTERNAL MODULE: external "element-ui/lib/locale" +var locale_ = __webpack_require__(20); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/page-header/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElPageHeader', + + props: { + title: { + type: String, + default: function _default() { + return Object(locale_["t"])('el.pageHeader.title'); + } + }, + content: String + } +}); +// CONCATENATED MODULE: ./packages/page-header/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/page-header/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/page-header/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/page-header/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var page_header = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/pagination.js b/PAMapp/local_modules/element-ui/lib/pagination.js new file mode 100644 index 0000000..9af6172 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/pagination.js @@ -0,0 +1,946 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 74); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 45: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/select"); + +/***/ }), + +/***/ 46: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/option"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 74: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=template&id=7274f267& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "ul", + { staticClass: "el-pager", on: { click: _vm.onPagerClick } }, + [ + _vm.pageCount > 0 + ? _c( + "li", + { + staticClass: "number", + class: { active: _vm.currentPage === 1, disabled: _vm.disabled } + }, + [_vm._v("1")] + ) + : _vm._e(), + _vm.showPrevMore + ? _c("li", { + staticClass: "el-icon more btn-quickprev", + class: [_vm.quickprevIconClass, { disabled: _vm.disabled }], + on: { + mouseenter: function($event) { + _vm.onMouseenter("left") + }, + mouseleave: function($event) { + _vm.quickprevIconClass = "el-icon-more" + } + } + }) + : _vm._e(), + _vm._l(_vm.pagers, function(pager) { + return _c( + "li", + { + key: pager, + staticClass: "number", + class: { active: _vm.currentPage === pager, disabled: _vm.disabled } + }, + [_vm._v(_vm._s(pager))] + ) + }), + _vm.showNextMore + ? _c("li", { + staticClass: "el-icon more btn-quicknext", + class: [_vm.quicknextIconClass, { disabled: _vm.disabled }], + on: { + mouseenter: function($event) { + _vm.onMouseenter("right") + }, + mouseleave: function($event) { + _vm.quicknextIconClass = "el-icon-more" + } + } + }) + : _vm._e(), + _vm.pageCount > 1 + ? _c( + "li", + { + staticClass: "number", + class: { + active: _vm.currentPage === _vm.pageCount, + disabled: _vm.disabled + } + }, + [_vm._v(_vm._s(_vm.pageCount))] + ) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=template&id=7274f267& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var pagervue_type_script_lang_js_ = ({ + name: 'ElPager', + + props: { + currentPage: Number, + + pageCount: Number, + + pagerCount: Number, + + disabled: Boolean + }, + + watch: { + showPrevMore: function showPrevMore(val) { + if (!val) this.quickprevIconClass = 'el-icon-more'; + }, + showNextMore: function showNextMore(val) { + if (!val) this.quicknextIconClass = 'el-icon-more'; + } + }, + + methods: { + onPagerClick: function onPagerClick(event) { + var target = event.target; + if (target.tagName === 'UL' || this.disabled) { + return; + } + + var newPage = Number(event.target.textContent); + var pageCount = this.pageCount; + var currentPage = this.currentPage; + var pagerCountOffset = this.pagerCount - 2; + + if (target.className.indexOf('more') !== -1) { + if (target.className.indexOf('quickprev') !== -1) { + newPage = currentPage - pagerCountOffset; + } else if (target.className.indexOf('quicknext') !== -1) { + newPage = currentPage + pagerCountOffset; + } + } + + /* istanbul ignore if */ + if (!isNaN(newPage)) { + if (newPage < 1) { + newPage = 1; + } + + if (newPage > pageCount) { + newPage = pageCount; + } + } + + if (newPage !== currentPage) { + this.$emit('change', newPage); + } + }, + onMouseenter: function onMouseenter(direction) { + if (this.disabled) return; + if (direction === 'left') { + this.quickprevIconClass = 'el-icon-d-arrow-left'; + } else { + this.quicknextIconClass = 'el-icon-d-arrow-right'; + } + } + }, + + computed: { + pagers: function pagers() { + var pagerCount = this.pagerCount; + var halfPagerCount = (pagerCount - 1) / 2; + + var currentPage = Number(this.currentPage); + var pageCount = Number(this.pageCount); + + var showPrevMore = false; + var showNextMore = false; + + if (pageCount > pagerCount) { + if (currentPage > pagerCount - halfPagerCount) { + showPrevMore = true; + } + + if (currentPage < pageCount - halfPagerCount) { + showNextMore = true; + } + } + + var array = []; + + if (showPrevMore && !showNextMore) { + var startPage = pageCount - (pagerCount - 2); + for (var i = startPage; i < pageCount; i++) { + array.push(i); + } + } else if (!showPrevMore && showNextMore) { + for (var _i = 2; _i < pagerCount; _i++) { + array.push(_i); + } + } else if (showPrevMore && showNextMore) { + var offset = Math.floor(pagerCount / 2) - 1; + for (var _i2 = currentPage - offset; _i2 <= currentPage + offset; _i2++) { + array.push(_i2); + } + } else { + for (var _i3 = 2; _i3 < pageCount; _i3++) { + array.push(_i3); + } + } + + this.showPrevMore = showPrevMore; + this.showNextMore = showNextMore; + + return array; + } + }, + + data: function data() { + return { + current: null, + showPrevMore: false, + showNextMore: false, + quicknextIconClass: 'el-icon-more', + quickprevIconClass: 'el-icon-more' + }; + } +}); +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pagervue_type_script_lang_js_ = (pagervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/pagination/src/pager.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_pagervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/pagination/src/pager.vue" +/* harmony default export */ var pager = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/select" +var select_ = __webpack_require__(45); +var select_default = /*#__PURE__*/__webpack_require__.n(select_); + +// EXTERNAL MODULE: external "element-ui/lib/option" +var option_ = __webpack_require__(46); +var option_default = /*#__PURE__*/__webpack_require__.n(option_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./packages/pagination/src/pagination.js + + + + + + + +/* harmony default export */ var pagination = ({ + name: 'ElPagination', + + props: { + pageSize: { + type: Number, + default: 10 + }, + + small: Boolean, + + total: Number, + + pageCount: Number, + + pagerCount: { + type: Number, + validator: function validator(value) { + return (value | 0) === value && value > 4 && value < 22 && value % 2 === 1; + }, + + default: 7 + }, + + currentPage: { + type: Number, + default: 1 + }, + + layout: { + default: 'prev, pager, next, jumper, ->, total' + }, + + pageSizes: { + type: Array, + default: function _default() { + return [10, 20, 30, 40, 50, 100]; + } + }, + + popperClass: String, + + prevText: String, + + nextText: String, + + background: Boolean, + + disabled: Boolean, + + hideOnSinglePage: Boolean + }, + + data: function data() { + return { + internalCurrentPage: 1, + internalPageSize: 0, + lastEmittedPage: -1, + userChangePageSize: false + }; + }, + render: function render(h) { + var layout = this.layout; + if (!layout) return null; + if (this.hideOnSinglePage && (!this.internalPageCount || this.internalPageCount === 1)) return null; + + var template = h('div', { 'class': ['el-pagination', { + 'is-background': this.background, + 'el-pagination--small': this.small + }] }); + var TEMPLATE_MAP = { + prev: h('prev'), + jumper: h('jumper'), + pager: h('pager', { + attrs: { currentPage: this.internalCurrentPage, pageCount: this.internalPageCount, pagerCount: this.pagerCount, disabled: this.disabled }, + on: { + 'change': this.handleCurrentChange + } + }), + next: h('next'), + sizes: h('sizes', { + attrs: { pageSizes: this.pageSizes } + }), + slot: h('slot', [this.$slots.default ? this.$slots.default : '']), + total: h('total') + }; + var components = layout.split(',').map(function (item) { + return item.trim(); + }); + var rightWrapper = h('div', { 'class': 'el-pagination__rightwrapper' }); + var haveRightWrapper = false; + + template.children = template.children || []; + rightWrapper.children = rightWrapper.children || []; + components.forEach(function (compo) { + if (compo === '->') { + haveRightWrapper = true; + return; + } + + if (!haveRightWrapper) { + template.children.push(TEMPLATE_MAP[compo]); + } else { + rightWrapper.children.push(TEMPLATE_MAP[compo]); + } + }); + + if (haveRightWrapper) { + template.children.unshift(rightWrapper); + } + + return template; + }, + + + components: { + Prev: { + render: function render(h) { + return h( + 'button', + { + attrs: { + type: 'button', + + disabled: this.$parent.disabled || this.$parent.internalCurrentPage <= 1 + }, + 'class': 'btn-prev', on: { + 'click': this.$parent.prev + } + }, + [this.$parent.prevText ? h('span', [this.$parent.prevText]) : h('i', { 'class': 'el-icon el-icon-arrow-left' })] + ); + } + }, + + Next: { + render: function render(h) { + return h( + 'button', + { + attrs: { + type: 'button', + + disabled: this.$parent.disabled || this.$parent.internalCurrentPage === this.$parent.internalPageCount || this.$parent.internalPageCount === 0 + }, + 'class': 'btn-next', on: { + 'click': this.$parent.next + } + }, + [this.$parent.nextText ? h('span', [this.$parent.nextText]) : h('i', { 'class': 'el-icon el-icon-arrow-right' })] + ); + } + }, + + Sizes: { + mixins: [locale_default.a], + + props: { + pageSizes: Array + }, + + watch: { + pageSizes: { + immediate: true, + handler: function handler(newVal, oldVal) { + if (Object(util_["valueEquals"])(newVal, oldVal)) return; + if (Array.isArray(newVal)) { + this.$parent.internalPageSize = newVal.indexOf(this.$parent.pageSize) > -1 ? this.$parent.pageSize : this.pageSizes[0]; + } + } + } + }, + + render: function render(h) { + var _this = this; + + return h( + 'span', + { 'class': 'el-pagination__sizes' }, + [h( + 'el-select', + { + attrs: { + value: this.$parent.internalPageSize, + popperClass: this.$parent.popperClass || '', + size: 'mini', + + disabled: this.$parent.disabled }, + on: { + 'input': this.handleChange + } + }, + [this.pageSizes.map(function (item) { + return h('el-option', { + attrs: { + value: item, + label: item + _this.t('el.pagination.pagesize') } + }); + })] + )] + ); + }, + + + components: { + ElSelect: select_default.a, + ElOption: option_default.a + }, + + methods: { + handleChange: function handleChange(val) { + if (val !== this.$parent.internalPageSize) { + this.$parent.internalPageSize = val = parseInt(val, 10); + this.$parent.userChangePageSize = true; + this.$parent.$emit('update:pageSize', val); + this.$parent.$emit('size-change', val); + } + } + } + }, + + Jumper: { + mixins: [locale_default.a], + + components: { ElInput: input_default.a }, + + data: function data() { + return { + userInput: null + }; + }, + + + watch: { + '$parent.internalCurrentPage': function $parentInternalCurrentPage() { + this.userInput = null; + } + }, + + methods: { + handleKeyup: function handleKeyup(_ref) { + var keyCode = _ref.keyCode, + target = _ref.target; + + // Chrome, Safari, Firefox triggers change event on Enter + // Hack for IE: https://github.com/ElemeFE/element/issues/11710 + // Drop this method when we no longer supports IE + if (keyCode === 13) { + this.handleChange(target.value); + } + }, + handleInput: function handleInput(value) { + this.userInput = value; + }, + handleChange: function handleChange(value) { + this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(value); + this.$parent.emitChange(); + this.userInput = null; + } + }, + + render: function render(h) { + return h( + 'span', + { 'class': 'el-pagination__jump' }, + [this.t('el.pagination.goto'), h('el-input', { + 'class': 'el-pagination__editor is-in-pagination', + attrs: { min: 1, + max: this.$parent.internalPageCount, + value: this.userInput !== null ? this.userInput : this.$parent.internalCurrentPage, + type: 'number', + disabled: this.$parent.disabled + }, + nativeOn: { + 'keyup': this.handleKeyup + }, + on: { + 'input': this.handleInput, + 'change': this.handleChange + } + }), this.t('el.pagination.pageClassifier')] + ); + } + }, + + Total: { + mixins: [locale_default.a], + + render: function render(h) { + return typeof this.$parent.total === 'number' ? h( + 'span', + { 'class': 'el-pagination__total' }, + [this.t('el.pagination.total', { total: this.$parent.total })] + ) : ''; + } + }, + + Pager: pager + }, + + methods: { + handleCurrentChange: function handleCurrentChange(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + this.userChangePageSize = true; + this.emitChange(); + }, + prev: function prev() { + if (this.disabled) return; + var newVal = this.internalCurrentPage - 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('prev-click', this.internalCurrentPage); + this.emitChange(); + }, + next: function next() { + if (this.disabled) return; + var newVal = this.internalCurrentPage + 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('next-click', this.internalCurrentPage); + this.emitChange(); + }, + getValidCurrentPage: function getValidCurrentPage(value) { + value = parseInt(value, 10); + + var havePageCount = typeof this.internalPageCount === 'number'; + + var resetValue = void 0; + if (!havePageCount) { + if (isNaN(value) || value < 1) resetValue = 1; + } else { + if (value < 1) { + resetValue = 1; + } else if (value > this.internalPageCount) { + resetValue = this.internalPageCount; + } + } + + if (resetValue === undefined && isNaN(value)) { + resetValue = 1; + } else if (resetValue === 0) { + resetValue = 1; + } + + return resetValue === undefined ? value : resetValue; + }, + emitChange: function emitChange() { + var _this2 = this; + + this.$nextTick(function () { + if (_this2.internalCurrentPage !== _this2.lastEmittedPage || _this2.userChangePageSize) { + _this2.$emit('current-change', _this2.internalCurrentPage); + _this2.lastEmittedPage = _this2.internalCurrentPage; + _this2.userChangePageSize = false; + } + }); + } + }, + + computed: { + internalPageCount: function internalPageCount() { + if (typeof this.total === 'number') { + return Math.max(1, Math.ceil(this.total / this.internalPageSize)); + } else if (typeof this.pageCount === 'number') { + return Math.max(1, this.pageCount); + } + return null; + } + }, + + watch: { + currentPage: { + immediate: true, + handler: function handler(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + } + }, + + pageSize: { + immediate: true, + handler: function handler(val) { + this.internalPageSize = isNaN(val) ? 10 : val; + } + }, + + internalCurrentPage: { + immediate: true, + handler: function handler(newVal) { + this.$emit('update:currentPage', newVal); + this.lastEmittedPage = -1; + } + }, + + internalPageCount: function internalPageCount(newVal) { + /* istanbul ignore if */ + var oldPage = this.internalCurrentPage; + if (newVal > 0 && oldPage === 0) { + this.internalCurrentPage = 1; + } else if (oldPage > newVal) { + this.internalCurrentPage = newVal === 0 ? 1 : newVal; + this.userChangePageSize && this.emitChange(); + } + this.userChangePageSize = false; + } + } +}); +// CONCATENATED MODULE: ./packages/pagination/index.js + + +/* istanbul ignore next */ +pagination.install = function (Vue) { + Vue.component(pagination.name, pagination); +}; + +/* harmony default export */ var packages_pagination = __webpack_exports__["default"] = (pagination); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/popconfirm.js b/PAMapp/local_modules/element-ui/lib/popconfirm.js new file mode 100644 index 0000000..4469027 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/popconfirm.js @@ -0,0 +1,456 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 128); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 128: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=template&id=048de730& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "el-popover", + _vm._b( + { + attrs: { trigger: "click" }, + model: { + value: _vm.visible, + callback: function($$v) { + _vm.visible = $$v + }, + expression: "visible" + } + }, + "el-popover", + _vm.$attrs, + false + ), + [ + _c("div", { staticClass: "el-popconfirm" }, [ + _c("p", { staticClass: "el-popconfirm__main" }, [ + !_vm.hideIcon + ? _c("i", { + staticClass: "el-popconfirm__icon", + class: _vm.icon, + style: { color: _vm.iconColor } + }) + : _vm._e(), + _vm._v("\n " + _vm._s(_vm.title) + "\n ") + ]), + _c( + "div", + { staticClass: "el-popconfirm__action" }, + [ + _c( + "el-button", + { + attrs: { size: "mini", type: _vm.cancelButtonType }, + on: { click: _vm.cancel } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.displayCancelButtonText) + + "\n " + ) + ] + ), + _c( + "el-button", + { + attrs: { size: "mini", type: _vm.confirmButtonType }, + on: { click: _vm.confirm } + }, + [ + _vm._v( + "\n " + + _vm._s(_vm.displayConfirmButtonText) + + "\n " + ) + ] + ) + ], + 1 + ) + ]), + _vm._t("reference", null, { slot: "reference" }) + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=template&id=048de730& + +// EXTERNAL MODULE: external "element-ui/lib/popover" +var popover_ = __webpack_require__(53); +var popover_default = /*#__PURE__*/__webpack_require__.n(popover_); + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/locale" +var locale_ = __webpack_require__(20); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popconfirm/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElPopconfirm', + props: { + title: { + type: String + }, + confirmButtonText: { + type: String + }, + cancelButtonText: { + type: String + }, + confirmButtonType: { + type: String, + default: 'primary' + }, + cancelButtonType: { + type: String, + default: 'text' + }, + icon: { + type: String, + default: 'el-icon-question' + }, + iconColor: { + type: String, + default: '#f90' + }, + hideIcon: { + type: Boolean, + default: false + } + }, + components: { + ElPopover: popover_default.a, + ElButton: button_default.a + }, + data: function data() { + return { + visible: false + }; + }, + + computed: { + displayConfirmButtonText: function displayConfirmButtonText() { + return this.confirmButtonText || Object(locale_["t"])('el.popconfirm.confirmButtonText'); + }, + displayCancelButtonText: function displayCancelButtonText() { + return this.cancelButtonText || Object(locale_["t"])('el.popconfirm.cancelButtonText'); + } + }, + methods: { + confirm: function confirm() { + this.visible = false; + this.$emit('confirm'); + }, + cancel: function cancel() { + this.visible = false; + this.$emit('cancel'); + } + } +}); +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/popconfirm/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/popconfirm/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/popconfirm/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var popconfirm = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), + +/***/ 53: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/popover"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/popover.js b/PAMapp/local_modules/element-ui/lib/popover.js new file mode 100644 index 0000000..f842564 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/popover.js @@ -0,0 +1,616 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 78); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 78: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "span", + [ + _c( + "transition", + { + attrs: { name: _vm.transition }, + on: { + "after-enter": _vm.handleAfterEnter, + "after-leave": _vm.handleAfterLeave + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.disabled && _vm.showPopper, + expression: "!disabled && showPopper" + } + ], + ref: "popper", + staticClass: "el-popover el-popper", + class: [_vm.popperClass, _vm.content && "el-popover--plain"], + style: { width: _vm.width + "px" }, + attrs: { + role: "tooltip", + id: _vm.tooltipId, + "aria-hidden": + _vm.disabled || !_vm.showPopper ? "true" : "false" + } + }, + [ + _vm.title + ? _c("div", { + staticClass: "el-popover__title", + domProps: { textContent: _vm._s(_vm.title) } + }) + : _vm._e(), + _vm._t("default", [_vm._v(_vm._s(_vm.content))]) + ], + 2 + ) + ] + ), + _c( + "span", + { ref: "wrapper", staticClass: "el-popover__reference-wrapper" }, + [_vm._t("reference")], + 2 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElPopover', + + mixins: [vue_popper_default.a], + + props: { + trigger: { + type: String, + default: 'click', + validator: function validator(value) { + return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1; + } + }, + openDelay: { + type: Number, + default: 0 + }, + closeDelay: { + type: Number, + default: 200 + }, + title: String, + disabled: Boolean, + content: String, + reference: {}, + popperClass: String, + width: {}, + visibleArrow: { + default: true + }, + arrowOffset: { + type: Number, + default: 0 + }, + transition: { + type: String, + default: 'fade-in-linear' + }, + tabindex: { + type: Number, + default: 0 + } + }, + + computed: { + tooltipId: function tooltipId() { + return 'el-popover-' + Object(util_["generateId"])(); + } + }, + watch: { + showPopper: function showPopper(val) { + if (this.disabled) { + return; + } + val ? this.$emit('show') : this.$emit('hide'); + } + }, + + mounted: function mounted() { + var _this = this; + + var reference = this.referenceElm = this.reference || this.$refs.reference; + var popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + // �霈輸�� + if (reference) { + Object(dom_["addClass"])(reference, 'el-popover__reference'); + reference.setAttribute('aria-describedby', this.tooltipId); + reference.setAttribute('tabindex', this.tabindex); // tab摨�� + popper.setAttribute('tabindex', 0); + + if (this.trigger !== 'click') { + Object(dom_["on"])(reference, 'focusin', function () { + _this.handleFocus(); + var instance = reference.__vue__; + if (instance && typeof instance.focus === 'function') { + instance.focus(); + } + }); + Object(dom_["on"])(popper, 'focusin', this.handleFocus); + Object(dom_["on"])(reference, 'focusout', this.handleBlur); + Object(dom_["on"])(popper, 'focusout', this.handleBlur); + } + Object(dom_["on"])(reference, 'keydown', this.handleKeydown); + Object(dom_["on"])(reference, 'click', this.handleClick); + } + if (this.trigger === 'click') { + Object(dom_["on"])(reference, 'click', this.doToggle); + Object(dom_["on"])(document, 'click', this.handleDocumentClick); + } else if (this.trigger === 'hover') { + Object(dom_["on"])(reference, 'mouseenter', this.handleMouseEnter); + Object(dom_["on"])(popper, 'mouseenter', this.handleMouseEnter); + Object(dom_["on"])(reference, 'mouseleave', this.handleMouseLeave); + Object(dom_["on"])(popper, 'mouseleave', this.handleMouseLeave); + } else if (this.trigger === 'focus') { + if (this.tabindex < 0) { + console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key'); + } + if (reference.querySelector('input, textarea')) { + Object(dom_["on"])(reference, 'focusin', this.doShow); + Object(dom_["on"])(reference, 'focusout', this.doClose); + } else { + Object(dom_["on"])(reference, 'mousedown', this.doShow); + Object(dom_["on"])(reference, 'mouseup', this.doClose); + } + } + }, + beforeDestroy: function beforeDestroy() { + this.cleanup(); + }, + deactivated: function deactivated() { + this.cleanup(); + }, + + + methods: { + doToggle: function doToggle() { + this.showPopper = !this.showPopper; + }, + doShow: function doShow() { + this.showPopper = true; + }, + doClose: function doClose() { + this.showPopper = false; + }, + handleFocus: function handleFocus() { + Object(dom_["addClass"])(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true; + }, + handleClick: function handleClick() { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + }, + handleBlur: function handleBlur() { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false; + }, + handleMouseEnter: function handleMouseEnter() { + var _this2 = this; + + clearTimeout(this._timer); + if (this.openDelay) { + this._timer = setTimeout(function () { + _this2.showPopper = true; + }, this.openDelay); + } else { + this.showPopper = true; + } + }, + handleKeydown: function handleKeydown(ev) { + if (ev.keyCode === 27 && this.trigger !== 'manual') { + // esc + this.doClose(); + } + }, + handleMouseLeave: function handleMouseLeave() { + var _this3 = this; + + clearTimeout(this._timer); + if (this.closeDelay) { + this._timer = setTimeout(function () { + _this3.showPopper = false; + }, this.closeDelay); + } else { + this.showPopper = false; + } + }, + handleDocumentClick: function handleDocumentClick(e) { + var reference = this.reference || this.$refs.reference; + var popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return; + this.showPopper = false; + }, + handleAfterEnter: function handleAfterEnter() { + this.$emit('after-enter'); + }, + handleAfterLeave: function handleAfterLeave() { + this.$emit('after-leave'); + this.doDestroy(); + }, + cleanup: function cleanup() { + if (this.openDelay || this.closeDelay) { + clearTimeout(this._timer); + } + } + }, + + destroyed: function destroyed() { + var reference = this.reference; + + Object(dom_["off"])(reference, 'click', this.doToggle); + Object(dom_["off"])(reference, 'mouseup', this.doClose); + Object(dom_["off"])(reference, 'mousedown', this.doShow); + Object(dom_["off"])(reference, 'focusin', this.doShow); + Object(dom_["off"])(reference, 'focusout', this.doClose); + Object(dom_["off"])(reference, 'mousedown', this.doShow); + Object(dom_["off"])(reference, 'mouseup', this.doClose); + Object(dom_["off"])(reference, 'mouseleave', this.handleMouseLeave); + Object(dom_["off"])(reference, 'mouseenter', this.handleMouseEnter); + Object(dom_["off"])(document, 'click', this.handleDocumentClick); + } +}); +// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/popover/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/popover/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/popover/src/directive.js +var getReference = function getReference(el, binding, vnode) { + var _ref = binding.expression ? binding.value : binding.arg; + var popper = vnode.context.$refs[_ref]; + if (popper) { + if (Array.isArray(popper)) { + popper[0].$refs.reference = el; + } else { + popper.$refs.reference = el; + } + } +}; + +/* harmony default export */ var directive = ({ + bind: function bind(el, binding, vnode) { + getReference(el, binding, vnode); + }, + inserted: function inserted(el, binding, vnode) { + getReference(el, binding, vnode); + } +}); +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./packages/popover/index.js + + + + +external_vue_default.a.directive('popover', directive); + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.directive('popover', directive); + Vue.component(main.name, main); +}; +main.directive = directive; + +/* harmony default export */ var popover = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/progress.js b/PAMapp/local_modules/element-ui/lib/progress.js new file mode 100644 index 0000000..26bf98f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/progress.js @@ -0,0 +1,592 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 104); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 104: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=template&id=229ee406& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-progress", + class: [ + "el-progress--" + _vm.type, + _vm.status ? "is-" + _vm.status : "", + { + "el-progress--without-text": !_vm.showText, + "el-progress--text-inside": _vm.textInside + } + ], + attrs: { + role: "progressbar", + "aria-valuenow": _vm.percentage, + "aria-valuemin": "0", + "aria-valuemax": "100" + } + }, + [ + _vm.type === "line" + ? _c("div", { staticClass: "el-progress-bar" }, [ + _c( + "div", + { + staticClass: "el-progress-bar__outer", + style: { + height: _vm.strokeWidth + "px", + backgroundColor: _vm.defineBackColor + } + }, + [ + _c( + "div", + { + staticClass: "el-progress-bar__inner", + style: _vm.barStyle + }, + [ + _vm.showText && _vm.textInside + ? _c( + "div", + { + staticClass: "el-progress-bar__innerText", + style: { color: _vm.textColor } + }, + [_vm._v(_vm._s(_vm.content))] + ) + : _vm._e() + ] + ) + ] + ) + ]) + : _c( + "div", + { + staticClass: "el-progress-circle", + style: { height: _vm.width + "px", width: _vm.width + "px" } + }, + [ + _c("svg", { attrs: { viewBox: "0 0 100 100" } }, [ + _c("path", { + staticClass: "el-progress-circle__track", + style: _vm.trailPathStyle, + attrs: { + d: _vm.trackPath, + stroke: _vm.defineBackColor, + "stroke-width": _vm.relativeStrokeWidth, + fill: "none" + } + }), + _c("path", { + staticClass: "el-progress-circle__path", + style: _vm.circlePathStyle, + attrs: { + d: _vm.trackPath, + stroke: _vm.stroke, + fill: "none", + "stroke-linecap": _vm.strokeLinecap, + "stroke-width": _vm.percentage ? _vm.relativeStrokeWidth : 0 + } + }) + ]) + ] + ), + _vm.showText && !_vm.textInside + ? _c( + "div", + { + staticClass: "el-progress__text", + style: { + fontSize: _vm.progressTextSize + "px", + color: _vm.textColor + } + }, + [ + !_vm.status + ? [_vm._v(_vm._s(_vm.content))] + : _c("i", { class: _vm.iconClass }) + ], + 2 + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=template&id=229ee406& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/progress/src/progress.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var progressvue_type_script_lang_js_ = ({ + name: 'ElProgress', + props: { + type: { + type: String, + default: 'line', + validator: function validator(val) { + return ['line', 'circle', 'dashboard'].indexOf(val) > -1; + } + }, + percentage: { + type: Number, + default: 0, + required: true, + validator: function validator(val) { + return val >= 0 && val <= 100; + } + }, + status: { + type: String, + validator: function validator(val) { + return ['success', 'exception', 'warning'].indexOf(val) > -1; + } + }, + strokeWidth: { + type: Number, + default: 6 + }, + strokeLinecap: { + type: String, + default: 'round' + }, + textInside: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 126 + }, + showText: { + type: Boolean, + default: true + }, + color: { + type: [String, Array, Function], + default: '' + }, + defineBackColor: { + type: [String, Array, Function], + default: '#ebeef5' + }, + textColor: { + type: [String, Array, Function], + default: '#606266' + }, + format: Function + }, + computed: { + barStyle: function barStyle() { + var style = {}; + style.width = this.percentage + '%'; + style.backgroundColor = this.getCurrentColor(this.percentage); + return style; + }, + relativeStrokeWidth: function relativeStrokeWidth() { + return (this.strokeWidth / this.width * 100).toFixed(1); + }, + radius: function radius() { + if (this.type === 'circle' || this.type === 'dashboard') { + return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10); + } else { + return 0; + } + }, + trackPath: function trackPath() { + var radius = this.radius; + var isDashboard = this.type === 'dashboard'; + return '\n M 50 50\n m 0 ' + (isDashboard ? '' : '-') + radius + '\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '-' : '') + radius * 2 + '\n a ' + radius + ' ' + radius + ' 0 1 1 0 ' + (isDashboard ? '' : '-') + radius * 2 + '\n '; + }, + perimeter: function perimeter() { + return 2 * Math.PI * this.radius; + }, + rate: function rate() { + return this.type === 'dashboard' ? 0.75 : 1; + }, + strokeDashoffset: function strokeDashoffset() { + var offset = -1 * this.perimeter * (1 - this.rate) / 2; + return offset + 'px'; + }, + trailPathStyle: function trailPathStyle() { + return { + strokeDasharray: this.perimeter * this.rate + 'px, ' + this.perimeter + 'px', + strokeDashoffset: this.strokeDashoffset + }; + }, + circlePathStyle: function circlePathStyle() { + return { + strokeDasharray: this.perimeter * this.rate * (this.percentage / 100) + 'px, ' + this.perimeter + 'px', + strokeDashoffset: this.strokeDashoffset, + transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease' + }; + }, + stroke: function stroke() { + var ret = void 0; + if (this.color) { + ret = this.getCurrentColor(this.percentage); + } else { + switch (this.status) { + case 'success': + ret = '#13ce66'; + break; + case 'exception': + ret = '#ff4949'; + break; + case 'warning': + ret = '#e6a23c'; + break; + default: + ret = '#20a0ff'; + } + } + return ret; + }, + iconClass: function iconClass() { + if (this.status === 'warning') { + return 'el-icon-warning'; + } + if (this.type === 'line') { + return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close'; + } else { + return this.status === 'success' ? 'el-icon-check' : 'el-icon-close'; + } + }, + progressTextSize: function progressTextSize() { + return this.type === 'line' ? 12 + this.strokeWidth * 0.4 : this.width * 0.111111 + 2; + }, + content: function content() { + if (typeof this.format === 'function') { + return this.format(this.percentage) || ''; + } else { + return this.percentage + '%'; + } + } + }, + methods: { + getCurrentColor: function getCurrentColor(percentage) { + if (typeof this.color === 'function') { + return this.color(percentage); + } else if (typeof this.color === 'string') { + return this.color; + } else { + return this.getLevelColor(percentage); + } + }, + getLevelColor: function getLevelColor(percentage) { + var colorArray = this.getColorArray().sort(function (a, b) { + return a.percentage - b.percentage; + }); + + for (var i = 0; i < colorArray.length; i++) { + if (colorArray[i].percentage > percentage) { + return colorArray[i].color; + } + } + return colorArray[colorArray.length - 1].color; + }, + getColorArray: function getColorArray() { + var color = this.color; + var span = 100 / color.length; + return color.map(function (seriesColor, index) { + if (typeof seriesColor === 'string') { + return { + color: seriesColor, + percentage: (index + 1) * span + }; + } + return seriesColor; + }); + } + } +}); +// CONCATENATED MODULE: ./packages/progress/src/progress.vue?vue&type=script&lang=js& + /* harmony default export */ var src_progressvue_type_script_lang_js_ = (progressvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/progress/src/progress.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_progressvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/progress/src/progress.vue" +/* harmony default export */ var progress = (component.exports); +// CONCATENATED MODULE: ./packages/progress/index.js + + +/* istanbul ignore next */ +progress.install = function (Vue) { + Vue.component(progress.name, progress); +}; + +/* harmony default export */ var packages_progress = __webpack_exports__["default"] = (progress); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/radio-button.js b/PAMapp/local_modules/element-ui/lib/radio-button.js new file mode 100644 index 0000000..91a3d5b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/radio-button.js @@ -0,0 +1,462 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 90); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 90: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-radio-button", + class: [ + _vm.size ? "el-radio-button--" + _vm.size : "", + { "is-active": _vm.value === _vm.label }, + { "is-disabled": _vm.isDisabled }, + { "is-focus": _vm.focus } + ], + attrs: { + role: "radio", + "aria-checked": _vm.value === _vm.label, + "aria-disabled": _vm.isDisabled, + tabindex: _vm.tabIndex + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [" ", "Spacebar"]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.value = _vm.isDisabled ? _vm.value : _vm.label + } + } + }, + [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.value, + expression: "value" + } + ], + staticClass: "el-radio-button__orig-radio", + attrs: { + type: "radio", + name: _vm.name, + disabled: _vm.isDisabled, + tabindex: "-1", + autocomplete: "off" + }, + domProps: { value: _vm.label, checked: _vm._q(_vm.value, _vm.label) }, + on: { + change: [ + function($event) { + _vm.value = _vm.label + }, + _vm.handleChange + ], + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + } + } + }), + _c( + "span", + { + staticClass: "el-radio-button__inner", + style: _vm.value === _vm.label ? _vm.activeStyle : null, + on: { + keydown: function($event) { + $event.stopPropagation() + } + } + }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=template&id=18a77a32& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var radio_buttonvue_type_script_lang_js_ = ({ + name: 'ElRadioButton', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + label: {}, + disabled: Boolean, + name: String + }, + data: function data() { + return { + focus: false + }; + }, + + computed: { + value: { + get: function get() { + return this._radioGroup.value; + }, + set: function set(value) { + this._radioGroup.$emit('input', value); + } + }, + _radioGroup: function _radioGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + activeStyle: function activeStyle() { + return { + backgroundColor: this._radioGroup.fill || '', + borderColor: this._radioGroup.fill || '', + boxShadow: this._radioGroup.fill ? '-1px 0 0 0 ' + this._radioGroup.fill : '', + color: this._radioGroup.textColor || '' + }; + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + size: function size() { + return this._radioGroup.radioGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + isDisabled: function isDisabled() { + return this.disabled || this._radioGroup.disabled || (this.elForm || {}).disabled; + }, + tabIndex: function tabIndex() { + return this.isDisabled || this._radioGroup && this.value !== this.label ? -1 : 0; + } + }, + + methods: { + handleChange: function handleChange() { + var _this = this; + + this.$nextTick(function () { + _this.dispatch('ElRadioGroup', 'handleChange', _this.value); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radio_buttonvue_type_script_lang_js_ = (radio_buttonvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/radio/src/radio-button.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_radio_buttonvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/radio/src/radio-button.vue" +/* harmony default export */ var radio_button = (component.exports); +// CONCATENATED MODULE: ./packages/radio-button/index.js + + +/* istanbul ignore next */ +radio_button.install = function (Vue) { + Vue.component(radio_button.name, radio_button); +}; + +/* harmony default export */ var packages_radio_button = __webpack_exports__["default"] = (radio_button); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/radio-group.js b/PAMapp/local_modules/element-ui/lib/radio-group.js new file mode 100644 index 0000000..72722f7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/radio-group.js @@ -0,0 +1,390 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 89); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 89: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + _vm._elTag, + { + tag: "component", + staticClass: "el-radio-group", + attrs: { role: "radiogroup" }, + on: { keydown: _vm.handleKeydown } + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=template&id=818a704c& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio-group.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// + + + +var keyCode = Object.freeze({ + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 +}); +/* harmony default export */ var radio_groupvue_type_script_lang_js_ = ({ + name: 'ElRadioGroup', + + componentName: 'ElRadioGroup', + + inject: { + elFormItem: { + default: '' + } + }, + + mixins: [emitter_default.a], + + props: { + value: {}, + size: String, + fill: String, + textColor: String, + disabled: Boolean + }, + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + _elTag: function _elTag() { + var tag = (this.$vnode.data || {}).tag; + if (!tag || tag === 'component') tag = 'div'; + return tag; + }, + radioGroupSize: function radioGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + created: function created() { + var _this = this; + + this.$on('handleChange', function (value) { + _this.$emit('change', value); + }); + }, + mounted: function mounted() { + // 敶adioGroup瘝⊥��恕�★�嚗洵銝�銝芸隞仿�葉Tab撖潸 + var radios = this.$el.querySelectorAll('[type=radio]'); + var firstLabel = this.$el.querySelectorAll('[role=radio]')[0]; + if (![].some.call(radios, function (radio) { + return radio.checked; + }) && firstLabel) { + firstLabel.tabIndex = 0; + } + }, + + methods: { + handleKeydown: function handleKeydown(e) { + // 撌血銝�� �隞亙radio蝏��銝��★ + var target = e.target; + var className = target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'; + var radios = this.$el.querySelectorAll(className); + var length = radios.length; + var index = [].indexOf.call(radios, target); + var roleRadios = this.$el.querySelectorAll('[role=radio]'); + switch (e.keyCode) { + case keyCode.LEFT: + case keyCode.UP: + e.stopPropagation(); + e.preventDefault(); + if (index === 0) { + roleRadios[length - 1].click(); + roleRadios[length - 1].focus(); + } else { + roleRadios[index - 1].click(); + roleRadios[index - 1].focus(); + } + break; + case keyCode.RIGHT: + case keyCode.DOWN: + if (index === length - 1) { + e.stopPropagation(); + e.preventDefault(); + roleRadios[0].click(); + roleRadios[0].focus(); + } else { + roleRadios[index + 1].click(); + roleRadios[index + 1].focus(); + } + break; + default: + break; + } + } + }, + watch: { + value: function value(_value) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radio_groupvue_type_script_lang_js_ = (radio_groupvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/radio/src/radio-group.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_radio_groupvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/radio/src/radio-group.vue" +/* harmony default export */ var radio_group = (component.exports); +// CONCATENATED MODULE: ./packages/radio-group/index.js + + +/* istanbul ignore next */ +radio_group.install = function (Vue) { + Vue.component(radio_group.name, radio_group); +}; + +/* harmony default export */ var packages_radio_group = __webpack_exports__["default"] = (radio_group); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/radio.js b/PAMapp/local_modules/element-ui/lib/radio.js new file mode 100644 index 0000000..6143ef6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/radio.js @@ -0,0 +1,496 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 88); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 88: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=template&id=69cd6268& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "label", + { + staticClass: "el-radio", + class: [ + _vm.border && _vm.radioSize ? "el-radio--" + _vm.radioSize : "", + { "is-disabled": _vm.isDisabled }, + { "is-focus": _vm.focus }, + { "is-bordered": _vm.border }, + { "is-checked": _vm.model === _vm.label } + ], + attrs: { + role: "radio", + "aria-checked": _vm.model === _vm.label, + "aria-disabled": _vm.isDisabled, + tabindex: _vm.tabIndex + }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "space", 32, $event.key, [" ", "Spacebar"]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.model = _vm.isDisabled ? _vm.model : _vm.label + } + } + }, + [ + _c( + "span", + { + staticClass: "el-radio__input", + class: { + "is-disabled": _vm.isDisabled, + "is-checked": _vm.model === _vm.label + } + }, + [ + _c("span", { staticClass: "el-radio__inner" }), + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.model, + expression: "model" + } + ], + ref: "radio", + staticClass: "el-radio__original", + attrs: { + type: "radio", + "aria-hidden": "true", + name: _vm.name, + disabled: _vm.isDisabled, + tabindex: "-1", + autocomplete: "off" + }, + domProps: { + value: _vm.label, + checked: _vm._q(_vm.model, _vm.label) + }, + on: { + focus: function($event) { + _vm.focus = true + }, + blur: function($event) { + _vm.focus = false + }, + change: [ + function($event) { + _vm.model = _vm.label + }, + _vm.handleChange + ] + } + }) + ] + ), + _c( + "span", + { + staticClass: "el-radio__label", + on: { + keydown: function($event) { + $event.stopPropagation() + } + } + }, + [ + _vm._t("default"), + !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e() + ], + 2 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=template&id=69cd6268& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/radio/src/radio.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var radiovue_type_script_lang_js_ = ({ + name: 'ElRadio', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + componentName: 'ElRadio', + + props: { + value: {}, + label: {}, + disabled: Boolean, + name: String, + border: Boolean, + size: String + }, + + data: function data() { + return { + focus: false + }; + }, + + computed: { + isGroup: function isGroup() { + var parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + this._radioGroup = parent; + return true; + } + } + return false; + }, + + model: { + get: function get() { + return this.isGroup ? this._radioGroup.value : this.value; + }, + set: function set(val) { + if (this.isGroup) { + this.dispatch('ElRadioGroup', 'input', [val]); + } else { + this.$emit('input', val); + } + this.$refs.radio && (this.$refs.radio.checked = this.model === this.label); + } + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + radioSize: function radioSize() { + var temRadioSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup ? this._radioGroup.radioGroupSize || temRadioSize : temRadioSize; + }, + isDisabled: function isDisabled() { + return this.isGroup ? this._radioGroup.disabled || this.disabled || (this.elForm || {}).disabled : this.disabled || (this.elForm || {}).disabled; + }, + tabIndex: function tabIndex() { + return this.isDisabled || this.isGroup && this.model !== this.label ? -1 : 0; + } + }, + + methods: { + handleChange: function handleChange() { + var _this = this; + + this.$nextTick(function () { + _this.$emit('change', _this.model); + _this.isGroup && _this.dispatch('ElRadioGroup', 'handleChange', _this.model); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/radio/src/radio.vue?vue&type=script&lang=js& + /* harmony default export */ var src_radiovue_type_script_lang_js_ = (radiovue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/radio/src/radio.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_radiovue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/radio/src/radio.vue" +/* harmony default export */ var src_radio = (component.exports); +// CONCATENATED MODULE: ./packages/radio/index.js + + +/* istanbul ignore next */ +src_radio.install = function (Vue) { + Vue.component(src_radio.name, src_radio); +}; + +/* harmony default export */ var packages_radio = __webpack_exports__["default"] = (src_radio); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/rate.js b/PAMapp/local_modules/element-ui/lib/rate.js new file mode 100644 index 0000000..c1f79f7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/rate.js @@ -0,0 +1,669 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 108); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 108: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=template&id=ada57782& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-rate", + attrs: { + role: "slider", + "aria-valuenow": _vm.currentValue, + "aria-valuetext": _vm.text, + "aria-valuemin": "0", + "aria-valuemax": _vm.max, + tabindex: "0" + }, + on: { keydown: _vm.handleKey } + }, + [ + _vm._l(_vm.max, function(item, key) { + return _c( + "span", + { + key: key, + staticClass: "el-rate__item", + style: { cursor: _vm.rateDisabled ? "auto" : "pointer" }, + on: { + mousemove: function($event) { + _vm.setCurrentValue(item, $event) + }, + mouseleave: _vm.resetCurrentValue, + click: function($event) { + _vm.selectValue(item) + } + } + }, + [ + _c( + "i", + { + staticClass: "el-rate__icon", + class: [ + _vm.classes[item - 1], + { hover: _vm.hoverIndex === item } + ], + style: _vm.getIconStyle(item) + }, + [ + _vm.showDecimalIcon(item) + ? _c("i", { + staticClass: "el-rate__decimal", + class: _vm.decimalIconClass, + style: _vm.decimalStyle + }) + : _vm._e() + ] + ) + ] + ) + }), + _vm.showText || _vm.showScore + ? _c( + "span", + { staticClass: "el-rate__text", style: { color: _vm.textColor } }, + [_vm._v(_vm._s(_vm.text))] + ) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=template&id=ada57782& + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/types" +var types_ = __webpack_require__(17); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/rate/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElRate', + + mixins: [migrating_default.a], + + inject: { + elForm: { + default: '' + } + }, + + data: function data() { + return { + pointerAtLeftHalf: true, + currentValue: this.value, + hoverIndex: -1 + }; + }, + + + props: { + value: { + type: Number, + default: 0 + }, + lowThreshold: { + type: Number, + default: 2 + }, + highThreshold: { + type: Number, + default: 4 + }, + max: { + type: Number, + default: 5 + }, + colors: { + type: [Array, Object], + default: function _default() { + return ['#F7BA2A', '#F7BA2A', '#F7BA2A']; + } + }, + voidColor: { + type: String, + default: '#C6D1DE' + }, + disabledVoidColor: { + type: String, + default: '#EFF2F7' + }, + iconClasses: { + type: [Array, Object], + default: function _default() { + return ['el-icon-star-on', 'el-icon-star-on', 'el-icon-star-on']; + } + }, + voidIconClass: { + type: String, + default: 'el-icon-star-off' + }, + disabledVoidIconClass: { + type: String, + default: 'el-icon-star-on' + }, + disabled: { + type: Boolean, + default: false + }, + allowHalf: { + type: Boolean, + default: false + }, + showText: { + type: Boolean, + default: false + }, + showScore: { + type: Boolean, + default: false + }, + textColor: { + type: String, + default: '#1f2d3d' + }, + texts: { + type: Array, + default: function _default() { + return ['��榆', '憭望��', '銝��', '皛⊥��', '����']; + } + }, + scoreTemplate: { + type: String, + default: '{value}' + } + }, + + computed: { + text: function text() { + var result = ''; + if (this.showScore) { + result = this.scoreTemplate.replace(/\{\s*value\s*\}/, this.rateDisabled ? this.value : this.currentValue); + } else if (this.showText) { + result = this.texts[Math.ceil(this.currentValue) - 1]; + } + return result; + }, + decimalStyle: function decimalStyle() { + var width = ''; + if (this.rateDisabled) { + width = this.valueDecimal + '%'; + } else if (this.allowHalf) { + width = '50%'; + } + return { + color: this.activeColor, + width: width + }; + }, + valueDecimal: function valueDecimal() { + return this.value * 100 - Math.floor(this.value) * 100; + }, + classMap: function classMap() { + var _ref; + + return Array.isArray(this.iconClasses) ? (_ref = {}, _ref[this.lowThreshold] = this.iconClasses[0], _ref[this.highThreshold] = { value: this.iconClasses[1], excluded: true }, _ref[this.max] = this.iconClasses[2], _ref) : this.iconClasses; + }, + decimalIconClass: function decimalIconClass() { + return this.getValueFromMap(this.value, this.classMap); + }, + voidClass: function voidClass() { + return this.rateDisabled ? this.disabledVoidIconClass : this.voidIconClass; + }, + activeClass: function activeClass() { + return this.getValueFromMap(this.currentValue, this.classMap); + }, + colorMap: function colorMap() { + var _ref2; + + return Array.isArray(this.colors) ? (_ref2 = {}, _ref2[this.lowThreshold] = this.colors[0], _ref2[this.highThreshold] = { value: this.colors[1], excluded: true }, _ref2[this.max] = this.colors[2], _ref2) : this.colors; + }, + activeColor: function activeColor() { + return this.getValueFromMap(this.currentValue, this.colorMap); + }, + classes: function classes() { + var result = []; + var i = 0; + var threshold = this.currentValue; + if (this.allowHalf && this.currentValue !== Math.floor(this.currentValue)) { + threshold--; + } + for (; i < threshold; i++) { + result.push(this.activeClass); + } + for (; i < this.max; i++) { + result.push(this.voidClass); + } + return result; + }, + rateDisabled: function rateDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value: function value(val) { + this.currentValue = val; + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'text-template': 'text-template is renamed to score-template.' + } + }; + }, + getValueFromMap: function getValueFromMap(value, map) { + var matchedKeys = Object.keys(map).filter(function (key) { + var val = map[key]; + var excluded = Object(types_["isObject"])(val) ? val.excluded : false; + return excluded ? value < key : value <= key; + }).sort(function (a, b) { + return a - b; + }); + var matchedValue = map[matchedKeys[0]]; + return Object(types_["isObject"])(matchedValue) ? matchedValue.value : matchedValue || ''; + }, + showDecimalIcon: function showDecimalIcon(item) { + var showWhenDisabled = this.rateDisabled && this.valueDecimal > 0 && item - 1 < this.value && item > this.value; + /* istanbul ignore next */ + var showWhenAllowHalf = this.allowHalf && this.pointerAtLeftHalf && item - 0.5 <= this.currentValue && item > this.currentValue; + return showWhenDisabled || showWhenAllowHalf; + }, + getIconStyle: function getIconStyle(item) { + var voidColor = this.rateDisabled ? this.disabledVoidColor : this.voidColor; + return { + color: item <= this.currentValue ? this.activeColor : voidColor + }; + }, + selectValue: function selectValue(value) { + if (this.rateDisabled) { + return; + } + if (this.allowHalf && this.pointerAtLeftHalf) { + this.$emit('input', this.currentValue); + this.$emit('change', this.currentValue); + } else { + this.$emit('input', value); + this.$emit('change', value); + } + }, + handleKey: function handleKey(e) { + if (this.rateDisabled) { + return; + } + var currentValue = this.currentValue; + var keyCode = e.keyCode; + if (keyCode === 38 || keyCode === 39) { + // left / down + if (this.allowHalf) { + currentValue += 0.5; + } else { + currentValue += 1; + } + e.stopPropagation(); + e.preventDefault(); + } else if (keyCode === 37 || keyCode === 40) { + if (this.allowHalf) { + currentValue -= 0.5; + } else { + currentValue -= 1; + } + e.stopPropagation(); + e.preventDefault(); + } + currentValue = currentValue < 0 ? 0 : currentValue; + currentValue = currentValue > this.max ? this.max : currentValue; + + this.$emit('input', currentValue); + this.$emit('change', currentValue); + }, + setCurrentValue: function setCurrentValue(value, event) { + if (this.rateDisabled) { + return; + } + /* istanbul ignore if */ + if (this.allowHalf) { + var target = event.target; + if (Object(dom_["hasClass"])(target, 'el-rate__item')) { + target = target.querySelector('.el-rate__icon'); + } + if (Object(dom_["hasClass"])(target, 'el-rate__decimal')) { + target = target.parentNode; + } + this.pointerAtLeftHalf = event.offsetX * 2 <= target.clientWidth; + this.currentValue = this.pointerAtLeftHalf ? value - 0.5 : value; + } else { + this.currentValue = value; + } + this.hoverIndex = value; + }, + resetCurrentValue: function resetCurrentValue() { + if (this.rateDisabled) { + return; + } + if (this.allowHalf) { + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + this.currentValue = this.value; + this.hoverIndex = -1; + } + }, + + created: function created() { + if (!this.value) { + this.$emit('input', 0); + } + } +}); +// CONCATENATED MODULE: ./packages/rate/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/rate/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/rate/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/rate/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var rate = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 17: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/types"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/result.js b/PAMapp/local_modules/element-ui/lib/result.js new file mode 100644 index 0000000..817fe70 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/result.js @@ -0,0 +1,593 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 57); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 57: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=template&id=3408b139& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-result" }, [ + _c( + "div", + { staticClass: "el-result__icon" }, + [ + _vm._t("icon", [ + _c(_vm.iconElement, { tag: "component", class: _vm.iconElement }) + ]) + ], + 2 + ), + _vm.title || _vm.$slots.title + ? _c( + "div", + { staticClass: "el-result__title" }, + [_vm._t("title", [_c("p", [_vm._v(_vm._s(_vm.title))])])], + 2 + ) + : _vm._e(), + _vm.subTitle || _vm.$slots.subTitle + ? _c( + "div", + { staticClass: "el-result__subtitle" }, + [_vm._t("subTitle", [_c("p", [_vm._v(_vm._s(_vm.subTitle))])])], + 2 + ) + : _vm._e(), + _vm.$slots.extra + ? _c("div", { staticClass: "el-result__extra" }, [_vm._t("extra")], 2) + : _vm._e() + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=template&id=3408b139& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=template&id=18119418& +var icon_successvue_type_template_id_18119418_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M34.5548098,16.4485711 C33.9612228,15.8504763 32.9988282,15.8504763 32.4052412,16.4485711 L32.4052412,16.4485711 L21.413757,27.5805811 L21.413757,27.5805811 L21.4034642,27.590855 C21.0097542,27.9781674 20.3766105,27.9729811 19.9892981,27.5792711 L19.9892981,27.5792711 L15.5947588,23.1121428 C15.0011718,22.514048 14.0387772,22.514048 13.4451902,23.1121428 C12.8516033,23.7102376 12.8516033,24.6799409 13.4451902,25.2780357 L13.4451902,25.2780357 L19.6260786,31.5514289 C20.2196656,32.1495237 21.1820602,32.1495237 21.7756472,31.5514289 L21.7756472,31.5514289 L34.5548098,18.614464 C35.1483967,18.0163692 35.1483967,17.0466659 34.5548098,16.4485711 Z" + } + }) + ] + ) +} +var icon_successvue_type_template_id_18119418_staticRenderFns = [] +icon_successvue_type_template_id_18119418_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=template&id=18119418& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-success.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + +/* harmony default export */ var icon_successvue_type_script_lang_js_ = ({ + name: 'IconSuccess' +}); +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue?vue&type=script&lang=js& + /* harmony default export */ var src_icon_successvue_type_script_lang_js_ = (icon_successvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/result/src/icon-success.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_icon_successvue_type_script_lang_js_, + icon_successvue_type_template_id_18119418_render, + icon_successvue_type_template_id_18119418_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/result/src/icon-success.vue" +/* harmony default export */ var icon_success = (component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=template&id=21199246& +var icon_errorvue_type_template_id_21199246_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.57818,15.42182 C32.0157534,14.8593933 31.1038797,14.8593933 30.541453,15.42182 L30.541453,15.42182 L24.0006789,21.9625941 L17.458547,15.42182 C16.8961203,14.8593933 15.9842466,14.8593933 15.42182,15.42182 C14.8593933,15.9842466 14.8593933,16.8961203 15.42182,17.458547 L15.42182,17.458547 L21.9639519,23.9993211 L15.42182,30.541453 C14.8593933,31.1038797 14.8593933,32.0157534 15.42182,32.57818 C15.9842466,33.1406067 16.8961203,33.1406067 17.458547,32.57818 L17.458547,32.57818 L24.0006789,26.0360481 L30.541453,32.57818 C31.1038797,33.1406067 32.0157534,33.1406067 32.57818,32.57818 C33.1406067,32.0157534 33.1406067,31.1038797 32.57818,30.541453 L32.57818,30.541453 L26.0374059,23.9993211 L32.57818,17.458547 C33.1406067,16.8961203 33.1406067,15.9842466 32.57818,15.42182 Z" + } + }) + ] + ) +} +var icon_errorvue_type_template_id_21199246_staticRenderFns = [] +icon_errorvue_type_template_id_21199246_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=template&id=21199246& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-error.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// + +/* harmony default export */ var icon_errorvue_type_script_lang_js_ = ({ + name: 'IconError' +}); +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue?vue&type=script&lang=js& + /* harmony default export */ var src_icon_errorvue_type_script_lang_js_ = (icon_errorvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/result/src/icon-error.vue + + + + + +/* normalize component */ + +var icon_error_component = Object(componentNormalizer["a" /* default */])( + src_icon_errorvue_type_script_lang_js_, + icon_errorvue_type_template_id_21199246_render, + icon_errorvue_type_template_id_21199246_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_error_api; } +icon_error_component.options.__file = "packages/result/src/icon-error.vue" +/* harmony default export */ var icon_error = (icon_error_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31& +var icon_warningvue_type_template_id_46fe8f31_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,31 C22.8954305,31 22,31.8954305 22,33 C22,34.1045695 22.8954305,35 24,35 C25.1045695,35 26,34.1045695 26,33 C26,31.8954305 25.1045695,31 24,31 Z M24,14 C23.1715729,14 22.5,14.6715729 22.5,15.5 L22.5,15.5 L22.5,27.5 C22.5,28.3284271 23.1715729,29 24,29 C24.8284271,29 25.5,28.3284271 25.5,27.5 L25.5,27.5 L25.5,15.5 C25.5,14.6715729 24.8284271,14 24,14 Z" + } + }) + ] + ) +} +var icon_warningvue_type_template_id_46fe8f31_staticRenderFns = [] +icon_warningvue_type_template_id_46fe8f31_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=template&id=46fe8f31& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-warning.vue?vue&type=script&lang=ts& + + + + + + + + + +/* harmony default export */ var icon_warningvue_type_script_lang_ts_ = ({ + name: 'IconWarning' +}); + +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue?vue&type=script&lang=ts& + /* harmony default export */ var src_icon_warningvue_type_script_lang_ts_ = (icon_warningvue_type_script_lang_ts_); +// CONCATENATED MODULE: ./packages/result/src/icon-warning.vue + + + + + +/* normalize component */ + +var icon_warning_component = Object(componentNormalizer["a" /* default */])( + src_icon_warningvue_type_script_lang_ts_, + icon_warningvue_type_template_id_46fe8f31_render, + icon_warningvue_type_template_id_46fe8f31_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_warning_api; } +icon_warning_component.options.__file = "packages/result/src/icon-warning.vue" +/* harmony default export */ var icon_warning = (icon_warning_component.exports); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69& +var icon_infovue_type_template_id_19e3de69_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { attrs: { viewBox: "0 0 48 48", xmlns: "http://www.w3.org/2000/svg" } }, + [ + _c("path", { + attrs: { + d: + "M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,19 L21,19 C20.1715729,19 19.5,19.6715729 19.5,20.5 C19.5,21.3284271 20.1715729,22 21,22 L21,22 L22.5,22 L22.5,31 L21,31 C20.1715729,31 19.5,31.6715729 19.5,32.5 C19.5,33.3284271 20.1715729,34 21,34 L21,34 L27,34 C27.8284271,34 28.5,33.3284271 28.5,32.5 C28.5,31.6715729 27.8284271,31 27,31 L27,31 L25.5,31 L25.5,20.5 C25.5,19.6715729 24.8284271,19 24,19 L24,19 Z M24,13 C22.8954305,13 22,13.8954305 22,15 C22,16.1045695 22.8954305,17 24,17 C25.1045695,17 26,16.1045695 26,15 C26,13.8954305 25.1045695,13 24,13 Z" + } + }) + ] + ) +} +var icon_infovue_type_template_id_19e3de69_staticRenderFns = [] +icon_infovue_type_template_id_19e3de69_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=template&id=19e3de69& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/icon-info.vue?vue&type=script&lang=ts& + + + + + + + + + +/* harmony default export */ var icon_infovue_type_script_lang_ts_ = ({ + name: 'IconInfo' +}); + +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue?vue&type=script&lang=ts& + /* harmony default export */ var src_icon_infovue_type_script_lang_ts_ = (icon_infovue_type_script_lang_ts_); +// CONCATENATED MODULE: ./packages/result/src/icon-info.vue + + + + + +/* normalize component */ + +var icon_info_component = Object(componentNormalizer["a" /* default */])( + src_icon_infovue_type_script_lang_ts_, + icon_infovue_type_template_id_19e3de69_render, + icon_infovue_type_template_id_19e3de69_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var icon_info_api; } +icon_info_component.options.__file = "packages/result/src/icon-info.vue" +/* harmony default export */ var icon_info = (icon_info_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/result/src/index.vue?vue&type=script&lang=js& +var _components; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +var IconMap = { + success: 'icon-success', + warning: 'icon-warning', + error: 'icon-error', + info: 'icon-info' +}; + +/* harmony default export */ var srcvue_type_script_lang_js_ = ({ + name: 'ElResult', + components: (_components = {}, _components[icon_success.name] = icon_success, _components[icon_error.name] = icon_error, _components[icon_warning.name] = icon_warning, _components[icon_info.name] = icon_info, _components), + props: { + title: { + type: String, + default: '' + }, + subTitle: { + type: String, + default: '' + }, + icon: { + type: String, + default: 'info' + } + }, + computed: { + iconElement: function iconElement() { + var icon = this.icon; + return icon && IconMap[icon] ? IconMap[icon] : 'icon-info'; + } + } +}); +// CONCATENATED MODULE: ./packages/result/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var result_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/result/src/index.vue + + + + + +/* normalize component */ + +var src_component = Object(componentNormalizer["a" /* default */])( + result_srcvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_api; } +src_component.options.__file = "packages/result/src/index.vue" +/* harmony default export */ var src = (src_component.exports); +// CONCATENATED MODULE: ./packages/result/index.js + + +/* istanbul ignore next */ +src.install = function (Vue) { + Vue.component(src.name, src); +}; + +/* harmony default export */ var result = __webpack_exports__["default"] = (src); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/row.js b/PAMapp/local_modules/element-ui/lib/row.js new file mode 100644 index 0000000..d87a691 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/row.js @@ -0,0 +1,148 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 139); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 139: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./packages/row/src/row.js +/* harmony default export */ var row = ({ + name: 'ElRow', + + componentName: 'ElRow', + + props: { + tag: { + type: String, + default: 'div' + }, + gutter: Number, + type: String, + justify: { + type: String, + default: 'start' + }, + align: String + }, + + computed: { + style: function style() { + var ret = {}; + + if (this.gutter) { + ret.marginLeft = '-' + this.gutter / 2 + 'px'; + ret.marginRight = ret.marginLeft; + } + + return ret; + } + }, + + render: function render(h) { + return h(this.tag, { + class: ['el-row', this.justify !== 'start' ? 'is-justify-' + this.justify : '', this.align ? 'is-align-' + this.align : '', { 'el-row--flex': this.type === 'flex' }], + style: this.style + }, this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/row/index.js + + +/* istanbul ignore next */ +row.install = function (Vue) { + Vue.component(row.name, row); +}; + +/* harmony default export */ var packages_row = __webpack_exports__["default"] = (row); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/scrollbar.js b/PAMapp/local_modules/element-ui/lib/scrollbar.js new file mode 100644 index 0000000..c298155 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/scrollbar.js @@ -0,0 +1,422 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 133); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 133: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// EXTERNAL MODULE: external "element-ui/lib/utils/scrollbar-width" +var scrollbar_width_ = __webpack_require__(39); +var scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./packages/scrollbar/src/util.js +var BAR_MAP = { + vertical: { + offset: 'offsetHeight', + scroll: 'scrollTop', + scrollSize: 'scrollHeight', + size: 'height', + key: 'vertical', + axis: 'Y', + client: 'clientY', + direction: 'top' + }, + horizontal: { + offset: 'offsetWidth', + scroll: 'scrollLeft', + scrollSize: 'scrollWidth', + size: 'width', + key: 'horizontal', + axis: 'X', + client: 'clientX', + direction: 'left' + } +}; + +function renderThumbStyle(_ref) { + var move = _ref.move, + size = _ref.size, + bar = _ref.bar; + + var style = {}; + var translate = 'translate' + bar.axis + '(' + move + '%)'; + + style[bar.size] = size; + style.transform = translate; + style.msTransform = translate; + style.webkitTransform = translate; + + return style; +}; +// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js + + + +/* istanbul ignore next */ +/* harmony default export */ var src_bar = ({ + name: 'Bar', + + props: { + vertical: Boolean, + size: String, + move: Number + }, + + computed: { + bar: function bar() { + return BAR_MAP[this.vertical ? 'vertical' : 'horizontal']; + }, + wrap: function wrap() { + return this.$parent.wrap; + } + }, + + render: function render(h) { + var size = this.size, + move = this.move, + bar = this.bar; + + + return h( + 'div', + { + 'class': ['el-scrollbar__bar', 'is-' + bar.key], + on: { + 'mousedown': this.clickTrackHandler + } + }, + [h('div', { + ref: 'thumb', + 'class': 'el-scrollbar__thumb', + on: { + 'mousedown': this.clickThumbHandler + }, + + style: renderThumbStyle({ size: size, move: move, bar: bar }) })] + ); + }, + + + methods: { + clickThumbHandler: function clickThumbHandler(e) { + // prevent click event of right button + if (e.ctrlKey || e.button === 2) { + return; + } + this.startDrag(e); + this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]); + }, + clickTrackHandler: function clickTrackHandler(e) { + var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]); + var thumbHalf = this.$refs.thumb[this.bar.offset] / 2; + var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset]; + + this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; + }, + startDrag: function startDrag(e) { + e.stopImmediatePropagation(); + this.cursorDown = true; + + Object(dom_["on"])(document, 'mousemove', this.mouseMoveDocumentHandler); + Object(dom_["on"])(document, 'mouseup', this.mouseUpDocumentHandler); + document.onselectstart = function () { + return false; + }; + }, + mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) { + if (this.cursorDown === false) return; + var prevPage = this[this.bar.axis]; + + if (!prevPage) return; + + var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1; + var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage; + var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset]; + + this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100; + }, + mouseUpDocumentHandler: function mouseUpDocumentHandler(e) { + this.cursorDown = false; + this[this.bar.axis] = 0; + Object(dom_["off"])(document, 'mousemove', this.mouseMoveDocumentHandler); + document.onselectstart = null; + } + }, + + destroyed: function destroyed() { + Object(dom_["off"])(document, 'mouseup', this.mouseUpDocumentHandler); + } +}); +// CONCATENATED MODULE: ./packages/scrollbar/src/main.js +// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js + + + + + + +/* istanbul ignore next */ +/* harmony default export */ var main = ({ + name: 'ElScrollbar', + + components: { Bar: src_bar }, + + props: { + native: Boolean, + wrapStyle: {}, + wrapClass: {}, + viewClass: {}, + viewStyle: {}, + noresize: Boolean, // 憒�� container 撠箏站銝�������憟質挽蝵桀�隞乩���扯 + tag: { + type: String, + default: 'div' + } + }, + + data: function data() { + return { + sizeWidth: '0', + sizeHeight: '0', + moveX: 0, + moveY: 0 + }; + }, + + + computed: { + wrap: function wrap() { + return this.$refs.wrap; + } + }, + + render: function render(h) { + var gutter = scrollbar_width_default()(); + var style = this.wrapStyle; + + if (gutter) { + var gutterWith = '-' + gutter + 'px'; + var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';'; + + if (Array.isArray(this.wrapStyle)) { + style = Object(util_["toObject"])(this.wrapStyle); + style.marginRight = style.marginBottom = gutterWith; + } else if (typeof this.wrapStyle === 'string') { + style += gutterStyle; + } else { + style = gutterStyle; + } + } + var view = h(this.tag, { + class: ['el-scrollbar__view', this.viewClass], + style: this.viewStyle, + ref: 'resize' + }, this.$slots.default); + var wrap = h( + 'div', + { + ref: 'wrap', + style: style, + on: { + 'scroll': this.handleScroll + }, + + 'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] }, + [[view]] + ); + var nodes = void 0; + + if (!this.native) { + nodes = [wrap, h(src_bar, { + attrs: { + move: this.moveX, + size: this.sizeWidth } + }), h(src_bar, { + attrs: { + vertical: true, + move: this.moveY, + size: this.sizeHeight } + })]; + } else { + nodes = [h( + 'div', + { + ref: 'wrap', + 'class': [this.wrapClass, 'el-scrollbar__wrap'], + style: style }, + [[view]] + )]; + } + return h('div', { class: 'el-scrollbar' }, nodes); + }, + + + methods: { + handleScroll: function handleScroll() { + var wrap = this.wrap; + + this.moveY = wrap.scrollTop * 100 / wrap.clientHeight; + this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth; + }, + update: function update() { + var heightPercentage = void 0, + widthPercentage = void 0; + var wrap = this.wrap; + if (!wrap) return; + + heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight; + widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth; + + this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : ''; + this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : ''; + } + }, + + mounted: function mounted() { + if (this.native) return; + this.$nextTick(this.update); + !this.noresize && Object(resize_event_["addResizeListener"])(this.$refs.resize, this.update); + }, + beforeDestroy: function beforeDestroy() { + if (this.native) return; + !this.noresize && Object(resize_event_["removeResizeListener"])(this.$refs.resize, this.update); + } +}); +// CONCATENATED MODULE: ./packages/scrollbar/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var scrollbar = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 16: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 39: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scrollbar-width"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/select.js b/PAMapp/local_modules/element-ui/lib/select.js new file mode 100644 index 0000000..b30f247 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/select.js @@ -0,0 +1,2172 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 62); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 16: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), + +/***/ 19: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), + +/***/ 21: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/shared"); + +/***/ }), + +/***/ 22: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/focus"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 31: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scroll-into-view"); + +/***/ }), + +/***/ 33: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "li", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-select-dropdown__item", + class: { + selected: _vm.itemSelected, + "is-disabled": _vm.disabled || _vm.groupDisabled || _vm.limitReached, + hover: _vm.hover + }, + on: { + mouseenter: _vm.hoverItem, + click: function($event) { + $event.stopPropagation() + return _vm.selectOptionClick($event) + } + } + }, + [_vm._t("default", [_c("span", [_vm._v(_vm._s(_vm.currentLabel))])])], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js& +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var optionvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a], + + name: 'ElOption', + + componentName: 'ElOption', + + inject: ['select'], + + props: { + value: { + required: true + }, + label: [String, Number], + created: Boolean, + disabled: { + type: Boolean, + default: false + } + }, + + data: function data() { + return { + index: -1, + groupDisabled: false, + visible: true, + hitState: false, + hover: false + }; + }, + + + computed: { + isObject: function isObject() { + return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]'; + }, + currentLabel: function currentLabel() { + return this.label || (this.isObject ? '' : this.value); + }, + currentValue: function currentValue() { + return this.value || this.label || ''; + }, + itemSelected: function itemSelected() { + if (!this.select.multiple) { + return this.isEqual(this.value, this.select.value); + } else { + return this.contains(this.select.value, this.value); + } + }, + limitReached: function limitReached() { + if (this.select.multiple) { + return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0; + } else { + return false; + } + } + }, + + watch: { + currentLabel: function currentLabel() { + if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected'); + }, + value: function value(val, oldVal) { + var _select = this.select, + remote = _select.remote, + valueKey = _select.valueKey; + + if (!this.created && !remote) { + if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) { + return; + } + this.dispatch('ElSelect', 'setSelected'); + } + } + }, + + methods: { + isEqual: function isEqual(a, b) { + if (!this.isObject) { + return a === b; + } else { + var valueKey = this.select.valueKey; + return Object(util_["getValueByPath"])(a, valueKey) === Object(util_["getValueByPath"])(b, valueKey); + } + }, + contains: function contains() { + var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var target = arguments[1]; + + if (!this.isObject) { + return arr && arr.indexOf(target) > -1; + } else { + var valueKey = this.select.valueKey; + return arr && arr.some(function (item) { + return Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(target, valueKey); + }); + } + }, + handleGroupDisabled: function handleGroupDisabled(val) { + this.groupDisabled = val; + }, + hoverItem: function hoverItem() { + if (!this.disabled && !this.groupDisabled) { + this.select.hoverIndex = this.select.options.indexOf(this); + } + }, + selectOptionClick: function selectOptionClick() { + if (this.disabled !== true && this.groupDisabled !== true) { + this.dispatch('ElSelect', 'handleOptionClick', [this, true]); + } + }, + queryChange: function queryChange(query) { + this.visible = new RegExp(Object(util_["escapeRegexpString"])(query), 'i').test(this.currentLabel) || this.created; + if (!this.visible) { + this.select.filteredOptionsCount--; + } + } + }, + + created: function created() { + this.select.options.push(this); + this.select.cachedOptions.push(this); + this.select.optionsCount++; + this.select.filteredOptionsCount++; + + this.$on('queryChange', this.queryChange); + this.$on('handleGroupDisabled', this.handleGroupDisabled); + }, + beforeDestroy: function beforeDestroy() { + var _select2 = this.select, + selected = _select2.selected, + multiple = _select2.multiple; + + var selectedOptions = multiple ? selected : [selected]; + var index = this.select.cachedOptions.indexOf(this); + var selectedIndex = selectedOptions.indexOf(this); + + // if option is not selected, remove it from cache + if (index > -1 && selectedIndex < 0) { + this.select.cachedOptions.splice(index, 1); + } + this.select.onOptionDestroy(this.select.options.indexOf(this)); + } +}); +// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js& + /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/select/src/option.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_optionvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/select/src/option.vue" +/* harmony default export */ var src_option = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 38: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tag"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 62: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + staticClass: "el-select", + class: [_vm.selectSize ? "el-select--" + _vm.selectSize : ""], + on: { + click: function($event) { + $event.stopPropagation() + return _vm.toggleMenu($event) + } + } + }, + [ + _vm.multiple + ? _c( + "div", + { + ref: "tags", + staticClass: "el-select__tags", + style: { "max-width": _vm.inputWidth - 32 + "px", width: "100%" } + }, + [ + _vm.collapseTags && _vm.selected.length + ? _c( + "span", + [ + _c( + "el-tag", + { + attrs: { + closable: !_vm.selectDisabled, + size: _vm.collapseTagSize, + hit: _vm.selected[0].hitState, + type: "info", + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag($event, _vm.selected[0]) + } + } + }, + [ + _c("span", { staticClass: "el-select__tags-text" }, [ + _vm._v(_vm._s(_vm.selected[0].currentLabel)) + ]) + ] + ), + _vm.selected.length > 1 + ? _c( + "el-tag", + { + attrs: { + closable: false, + size: _vm.collapseTagSize, + type: "info", + "disable-transitions": "" + } + }, + [ + _c( + "span", + { staticClass: "el-select__tags-text" }, + [_vm._v("+ " + _vm._s(_vm.selected.length - 1))] + ) + ] + ) + : _vm._e() + ], + 1 + ) + : _vm._e(), + !_vm.collapseTags + ? _c( + "transition-group", + { on: { "after-leave": _vm.resetInputHeight } }, + _vm._l(_vm.selected, function(item) { + return _c( + "el-tag", + { + key: _vm.getValueKey(item), + attrs: { + closable: !_vm.selectDisabled, + size: _vm.collapseTagSize, + hit: item.hitState, + type: "info", + "disable-transitions": "" + }, + on: { + close: function($event) { + _vm.deleteTag($event, item) + } + } + }, + [ + _c("span", { staticClass: "el-select__tags-text" }, [ + _vm._v(_vm._s(item.currentLabel)) + ]) + ] + ) + }), + 1 + ) + : _vm._e(), + _vm.filterable + ? _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.query, + expression: "query" + } + ], + ref: "input", + staticClass: "el-select__input", + class: [_vm.selectSize ? "is-" + _vm.selectSize : ""], + style: { + "flex-grow": "1", + width: _vm.inputLength / (_vm.inputWidth - 32) + "%", + "max-width": _vm.inputWidth - 42 + "px" + }, + attrs: { + type: "text", + disabled: _vm.selectDisabled, + autocomplete: _vm.autoComplete || _vm.autocomplete + }, + domProps: { value: _vm.query }, + on: { + focus: _vm.handleFocus, + blur: function($event) { + _vm.softFocus = false + }, + keyup: _vm.managePlaceholder, + keydown: [ + _vm.resetInputState, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + _vm.handleNavigate("next") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.preventDefault() + _vm.handleNavigate("prev") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "enter", + 13, + $event.key, + "Enter" + ) + ) { + return null + } + $event.preventDefault() + return _vm.selectOption($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "esc", 27, $event.key, [ + "Esc", + "Escape" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.visible = false + }, + function($event) { + if ( + !("button" in $event) && + _vm._k( + $event.keyCode, + "delete", + [8, 46], + $event.key, + ["Backspace", "Delete", "Del"] + ) + ) { + return null + } + return _vm.deletePrevTag($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + _vm.visible = false + } + ], + compositionstart: _vm.handleComposition, + compositionupdate: _vm.handleComposition, + compositionend: _vm.handleComposition, + input: [ + function($event) { + if ($event.target.composing) { + return + } + _vm.query = $event.target.value + }, + _vm.debouncedQueryChange + ] + } + }) + : _vm._e() + ], + 1 + ) + : _vm._e(), + _c( + "el-input", + { + ref: "reference", + class: { "is-focus": _vm.visible }, + attrs: { + type: "text", + placeholder: _vm.currentPlaceholder, + name: _vm.name, + id: _vm.id, + autocomplete: _vm.autoComplete || _vm.autocomplete, + size: _vm.selectSize, + disabled: _vm.selectDisabled, + readonly: _vm.readonly, + "validate-event": false, + tabindex: _vm.multiple && _vm.filterable ? "-1" : null + }, + on: { + focus: _vm.handleFocus, + blur: _vm.handleBlur, + input: _vm.debouncedOnInputChange, + compositionstart: _vm.handleComposition, + compositionupdate: _vm.handleComposition, + compositionend: _vm.handleComposition + }, + nativeOn: { + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.handleNavigate("next") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, [ + "Up", + "ArrowUp" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.handleNavigate("prev") + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + $event.preventDefault() + return _vm.selectOption($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "esc", 27, $event.key, [ + "Esc", + "Escape" + ]) + ) { + return null + } + $event.stopPropagation() + $event.preventDefault() + _vm.visible = false + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "tab", 9, $event.key, "Tab") + ) { + return null + } + _vm.visible = false + } + ], + mouseenter: function($event) { + _vm.inputHovering = true + }, + mouseleave: function($event) { + _vm.inputHovering = false + } + }, + model: { + value: _vm.selectedLabel, + callback: function($$v) { + _vm.selectedLabel = $$v + }, + expression: "selectedLabel" + } + }, + [ + _vm.$slots.prefix + ? _c("template", { slot: "prefix" }, [_vm._t("prefix")], 2) + : _vm._e(), + _c("template", { slot: "suffix" }, [ + _c("i", { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.showClose, + expression: "!showClose" + } + ], + class: [ + "el-select__caret", + "el-input__icon", + "el-icon-" + _vm.iconClass + ] + }), + _vm.showClose + ? _c("i", { + staticClass: + "el-select__caret el-input__icon el-icon-circle-close", + on: { click: _vm.handleClearClick } + }) + : _vm._e() + ]) + ], + 2 + ), + _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "before-enter": _vm.handleMenuEnter, + "after-leave": _vm.doDestroy + } + }, + [ + _c( + "el-select-menu", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible && _vm.emptyText !== false, + expression: "visible && emptyText !== false" + } + ], + ref: "popper", + attrs: { "append-to-body": _vm.popperAppendToBody } + }, + [ + _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.options.length > 0 && !_vm.loading, + expression: "options.length > 0 && !loading" + } + ], + ref: "scrollbar", + class: { + "is-empty": + !_vm.allowCreate && + _vm.query && + _vm.filteredOptionsCount === 0 + }, + attrs: { + tag: "ul", + "wrap-class": "el-select-dropdown__wrap", + "view-class": "el-select-dropdown__list" + } + }, + [ + _vm.showNewOption + ? _c("el-option", { + attrs: { value: _vm.query, created: "" } + }) + : _vm._e(), + _vm._t("default") + ], + 2 + ), + _vm.emptyText && + (!_vm.allowCreate || + _vm.loading || + (_vm.allowCreate && _vm.options.length === 0)) + ? [ + _vm.$slots.empty + ? _vm._t("empty") + : _c("p", { staticClass: "el-select-dropdown__empty" }, [ + _vm._v( + "\n " + + _vm._s(_vm.emptyText) + + "\n " + ) + ]) + ] + : _vm._e() + ], + 2 + ) + ], + 1 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/focus" +var focus_ = __webpack_require__(22); +var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748& +var select_dropdownvue_type_template_id_06828748_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-select-dropdown el-popper", + class: [{ "is-multiple": _vm.$parent.multiple }, _vm.popperClass], + style: { minWidth: _vm.minWidth } + }, + [_vm._t("default")], + 2 + ) +} +var select_dropdownvue_type_template_id_06828748_staticRenderFns = [] +select_dropdownvue_type_template_id_06828748_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({ + name: 'ElSelectDropdown', + + componentName: 'ElSelectDropdown', + + mixins: [vue_popper_default.a], + + props: { + placement: { + default: 'bottom-start' + }, + + boundariesPadding: { + default: 0 + }, + + popperOptions: { + default: function _default() { + return { + gpuAcceleration: false + }; + } + }, + + visibleArrow: { + default: true + }, + + appendToBody: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + minWidth: '' + }; + }, + + + computed: { + popperClass: function popperClass() { + return this.$parent.popperClass; + } + }, + + watch: { + '$parent.inputWidth': function $parentInputWidth() { + this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px'; + } + }, + + mounted: function mounted() { + var _this = this; + + this.referenceElm = this.$parent.$refs.reference.$el; + this.$parent.popperElm = this.popperElm = this.$el; + this.$on('updatePopper', function () { + if (_this.$parent.visible) _this.updatePopper(); + }); + this.$on('destroyPopper', this.destroyPopper); + } +}); +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js& + /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_select_dropdownvue_type_script_lang_js_, + select_dropdownvue_type_template_id_06828748_render, + select_dropdownvue_type_template_id_06828748_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/select/src/select-dropdown.vue" +/* harmony default export */ var select_dropdown = (component.exports); +// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules +var src_option = __webpack_require__(33); + +// EXTERNAL MODULE: external "element-ui/lib/tag" +var tag_ = __webpack_require__(38); +var tag_default = /*#__PURE__*/__webpack_require__.n(tag_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view" +var scroll_into_view_ = __webpack_require__(31); +var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js +/* harmony default export */ var navigation_mixin = ({ + data: function data() { + return { + hoverOption: -1 + }; + }, + + + computed: { + optionsAllDisabled: function optionsAllDisabled() { + return this.options.filter(function (option) { + return option.visible; + }).every(function (option) { + return option.disabled; + }); + } + }, + + watch: { + hoverIndex: function hoverIndex(val) { + var _this = this; + + if (typeof val === 'number' && val > -1) { + this.hoverOption = this.options[val] || {}; + } + this.options.forEach(function (option) { + option.hover = _this.hoverOption === option; + }); + } + }, + + methods: { + navigateOptions: function navigateOptions(direction) { + var _this2 = this; + + if (!this.visible) { + this.visible = true; + return; + } + if (this.options.length === 0 || this.filteredOptionsCount === 0) return; + if (!this.optionsAllDisabled) { + if (direction === 'next') { + this.hoverIndex++; + if (this.hoverIndex === this.options.length) { + this.hoverIndex = 0; + } + } else if (direction === 'prev') { + this.hoverIndex--; + if (this.hoverIndex < 0) { + this.hoverIndex = this.options.length - 1; + } + } + var option = this.options[this.hoverIndex]; + if (option.disabled === true || option.groupDisabled === true || !option.visible) { + this.navigateOptions(direction); + } + this.$nextTick(function () { + return _this2.scrollToOption(_this2.hoverOption); + }); + } + } + } +}); +// EXTERNAL MODULE: external "element-ui/lib/utils/shared" +var shared_ = __webpack_require__(21); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + + + + +/* harmony default export */ var selectvue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin], + + name: 'ElSelect', + + componentName: 'ElSelect', + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + provide: function provide() { + return { + 'select': this + }; + }, + + + computed: { + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + readonly: function readonly() { + return !this.filterable || this.multiple || !Object(util_["isIE"])() && !Object(util_["isEdge"])() && !this.visible; + }, + showClose: function showClose() { + var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== ''; + var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue; + return criteria; + }, + iconClass: function iconClass() { + return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up'; + }, + debounce: function debounce() { + return this.remote ? 300 : 0; + }, + emptyText: function emptyText() { + if (this.loading) { + return this.loadingText || this.t('el.select.loading'); + } else { + if (this.remote && this.query === '' && this.options.length === 0) return false; + if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) { + return this.noMatchText || this.t('el.select.noMatch'); + } + if (this.options.length === 0) { + return this.noDataText || this.t('el.select.noData'); + } + } + return null; + }, + showNewOption: function showNewOption() { + var _this = this; + + var hasExistingOption = this.options.filter(function (option) { + return !option.created; + }).some(function (option) { + return option.currentLabel === _this.query; + }); + return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption; + }, + selectSize: function selectSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + selectDisabled: function selectDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + collapseTagSize: function collapseTagSize() { + return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small'; + }, + propPlaceholder: function propPlaceholder() { + return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder'); + } + }, + + components: { + ElInput: input_default.a, + ElSelectMenu: select_dropdown, + ElOption: src_option["a" /* default */], + ElTag: tag_default.a, + ElScrollbar: scrollbar_default.a + }, + + directives: { Clickoutside: clickoutside_default.a }, + + props: { + name: String, + id: String, + value: { + required: true + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator: function validator(val) { + false && false; + return true; + } + }, + automaticDropdown: Boolean, + size: String, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + allowCreate: Boolean, + loading: Boolean, + popperClass: String, + remote: Boolean, + loadingText: String, + noMatchText: String, + noDataText: String, + remoteMethod: Function, + filterMethod: Function, + multiple: Boolean, + multipleLimit: { + type: Number, + default: 0 + }, + placeholder: { + type: String, + required: false + }, + defaultFirstOption: Boolean, + reserveKeyword: Boolean, + valueKey: { + type: String, + default: 'value' + }, + collapseTags: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + } + }, + + data: function data() { + return { + options: [], + cachedOptions: [], + createdLabel: null, + createdSelected: false, + selected: this.multiple ? [] : {}, + inputLength: 20, + inputWidth: 0, + initialInputHeight: 0, + cachedPlaceHolder: '', + optionsCount: 0, + filteredOptionsCount: 0, + visible: false, + softFocus: false, + selectedLabel: '', + hoverIndex: -1, + query: '', + previousQuery: null, + inputHovering: false, + currentPlaceholder: '', + menuVisibleOnFocus: false, + isOnComposition: false, + isSilentBlur: false + }; + }, + + + watch: { + selectDisabled: function selectDisabled() { + var _this2 = this; + + this.$nextTick(function () { + _this2.resetInputHeight(); + }); + }, + propPlaceholder: function propPlaceholder(val) { + this.cachedPlaceHolder = this.currentPlaceholder = val; + }, + value: function value(val, oldVal) { + if (this.multiple) { + this.resetInputHeight(); + if (val && val.length > 0 || this.$refs.input && this.query !== '') { + this.currentPlaceholder = ''; + } else { + this.currentPlaceholder = this.cachedPlaceHolder; + } + if (this.filterable && !this.reserveKeyword) { + this.query = ''; + this.handleQueryChange(this.query); + } + } + this.setSelected(); + if (this.filterable && !this.multiple) { + this.inputLength = 20; + } + if (!Object(util_["valueEquals"])(val, oldVal)) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + visible: function visible(val) { + var _this3 = this; + + if (!val) { + this.broadcast('ElSelectDropdown', 'destroyPopper'); + if (this.$refs.input) { + this.$refs.input.blur(); + } + this.query = ''; + this.previousQuery = null; + this.selectedLabel = ''; + this.inputLength = 20; + this.menuVisibleOnFocus = false; + this.resetHoverIndex(); + this.$nextTick(function () { + if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) { + _this3.currentPlaceholder = _this3.cachedPlaceHolder; + } + }); + if (!this.multiple) { + if (this.selected) { + if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) { + this.selectedLabel = this.createdLabel; + } else { + this.selectedLabel = this.selected.currentLabel; + } + if (this.filterable) this.query = this.selectedLabel; + } + + if (this.filterable) { + this.currentPlaceholder = this.cachedPlaceHolder; + } + } + } else { + this.broadcast('ElSelectDropdown', 'updatePopper'); + if (this.filterable) { + this.query = this.remote ? '' : this.selectedLabel; + this.handleQueryChange(this.query); + if (this.multiple) { + this.$refs.input.focus(); + } else { + if (!this.remote) { + this.broadcast('ElOption', 'queryChange', ''); + this.broadcast('ElOptionGroup', 'queryChange'); + } + + if (this.selectedLabel) { + this.currentPlaceholder = this.selectedLabel; + this.selectedLabel = ''; + } + } + } + } + this.$emit('visible-change', val); + }, + options: function options() { + var _this4 = this; + + if (this.$isServer) return; + this.$nextTick(function () { + _this4.broadcast('ElSelectDropdown', 'updatePopper'); + }); + if (this.multiple) { + this.resetInputHeight(); + } + var inputs = this.$el.querySelectorAll('input'); + if ([].indexOf.call(inputs, document.activeElement) === -1) { + this.setSelected(); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + } + }, + + methods: { + handleNavigate: function handleNavigate(direction) { + if (this.isOnComposition) return; + + this.navigateOptions(direction); + }, + handleComposition: function handleComposition(event) { + var _this5 = this; + + var text = event.target.value; + if (event.type === 'compositionend') { + this.isOnComposition = false; + this.$nextTick(function (_) { + return _this5.handleQueryChange(text); + }); + } else { + var lastCharacter = text[text.length - 1] || ''; + this.isOnComposition = !Object(shared_["isKorean"])(lastCharacter); + } + }, + handleQueryChange: function handleQueryChange(val) { + var _this6 = this; + + if (this.previousQuery === val || this.isOnComposition) return; + if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) { + this.previousQuery = val; + return; + } + this.previousQuery = val; + this.$nextTick(function () { + if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper'); + }); + this.hoverIndex = -1; + if (this.multiple && this.filterable) { + this.$nextTick(function () { + var length = _this6.$refs.input.value.length * 15 + 20; + _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length; + _this6.managePlaceholder(); + _this6.resetInputHeight(); + }); + } + if (this.remote && typeof this.remoteMethod === 'function') { + this.hoverIndex = -1; + this.remoteMethod(val); + } else if (typeof this.filterMethod === 'function') { + this.filterMethod(val); + this.broadcast('ElOptionGroup', 'queryChange'); + } else { + this.filteredOptionsCount = this.optionsCount; + this.broadcast('ElOption', 'queryChange', val); + this.broadcast('ElOptionGroup', 'queryChange'); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + }, + scrollToOption: function scrollToOption(option) { + var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el; + if (this.$refs.popper && target) { + var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap'); + scroll_into_view_default()(menu, target); + } + this.$refs.scrollbar && this.$refs.scrollbar.handleScroll(); + }, + handleMenuEnter: function handleMenuEnter() { + var _this7 = this; + + this.$nextTick(function () { + return _this7.scrollToOption(_this7.selected); + }); + }, + emitChange: function emitChange(val) { + if (!Object(util_["valueEquals"])(this.value, val)) { + this.$emit('change', val); + } + }, + getOption: function getOption(value) { + var option = void 0; + var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]'; + var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]'; + + for (var i = this.cachedOptions.length - 1; i >= 0; i--) { + var cachedOption = this.cachedOptions[i]; + var isEqual = isObject ? Object(util_["getValueByPath"])(cachedOption.value, this.valueKey) === Object(util_["getValueByPath"])(value, this.valueKey) : cachedOption.value === value; + if (isEqual) { + option = cachedOption; + break; + } + } + if (option) return option; + var label = !isObject && !isNull && !isUndefined ? String(value) : ''; + var newOption = { + value: value, + currentLabel: label + }; + if (this.multiple) { + newOption.hitState = false; + } + return newOption; + }, + setSelected: function setSelected() { + var _this8 = this; + + if (!this.multiple) { + var option = this.getOption(this.value); + if (option.created) { + this.createdLabel = option.currentLabel; + this.createdSelected = true; + } else { + this.createdSelected = false; + } + this.selectedLabel = option.currentLabel; + this.selected = option; + if (this.filterable) this.query = this.selectedLabel; + return; + } + var result = []; + if (Array.isArray(this.value)) { + this.value.forEach(function (value) { + result.push(_this8.getOption(value)); + }); + } + this.selected = result; + this.$nextTick(function () { + _this8.resetInputHeight(); + }); + }, + handleFocus: function handleFocus(event) { + if (!this.softFocus) { + if (this.automaticDropdown || this.filterable) { + if (this.filterable && !this.visible) { + this.menuVisibleOnFocus = true; + } + this.visible = true; + } + this.$emit('focus', event); + } else { + this.softFocus = false; + } + }, + blur: function blur() { + this.visible = false; + this.$refs.reference.blur(); + }, + handleBlur: function handleBlur(event) { + var _this9 = this; + + setTimeout(function () { + if (_this9.isSilentBlur) { + _this9.isSilentBlur = false; + } else { + _this9.$emit('blur', event); + } + }, 50); + this.softFocus = false; + }, + handleClearClick: function handleClearClick(event) { + this.deleteSelected(event); + }, + doDestroy: function doDestroy() { + this.$refs.popper && this.$refs.popper.doDestroy(); + }, + handleClose: function handleClose() { + this.visible = false; + }, + toggleLastOptionHitState: function toggleLastOptionHitState(hit) { + if (!Array.isArray(this.selected)) return; + var option = this.selected[this.selected.length - 1]; + if (!option) return; + + if (hit === true || hit === false) { + option.hitState = hit; + return hit; + } + + option.hitState = !option.hitState; + return option.hitState; + }, + deletePrevTag: function deletePrevTag(e) { + if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) { + var value = this.value.slice(); + value.pop(); + this.$emit('input', value); + this.emitChange(value); + } + }, + managePlaceholder: function managePlaceholder() { + if (this.currentPlaceholder !== '') { + this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder; + } + }, + resetInputState: function resetInputState(e) { + if (e.keyCode !== 8) this.toggleLastOptionHitState(false); + this.inputLength = this.$refs.input.value.length * 15 + 20; + this.resetInputHeight(); + }, + resetInputHeight: function resetInputHeight() { + var _this10 = this; + + if (this.collapseTags && !this.filterable) return; + this.$nextTick(function () { + if (!_this10.$refs.reference) return; + var inputChildNodes = _this10.$refs.reference.$el.childNodes; + var input = [].filter.call(inputChildNodes, function (item) { + return item.tagName === 'INPUT'; + })[0]; + var tags = _this10.$refs.tags; + var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0; + var sizeInMap = _this10.initialInputHeight || 40; + input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px'; + if (_this10.visible && _this10.emptyText !== false) { + _this10.broadcast('ElSelectDropdown', 'updatePopper'); + } + }); + }, + resetHoverIndex: function resetHoverIndex() { + var _this11 = this; + + setTimeout(function () { + if (!_this11.multiple) { + _this11.hoverIndex = _this11.options.indexOf(_this11.selected); + } else { + if (_this11.selected.length > 0) { + _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) { + return _this11.options.indexOf(item); + })); + } else { + _this11.hoverIndex = -1; + } + } + }, 300); + }, + handleOptionSelect: function handleOptionSelect(option, byClick) { + var _this12 = this; + + if (this.multiple) { + var value = (this.value || []).slice(); + var optionIndex = this.getValueIndex(value, option.value); + if (optionIndex > -1) { + value.splice(optionIndex, 1); + } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) { + value.push(option.value); + } + this.$emit('input', value); + this.emitChange(value); + if (option.created) { + this.query = ''; + this.handleQueryChange(''); + this.inputLength = 20; + } + if (this.filterable) this.$refs.input.focus(); + } else { + this.$emit('input', option.value); + this.emitChange(option.value); + this.visible = false; + } + this.isSilentBlur = byClick; + this.setSoftFocus(); + if (this.visible) return; + this.$nextTick(function () { + _this12.scrollToOption(option); + }); + }, + setSoftFocus: function setSoftFocus() { + this.softFocus = true; + var input = this.$refs.input || this.$refs.reference; + if (input) { + input.focus(); + } + }, + getValueIndex: function getValueIndex() { + var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var value = arguments[1]; + + var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + if (!isObject) { + return arr.indexOf(value); + } else { + var valueKey = this.valueKey; + var index = -1; + arr.some(function (item, i) { + if (Object(util_["getValueByPath"])(item, valueKey) === Object(util_["getValueByPath"])(value, valueKey)) { + index = i; + return true; + } + return false; + }); + return index; + } + }, + toggleMenu: function toggleMenu() { + if (!this.selectDisabled) { + if (this.menuVisibleOnFocus) { + this.menuVisibleOnFocus = false; + } else { + this.visible = !this.visible; + } + if (this.visible) { + (this.$refs.input || this.$refs.reference).focus(); + } + } + }, + selectOption: function selectOption() { + if (!this.visible) { + this.toggleMenu(); + } else { + if (this.options[this.hoverIndex]) { + this.handleOptionSelect(this.options[this.hoverIndex]); + } + } + }, + deleteSelected: function deleteSelected(event) { + event.stopPropagation(); + var value = this.multiple ? [] : ''; + this.$emit('input', value); + this.emitChange(value); + this.visible = false; + this.$emit('clear'); + }, + deleteTag: function deleteTag(event, tag) { + var index = this.selected.indexOf(tag); + if (index > -1 && !this.selectDisabled) { + var value = this.value.slice(); + value.splice(index, 1); + this.$emit('input', value); + this.emitChange(value); + this.$emit('remove-tag', tag.value); + } + event.stopPropagation(); + }, + onInputChange: function onInputChange() { + if (this.filterable && this.query !== this.selectedLabel) { + this.query = this.selectedLabel; + this.handleQueryChange(this.query); + } + }, + onOptionDestroy: function onOptionDestroy(index) { + if (index > -1) { + this.optionsCount--; + this.filteredOptionsCount--; + this.options.splice(index, 1); + } + }, + resetInputWidth: function resetInputWidth() { + this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width; + }, + handleResize: function handleResize() { + this.resetInputWidth(); + if (this.multiple) this.resetInputHeight(); + }, + checkDefaultFirstOption: function checkDefaultFirstOption() { + this.hoverIndex = -1; + // highlight the created option + var hasCreated = false; + for (var i = this.options.length - 1; i >= 0; i--) { + if (this.options[i].created) { + hasCreated = true; + this.hoverIndex = i; + break; + } + } + if (hasCreated) return; + for (var _i = 0; _i !== this.options.length; ++_i) { + var option = this.options[_i]; + if (this.query) { + // highlight first options that passes the filter + if (!option.disabled && !option.groupDisabled && option.visible) { + this.hoverIndex = _i; + break; + } + } else { + // highlight currently selected option + if (option.itemSelected) { + this.hoverIndex = _i; + break; + } + } + } + }, + getValueKey: function getValueKey(item) { + if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') { + return item.value; + } else { + return Object(util_["getValueByPath"])(item.value, this.valueKey); + } + } + }, + + created: function created() { + var _this13 = this; + + this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder; + if (this.multiple && !Array.isArray(this.value)) { + this.$emit('input', []); + } + if (!this.multiple && Array.isArray(this.value)) { + this.$emit('input', ''); + } + + this.debouncedOnInputChange = debounce_default()(this.debounce, function () { + _this13.onInputChange(); + }); + + this.debouncedQueryChange = debounce_default()(this.debounce, function (e) { + _this13.handleQueryChange(e.target.value); + }); + + this.$on('handleOptionClick', this.handleOptionSelect); + this.$on('setSelected', this.setSelected); + }, + mounted: function mounted() { + var _this14 = this; + + if (this.multiple && Array.isArray(this.value) && this.value.length > 0) { + this.currentPlaceholder = ''; + } + Object(resize_event_["addResizeListener"])(this.$el, this.handleResize); + + var reference = this.$refs.reference; + if (reference && reference.$el) { + var sizeMap = { + medium: 36, + small: 32, + mini: 28 + }; + var input = reference.$el.querySelector('input'); + this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize]; + } + if (this.remote && this.multiple) { + this.resetInputHeight(); + } + this.$nextTick(function () { + if (reference && reference.$el) { + _this14.inputWidth = reference.$el.getBoundingClientRect().width; + } + }); + this.setSelected(); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el && this.handleResize) Object(resize_event_["removeResizeListener"])(this.$el, this.handleResize); + } +}); +// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js& + /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/select/src/select.vue + + + + + +/* normalize component */ + +var select_component = Object(componentNormalizer["a" /* default */])( + src_selectvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var select_api; } +select_component.options.__file = "packages/select/src/select.vue" +/* harmony default export */ var src_select = (select_component.exports); +// CONCATENATED MODULE: ./packages/select/index.js + + +/* istanbul ignore next */ +src_select.install = function (Vue) { + Vue.component(src_select.name, src_select); +}; + +/* harmony default export */ var packages_select = __webpack_exports__["default"] = (src_select); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/skeleton-item.js b/PAMapp/local_modules/element-ui/lib/skeleton-item.js new file mode 100644 index 0000000..7be1e4f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/skeleton-item.js @@ -0,0 +1,345 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 68); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 68: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { class: ["el-skeleton__item", "el-skeleton__" + _vm.variant] }, + [_vm.variant === "image" ? _c("img-placeholder") : _vm._e()], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=template&id=4bc8804c& + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0& +var img_placeholdervue_type_template_id_1b2cb5c0_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "svg", + { + attrs: { viewBox: "0 0 1024 1024", xmlns: "http://www.w3.org/2000/svg" } + }, + [ + _c("path", { + attrs: { + d: + "M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z" + } + }) + ] + ) +} +var img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns = [] +img_placeholdervue_type_template_id_1b2cb5c0_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=template&id=1b2cb5c0& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var img_placeholdervue_type_script_lang_js_ = ({ + name: 'ImgPlaceholder' +}); +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue?vue&type=script&lang=js& + /* harmony default export */ var src_img_placeholdervue_type_script_lang_js_ = (img_placeholdervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/skeleton/src/img-placeholder.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_img_placeholdervue_type_script_lang_js_, + img_placeholdervue_type_template_id_1b2cb5c0_render, + img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/skeleton/src/img-placeholder.vue" +/* harmony default export */ var img_placeholder = (component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/item.vue?vue&type=script&lang=js& +var _components; + +// +// +// +// +// +// + + + +/* harmony default export */ var itemvue_type_script_lang_js_ = ({ + name: 'ElSkeletonItem', + props: { + variant: { + type: String, + default: 'text' + } + }, + components: (_components = {}, _components[img_placeholder.name] = img_placeholder, _components) +}); +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_itemvue_type_script_lang_js_ = (itemvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/skeleton/src/item.vue + + + + + +/* normalize component */ + +var item_component = Object(componentNormalizer["a" /* default */])( + src_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var item_api; } +item_component.options.__file = "packages/skeleton/src/item.vue" +/* harmony default export */ var item = (item_component.exports); +// CONCATENATED MODULE: ./packages/skeleton-item/index.js + + +/* istanbul ignore next */ +item.install = function (Vue) { + Vue.component(item.name, item); +}; + +/* harmony default export */ var skeleton_item = __webpack_exports__["default"] = (item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/skeleton.js b/PAMapp/local_modules/element-ui/lib/skeleton.js new file mode 100644 index 0000000..43ede4e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/skeleton.js @@ -0,0 +1,371 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 129); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 129: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=template&id=7f659269& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + [ + _vm.uiLoading + ? [ + _c( + "div", + _vm._b( + { class: ["el-skeleton", _vm.animated ? "is-animated" : ""] }, + "div", + _vm.$attrs, + false + ), + [ + _vm._l(_vm.count, function(i) { + return [ + _vm.loading + ? _vm._t( + "template", + _vm._l(_vm.rows, function(item) { + return _c("el-skeleton-item", { + key: i + "-" + item, + class: { + "el-skeleton__paragraph": item !== 1, + "is-first": item === 1, + "is-last": item === _vm.rows && _vm.rows > 1 + }, + attrs: { variant: "p" } + }) + }) + ) + : _vm._e() + ] + }) + ], + 2 + ) + ] + : [_vm._t("default", null, null, _vm.$attrs)] + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=template&id=7f659269& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/skeleton/src/index.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var srcvue_type_script_lang_js_ = ({ + name: 'ElSkeleton', + props: { + animated: { + type: Boolean, + default: false + }, + count: { + type: Number, + default: 1 + }, + rows: { + type: Number, + default: 4 + }, + loading: { + type: Boolean, + default: true + }, + throttle: { + type: Number, + default: 0 + } + }, + watch: { + loading: { + handler: function handler(loading) { + var _this = this; + + if (this.throttle <= 0) { + this.uiLoading = loading; + return; + } + if (loading) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = setTimeout(function () { + _this.uiLoading = _this.loading; + }, this.throttle); + } else { + this.uiLoading = loading; + } + }, + + immediate: true + } + }, + data: function data() { + return { + uiLoading: this.throttle <= 0 ? this.loading : false + }; + } +}); +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var skeleton_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/skeleton/src/index.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + skeleton_srcvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/skeleton/src/index.vue" +/* harmony default export */ var src = (component.exports); +// CONCATENATED MODULE: ./packages/skeleton/index.js + + +/* istanbul ignore next */ +src.install = function (Vue) { + Vue.component(src.name, src); +}; + +/* harmony default export */ var skeleton = __webpack_exports__["default"] = (src); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/slider.js b/PAMapp/local_modules/element-ui/lib/slider.js new file mode 100644 index 0000000..9b49d04 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/slider.js @@ -0,0 +1,1201 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 64); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 29: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tooltip"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 50: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input-number"); + +/***/ }), + +/***/ 64: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=template&id=32708644& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-slider", + class: { + "is-vertical": _vm.vertical, + "el-slider--with-input": _vm.showInput + }, + attrs: { + role: "slider", + "aria-valuemin": _vm.min, + "aria-valuemax": _vm.max, + "aria-orientation": _vm.vertical ? "vertical" : "horizontal", + "aria-disabled": _vm.sliderDisabled + } + }, + [ + _vm.showInput && !_vm.range + ? _c("el-input-number", { + ref: "input", + staticClass: "el-slider__input", + attrs: { + step: _vm.step, + disabled: _vm.sliderDisabled, + controls: _vm.showInputControls, + min: _vm.min, + max: _vm.max, + debounce: _vm.debounce, + size: _vm.inputSize + }, + on: { change: _vm.emitChange }, + model: { + value: _vm.firstValue, + callback: function($$v) { + _vm.firstValue = $$v + }, + expression: "firstValue" + } + }) + : _vm._e(), + _c( + "div", + { + ref: "slider", + staticClass: "el-slider__runway", + class: { "show-input": _vm.showInput, disabled: _vm.sliderDisabled }, + style: _vm.runwayStyle, + on: { click: _vm.onSliderClick } + }, + [ + _c("div", { staticClass: "el-slider__bar", style: _vm.barStyle }), + _c("slider-button", { + ref: "button1", + attrs: { + vertical: _vm.vertical, + "tooltip-class": _vm.tooltipClass + }, + model: { + value: _vm.firstValue, + callback: function($$v) { + _vm.firstValue = $$v + }, + expression: "firstValue" + } + }), + _vm.range + ? _c("slider-button", { + ref: "button2", + attrs: { + vertical: _vm.vertical, + "tooltip-class": _vm.tooltipClass + }, + model: { + value: _vm.secondValue, + callback: function($$v) { + _vm.secondValue = $$v + }, + expression: "secondValue" + } + }) + : _vm._e(), + _vm._l(_vm.stops, function(item, key) { + return _vm.showStops + ? _c("div", { + key: key, + staticClass: "el-slider__stop", + style: _vm.getStopStyle(item) + }) + : _vm._e() + }), + _vm.markList.length > 0 + ? [ + _c( + "div", + _vm._l(_vm.markList, function(item, key) { + return _c("div", { + key: key, + staticClass: "el-slider__stop el-slider__marks-stop", + style: _vm.getStopStyle(item.position) + }) + }), + 0 + ), + _c( + "div", + { staticClass: "el-slider__marks" }, + _vm._l(_vm.markList, function(item, key) { + return _c("slider-marker", { + key: key, + style: _vm.getStopStyle(item.position), + attrs: { mark: item.mark } + }) + }), + 1 + ) + ] + : _vm._e() + ], + 2 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=template&id=32708644& + +// EXTERNAL MODULE: external "element-ui/lib/input-number" +var input_number_ = __webpack_require__(50); +var input_number_default = /*#__PURE__*/__webpack_require__.n(input_number_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2& +var buttonvue_type_template_id_e72d2ad2_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + ref: "button", + staticClass: "el-slider__button-wrapper", + class: { hover: _vm.hovering, dragging: _vm.dragging }, + style: _vm.wrapperStyle, + attrs: { tabindex: "0" }, + on: { + mouseenter: _vm.handleMouseEnter, + mouseleave: _vm.handleMouseLeave, + mousedown: _vm.onButtonDown, + touchstart: _vm.onButtonDown, + focus: _vm.handleMouseEnter, + blur: _vm.handleMouseLeave, + keydown: [ + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "left", 37, $event.key, [ + "Left", + "ArrowLeft" + ]) + ) { + return null + } + if ("button" in $event && $event.button !== 0) { + return null + } + return _vm.onLeftKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "right", 39, $event.key, [ + "Right", + "ArrowRight" + ]) + ) { + return null + } + if ("button" in $event && $event.button !== 2) { + return null + } + return _vm.onRightKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "down", 40, $event.key, [ + "Down", + "ArrowDown" + ]) + ) { + return null + } + $event.preventDefault() + return _vm.onLeftKeyDown($event) + }, + function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "up", 38, $event.key, ["Up", "ArrowUp"]) + ) { + return null + } + $event.preventDefault() + return _vm.onRightKeyDown($event) + } + ] + } + }, + [ + _c( + "el-tooltip", + { + ref: "tooltip", + attrs: { + placement: "top", + "popper-class": _vm.tooltipClass, + disabled: !_vm.showTooltip + } + }, + [ + _c("span", { attrs: { slot: "content" }, slot: "content" }, [ + _vm._v(_vm._s(_vm.formatValue)) + ]), + _c("div", { + staticClass: "el-slider__button", + class: { hover: _vm.hovering, dragging: _vm.dragging } + }) + ] + ) + ], + 1 + ) +} +var buttonvue_type_template_id_e72d2ad2_staticRenderFns = [] +buttonvue_type_template_id_e72d2ad2_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2& + +// EXTERNAL MODULE: external "element-ui/lib/tooltip" +var tooltip_ = __webpack_require__(29); +var tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var buttonvue_type_script_lang_js_ = ({ + name: 'ElSliderButton', + + components: { + ElTooltip: tooltip_default.a + }, + + props: { + value: { + type: Number, + default: 0 + }, + vertical: { + type: Boolean, + default: false + }, + tooltipClass: String + }, + + data: function data() { + return { + hovering: false, + dragging: false, + isClick: false, + startX: 0, + currentX: 0, + startY: 0, + currentY: 0, + startPosition: 0, + newPosition: null, + oldValue: this.value + }; + }, + + + computed: { + disabled: function disabled() { + return this.$parent.sliderDisabled; + }, + max: function max() { + return this.$parent.max; + }, + min: function min() { + return this.$parent.min; + }, + step: function step() { + return this.$parent.step; + }, + showTooltip: function showTooltip() { + return this.$parent.showTooltip; + }, + precision: function precision() { + return this.$parent.precision; + }, + currentPosition: function currentPosition() { + return (this.value - this.min) / (this.max - this.min) * 100 + '%'; + }, + enableFormat: function enableFormat() { + return this.$parent.formatTooltip instanceof Function; + }, + formatValue: function formatValue() { + return this.enableFormat && this.$parent.formatTooltip(this.value) || this.value; + }, + wrapperStyle: function wrapperStyle() { + return this.vertical ? { bottom: this.currentPosition } : { left: this.currentPosition }; + } + }, + + watch: { + dragging: function dragging(val) { + this.$parent.dragging = val; + } + }, + + methods: { + displayTooltip: function displayTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = true); + }, + hideTooltip: function hideTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = false); + }, + handleMouseEnter: function handleMouseEnter() { + this.hovering = true; + this.displayTooltip(); + }, + handleMouseLeave: function handleMouseLeave() { + this.hovering = false; + this.hideTooltip(); + }, + onButtonDown: function onButtonDown(event) { + if (this.disabled) return; + event.preventDefault(); + this.onDragStart(event); + window.addEventListener('mousemove', this.onDragging); + window.addEventListener('touchmove', this.onDragging); + window.addEventListener('mouseup', this.onDragEnd); + window.addEventListener('touchend', this.onDragEnd); + window.addEventListener('contextmenu', this.onDragEnd); + }, + onLeftKeyDown: function onLeftKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) - this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onRightKeyDown: function onRightKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) + this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onDragStart: function onDragStart(event) { + this.dragging = true; + this.isClick = true; + if (event.type === 'touchstart') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.startY = event.clientY; + } else { + this.startX = event.clientX; + } + this.startPosition = parseFloat(this.currentPosition); + this.newPosition = this.startPosition; + }, + onDragging: function onDragging(event) { + if (this.dragging) { + this.isClick = false; + this.displayTooltip(); + this.$parent.resetSize(); + var diff = 0; + if (event.type === 'touchmove') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.currentY = event.clientY; + diff = (this.startY - this.currentY) / this.$parent.sliderSize * 100; + } else { + this.currentX = event.clientX; + diff = (this.currentX - this.startX) / this.$parent.sliderSize * 100; + } + this.newPosition = this.startPosition + diff; + this.setPosition(this.newPosition); + } + }, + onDragEnd: function onDragEnd() { + var _this = this; + + if (this.dragging) { + /* + * �甇W mouseup ���閫血�� click嚗紡�皛����漣���撠挾雿宏 + * 銝蝙� preventDefault ���蛹 mouseup ��� click 瘝⊥�釣�����銝� DOM 銝� + */ + setTimeout(function () { + _this.dragging = false; + _this.hideTooltip(); + if (!_this.isClick) { + _this.setPosition(_this.newPosition); + _this.$parent.emitChange(); + } + }, 0); + window.removeEventListener('mousemove', this.onDragging); + window.removeEventListener('touchmove', this.onDragging); + window.removeEventListener('mouseup', this.onDragEnd); + window.removeEventListener('touchend', this.onDragEnd); + window.removeEventListener('contextmenu', this.onDragEnd); + } + }, + setPosition: function setPosition(newPosition) { + var _this2 = this; + + if (newPosition === null || isNaN(newPosition)) return; + if (newPosition < 0) { + newPosition = 0; + } else if (newPosition > 100) { + newPosition = 100; + } + var lengthPerStep = 100 / ((this.max - this.min) / this.step); + var steps = Math.round(newPosition / lengthPerStep); + var value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min; + value = parseFloat(value.toFixed(this.precision)); + this.$emit('input', value); + this.$nextTick(function () { + _this2.displayTooltip(); + _this2.$refs.tooltip && _this2.$refs.tooltip.updatePopper(); + }); + if (!this.dragging && this.value !== this.oldValue) { + this.oldValue = this.value; + } + } + } +}); +// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=script&lang=js& + /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/slider/src/button.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_buttonvue_type_script_lang_js_, + buttonvue_type_template_id_e72d2ad2_render, + buttonvue_type_template_id_e72d2ad2_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/slider/src/button.vue" +/* harmony default export */ var src_button = (component.exports); +// CONCATENATED MODULE: ./packages/slider/src/marker.js +/* harmony default export */ var marker = ({ + name: 'ElMarker', + + props: { + mark: { + type: [String, Object] + } + }, + render: function render() { + var h = arguments[0]; + + var label = typeof this.mark === 'string' ? this.mark : this.mark.label; + + return h( + 'div', + { 'class': 'el-slider__marks-text', style: this.mark.style || {} }, + [label] + ); + } +}); +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElSlider', + + mixins: [emitter_default.a], + + inject: { + elForm: { + default: '' + } + }, + + props: { + min: { + type: Number, + default: 0 + }, + max: { + type: Number, + default: 100 + }, + step: { + type: Number, + default: 1 + }, + value: { + type: [Number, Array], + default: 0 + }, + showInput: { + type: Boolean, + default: false + }, + showInputControls: { + type: Boolean, + default: true + }, + inputSize: { + type: String, + default: 'small' + }, + showStops: { + type: Boolean, + default: false + }, + showTooltip: { + type: Boolean, + default: true + }, + formatTooltip: Function, + disabled: { + type: Boolean, + default: false + }, + range: { + type: Boolean, + default: false + }, + vertical: { + type: Boolean, + default: false + }, + height: { + type: String + }, + debounce: { + type: Number, + default: 300 + }, + label: { + type: String + }, + tooltipClass: String, + marks: Object + }, + + components: { + ElInputNumber: input_number_default.a, + SliderButton: src_button, + SliderMarker: marker + }, + + data: function data() { + return { + firstValue: null, + secondValue: null, + oldValue: null, + dragging: false, + sliderSize: 1 + }; + }, + + + watch: { + value: function value(val, oldVal) { + if (this.dragging || Array.isArray(val) && Array.isArray(oldVal) && val.every(function (item, index) { + return item === oldVal[index]; + })) { + return; + } + this.setValues(); + }, + dragging: function dragging(val) { + if (!val) { + this.setValues(); + } + }, + firstValue: function firstValue(val) { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } else { + this.$emit('input', val); + } + }, + secondValue: function secondValue() { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } + }, + min: function min() { + this.setValues(); + }, + max: function max() { + this.setValues(); + } + }, + + methods: { + valueChanged: function valueChanged() { + var _this = this; + + if (this.range) { + return ![this.minValue, this.maxValue].every(function (item, index) { + return item === _this.oldValue[index]; + }); + } else { + return this.value !== this.oldValue; + } + }, + setValues: function setValues() { + if (this.min > this.max) { + console.error('[Element Error][Slider]min should not be greater than max.'); + return; + } + var val = this.value; + if (this.range && Array.isArray(val)) { + if (val[1] < this.min) { + this.$emit('input', [this.min, this.min]); + } else if (val[0] > this.max) { + this.$emit('input', [this.max, this.max]); + } else if (val[0] < this.min) { + this.$emit('input', [this.min, val[1]]); + } else if (val[1] > this.max) { + this.$emit('input', [val[0], this.max]); + } else { + this.firstValue = val[0]; + this.secondValue = val[1]; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', [this.minValue, this.maxValue]); + this.oldValue = val.slice(); + } + } + } else if (!this.range && typeof val === 'number' && !isNaN(val)) { + if (val < this.min) { + this.$emit('input', this.min); + } else if (val > this.max) { + this.$emit('input', this.max); + } else { + this.firstValue = val; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', val); + this.oldValue = val; + } + } + } + }, + setPosition: function setPosition(percent) { + var targetValue = this.min + percent * (this.max - this.min) / 100; + if (!this.range) { + this.$refs.button1.setPosition(percent); + return; + } + var button = void 0; + if (Math.abs(this.minValue - targetValue) < Math.abs(this.maxValue - targetValue)) { + button = this.firstValue < this.secondValue ? 'button1' : 'button2'; + } else { + button = this.firstValue > this.secondValue ? 'button1' : 'button2'; + } + this.$refs[button].setPosition(percent); + }, + onSliderClick: function onSliderClick(event) { + if (this.sliderDisabled || this.dragging) return; + this.resetSize(); + if (this.vertical) { + var sliderOffsetBottom = this.$refs.slider.getBoundingClientRect().bottom; + this.setPosition((sliderOffsetBottom - event.clientY) / this.sliderSize * 100); + } else { + var sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left; + this.setPosition((event.clientX - sliderOffsetLeft) / this.sliderSize * 100); + } + this.emitChange(); + }, + resetSize: function resetSize() { + if (this.$refs.slider) { + this.sliderSize = this.$refs.slider['client' + (this.vertical ? 'Height' : 'Width')]; + } + }, + emitChange: function emitChange() { + var _this2 = this; + + this.$nextTick(function () { + _this2.$emit('change', _this2.range ? [_this2.minValue, _this2.maxValue] : _this2.value); + }); + }, + getStopStyle: function getStopStyle(position) { + return this.vertical ? { 'bottom': position + '%' } : { 'left': position + '%' }; + } + }, + + computed: { + stops: function stops() { + var _this3 = this; + + if (!this.showStops || this.min > this.max) return []; + if (this.step === 0) { + false && false; + return []; + } + var stopCount = (this.max - this.min) / this.step; + var stepWidth = 100 * this.step / (this.max - this.min); + var result = []; + for (var i = 1; i < stopCount; i++) { + result.push(i * stepWidth); + } + if (this.range) { + return result.filter(function (step) { + return step < 100 * (_this3.minValue - _this3.min) / (_this3.max - _this3.min) || step > 100 * (_this3.maxValue - _this3.min) / (_this3.max - _this3.min); + }); + } else { + return result.filter(function (step) { + return step > 100 * (_this3.firstValue - _this3.min) / (_this3.max - _this3.min); + }); + } + }, + markList: function markList() { + var _this4 = this; + + if (!this.marks) { + return []; + } + + var marksKeys = Object.keys(this.marks); + return marksKeys.map(parseFloat).sort(function (a, b) { + return a - b; + }).filter(function (point) { + return point <= _this4.max && point >= _this4.min; + }).map(function (point) { + return { + point: point, + position: (point - _this4.min) * 100 / (_this4.max - _this4.min), + mark: _this4.marks[point] + }; + }); + }, + minValue: function minValue() { + return Math.min(this.firstValue, this.secondValue); + }, + maxValue: function maxValue() { + return Math.max(this.firstValue, this.secondValue); + }, + barSize: function barSize() { + return this.range ? 100 * (this.maxValue - this.minValue) / (this.max - this.min) + '%' : 100 * (this.firstValue - this.min) / (this.max - this.min) + '%'; + }, + barStart: function barStart() { + return this.range ? 100 * (this.minValue - this.min) / (this.max - this.min) + '%' : '0%'; + }, + precision: function precision() { + var precisions = [this.min, this.max, this.step].map(function (item) { + var decimal = ('' + item).split('.')[1]; + return decimal ? decimal.length : 0; + }); + return Math.max.apply(null, precisions); + }, + runwayStyle: function runwayStyle() { + return this.vertical ? { height: this.height } : {}; + }, + barStyle: function barStyle() { + return this.vertical ? { + height: this.barSize, + bottom: this.barStart + } : { + width: this.barSize, + left: this.barStart + }; + }, + sliderDisabled: function sliderDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + mounted: function mounted() { + var valuetext = void 0; + if (this.range) { + if (Array.isArray(this.value)) { + this.firstValue = Math.max(this.min, this.value[0]); + this.secondValue = Math.min(this.max, this.value[1]); + } else { + this.firstValue = this.min; + this.secondValue = this.max; + } + this.oldValue = [this.firstValue, this.secondValue]; + valuetext = this.firstValue + '-' + this.secondValue; + } else { + if (typeof this.value !== 'number' || isNaN(this.value)) { + this.firstValue = this.min; + } else { + this.firstValue = Math.min(this.max, Math.max(this.min, this.value)); + } + this.oldValue = this.firstValue; + valuetext = this.firstValue; + } + this.$el.setAttribute('aria-valuetext', valuetext); + + // label screen reader + this.$el.setAttribute('aria-label', this.label ? this.label : 'slider between ' + this.min + ' and ' + this.max); + + this.resetSize(); + window.addEventListener('resize', this.resetSize); + }, + beforeDestroy: function beforeDestroy() { + window.removeEventListener('resize', this.resetSize); + } +}); +// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/slider/src/main.vue + + + + + +/* normalize component */ + +var main_component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/slider/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/slider/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var slider = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/spinner.js b/PAMapp/local_modules/element-ui/lib/spinner.js new file mode 100644 index 0000000..a225590 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/spinner.js @@ -0,0 +1,300 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 105); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 105: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("span", { staticClass: "el-spinner" }, [ + _c( + "svg", + { + staticClass: "el-spinner-inner", + style: { width: _vm.radius / 2 + "px", height: _vm.radius / 2 + "px" }, + attrs: { viewBox: "0 0 50 50" } + }, + [ + _c("circle", { + staticClass: "path", + attrs: { + cx: "25", + cy: "25", + r: "20", + fill: "none", + stroke: _vm.strokeColor, + "stroke-width": _vm.strokeWidth + } + }) + ] + ) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=template&id=697b8538& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/spinner/src/spinner.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// + +/* harmony default export */ var spinnervue_type_script_lang_js_ = ({ + name: 'ElSpinner', + props: { + type: String, + radius: { + type: Number, + default: 100 + }, + strokeWidth: { + type: Number, + default: 5 + }, + strokeColor: { + type: String, + default: '#efefef' + } + } +}); +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue?vue&type=script&lang=js& + /* harmony default export */ var src_spinnervue_type_script_lang_js_ = (spinnervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/spinner/src/spinner.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_spinnervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/spinner/src/spinner.vue" +/* harmony default export */ var spinner = (component.exports); +// CONCATENATED MODULE: ./packages/spinner/index.js + + +/* istanbul ignore next */ +spinner.install = function (Vue) { + Vue.component(spinner.name, spinner); +}; + +/* harmony default export */ var packages_spinner = __webpack_exports__["default"] = (spinner); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/statistic.js b/PAMapp/local_modules/element-ui/lib/statistic.js new file mode 100644 index 0000000..5418dd5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/statistic.js @@ -0,0 +1,527 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 127); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 127: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/statistic/src/main.vue?vue&type=template&id=76339aa7& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-statistic" }, [ + _vm.title || _vm.$slots.title + ? _c( + "div", + { staticClass: "head" }, + [ + _vm._t("title", [ + _c("span", { staticClass: "title" }, [ + _vm._v("\n " + _vm._s(_vm.title) + "\n ") + ]) + ]) + ], + 2 + ) + : _vm._e(), + _c("div", { staticClass: "con" }, [ + _vm.prefix || _vm.$slots.prefix + ? _c( + "span", + { staticClass: "prefix" }, + [ + _vm._t("prefix", [ + _vm._v("\n " + _vm._s(_vm.prefix) + "\n ") + ]) + ], + 2 + ) + : _vm._e(), + _c( + "span", + { staticClass: "number", style: _vm.valueStyle }, + [_vm._t("formatter", [_vm._v(" " + _vm._s(_vm.disposeValue))])], + 2 + ), + _vm.suffix || _vm.$slots.suffix + ? _c( + "span", + { staticClass: "suffix" }, + [ + _vm._t("suffix", [ + _vm._v("\n " + _vm._s(_vm.suffix) + "\n ") + ]) + ], + 2 + ) + : _vm._e() + ]) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/statistic/src/main.vue?vue&type=template&id=76339aa7& + +// EXTERNAL MODULE: external "element-ui/lib/utils/lodash" +var lodash_ = __webpack_require__(35); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/statistic/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElStatistic', + data: function data() { + return { + disposeValue: '', + timeTask: null, + REFRESH_INTERVAL: 1000 / 30 + }; + }, + + props: { + decimalSeparator: { + type: String, + default: '.' + }, + groupSeparator: { + type: String, + default: '' + }, + precision: { + type: Number, + default: null + }, + value: { + type: [String, Number], + default: '' + }, + prefix: { + type: String, + default: '' + }, + suffix: { + type: String, + default: '' + }, + title: { + type: [String, Number], + default: '' + }, + timeIndices: { + type: Boolean, + default: false + }, + valueStyle: { + type: Object, + default: function _default() { + return {}; + } + }, + format: { + type: String, + default: 'HH:mm:ss:SSS' + }, + rate: { + type: Number, + default: 1000 + } + }, + created: function created() { + this.branch(); + }, + + watch: { + value: function value() { + this.branch(); + } + }, + methods: { + branch: function branch() { + var timeIndices = this.timeIndices, + countDown = this.countDown, + dispose = this.dispose; + + timeIndices ? countDown() : dispose(); + }, + magnification: function magnification(num) { + var mulriple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000; + var groupSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ','; + + // magnification factor + var level = String(mulriple).length - 1; + var reg = new RegExp('\\d{1,' + level + '}(?=(\\d{' + level + '})+$)', 'g'); + var result = String(num).replace(reg, '$&,').split(',').join(groupSeparator); + return result; + }, + dispose: function dispose() { + var value = this.value, + precision = this.precision, + groupSeparator = this.groupSeparator, + rate = this.rate; + + if (!Object(lodash_["isNumber"])(value)) return false; + + var _String$split = String(value).split('.'), + integer = _String$split[0], + decimal = _String$split[1]; + + if (precision) { + decimal = '' + (decimal || '') + 1 .toFixed(precision).replace('.', '').slice(1); + decimal = decimal.slice(0, precision); + } + var result = 0; + // 1000 multiplying power + if (groupSeparator) { + integer = this.magnification(integer, rate, groupSeparator); + } + + result = [integer, decimal].join(decimal ? this.decimalSeparator : ''); + this.disposeValue = result; + return result; + }, + diffDate: function diffDate(minuend, subtrahend) { + return Math.max(minuend - subtrahend, 0); + }, + suspend: function suspend(isStop) { + if (isStop) { + if (this.timeTask) { + clearInterval(this.timeTask); + this.timeTask = null; + } + } else { + this.branch(); + } + return this.disposeValue; + }, + + formatTimeStr: function formatTimeStr(time) { + var format = this.format; + + var escapeRegex = /\[[^\]]*]/g; + var keepList = (format.match(escapeRegex) || []).map(function (str) { + return str.slice(1, -1); + }); + var timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365], // years + ['M', 1000 * 60 * 60 * 24 * 30], // months + ['D', 1000 * 60 * 60 * 24], // days + ['H', 1000 * 60 * 60], // hours + ['m', 1000 * 60], // minutes + ['s', 1000], // seconds + ['S', 1] // million seconds + ]; + var formatText = Object(lodash_["reduce"])(timeUnits, function (con, item) { + var name = item[0]; + return con.replace(new RegExp(name + '+', 'g'), function (match) { + var sum = Object(lodash_["chain"])(time).divide(item[1]).floor(0).value(); + time -= Object(lodash_["multiply"])(sum, item[1]); + return Object(lodash_["padStart"])(String(sum), String(match).length, 0); + }); + }, format); + var index = 0; + return formatText.replace(escapeRegex, function () { + var match = keepList[index]; + index += 1; + return match; + }); + }, + stopTime: function stopTime(time) { + var result = true; // stop + if (time) { + this.$emit('change', time); + result = false; + } else { + result = true; + this.suspend(true); + this.$emit('finish', true); + } + return result; + }, + countDown: function countDown() { + var REFRESH_INTERVAL = this.REFRESH_INTERVAL, + timeTask = this.timeTask, + diffDate = this.diffDate, + formatTimeStr = this.formatTimeStr, + stopTime = this.stopTime, + suspend = this.suspend; + + if (timeTask) return; + var than = this; + this.timeTask = setInterval(function () { + var diffTiem = diffDate(than.value, Date.now()); + than.disposeValue = formatTimeStr(diffTiem); + stopTime(diffTiem); + }, REFRESH_INTERVAL); + this.$once('hook:beforeDestroy', function () { + suspend(true); + }); + } + } +}); +// CONCATENATED MODULE: ./packages/statistic/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/statistic/src/main.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/statistic/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/statistic/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var statistic = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 35: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/lodash"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/step.js b/PAMapp/local_modules/element-ui/lib/step.js new file mode 100644 index 0000000..0ca5437 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/step.js @@ -0,0 +1,521 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 110); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 110: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=template&id=f414a87a& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-step", + class: [ + !_vm.isSimple && "is-" + _vm.$parent.direction, + _vm.isSimple && "is-simple", + _vm.isLast && !_vm.space && !_vm.isCenter && "is-flex", + _vm.isCenter && !_vm.isVertical && !_vm.isSimple && "is-center" + ], + style: _vm.style + }, + [ + _c( + "div", + { staticClass: "el-step__head", class: "is-" + _vm.currentStatus }, + [ + _c( + "div", + { + staticClass: "el-step__line", + style: _vm.isLast + ? "" + : { marginRight: _vm.$parent.stepOffset + "px" } + }, + [ + _c("i", { + staticClass: "el-step__line-inner", + style: _vm.lineStyle + }) + ] + ), + _c( + "div", + { + staticClass: "el-step__icon", + class: "is-" + (_vm.icon ? "icon" : "text") + }, + [ + _vm.currentStatus !== "success" && _vm.currentStatus !== "error" + ? _vm._t("icon", [ + _vm.icon + ? _c("i", { + staticClass: "el-step__icon-inner", + class: [_vm.icon] + }) + : _vm._e(), + !_vm.icon && !_vm.isSimple + ? _c("div", { staticClass: "el-step__icon-inner" }, [ + _vm._v(_vm._s(_vm.index + 1)) + ]) + : _vm._e() + ]) + : _c("i", { + staticClass: "el-step__icon-inner is-status", + class: [ + "el-icon-" + + (_vm.currentStatus === "success" ? "check" : "close") + ] + }) + ], + 2 + ) + ] + ), + _c("div", { staticClass: "el-step__main" }, [ + _c( + "div", + { + ref: "title", + staticClass: "el-step__title", + class: ["is-" + _vm.currentStatus] + }, + [_vm._t("title", [_vm._v(_vm._s(_vm.title))])], + 2 + ), + _vm.isSimple + ? _c("div", { staticClass: "el-step__arrow" }) + : _c( + "div", + { + staticClass: "el-step__description", + class: ["is-" + _vm.currentStatus] + }, + [_vm._t("description", [_vm._v(_vm._s(_vm.description))])], + 2 + ) + ]) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=template&id=f414a87a& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/step.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var stepvue_type_script_lang_js_ = ({ + name: 'ElStep', + + props: { + title: String, + icon: String, + description: String, + status: String + }, + + data: function data() { + return { + index: -1, + lineStyle: {}, + internalStatus: '' + }; + }, + beforeCreate: function beforeCreate() { + this.$parent.steps.push(this); + }, + beforeDestroy: function beforeDestroy() { + var steps = this.$parent.steps; + var index = steps.indexOf(this); + if (index >= 0) { + steps.splice(index, 1); + } + }, + + + computed: { + currentStatus: function currentStatus() { + return this.status || this.internalStatus; + }, + prevStatus: function prevStatus() { + var prevStep = this.$parent.steps[this.index - 1]; + return prevStep ? prevStep.currentStatus : 'wait'; + }, + isCenter: function isCenter() { + return this.$parent.alignCenter; + }, + isVertical: function isVertical() { + return this.$parent.direction === 'vertical'; + }, + isSimple: function isSimple() { + return this.$parent.simple; + }, + isLast: function isLast() { + var parent = this.$parent; + return parent.steps[parent.steps.length - 1] === this; + }, + stepsCount: function stepsCount() { + return this.$parent.steps.length; + }, + space: function space() { + var isSimple = this.isSimple, + space = this.$parent.space; + + return isSimple ? '' : space; + }, + + style: function style() { + var style = {}; + var parent = this.$parent; + var len = parent.steps.length; + + var space = typeof this.space === 'number' ? this.space + 'px' : this.space ? this.space : 100 / (len - (this.isCenter ? 0 : 1)) + '%'; + style.flexBasis = space; + if (this.isVertical) return style; + if (this.isLast) { + style.maxWidth = 100 / this.stepsCount + '%'; + } else { + style.marginRight = -this.$parent.stepOffset + 'px'; + } + + return style; + } + }, + + methods: { + updateStatus: function updateStatus(val) { + var prevChild = this.$parent.$children[this.index - 1]; + + if (val > this.index) { + this.internalStatus = this.$parent.finishStatus; + } else if (val === this.index && this.prevStatus !== 'error') { + this.internalStatus = this.$parent.processStatus; + } else { + this.internalStatus = 'wait'; + } + + if (prevChild) prevChild.calcProgress(this.internalStatus); + }, + calcProgress: function calcProgress(status) { + var step = 100; + var style = {}; + + style.transitionDelay = 150 * this.index + 'ms'; + if (status === this.$parent.processStatus) { + step = this.currentStatus !== 'error' ? 0 : 0; + } else if (status === 'wait') { + step = 0; + style.transitionDelay = -150 * this.index + 'ms'; + } + + style.borderWidth = step && !this.isSimple ? '1px' : 0; + this.$parent.direction === 'vertical' ? style.height = step + '%' : style.width = step + '%'; + + this.lineStyle = style; + } + }, + + mounted: function mounted() { + var _this = this; + + var unwatch = this.$watch('index', function (val) { + _this.$watch('$parent.active', _this.updateStatus, { immediate: true }); + _this.$watch('$parent.processStatus', function () { + var activeIndex = _this.$parent.active; + _this.updateStatus(activeIndex); + }, { immediate: true }); + unwatch(); + }); + } +}); +// CONCATENATED MODULE: ./packages/steps/src/step.vue?vue&type=script&lang=js& + /* harmony default export */ var src_stepvue_type_script_lang_js_ = (stepvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/steps/src/step.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_stepvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/steps/src/step.vue" +/* harmony default export */ var step = (component.exports); +// CONCATENATED MODULE: ./packages/step/index.js + + +/* istanbul ignore next */ +step.install = function (Vue) { + Vue.component(step.name, step); +}; + +/* harmony default export */ var packages_step = __webpack_exports__["default"] = (step); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/steps.js b/PAMapp/local_modules/element-ui/lib/steps.js new file mode 100644 index 0000000..4556fe4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/steps.js @@ -0,0 +1,341 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 109); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 109: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-steps", + class: [ + !_vm.simple && "el-steps--" + _vm.direction, + _vm.simple && "el-steps--simple" + ] + }, + [_vm._t("default")], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=template&id=3c6b6dc0& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/steps/src/steps.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var stepsvue_type_script_lang_js_ = ({ + name: 'ElSteps', + + mixins: [migrating_default.a], + + props: { + space: [Number, String], + active: Number, + direction: { + type: String, + default: 'horizontal' + }, + alignCenter: Boolean, + simple: Boolean, + finishStatus: { + type: String, + default: 'finish' + }, + processStatus: { + type: String, + default: 'process' + } + }, + + data: function data() { + return { + steps: [], + stepOffset: 0 + }; + }, + + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'center': 'center is removed.' + } + }; + } + }, + + watch: { + active: function active(newVal, oldVal) { + this.$emit('change', newVal, oldVal); + }, + steps: function steps(_steps) { + _steps.forEach(function (child, index) { + child.index = index; + }); + } + } +}); +// CONCATENATED MODULE: ./packages/steps/src/steps.vue?vue&type=script&lang=js& + /* harmony default export */ var src_stepsvue_type_script_lang_js_ = (stepsvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/steps/src/steps.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_stepsvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/steps/src/steps.vue" +/* harmony default export */ var steps = (component.exports); +// CONCATENATED MODULE: ./packages/steps/index.js + + +/* istanbul ignore next */ +steps.install = function (Vue) { + Vue.component(steps.name, steps); +}; + +/* harmony default export */ var packages_steps = __webpack_exports__["default"] = (steps); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/submenu.js b/PAMapp/local_modules/element-ui/lib/submenu.js new file mode 100644 index 0000000..b4f5104 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/submenu.js @@ -0,0 +1,700 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 131); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 131: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/transitions/collapse-transition" +var collapse_transition_ = __webpack_require__(28); +var collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_); + +// EXTERNAL MODULE: ./packages/menu/src/menu-mixin.js +var menu_mixin = __webpack_require__(37); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/submenu.vue?vue&type=script&lang=js& + + + + + + +var poperMixins = { + props: { + transformOrigin: { + type: [Boolean, String], + default: false + }, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + popperOptions: vue_popper_default.a.props.popperOptions + }, + data: vue_popper_default.a.data, + methods: vue_popper_default.a.methods, + beforeDestroy: vue_popper_default.a.beforeDestroy, + deactivated: vue_popper_default.a.deactivated +}; + +/* harmony default export */ var submenuvue_type_script_lang_js_ = ({ + name: 'ElSubmenu', + + componentName: 'ElSubmenu', + + mixins: [menu_mixin["a" /* default */], emitter_default.a, poperMixins], + + components: { ElCollapseTransition: collapse_transition_default.a }, + + props: { + index: { + type: String, + required: true + }, + showTimeout: { + type: Number, + default: 300 + }, + hideTimeout: { + type: Number, + default: 300 + }, + popperClass: String, + disabled: Boolean, + popperAppendToBody: { + type: Boolean, + default: undefined + } + }, + + data: function data() { + return { + popperJS: null, + timeout: null, + items: {}, + submenus: {}, + mouseInChild: false + }; + }, + + watch: { + opened: function opened(val) { + var _this = this; + + if (this.isMenuPopup) { + this.$nextTick(function (_) { + _this.updatePopper(); + }); + } + } + }, + computed: { + // popper option + appendToBody: function appendToBody() { + return this.popperAppendToBody === undefined ? this.isFirstLevel : this.popperAppendToBody; + }, + menuTransitionName: function menuTransitionName() { + return this.rootMenu.collapse ? 'el-zoom-in-left' : 'el-zoom-in-top'; + }, + opened: function opened() { + return this.rootMenu.openedMenus.indexOf(this.index) > -1; + }, + active: function active() { + var isActive = false; + var submenus = this.submenus; + var items = this.items; + + Object.keys(items).forEach(function (index) { + if (items[index].active) { + isActive = true; + } + }); + + Object.keys(submenus).forEach(function (index) { + if (submenus[index].active) { + isActive = true; + } + }); + + return isActive; + }, + hoverBackground: function hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor: function backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor: function activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor: function textColor() { + return this.rootMenu.textColor || ''; + }, + mode: function mode() { + return this.rootMenu.mode; + }, + isMenuPopup: function isMenuPopup() { + return this.rootMenu.isMenuPopup; + }, + titleStyle: function titleStyle() { + if (this.mode !== 'horizontal') { + return { + color: this.textColor + }; + } + return { + borderBottomColor: this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent', + color: this.active ? this.activeTextColor : this.textColor + }; + }, + isFirstLevel: function isFirstLevel() { + var isFirstLevel = true; + var parent = this.$parent; + while (parent && parent !== this.rootMenu) { + if (['ElSubmenu', 'ElMenuItemGroup'].indexOf(parent.$options.componentName) > -1) { + isFirstLevel = false; + break; + } else { + parent = parent.$parent; + } + } + return isFirstLevel; + } + }, + methods: { + handleCollapseToggle: function handleCollapseToggle(value) { + if (value) { + this.initPopper(); + } else { + this.doDestroy(); + } + }, + addItem: function addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem: function removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu: function addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu: function removeSubmenu(item) { + delete this.submenus[item.index]; + }, + handleClick: function handleClick() { + var rootMenu = this.rootMenu, + disabled = this.disabled; + + if (rootMenu.menuTrigger === 'hover' && rootMenu.mode === 'horizontal' || rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) { + return; + } + this.dispatch('ElMenu', 'submenu-click', this); + }, + handleMouseenter: function handleMouseenter(event) { + var _this2 = this; + + var showTimeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.showTimeout; + + + if (!('ActiveXObject' in window) && event.type === 'focus' && !event.relatedTarget) { + return; + } + var rootMenu = this.rootMenu, + disabled = this.disabled; + + if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) { + return; + } + this.dispatch('ElSubmenu', 'mouse-enter-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this2.rootMenu.openMenu(_this2.index, _this2.indexPath); + }, showTimeout); + + if (this.appendToBody) { + this.$parent.$el.dispatchEvent(new MouseEvent('mouseenter')); + } + }, + handleMouseleave: function handleMouseleave() { + var _this3 = this; + + var deepDispatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var rootMenu = this.rootMenu; + + if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical') { + return; + } + this.dispatch('ElSubmenu', 'mouse-leave-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + !_this3.mouseInChild && _this3.rootMenu.closeMenu(_this3.index); + }, this.hideTimeout); + + if (this.appendToBody && deepDispatch) { + if (this.$parent.$options.name === 'ElSubmenu') { + this.$parent.handleMouseleave(true); + } + } + }, + handleTitleMouseenter: function handleTitleMouseenter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + var title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.hoverBackground); + }, + handleTitleMouseleave: function handleTitleMouseleave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + var title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.backgroundColor || ''); + }, + updatePlacement: function updatePlacement() { + this.currentPlacement = this.mode === 'horizontal' && this.isFirstLevel ? 'bottom-start' : 'right-start'; + }, + initPopper: function initPopper() { + this.referenceElm = this.$el; + this.popperElm = this.$refs.menu; + this.updatePlacement(); + } + }, + created: function created() { + var _this4 = this; + + this.$on('toggle-collapse', this.handleCollapseToggle); + this.$on('mouse-enter-child', function () { + _this4.mouseInChild = true; + clearTimeout(_this4.timeout); + }); + this.$on('mouse-leave-child', function () { + _this4.mouseInChild = false; + clearTimeout(_this4.timeout); + }); + }, + mounted: function mounted() { + this.parentMenu.addSubmenu(this); + this.rootMenu.addSubmenu(this); + this.initPopper(); + }, + beforeDestroy: function beforeDestroy() { + this.parentMenu.removeSubmenu(this); + this.rootMenu.removeSubmenu(this); + }, + render: function render(h) { + var _this5 = this; + + var active = this.active, + opened = this.opened, + paddingStyle = this.paddingStyle, + titleStyle = this.titleStyle, + backgroundColor = this.backgroundColor, + rootMenu = this.rootMenu, + currentPlacement = this.currentPlacement, + menuTransitionName = this.menuTransitionName, + mode = this.mode, + disabled = this.disabled, + popperClass = this.popperClass, + $slots = this.$slots, + isFirstLevel = this.isFirstLevel; + + + var popupMenu = h( + 'transition', + { + attrs: { name: menuTransitionName } + }, + [h( + 'div', + { + ref: 'menu', + directives: [{ + name: 'show', + value: opened + }], + + 'class': ['el-menu--' + mode, popperClass], + on: { + 'mouseenter': function mouseenter($event) { + return _this5.handleMouseenter($event, 100); + }, + 'mouseleave': function mouseleave() { + return _this5.handleMouseleave(true); + }, + 'focus': function focus($event) { + return _this5.handleMouseenter($event, 100); + } + } + }, + [h( + 'ul', + { + attrs: { + role: 'menu' + }, + 'class': ['el-menu el-menu--popup', 'el-menu--popup-' + currentPlacement], + style: { backgroundColor: rootMenu.backgroundColor || '' } }, + [$slots.default] + )] + )] + ); + + var inlineMenu = h('el-collapse-transition', [h( + 'ul', + { + attrs: { + role: 'menu' + }, + 'class': 'el-menu el-menu--inline', + directives: [{ + name: 'show', + value: opened + }], + + style: { backgroundColor: rootMenu.backgroundColor || '' } }, + [$slots.default] + )]); + + var submenuTitleIcon = rootMenu.mode === 'horizontal' && isFirstLevel || rootMenu.mode === 'vertical' && !rootMenu.collapse ? 'el-icon-arrow-down' : 'el-icon-arrow-right'; + + return h( + 'li', + { + 'class': { + 'el-submenu': true, + 'is-active': active, + 'is-opened': opened, + 'is-disabled': disabled + }, + attrs: { role: 'menuitem', + 'aria-haspopup': 'true', + 'aria-expanded': opened + }, + on: { + 'mouseenter': this.handleMouseenter, + 'mouseleave': function mouseleave() { + return _this5.handleMouseleave(false); + }, + 'focus': this.handleMouseenter + } + }, + [h( + 'div', + { + 'class': 'el-submenu__title', + ref: 'submenu-title', + on: { + 'click': this.handleClick, + 'mouseenter': this.handleTitleMouseenter, + 'mouseleave': this.handleTitleMouseleave + }, + + style: [paddingStyle, titleStyle, { backgroundColor: backgroundColor }] + }, + [$slots.title, h('i', { 'class': ['el-submenu__icon-arrow', submenuTitleIcon] })] + ), this.isMenuPopup ? popupMenu : inlineMenu] + ); + } +}); +// CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=script&lang=js& + /* harmony default export */ var src_submenuvue_type_script_lang_js_ = (submenuvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/menu/src/submenu.vue +var render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_submenuvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/menu/src/submenu.vue" +/* harmony default export */ var submenu = (component.exports); +// CONCATENATED MODULE: ./packages/submenu/index.js + + +/* istanbul ignore next */ +submenu.install = function (Vue) { + Vue.component(submenu.name, submenu); +}; + +/* harmony default export */ var packages_submenu = __webpack_exports__["default"] = (submenu); + +/***/ }), + +/***/ 28: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/transitions/collapse-transition"); + +/***/ }), + +/***/ 37: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['rootMenu'], + computed: { + indexPath: function indexPath() { + var path = [this.index]; + var parent = this.$parent; + while (parent.$options.componentName !== 'ElMenu') { + if (parent.index) { + path.unshift(parent.index); + } + parent = parent.$parent; + } + return path; + }, + parentMenu: function parentMenu() { + var parent = this.$parent; + while (parent && ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1) { + parent = parent.$parent; + } + return parent; + }, + paddingStyle: function paddingStyle() { + if (this.rootMenu.mode !== 'vertical') return {}; + + var padding = 20; + var parent = this.$parent; + + if (this.rootMenu.collapse) { + padding = 20; + } else { + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + } + return { paddingLeft: padding + 'px' }; + } + } +}); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/switch.js b/PAMapp/local_modules/element-ui/lib/switch.js new file mode 100644 index 0000000..bd7e19b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/switch.js @@ -0,0 +1,553 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 94); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 22: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/focus"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 94: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-switch", + class: { "is-disabled": _vm.switchDisabled, "is-checked": _vm.checked }, + attrs: { + role: "switch", + "aria-checked": _vm.checked, + "aria-disabled": _vm.switchDisabled + }, + on: { + click: function($event) { + $event.preventDefault() + return _vm.switchValue($event) + } + } + }, + [ + _c("input", { + ref: "input", + staticClass: "el-switch__input", + attrs: { + type: "checkbox", + id: _vm.id, + name: _vm.name, + "true-value": _vm.activeValue, + "false-value": _vm.inactiveValue, + disabled: _vm.switchDisabled + }, + on: { + change: _vm.handleChange, + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "enter", 13, $event.key, "Enter") + ) { + return null + } + return _vm.switchValue($event) + } + } + }), + _vm.inactiveIconClass || _vm.inactiveText + ? _c( + "span", + { + class: [ + "el-switch__label", + "el-switch__label--left", + !_vm.checked ? "is-active" : "" + ] + }, + [ + _vm.inactiveIconClass + ? _c("i", { class: [_vm.inactiveIconClass] }) + : _vm._e(), + !_vm.inactiveIconClass && _vm.inactiveText + ? _c("span", { attrs: { "aria-hidden": _vm.checked } }, [ + _vm._v(_vm._s(_vm.inactiveText)) + ]) + : _vm._e() + ] + ) + : _vm._e(), + _c("span", { + ref: "core", + staticClass: "el-switch__core", + style: { width: _vm.coreWidth + "px" } + }), + _vm.activeIconClass || _vm.activeText + ? _c( + "span", + { + class: [ + "el-switch__label", + "el-switch__label--right", + _vm.checked ? "is-active" : "" + ] + }, + [ + _vm.activeIconClass + ? _c("i", { class: [_vm.activeIconClass] }) + : _vm._e(), + !_vm.activeIconClass && _vm.activeText + ? _c("span", { attrs: { "aria-hidden": !_vm.checked } }, [ + _vm._v(_vm._s(_vm.activeText)) + ]) + : _vm._e() + ] + ) + : _vm._e() + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=template&id=2dcd8fbb& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/focus" +var focus_ = __webpack_require__(22); +var focus_default = /*#__PURE__*/__webpack_require__.n(focus_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/switch/src/component.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var componentvue_type_script_lang_js_ = ({ + name: 'ElSwitch', + mixins: [focus_default()('input'), migrating_default.a, emitter_default.a], + inject: { + elForm: { + default: '' + } + }, + props: { + value: { + type: [Boolean, String, Number], + default: false + }, + disabled: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 40 + }, + activeIconClass: { + type: String, + default: '' + }, + inactiveIconClass: { + type: String, + default: '' + }, + activeText: String, + inactiveText: String, + activeColor: { + type: String, + default: '' + }, + inactiveColor: { + type: String, + default: '' + }, + activeValue: { + type: [Boolean, String, Number], + default: true + }, + inactiveValue: { + type: [Boolean, String, Number], + default: false + }, + name: { + type: String, + default: '' + }, + validateEvent: { + type: Boolean, + default: true + }, + id: String + }, + data: function data() { + return { + coreWidth: this.width + }; + }, + created: function created() { + if (!~[this.activeValue, this.inactiveValue].indexOf(this.value)) { + this.$emit('input', this.inactiveValue); + } + }, + + computed: { + checked: function checked() { + return this.value === this.activeValue; + }, + switchDisabled: function switchDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + watch: { + checked: function checked() { + this.$refs.input.checked = this.checked; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } + }, + methods: { + handleChange: function handleChange(event) { + var _this = this; + + var val = this.checked ? this.inactiveValue : this.activeValue; + this.$emit('input', val); + this.$emit('change', val); + this.$nextTick(function () { + // set input's checked property + // in case parent refuses to change component's value + if (_this.$refs.input) { + _this.$refs.input.checked = _this.checked; + } + }); + }, + setBackgroundColor: function setBackgroundColor() { + var newColor = this.checked ? this.activeColor : this.inactiveColor; + this.$refs.core.style.borderColor = newColor; + this.$refs.core.style.backgroundColor = newColor; + }, + switchValue: function switchValue() { + !this.switchDisabled && this.handleChange(); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'on-color': 'on-color is renamed to active-color.', + 'off-color': 'off-color is renamed to inactive-color.', + 'on-text': 'on-text is renamed to active-text.', + 'off-text': 'off-text is renamed to inactive-text.', + 'on-value': 'on-value is renamed to active-value.', + 'off-value': 'off-value is renamed to inactive-value.', + 'on-icon-class': 'on-icon-class is renamed to active-icon-class.', + 'off-icon-class': 'off-icon-class is renamed to inactive-icon-class.' + } + }; + } + }, + mounted: function mounted() { + /* istanbul ignore if */ + this.coreWidth = this.width || 40; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + this.$refs.input.checked = this.checked; + } +}); +// CONCATENATED MODULE: ./packages/switch/src/component.vue?vue&type=script&lang=js& + /* harmony default export */ var src_componentvue_type_script_lang_js_ = (componentvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/switch/src/component.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_componentvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/switch/src/component.vue" +/* harmony default export */ var src_component = (component.exports); +// CONCATENATED MODULE: ./packages/switch/index.js + + +/* istanbul ignore next */ +src_component.install = function (Vue) { + Vue.component(src_component.name, src_component); +}; + +/* harmony default export */ var packages_switch = __webpack_exports__["default"] = (src_component); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/tab-pane.js b/PAMapp/local_modules/element-ui/lib/tab-pane.js new file mode 100644 index 0000000..5ae3a3b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/tab-pane.js @@ -0,0 +1,331 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 101); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 101: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.lazy || _vm.loaded || _vm.active + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.active, + expression: "active" + } + ], + staticClass: "el-tab-pane", + attrs: { + role: "tabpanel", + "aria-hidden": !_vm.active, + id: "pane-" + _vm.paneName, + "aria-labelledby": "tab-" + _vm.paneName + } + }, + [_vm._t("default")], + 2 + ) + : _vm._e() +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var tab_panevue_type_script_lang_js_ = ({ + name: 'ElTabPane', + + componentName: 'ElTabPane', + + props: { + label: String, + labelContent: Function, + name: String, + closable: Boolean, + disabled: Boolean, + lazy: Boolean + }, + + data: function data() { + return { + index: null, + loaded: false + }; + }, + + + computed: { + isClosable: function isClosable() { + return this.closable || this.$parent.closable; + }, + active: function active() { + var active = this.$parent.currentName === (this.name || this.index); + if (active) { + this.loaded = true; + } + return active; + }, + paneName: function paneName() { + return this.name || this.index; + } + }, + + updated: function updated() { + this.$parent.$emit('tab-nav-update'); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_panevue_type_script_lang_js_ = (tab_panevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_tab_panevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/tabs/src/tab-pane.vue" +/* harmony default export */ var tab_pane = (component.exports); +// CONCATENATED MODULE: ./packages/tab-pane/index.js + + +/* istanbul ignore next */ +tab_pane.install = function (Vue) { + Vue.component(tab_pane.name, tab_pane); +}; + +/* harmony default export */ var packages_tab_pane = __webpack_exports__["default"] = (tab_pane); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/table-column.js b/PAMapp/local_modules/element-ui/lib/table-column.js new file mode 100644 index 0000000..ac756b5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/table-column.js @@ -0,0 +1,932 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 136); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 136: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./packages/table/src/config.js + + +var cellStarts = { + default: { + order: '' + }, + selection: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '', + className: 'el-table-column--selection' + }, + expand: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + }, + index: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + } +}; + +// 餈��★銝�砲鋡怨��� +var cellForced = { + selection: { + renderHeader: function renderHeader(h, _ref) { + var store = _ref.store; + + return h('el-checkbox', { + attrs: { + disabled: store.states.data && store.states.data.length === 0, + indeterminate: store.states.selection.length > 0 && !this.isAllSelected, + + value: this.isAllSelected }, + on: { + 'input': this.toggleAllSelection + } + }); + }, + renderCell: function renderCell(h, _ref2) { + var row = _ref2.row, + column = _ref2.column, + isSelected = _ref2.isSelected, + store = _ref2.store, + $index = _ref2.$index; + + return h('el-checkbox', { + nativeOn: { + 'click': function click(event) { + return event.stopPropagation(); + } + }, + attrs: { + value: isSelected, + disabled: column.selectable ? !column.selectable.call(null, row, $index) : false + }, + on: { + 'input': function input() { + store.commit('rowSelectedChanged', row); + } + } + }); + }, + sortable: false, + resizable: false + }, + index: { + renderHeader: function renderHeader(h, _ref3) { + var column = _ref3.column; + + return column.label || '#'; + }, + renderCell: function renderCell(h, _ref4) { + var $index = _ref4.$index, + column = _ref4.column; + + var i = $index + 1; + var index = column.index; + + if (typeof index === 'number') { + i = $index + index; + } else if (typeof index === 'function') { + i = index($index); + } + + return h('div', [i]); + }, + sortable: false + }, + expand: { + renderHeader: function renderHeader(h, _ref5) { + var column = _ref5.column; + + return column.label || ''; + }, + renderCell: function renderCell(h, _ref6) { + var row = _ref6.row, + store = _ref6.store, + isExpanded = _ref6.isExpanded; + + var classes = ['el-table__expand-icon']; + if (isExpanded) { + classes.push('el-table__expand-icon--expanded'); + } + var callback = function callback(e) { + e.stopPropagation(); + store.toggleRowExpansion(row); + }; + return h( + 'div', + { 'class': classes, + on: { + 'click': callback + } + }, + [h('i', { 'class': 'el-icon el-icon-arrow-right' })] + ); + }, + sortable: false, + resizable: false, + className: 'el-table__expand-column' + } +}; + +function defaultRenderCell(h, _ref7) { + var row = _ref7.row, + column = _ref7.column, + $index = _ref7.$index; + + var property = column.property; + var value = property && Object(util_["getPropByPath"])(row, property).v; + if (column && column.formatter) { + return column.formatter(row, column, value, $index); + } + return value; +} + +function treeCellPrefix(h, _ref8) { + var row = _ref8.row, + treeNode = _ref8.treeNode, + store = _ref8.store; + + if (!treeNode) return null; + var ele = []; + var callback = function callback(e) { + e.stopPropagation(); + store.loadOrToggle(row); + }; + if (treeNode.indent) { + ele.push(h('span', { 'class': 'el-table__indent', style: { 'padding-left': treeNode.indent + 'px' } })); + } + if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) { + var expandClasses = ['el-table__expand-icon', treeNode.expanded ? 'el-table__expand-icon--expanded' : '']; + var iconClasses = ['el-icon-arrow-right']; + if (treeNode.loading) { + iconClasses = ['el-icon-loading']; + } + ele.push(h( + 'div', + { 'class': expandClasses, + on: { + 'click': callback + } + }, + [h('i', { 'class': iconClasses })] + )); + } else { + ele.push(h('span', { 'class': 'el-table__placeholder' })); + } + return ele; +} +// EXTERNAL MODULE: ./packages/table/src/util.js +var util = __webpack_require__(8); + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(18); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// CONCATENATED MODULE: ./packages/table/src/table-column.js +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + +var columnIdSeed = 1; + +/* harmony default export */ var table_column = ({ + name: 'ElTableColumn', + + props: { + type: { + type: String, + default: 'default' + }, + label: String, + className: String, + labelClassName: String, + property: String, + prop: String, + width: {}, + minWidth: {}, + renderHeader: Function, + sortable: { + type: [Boolean, String], + default: false + }, + sortMethod: Function, + sortBy: [String, Function, Array], + resizable: { + type: Boolean, + default: true + }, + columnKey: String, + align: String, + headerAlign: String, + showTooltipWhenOverflow: Boolean, + showOverflowTooltip: Boolean, + fixed: [Boolean, String], + formatter: Function, + selectable: Function, + reserveSelection: Boolean, + filterMethod: Function, + filteredValue: Array, + filters: Array, + filterPlacement: String, + filterMultiple: { + type: Boolean, + default: true + }, + index: [Number, Function], + sortOrders: { + type: Array, + default: function _default() { + return ['ascending', 'descending', null]; + }, + validator: function validator(val) { + return val.every(function (order) { + return ['ascending', 'descending', null].indexOf(order) > -1; + }); + } + } + }, + + data: function data() { + return { + isSubColumn: false, + columns: [] + }; + }, + + + computed: { + owner: function owner() { + var parent = this.$parent; + while (parent && !parent.tableId) { + parent = parent.$parent; + } + return parent; + }, + columnOrTableParent: function columnOrTableParent() { + var parent = this.$parent; + while (parent && !parent.tableId && !parent.columnId) { + parent = parent.$parent; + } + return parent; + }, + realWidth: function realWidth() { + return Object(util["l" /* parseWidth */])(this.width); + }, + realMinWidth: function realMinWidth() { + return Object(util["k" /* parseMinWidth */])(this.minWidth); + }, + realAlign: function realAlign() { + return this.align ? 'is-' + this.align : null; + }, + realHeaderAlign: function realHeaderAlign() { + return this.headerAlign ? 'is-' + this.headerAlign : this.realAlign; + } + }, + + methods: { + getPropsData: function getPropsData() { + var _this = this; + + for (var _len = arguments.length, props = Array(_len), _key = 0; _key < _len; _key++) { + props[_key] = arguments[_key]; + } + + return props.reduce(function (prev, cur) { + if (Array.isArray(cur)) { + cur.forEach(function (key) { + prev[key] = _this[key]; + }); + } + return prev; + }, {}); + }, + getColumnElIndex: function getColumnElIndex(children, child) { + return [].indexOf.call(children, child); + }, + setColumnWidth: function setColumnWidth(column) { + if (this.realWidth) { + column.width = this.realWidth; + } + if (this.realMinWidth) { + column.minWidth = this.realMinWidth; + } + if (!column.minWidth) { + column.minWidth = 80; + } + column.realWidth = column.width === undefined ? column.minWidth : column.width; + return column; + }, + setColumnForcedProps: function setColumnForcedProps(column) { + // 撖嫣�摰掩���� column嚗����找��捂霈曄蔭 + var type = column.type; + var source = cellForced[type] || {}; + Object.keys(source).forEach(function (prop) { + var value = source[prop]; + if (value !== undefined) { + column[prop] = prop === 'className' ? column[prop] + ' ' + value : value; + } + }); + return column; + }, + setColumnRenders: function setColumnRenders(column) { + var _this2 = this; + + var h = this.$createElement; + + // renderHeader 撅�找���蝙��� + if (this.renderHeader) { + console.warn('[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'); + } else if (column.type !== 'selection') { + column.renderHeader = function (h, scope) { + var renderHeader = _this2.$scopedSlots.header; + return renderHeader ? renderHeader(scope) : column.label; + }; + } + + var originRenderCell = column.renderCell; + // TODO: 餈���靚 + if (column.type === 'expand') { + // 撖嫣���銵�enderCell 銝�捂��蔭���銝�甇乩葉撌脩�挽蝵株�����閬������銝�� + column.renderCell = function (h, data) { + return h( + 'div', + { 'class': 'cell' }, + [originRenderCell(h, data)] + ); + }; + this.owner.renderExpanded = function (h, data) { + return _this2.$scopedSlots.default ? _this2.$scopedSlots.default(data) : _this2.$slots.default; + }; + } else { + originRenderCell = originRenderCell || defaultRenderCell; + // 撖� renderCell 餈���� + column.renderCell = function (h, data) { + var children = null; + if (_this2.$scopedSlots.default) { + children = _this2.$scopedSlots.default(data); + } else { + children = originRenderCell(h, data); + } + var prefix = treeCellPrefix(h, data); + var props = { + class: 'cell', + style: {} + }; + if (column.showOverflowTooltip) { + props.class += ' el-tooltip'; + props.style = { width: (data.column.realWidth || data.column.width) - 1 + 'px' }; + } + return h( + 'div', + props, + [prefix, children] + ); + }; + } + return column; + }, + registerNormalWatchers: function registerNormalWatchers() { + var _this3 = this; + + var props = ['label', 'property', 'filters', 'filterMultiple', 'sortable', 'index', 'formatter', 'className', 'labelClassName', 'showOverflowTooltip']; + // 銝�鈭��批����� + var aliases = { + prop: 'property', + realAlign: 'align', + realHeaderAlign: 'headerAlign', + realWidth: 'width' + }; + var allAliases = props.reduce(function (prev, cur) { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(function (key) { + var columnKey = aliases[key]; + + _this3.$watch(key, function (newVal) { + _this3.columnConfig[columnKey] = newVal; + }); + }); + }, + registerComplexWatchers: function registerComplexWatchers() { + var _this4 = this; + + var props = ['fixed']; + var aliases = { + realWidth: 'width', + realMinWidth: 'minWidth' + }; + var allAliases = props.reduce(function (prev, cur) { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(function (key) { + var columnKey = aliases[key]; + + _this4.$watch(key, function (newVal) { + _this4.columnConfig[columnKey] = newVal; + var updateColumns = columnKey === 'fixed'; + _this4.owner.store.scheduleLayout(updateColumns); + }); + }); + } + }, + + components: { + ElCheckbox: checkbox_default.a + }, + + beforeCreate: function beforeCreate() { + this.row = {}; + this.column = {}; + this.$index = 0; + this.columnId = ''; + }, + created: function created() { + var parent = this.columnOrTableParent; + this.isSubColumn = this.owner !== parent; + this.columnId = (parent.tableId || parent.columnId) + '_column_' + columnIdSeed++; + + var type = this.type || 'default'; + var sortable = this.sortable === '' ? true : this.sortable; + var defaults = _extends({}, cellStarts[type], { + id: this.columnId, + type: type, + property: this.prop || this.property, + align: this.realAlign, + headerAlign: this.realHeaderAlign, + showOverflowTooltip: this.showOverflowTooltip || this.showTooltipWhenOverflow, + // filter ��撅�� + filterable: this.filters || this.filterMethod, + filteredValue: [], + filterPlacement: '', + isColumnGroup: false, + filterOpened: false, + // sort ��撅�� + sortable: sortable, + // index ��� + index: this.index + }); + + var basicProps = ['columnKey', 'label', 'className', 'labelClassName', 'type', 'renderHeader', 'formatter', 'fixed', 'resizable']; + var sortProps = ['sortMethod', 'sortBy', 'sortOrders']; + var selectProps = ['selectable', 'reserveSelection']; + var filterProps = ['filterMethod', 'filters', 'filterMultiple', 'filterOpened', 'filteredValue', 'filterPlacement']; + + var column = this.getPropsData(basicProps, sortProps, selectProps, filterProps); + column = Object(util["h" /* mergeOptions */])(defaults, column); + + // 瘜冽�� compose 銝剖��銵�◇摨隞�撌� + var chains = Object(util["a" /* compose */])(this.setColumnRenders, this.setColumnWidth, this.setColumnForcedProps); + column = chains(column); + + this.columnConfig = column; + + // 瘜典�� watcher + this.registerNormalWatchers(); + this.registerComplexWatchers(); + }, + mounted: function mounted() { + var owner = this.owner; + var parent = this.columnOrTableParent; + var children = this.isSubColumn ? parent.$el.children : parent.$refs.hiddenColumns.children; + var columnIndex = this.getColumnElIndex(children, this.$el); + + owner.store.commit('insertColumn', this.columnConfig, columnIndex, this.isSubColumn ? parent.columnConfig : null); + }, + destroyed: function destroyed() { + if (!this.$parent) return; + var parent = this.$parent; + this.owner.store.commit('removeColumn', this.columnConfig, this.isSubColumn ? parent.columnConfig : null); + }, + render: function render(h) { + // slots 銋�葡����閬恣蝞�僎銵典仍 + return h('div', this.$slots.default); + } +}); +// CONCATENATED MODULE: ./packages/table-column/index.js + + +/* istanbul ignore next */ +table_column.install = function (Vue) { + Vue.component(table_column.name, table_column); +}; + +/* harmony default export */ var packages_table_column = __webpack_exports__["default"] = (table_column); + +/***/ }), + +/***/ 18: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 8: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCell; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return orderBy; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getColumnById; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getColumnByKey; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getColumnByCell; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getRowIdentity; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getKeysMap; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return mergeOptions; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return parseWidth; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return parseMinWidth; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return parseHeight; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return compose; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return toggleRowStatus; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return walkTreeNode; }); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + + +var getCell = function getCell(event) { + var cell = event.target; + + while (cell && cell.tagName.toUpperCase() !== 'HTML') { + if (cell.tagName.toUpperCase() === 'TD') { + return cell; + } + cell = cell.parentNode; + } + + return null; +}; + +var isObject = function isObject(obj) { + return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object'; +}; + +var orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) { + if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) { + return array; + } + if (typeof reverse === 'string') { + reverse = reverse === 'descending' ? -1 : 1; + } else { + reverse = reverse && reverse < 0 ? -1 : 1; + } + var getKey = sortMethod ? null : function (value, index) { + if (sortBy) { + if (!Array.isArray(sortBy)) { + sortBy = [sortBy]; + } + return sortBy.map(function (by) { + if (typeof by === 'string') { + return Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__["getValueByPath"])(value, by); + } else { + return by(value, index, array); + } + }); + } + if (sortKey !== '$key') { + if (isObject(value) && '$value' in value) value = value.$value; + } + return [isObject(value) ? Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__["getValueByPath"])(value, sortKey) : value]; + }; + var compare = function compare(a, b) { + if (sortMethod) { + return sortMethod(a.value, b.value); + } + for (var i = 0, len = a.key.length; i < len; i++) { + if (a.key[i] < b.key[i]) { + return -1; + } + if (a.key[i] > b.key[i]) { + return 1; + } + } + return 0; + }; + return array.map(function (value, index) { + return { + value: value, + index: index, + key: getKey ? getKey(value, index) : null + }; + }).sort(function (a, b) { + var order = compare(a, b); + if (!order) { + // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability + order = a.index - b.index; + } + return order * reverse; + }).map(function (item) { + return item.value; + }); +}; + +var getColumnById = function getColumnById(table, columnId) { + var column = null; + table.columns.forEach(function (item) { + if (item.id === columnId) { + column = item; + } + }); + return column; +}; + +var getColumnByKey = function getColumnByKey(table, columnKey) { + var column = null; + for (var i = 0; i < table.columns.length; i++) { + var item = table.columns[i]; + if (item.columnKey === columnKey) { + column = item; + break; + } + } + return column; +}; + +var getColumnByCell = function getColumnByCell(table, cell) { + var matches = (cell.className || '').match(/el-table_[^\s]+/gm); + if (matches) { + return getColumnById(table, matches[0]); + } + return null; +}; + +var getRowIdentity = function getRowIdentity(row, rowKey) { + if (!row) throw new Error('row is required when get row identity'); + if (typeof rowKey === 'string') { + if (rowKey.indexOf('.') < 0) { + return row[rowKey]; + } + var key = rowKey.split('.'); + var current = row; + for (var i = 0; i < key.length; i++) { + current = current[key[i]]; + } + return current; + } else if (typeof rowKey === 'function') { + return rowKey.call(null, row); + } +}; + +var getKeysMap = function getKeysMap(array, rowKey) { + var arrayMap = {}; + (array || []).forEach(function (row, index) { + arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index }; + }); + return arrayMap; +}; + +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function mergeOptions(defaults, config) { + var options = {}; + var key = void 0; + for (key in defaults) { + options[key] = defaults[key]; + } + for (key in config) { + if (hasOwn(config, key)) { + var value = config[key]; + if (typeof value !== 'undefined') { + options[key] = value; + } + } + } + return options; +} + +function parseWidth(width) { + if (width !== undefined) { + width = parseInt(width, 10); + if (isNaN(width)) { + width = null; + } + } + return width; +} + +function parseMinWidth(minWidth) { + if (typeof minWidth !== 'undefined') { + minWidth = parseWidth(minWidth); + if (isNaN(minWidth)) { + minWidth = 80; + } + } + return minWidth; +}; + +function parseHeight(height) { + if (typeof height === 'number') { + return height; + } + if (typeof height === 'string') { + if (/^\d+(?:px)?$/.test(height)) { + return parseInt(height, 10); + } else { + return height; + } + } + return null; +} + +// https://github.com/reduxjs/redux/blob/master/src/compose.js +function compose() { + for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + if (funcs.length === 0) { + return function (arg) { + return arg; + }; + } + if (funcs.length === 1) { + return funcs[0]; + } + return funcs.reduce(function (a, b) { + return function () { + return a(b.apply(undefined, arguments)); + }; + }); +} + +function toggleRowStatus(statusArr, row, newVal) { + var changed = false; + var index = statusArr.indexOf(row); + var included = index !== -1; + + var addRow = function addRow() { + statusArr.push(row); + changed = true; + }; + var removeRow = function removeRow() { + statusArr.splice(index, 1); + changed = true; + }; + + if (typeof newVal === 'boolean') { + if (newVal && !included) { + addRow(); + } else if (!newVal && included) { + removeRow(); + } + } else { + if (included) { + removeRow(); + } else { + addRow(); + } + } + return changed; +} + +function walkTreeNode(root, cb) { + var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; + var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren'; + + var isNil = function isNil(array) { + return !(Array.isArray(array) && array.length); + }; + + function _walker(parent, children, level) { + cb(parent, children, level); + children.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, level + 1); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, level + 1); + } + }); + } + + root.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, 0); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, 0); + } + }); +} + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/table.js b/PAMapp/local_modules/element-ui/lib/table.js new file mode 100644 index 0000000..adb1962 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/table.js @@ -0,0 +1,4975 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 58); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), +/* 1 */, +/* 2 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), +/* 4 */, +/* 5 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), +/* 8 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getCell; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return orderBy; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getColumnById; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getColumnByKey; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getColumnByCell; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getRowIdentity; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getKeysMap; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return mergeOptions; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return parseWidth; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return parseMinWidth; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return parseHeight; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return compose; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return toggleRowStatus; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return walkTreeNode; }); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + + +var getCell = function getCell(event) { + var cell = event.target; + + while (cell && cell.tagName.toUpperCase() !== 'HTML') { + if (cell.tagName.toUpperCase() === 'TD') { + return cell; + } + cell = cell.parentNode; + } + + return null; +}; + +var isObject = function isObject(obj) { + return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object'; +}; + +var orderBy = function orderBy(array, sortKey, reverse, sortMethod, sortBy) { + if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) { + return array; + } + if (typeof reverse === 'string') { + reverse = reverse === 'descending' ? -1 : 1; + } else { + reverse = reverse && reverse < 0 ? -1 : 1; + } + var getKey = sortMethod ? null : function (value, index) { + if (sortBy) { + if (!Array.isArray(sortBy)) { + sortBy = [sortBy]; + } + return sortBy.map(function (by) { + if (typeof by === 'string') { + return Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__["getValueByPath"])(value, by); + } else { + return by(value, index, array); + } + }); + } + if (sortKey !== '$key') { + if (isObject(value) && '$value' in value) value = value.$value; + } + return [isObject(value) ? Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_0__["getValueByPath"])(value, sortKey) : value]; + }; + var compare = function compare(a, b) { + if (sortMethod) { + return sortMethod(a.value, b.value); + } + for (var i = 0, len = a.key.length; i < len; i++) { + if (a.key[i] < b.key[i]) { + return -1; + } + if (a.key[i] > b.key[i]) { + return 1; + } + } + return 0; + }; + return array.map(function (value, index) { + return { + value: value, + index: index, + key: getKey ? getKey(value, index) : null + }; + }).sort(function (a, b) { + var order = compare(a, b); + if (!order) { + // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability + order = a.index - b.index; + } + return order * reverse; + }).map(function (item) { + return item.value; + }); +}; + +var getColumnById = function getColumnById(table, columnId) { + var column = null; + table.columns.forEach(function (item) { + if (item.id === columnId) { + column = item; + } + }); + return column; +}; + +var getColumnByKey = function getColumnByKey(table, columnKey) { + var column = null; + for (var i = 0; i < table.columns.length; i++) { + var item = table.columns[i]; + if (item.columnKey === columnKey) { + column = item; + break; + } + } + return column; +}; + +var getColumnByCell = function getColumnByCell(table, cell) { + var matches = (cell.className || '').match(/el-table_[^\s]+/gm); + if (matches) { + return getColumnById(table, matches[0]); + } + return null; +}; + +var getRowIdentity = function getRowIdentity(row, rowKey) { + if (!row) throw new Error('row is required when get row identity'); + if (typeof rowKey === 'string') { + if (rowKey.indexOf('.') < 0) { + return row[rowKey]; + } + var key = rowKey.split('.'); + var current = row; + for (var i = 0; i < key.length; i++) { + current = current[key[i]]; + } + return current; + } else if (typeof rowKey === 'function') { + return rowKey.call(null, row); + } +}; + +var getKeysMap = function getKeysMap(array, rowKey) { + var arrayMap = {}; + (array || []).forEach(function (row, index) { + arrayMap[getRowIdentity(row, rowKey)] = { row: row, index: index }; + }); + return arrayMap; +}; + +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function mergeOptions(defaults, config) { + var options = {}; + var key = void 0; + for (key in defaults) { + options[key] = defaults[key]; + } + for (key in config) { + if (hasOwn(config, key)) { + var value = config[key]; + if (typeof value !== 'undefined') { + options[key] = value; + } + } + } + return options; +} + +function parseWidth(width) { + if (width !== undefined) { + width = parseInt(width, 10); + if (isNaN(width)) { + width = null; + } + } + return width; +} + +function parseMinWidth(minWidth) { + if (typeof minWidth !== 'undefined') { + minWidth = parseWidth(minWidth); + if (isNaN(minWidth)) { + minWidth = 80; + } + } + return minWidth; +}; + +function parseHeight(height) { + if (typeof height === 'number') { + return height; + } + if (typeof height === 'string') { + if (/^\d+(?:px)?$/.test(height)) { + return parseInt(height, 10); + } else { + return height; + } + } + return null; +} + +// https://github.com/reduxjs/redux/blob/master/src/compose.js +function compose() { + for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + if (funcs.length === 0) { + return function (arg) { + return arg; + }; + } + if (funcs.length === 1) { + return funcs[0]; + } + return funcs.reduce(function (a, b) { + return function () { + return a(b.apply(undefined, arguments)); + }; + }); +} + +function toggleRowStatus(statusArr, row, newVal) { + var changed = false; + var index = statusArr.indexOf(row); + var included = index !== -1; + + var addRow = function addRow() { + statusArr.push(row); + changed = true; + }; + var removeRow = function removeRow() { + statusArr.splice(index, 1); + changed = true; + }; + + if (typeof newVal === 'boolean') { + if (newVal && !included) { + addRow(); + } else if (!newVal && included) { + removeRow(); + } + } else { + if (included) { + removeRow(); + } else { + addRow(); + } + } + return changed; +} + +function walkTreeNode(root, cb) { + var childrenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; + var lazyKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'hasChildren'; + + var isNil = function isNil(array) { + return !(Array.isArray(array) && array.length); + }; + + function _walker(parent, children, level) { + cb(parent, children, level); + children.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, level + 1); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, level + 1); + } + }); + } + + root.forEach(function (item) { + if (item[lazyKey]) { + cb(item, null, 0); + return; + } + var children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, 0); + } + }); +} + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }), +/* 10 */, +/* 11 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), +/* 12 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/popup"); + +/***/ }), +/* 14 */, +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), +/* 17 */, +/* 18 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), +/* 19 */ +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, +/* 26 */, +/* 27 */, +/* 28 */, +/* 29 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/tooltip"); + +/***/ }), +/* 30 */, +/* 31 */, +/* 32 */, +/* 33 */, +/* 34 */, +/* 35 */, +/* 36 */, +/* 37 */, +/* 38 */, +/* 39 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scrollbar-width"); + +/***/ }), +/* 40 */ +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox-group"); + +/***/ }), +/* 41 */, +/* 42 */, +/* 43 */, +/* 44 */ +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce"); + +/***/ }), +/* 45 */, +/* 46 */, +/* 47 */ +/***/ (function(module, exports) { + +module.exports = require("normalize-wheel"); + +/***/ }), +/* 48 */, +/* 49 */, +/* 50 */, +/* 51 */, +/* 52 */, +/* 53 */, +/* 54 */, +/* 55 */, +/* 56 */, +/* 57 */, +/* 58 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=template&id=493fe34e& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-table", + class: [ + { + "el-table--fit": _vm.fit, + "el-table--striped": _vm.stripe, + "el-table--border": _vm.border || _vm.isGroup, + "el-table--hidden": _vm.isHidden, + "el-table--group": _vm.isGroup, + "el-table--fluid-height": _vm.maxHeight, + "el-table--scrollable-x": _vm.layout.scrollX, + "el-table--scrollable-y": _vm.layout.scrollY, + "el-table--enable-row-hover": !_vm.store.states.isComplex, + "el-table--enable-row-transition": + (_vm.store.states.data || []).length !== 0 && + (_vm.store.states.data || []).length < 100 + }, + _vm.tableSize ? "el-table--" + _vm.tableSize : "" + ], + on: { + mouseleave: function($event) { + _vm.handleMouseLeave($event) + } + } + }, + [ + _c( + "div", + { ref: "hiddenColumns", staticClass: "hidden-columns" }, + [_vm._t("default")], + 2 + ), + _vm.showHeader + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleHeaderFooterMousewheel, + expression: "handleHeaderFooterMousewheel" + } + ], + ref: "headerWrapper", + staticClass: "el-table__header-wrapper" + }, + [ + _c("table-header", { + ref: "tableHeader", + style: { + width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + "px" : "" + }, + attrs: { + store: _vm.store, + border: _vm.border, + "default-sort": _vm.defaultSort + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "bodyWrapper", + staticClass: "el-table__body-wrapper", + class: [ + _vm.layout.scrollX + ? "is-scrolling-" + _vm.scrollPosition + : "is-scrolling-none" + ], + style: [_vm.bodyHeight] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + context: _vm.context, + store: _vm.store, + stripe: _vm.stripe, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle, + highlight: _vm.highlightCurrentRow + } + }), + !_vm.data || _vm.data.length === 0 + ? _c( + "div", + { + ref: "emptyBlock", + staticClass: "el-table__empty-block", + style: _vm.emptyBlockStyle + }, + [ + _c( + "span", + { staticClass: "el-table__empty-text" }, + [ + _vm._t("empty", [ + _vm._v( + _vm._s(_vm.emptyText || _vm.t("el.table.emptyText")) + ) + ]) + ], + 2 + ) + ] + ) + : _vm._e(), + _vm.$slots.append + ? _c( + "div", + { + ref: "appendWrapper", + staticClass: "el-table__append-wrapper" + }, + [_vm._t("append")], + 2 + ) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + }, + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleHeaderFooterMousewheel, + expression: "handleHeaderFooterMousewheel" + } + ], + ref: "footerWrapper", + staticClass: "el-table__footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.layout.bodyWidth ? _vm.layout.bodyWidth + "px" : "" + }, + attrs: { + store: _vm.store, + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + "default-sort": _vm.defaultSort + } + }) + ], + 1 + ) + : _vm._e(), + _vm.fixedColumns.length > 0 + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleFixedMousewheel, + expression: "handleFixedMousewheel" + } + ], + ref: "fixedWrapper", + staticClass: "el-table__fixed", + style: [ + { + width: _vm.layout.fixedWidth + ? _vm.layout.fixedWidth + "px" + : "" + }, + _vm.fixedHeight + ] + }, + [ + _vm.showHeader + ? _c( + "div", + { + ref: "fixedHeaderWrapper", + staticClass: "el-table__fixed-header-wrapper" + }, + [ + _c("table-header", { + ref: "fixedTableHeader", + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + border: _vm.border, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "fixedBodyWrapper", + staticClass: "el-table__fixed-body-wrapper", + style: [ + { + top: _vm.layout.headerHeight + "px" + }, + _vm.fixedBodyHeight + ] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + store: _vm.store, + stripe: _vm.stripe, + highlight: _vm.highlightCurrentRow, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle + } + }), + _vm.$slots.append + ? _c("div", { + staticClass: "el-table__append-gutter", + style: { height: _vm.layout.appendHeight + "px" } + }) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + } + ], + ref: "fixedFooterWrapper", + staticClass: "el-table__fixed-footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "left", + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e() + ] + ) + : _vm._e(), + _vm.rightFixedColumns.length > 0 + ? _c( + "div", + { + directives: [ + { + name: "mousewheel", + rawName: "v-mousewheel", + value: _vm.handleFixedMousewheel, + expression: "handleFixedMousewheel" + } + ], + ref: "rightFixedWrapper", + staticClass: "el-table__fixed-right", + style: [ + { + width: _vm.layout.rightFixedWidth + ? _vm.layout.rightFixedWidth + "px" + : "", + right: _vm.layout.scrollY + ? (_vm.border + ? _vm.layout.gutterWidth + : _vm.layout.gutterWidth || 0) + "px" + : "" + }, + _vm.fixedHeight + ] + }, + [ + _vm.showHeader + ? _c( + "div", + { + ref: "rightFixedHeaderWrapper", + staticClass: "el-table__fixed-header-wrapper" + }, + [ + _c("table-header", { + ref: "rightFixedTableHeader", + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + border: _vm.border, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e(), + _c( + "div", + { + ref: "rightFixedBodyWrapper", + staticClass: "el-table__fixed-body-wrapper", + style: [ + { + top: _vm.layout.headerHeight + "px" + }, + _vm.fixedBodyHeight + ] + }, + [ + _c("table-body", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + store: _vm.store, + stripe: _vm.stripe, + "row-class-name": _vm.rowClassName, + "row-style": _vm.rowStyle, + highlight: _vm.highlightCurrentRow + } + }), + _vm.$slots.append + ? _c("div", { + staticClass: "el-table__append-gutter", + style: { height: _vm.layout.appendHeight + "px" } + }) + : _vm._e() + ], + 1 + ), + _vm.showSummary + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data && _vm.data.length > 0, + expression: "data && data.length > 0" + } + ], + ref: "rightFixedFooterWrapper", + staticClass: "el-table__fixed-footer-wrapper" + }, + [ + _c("table-footer", { + style: { + width: _vm.bodyWidth + }, + attrs: { + fixed: "right", + border: _vm.border, + "sum-text": _vm.sumText || _vm.t("el.table.sumText"), + "summary-method": _vm.summaryMethod, + store: _vm.store + } + }) + ], + 1 + ) + : _vm._e() + ] + ) + : _vm._e(), + _vm.rightFixedColumns.length > 0 + ? _c("div", { + ref: "rightFixedPatch", + staticClass: "el-table__fixed-right-patch", + style: { + width: _vm.layout.scrollY ? _vm.layout.gutterWidth + "px" : "0", + height: _vm.layout.headerHeight + "px" + } + }) + : _vm._e(), + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.resizeProxyVisible, + expression: "resizeProxyVisible" + } + ], + ref: "resizeProxy", + staticClass: "el-table__column-resize-proxy" + }) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=template&id=493fe34e& + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(18); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// EXTERNAL MODULE: external "throttle-debounce" +var external_throttle_debounce_ = __webpack_require__(44); + +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// EXTERNAL MODULE: external "normalize-wheel" +var external_normalize_wheel_ = __webpack_require__(47); +var external_normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(external_normalize_wheel_); + +// CONCATENATED MODULE: ./src/directives/mousewheel.js + + +var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + +var mousewheel_mousewheel = function mousewheel(element, callback) { + if (element && element.addEventListener) { + element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) { + var normalized = external_normalize_wheel_default()(event); + callback && callback.apply(this, [event, normalized]); + }); + } +}; + +/* harmony default export */ var directives_mousewheel = ({ + bind: function bind(el, binding) { + mousewheel_mousewheel(el, binding.value); + } +}); +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// EXTERNAL MODULE: ./packages/table/src/util.js +var util = __webpack_require__(8); + +// CONCATENATED MODULE: ./packages/table/src/store/expand.js + + +/* harmony default export */ var expand = ({ + data: function data() { + return { + states: { + defaultExpandAll: false, + expandRows: [] + } + }; + }, + + + methods: { + updateExpandRows: function updateExpandRows() { + var _states = this.states, + _states$data = _states.data, + data = _states$data === undefined ? [] : _states$data, + rowKey = _states.rowKey, + defaultExpandAll = _states.defaultExpandAll, + expandRows = _states.expandRows; + + if (defaultExpandAll) { + this.states.expandRows = data.slice(); + } else if (rowKey) { + // TODO嚗���誨��隞乩��� + var expandRowsMap = Object(util["f" /* getKeysMap */])(expandRows, rowKey); + this.states.expandRows = data.reduce(function (prev, row) { + var rowId = Object(util["g" /* getRowIdentity */])(row, rowKey); + var rowInfo = expandRowsMap[rowId]; + if (rowInfo) { + prev.push(row); + } + return prev; + }, []); + } else { + this.states.expandRows = []; + } + }, + toggleRowExpansion: function toggleRowExpansion(row, expanded) { + var changed = Object(util["m" /* toggleRowStatus */])(this.states.expandRows, row, expanded); + if (changed) { + this.table.$emit('expand-change', row, this.states.expandRows.slice()); + this.scheduleLayout(); + } + }, + setExpandRowKeys: function setExpandRowKeys(rowKeys) { + this.assertRowKey(); + // TODO嚗���誨��隞乩��� + var _states2 = this.states, + data = _states2.data, + rowKey = _states2.rowKey; + + var keysMap = Object(util["f" /* getKeysMap */])(data, rowKey); + this.states.expandRows = rowKeys.reduce(function (prev, cur) { + var info = keysMap[cur]; + if (info) { + prev.push(info.row); + } + return prev; + }, []); + }, + isRowExpanded: function isRowExpanded(row) { + var _states3 = this.states, + _states3$expandRows = _states3.expandRows, + expandRows = _states3$expandRows === undefined ? [] : _states3$expandRows, + rowKey = _states3.rowKey; + + if (rowKey) { + var expandMap = Object(util["f" /* getKeysMap */])(expandRows, rowKey); + return !!expandMap[Object(util["g" /* getRowIdentity */])(row, rowKey)]; + } + return expandRows.indexOf(row) !== -1; + } + } +}); +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./packages/table/src/store/current.js + + + +/* harmony default export */ var current = ({ + data: function data() { + return { + states: { + // 銝�����挽蝵� currentRowKey �嚗ata 銝�摰�嚗�捂����甇�蝖桃�� currentRow + // ��砲�潛���銝�����靽格 currentRow �嚗�砲�潮�蔭銝� null + _currentRowKey: null, + currentRow: null + } + }; + }, + + + methods: { + setCurrentRowKey: function setCurrentRowKey(key) { + this.assertRowKey(); + this.states._currentRowKey = key; + this.setCurrentRowByKey(key); + }, + restoreCurrentRowKey: function restoreCurrentRowKey() { + this.states._currentRowKey = null; + }, + setCurrentRowByKey: function setCurrentRowByKey(key) { + var states = this.states; + var _states$data = states.data, + data = _states$data === undefined ? [] : _states$data, + rowKey = states.rowKey; + + var currentRow = null; + if (rowKey) { + currentRow = Object(util_["arrayFind"])(data, function (item) { + return Object(util["g" /* getRowIdentity */])(item, rowKey) === key; + }); + } + states.currentRow = currentRow; + }, + updateCurrentRow: function updateCurrentRow(currentRow) { + var states = this.states, + table = this.table; + + var oldCurrentRow = states.currentRow; + if (currentRow && currentRow !== oldCurrentRow) { + states.currentRow = currentRow; + table.$emit('current-change', currentRow, oldCurrentRow); + return; + } + if (!currentRow && oldCurrentRow) { + states.currentRow = null; + table.$emit('current-change', null, oldCurrentRow); + } + }, + updateCurrentRowData: function updateCurrentRowData() { + var states = this.states, + table = this.table; + var rowKey = states.rowKey, + _currentRowKey = states._currentRowKey; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + + var data = states.data || []; + var oldCurrentRow = states.currentRow; + + // 敶� currentRow 銝 data 銝剜撠���� + if (data.indexOf(oldCurrentRow) === -1 && oldCurrentRow) { + if (rowKey) { + var currentRowKey = Object(util["g" /* getRowIdentity */])(oldCurrentRow, rowKey); + this.setCurrentRowByKey(currentRowKey); + } else { + states.currentRow = null; + } + if (states.currentRow === null) { + table.$emit('current-change', null, oldCurrentRow); + } + } else if (_currentRowKey) { + // ����銝挽蝵桃�� rowKey 頧砍��� rowData + this.setCurrentRowByKey(_currentRowKey); + this.restoreCurrentRowKey(); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/store/tree.js +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + +/* harmony default export */ var tree = ({ + data: function data() { + return { + states: { + // defaultExpandAll 摮鈭� expand.js 銝哨������溶��� + // �撅�銵葉嚗xpandRowKeys 隡◤頧砍��� expandRows嚗xpandRowKeys 餈葵撅�批�霈啣��� TreeTable 銵��� + // TODO: ���蛹�蝡�� TreeTable嚗���瘜� + expandRowKeys: [], + treeData: {}, + indent: 16, + lazy: false, + lazyTreeNodeMap: {}, + lazyColumnIdentifier: 'hasChildren', + childrenColumnName: 'children' + } + }; + }, + + + computed: { + // 撋����嚗atch ���璉�瘚���� https://github.com/ElemeFE/element/issues/14998 + // TODO: 雿輻 computed 閫��霂仿憸��隡���扯�憸�� + // @return { id: { level, children } } + normalizedData: function normalizedData() { + if (!this.states.rowKey) return {}; + var data = this.states.data || []; + return this.normalize(data); + }, + + // @return { id: { children } } + // ��笆���蝸���耦嚗������ + normalizedLazyNode: function normalizedLazyNode() { + var _states = this.states, + rowKey = _states.rowKey, + lazyTreeNodeMap = _states.lazyTreeNodeMap, + lazyColumnIdentifier = _states.lazyColumnIdentifier; + + var keys = Object.keys(lazyTreeNodeMap); + var res = {}; + if (!keys.length) return res; + keys.forEach(function (key) { + if (lazyTreeNodeMap[key].length) { + var item = { children: [] }; + lazyTreeNodeMap[key].forEach(function (row) { + var currentRowKey = Object(util["g" /* getRowIdentity */])(row, rowKey); + item.children.push(currentRowKey); + if (row[lazyColumnIdentifier] && !res[currentRowKey]) { + res[currentRowKey] = { children: [] }; + } + }); + res[key] = item; + } + }); + return res; + } + }, + + watch: { + normalizedData: 'updateTreeData', + normalizedLazyNode: 'updateTreeData' + }, + + methods: { + normalize: function normalize(data) { + var _states2 = this.states, + childrenColumnName = _states2.childrenColumnName, + lazyColumnIdentifier = _states2.lazyColumnIdentifier, + rowKey = _states2.rowKey, + lazy = _states2.lazy; + + var res = {}; + Object(util["n" /* walkTreeNode */])(data, function (parent, children, level) { + var parentId = Object(util["g" /* getRowIdentity */])(parent, rowKey); + if (Array.isArray(children)) { + res[parentId] = { + children: children.map(function (row) { + return Object(util["g" /* getRowIdentity */])(row, rowKey); + }), + level: level + }; + } else if (lazy) { + // 敶� children 銝�銝� lazy 銝� true嚗砲���銝箸��蝸��� + res[parentId] = { + children: [], + lazy: true, + level: level + }; + } + }, childrenColumnName, lazyColumnIdentifier); + return res; + }, + updateTreeData: function updateTreeData() { + var nested = this.normalizedData; + var normalizedLazyNode = this.normalizedLazyNode; + var keys = Object.keys(nested); + var newTreeData = {}; + if (keys.length) { + var _states3 = this.states, + oldTreeData = _states3.treeData, + defaultExpandAll = _states3.defaultExpandAll, + expandRowKeys = _states3.expandRowKeys, + lazy = _states3.lazy; + + var rootLazyRowKeys = []; + var getExpanded = function getExpanded(oldValue, key) { + var included = defaultExpandAll || expandRowKeys && expandRowKeys.indexOf(key) !== -1; + return !!(oldValue && oldValue.expanded || included); + }; + // ��僎 expanded 銝� display嚗&靽���������� + keys.forEach(function (key) { + var oldValue = oldTreeData[key]; + var newValue = _extends({}, nested[key]); + newValue.expanded = getExpanded(oldValue, key); + if (newValue.lazy) { + var _ref = oldValue || {}, + _ref$loaded = _ref.loaded, + loaded = _ref$loaded === undefined ? false : _ref$loaded, + _ref$loading = _ref.loading, + loading = _ref$loading === undefined ? false : _ref$loading; + + newValue.loaded = !!loaded; + newValue.loading = !!loading; + rootLazyRowKeys.push(key); + } + newTreeData[key] = newValue; + }); + // �����蝸���� treeData + var lazyKeys = Object.keys(normalizedLazyNode); + if (lazy && lazyKeys.length && rootLazyRowKeys.length) { + lazyKeys.forEach(function (key) { + var oldValue = oldTreeData[key]; + var lazyNodeChildren = normalizedLazyNode[key].children; + if (rootLazyRowKeys.indexOf(key) !== -1) { + // ���蝸��� root ��嚗�銝�銝����嚗���� children 銝�摰蝛箸蝏� + if (newTreeData[key].children.length !== 0) { + throw new Error('[ElTable]children must be an empty array.'); + } + newTreeData[key].children = lazyNodeChildren; + } else { + var _ref2 = oldValue || {}, + _ref2$loaded = _ref2.loaded, + loaded = _ref2$loaded === undefined ? false : _ref2$loaded, + _ref2$loading = _ref2.loading, + loading = _ref2$loading === undefined ? false : _ref2$loading; + + newTreeData[key] = { + lazy: true, + loaded: !!loaded, + loading: !!loading, + expanded: getExpanded(oldValue, key), + children: lazyNodeChildren, + level: '' + }; + } + }); + } + } + this.states.treeData = newTreeData; + this.updateTableScrollY(); + }, + updateTreeExpandKeys: function updateTreeExpandKeys(value) { + this.states.expandRowKeys = value; + this.updateTreeData(); + }, + toggleTreeExpansion: function toggleTreeExpansion(row, expanded) { + this.assertRowKey(); + + var _states4 = this.states, + rowKey = _states4.rowKey, + treeData = _states4.treeData; + + var id = Object(util["g" /* getRowIdentity */])(row, rowKey); + var data = id && treeData[id]; + if (id && data && 'expanded' in data) { + var oldExpanded = data.expanded; + expanded = typeof expanded === 'undefined' ? !data.expanded : expanded; + treeData[id].expanded = expanded; + if (oldExpanded !== expanded) { + this.table.$emit('expand-change', row, expanded); + } + this.updateTableScrollY(); + } + }, + loadOrToggle: function loadOrToggle(row) { + this.assertRowKey(); + var _states5 = this.states, + lazy = _states5.lazy, + treeData = _states5.treeData, + rowKey = _states5.rowKey; + + var id = Object(util["g" /* getRowIdentity */])(row, rowKey); + var data = treeData[id]; + if (lazy && data && 'loaded' in data && !data.loaded) { + this.loadData(row, id, data); + } else { + this.toggleTreeExpansion(row); + } + }, + loadData: function loadData(row, key, treeNode) { + var _this = this; + + var load = this.table.load; + var rawTreeData = this.states.treeData; + + if (load && !rawTreeData[key].loaded) { + rawTreeData[key].loading = true; + load(row, treeNode, function (data) { + if (!Array.isArray(data)) { + throw new Error('[ElTable] data must be an array'); + } + var _states6 = _this.states, + lazyTreeNodeMap = _states6.lazyTreeNodeMap, + treeData = _states6.treeData; + + treeData[key].loading = false; + treeData[key].loaded = true; + treeData[key].expanded = true; + if (data.length) { + _this.$set(lazyTreeNodeMap, key, data); + } + _this.table.$emit('expand-change', row, true); + }); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/store/watcher.js + + + + + + + +var watcher_sortData = function sortData(data, states) { + var sortingColumn = states.sortingColumn; + if (!sortingColumn || typeof sortingColumn.sortable === 'string') { + return data; + } + return Object(util["i" /* orderBy */])(data, states.sortProp, states.sortOrder, sortingColumn.sortMethod, sortingColumn.sortBy); +}; + +var doFlattenColumns = function doFlattenColumns(columns) { + var result = []; + columns.forEach(function (column) { + if (column.children) { + result.push.apply(result, doFlattenColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +/* harmony default export */ var watcher = (external_vue_default.a.extend({ + data: function data() { + return { + states: { + // 3.0 �������◆霈曄蔭霂亙��� + rowKey: null, + + // 皜脫����皞�撖� table 銝剔�� data 餈誘�������� + data: [], + + // �����摰�� + isComplex: false, + + // ��� + _columns: [], // 銝����� + originColumns: [], + columns: [], + fixedColumns: [], + rightFixedColumns: [], + leafColumns: [], + fixedLeafColumns: [], + rightFixedLeafColumns: [], + leafColumnsLength: 0, + fixedLeafColumnsLength: 0, + rightFixedLeafColumnsLength: 0, + + // � + isAllSelected: false, + selection: [], + reserveSelection: false, + selectOnIndeterminate: false, + selectable: null, + + // 餈誘 + filters: {}, // 銝����� + filteredData: null, + + // ���� + sortingColumn: null, + sortProp: null, + sortOrder: null, + + hoverRow: null + } + }; + }, + + + mixins: [expand, current, tree], + + methods: { + // 璉�� rowKey ��摮 + assertRowKey: function assertRowKey() { + var rowKey = this.states.rowKey; + if (!rowKey) throw new Error('[ElTable] prop row-key is required'); + }, + + + // ����� + updateColumns: function updateColumns() { + var states = this.states; + var _columns = states._columns || []; + states.fixedColumns = _columns.filter(function (column) { + return column.fixed === true || column.fixed === 'left'; + }); + states.rightFixedColumns = _columns.filter(function (column) { + return column.fixed === 'right'; + }); + + if (states.fixedColumns.length > 0 && _columns[0] && _columns[0].type === 'selection' && !_columns[0].fixed) { + _columns[0].fixed = true; + states.fixedColumns.unshift(_columns[0]); + } + + var notFixedColumns = _columns.filter(function (column) { + return !column.fixed; + }); + states.originColumns = [].concat(states.fixedColumns).concat(notFixedColumns).concat(states.rightFixedColumns); + + var leafColumns = doFlattenColumns(notFixedColumns); + var fixedLeafColumns = doFlattenColumns(states.fixedColumns); + var rightFixedLeafColumns = doFlattenColumns(states.rightFixedColumns); + + states.leafColumnsLength = leafColumns.length; + states.fixedLeafColumnsLength = fixedLeafColumns.length; + states.rightFixedLeafColumnsLength = rightFixedLeafColumns.length; + + states.columns = [].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns); + states.isComplex = states.fixedColumns.length > 0 || states.rightFixedColumns.length > 0; + }, + + + // �� DOM + scheduleLayout: function scheduleLayout(needUpdateColumns) { + if (needUpdateColumns) { + this.updateColumns(); + } + this.table.debouncedUpdateLayout(); + }, + + + // � + isSelected: function isSelected(row) { + var _states$selection = this.states.selection, + selection = _states$selection === undefined ? [] : _states$selection; + + return selection.indexOf(row) > -1; + }, + clearSelection: function clearSelection() { + var states = this.states; + states.isAllSelected = false; + var oldSelection = states.selection; + if (oldSelection.length) { + states.selection = []; + this.table.$emit('selection-change', []); + } + }, + cleanSelection: function cleanSelection() { + var states = this.states; + var data = states.data, + rowKey = states.rowKey, + selection = states.selection; + + var deleted = void 0; + if (rowKey) { + deleted = []; + var selectedMap = Object(util["f" /* getKeysMap */])(selection, rowKey); + var dataMap = Object(util["f" /* getKeysMap */])(data, rowKey); + for (var key in selectedMap) { + if (selectedMap.hasOwnProperty(key) && !dataMap[key]) { + deleted.push(selectedMap[key].row); + } + } + } else { + deleted = selection.filter(function (item) { + return data.indexOf(item) === -1; + }); + } + if (deleted.length) { + var newSelection = selection.filter(function (item) { + return deleted.indexOf(item) === -1; + }); + states.selection = newSelection; + this.table.$emit('selection-change', newSelection.slice()); + } + }, + toggleRowSelection: function toggleRowSelection(row, selected) { + var emitChange = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + + var changed = Object(util["m" /* toggleRowStatus */])(this.states.selection, row, selected); + if (changed) { + var newSelection = (this.states.selection || []).slice(); + // 靚 API 靽格�葉�潘��圻��� select 鈭辣 + if (emitChange) { + this.table.$emit('select', newSelection, row); + } + this.table.$emit('selection-change', newSelection); + } + }, + _toggleAllSelection: function _toggleAllSelection() { + var states = this.states; + var _states$data = states.data, + data = _states$data === undefined ? [] : _states$data, + selection = states.selection; + // when only some rows are selected (but not all), select or deselect all of them + // depending on the value of selectOnIndeterminate + + var value = states.selectOnIndeterminate ? !states.isAllSelected : !(states.isAllSelected || selection.length); + states.isAllSelected = value; + + var selectionChanged = false; + data.forEach(function (row, index) { + if (states.selectable) { + if (states.selectable.call(null, row, index) && Object(util["m" /* toggleRowStatus */])(selection, row, value)) { + selectionChanged = true; + } + } else { + if (Object(util["m" /* toggleRowStatus */])(selection, row, value)) { + selectionChanged = true; + } + } + }); + + if (selectionChanged) { + this.table.$emit('selection-change', selection ? selection.slice() : []); + } + this.table.$emit('select-all', selection); + }, + updateSelectionByRowKey: function updateSelectionByRowKey() { + var states = this.states; + var selection = states.selection, + rowKey = states.rowKey, + data = states.data; + + var selectedMap = Object(util["f" /* getKeysMap */])(selection, rowKey); + data.forEach(function (row) { + var rowId = Object(util["g" /* getRowIdentity */])(row, rowKey); + var rowInfo = selectedMap[rowId]; + if (rowInfo) { + selection[rowInfo.index] = row; + } + }); + }, + updateAllSelected: function updateAllSelected() { + var states = this.states; + var selection = states.selection, + rowKey = states.rowKey, + selectable = states.selectable; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + + var data = states.data || []; + if (data.length === 0) { + states.isAllSelected = false; + return; + } + + var selectedMap = void 0; + if (rowKey) { + selectedMap = Object(util["f" /* getKeysMap */])(selection, rowKey); + } + var isSelected = function isSelected(row) { + if (selectedMap) { + return !!selectedMap[Object(util["g" /* getRowIdentity */])(row, rowKey)]; + } else { + return selection.indexOf(row) !== -1; + } + }; + var isAllSelected = true; + var selectedCount = 0; + for (var i = 0, j = data.length; i < j; i++) { + var item = data[i]; + var isRowSelectable = selectable && selectable.call(null, item, i); + if (!isSelected(item)) { + if (!selectable || isRowSelectable) { + isAllSelected = false; + break; + } + } else { + selectedCount++; + } + } + + if (selectedCount === 0) isAllSelected = false; + states.isAllSelected = isAllSelected; + }, + + + // 餈誘銝��� + updateFilters: function updateFilters(columns, values) { + if (!Array.isArray(columns)) { + columns = [columns]; + } + var states = this.states; + var filters = {}; + columns.forEach(function (col) { + states.filters[col.id] = values; + filters[col.columnKey || col.id] = values; + }); + + return filters; + }, + updateSort: function updateSort(column, prop, order) { + if (this.states.sortingColumn && this.states.sortingColumn !== column) { + this.states.sortingColumn.order = null; + } + this.states.sortingColumn = column; + this.states.sortProp = prop; + this.states.sortOrder = order; + }, + execFilter: function execFilter() { + var _this = this; + + var states = this.states; + var _data = states._data, + filters = states.filters; + + var data = _data; + + Object.keys(filters).forEach(function (columnId) { + var values = states.filters[columnId]; + if (!values || values.length === 0) return; + var column = Object(util["d" /* getColumnById */])(_this.states, columnId); + if (column && column.filterMethod) { + data = data.filter(function (row) { + return values.some(function (value) { + return column.filterMethod.call(null, value, row, column); + }); + }); + } + }); + + states.filteredData = data; + }, + execSort: function execSort() { + var states = this.states; + states.data = watcher_sortData(states.filteredData, states); + }, + + + // �� filters 銝� sort �餈誘 data + execQuery: function execQuery(ignore) { + if (!(ignore && ignore.filter)) { + this.execFilter(); + } + this.execSort(); + }, + clearFilter: function clearFilter(columnKeys) { + var states = this.states; + var _table$$refs = this.table.$refs, + tableHeader = _table$$refs.tableHeader, + fixedTableHeader = _table$$refs.fixedTableHeader, + rightFixedTableHeader = _table$$refs.rightFixedTableHeader; + + + var panels = {}; + if (tableHeader) panels = merge_default()(panels, tableHeader.filterPanels); + if (fixedTableHeader) panels = merge_default()(panels, fixedTableHeader.filterPanels); + if (rightFixedTableHeader) panels = merge_default()(panels, rightFixedTableHeader.filterPanels); + + var keys = Object.keys(panels); + if (!keys.length) return; + + if (typeof columnKeys === 'string') { + columnKeys = [columnKeys]; + } + + if (Array.isArray(columnKeys)) { + var columns = columnKeys.map(function (key) { + return Object(util["e" /* getColumnByKey */])(states, key); + }); + keys.forEach(function (key) { + var column = columns.find(function (col) { + return col.id === key; + }); + if (column) { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + } + }); + this.commit('filterChange', { + column: columns, + values: [], + silent: true, + multi: true + }); + } else { + keys.forEach(function (key) { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + }); + + states.filters = {}; + this.commit('filterChange', { + column: {}, + values: [], + silent: true + }); + } + }, + clearSort: function clearSort() { + var states = this.states; + if (!states.sortingColumn) return; + + this.updateSort(null, null, null); + this.commit('changeSortCondition', { + silent: true + }); + }, + + + // ����xpand-row-keys � Expand 銝� TreeTable 銝剝��蝙� + setExpandRowKeysAdapter: function setExpandRowKeysAdapter(val) { + // 餈��圻�����恣蝞��蛹鈭摰寞�改��餈��� + this.setExpandRowKeys(val); + this.updateTreeExpandKeys(val); + }, + + + // 撅�銵�� TreeTable �閬蝙� + toggleRowExpansionAdapter: function toggleRowExpansionAdapter(row, expanded) { + var hasExpandColumn = this.states.columns.some(function (_ref) { + var type = _ref.type; + return type === 'expand'; + }); + if (hasExpandColumn) { + this.toggleRowExpansion(row, expanded); + } else { + this.toggleTreeExpansion(row, expanded); + } + } + } +})); +// CONCATENATED MODULE: ./packages/table/src/store/index.js + + + + +watcher.prototype.mutations = { + setData: function setData(states, data) { + var dataInstanceChanged = states._data !== data; + states._data = data; + + this.execQuery(); + // ������������� + // 瘝⊥�蝙� computed嚗��������� https://github.com/vuejs/vue/issues/6660#issuecomment-331417140 + this.updateCurrentRowData(); + this.updateExpandRows(); + if (states.reserveSelection) { + this.assertRowKey(); + this.updateSelectionByRowKey(); + } else { + if (dataInstanceChanged) { + this.clearSelection(); + } else { + this.cleanSelection(); + } + } + this.updateAllSelected(); + + this.updateTableScrollY(); + }, + insertColumn: function insertColumn(states, column, index, parent) { + var array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + + if (typeof index !== 'undefined') { + array.splice(index, 0, column); + } else { + array.push(column); + } + + if (column.type === 'selection') { + states.selectable = column.selectable; + states.reserveSelection = column.reserveSelection; + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics insert column + this.scheduleLayout(); + } + }, + removeColumn: function removeColumn(states, column, parent) { + var array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + if (array) { + array.splice(array.indexOf(column), 1); + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics remove column + this.scheduleLayout(); + } + }, + sort: function sort(states, options) { + var prop = options.prop, + order = options.order, + init = options.init; + + if (prop) { + var column = Object(util_["arrayFind"])(states.columns, function (column) { + return column.property === prop; + }); + if (column) { + column.order = order; + this.updateSort(column, prop, order); + this.commit('changeSortCondition', { init: init }); + } + } + }, + changeSortCondition: function changeSortCondition(states, options) { + // 靽桀�� pr https://github.com/ElemeFE/element/pull/15012 撖潸��� bug + var column = states.sortingColumn, + prop = states.sortProp, + order = states.sortOrder; + + if (order === null) { + states.sortingColumn = null; + states.sortProp = null; + } + var ingore = { filter: true }; + this.execQuery(ingore); + + if (!options || !(options.silent || options.init)) { + this.table.$emit('sort-change', { + column: column, + prop: prop, + order: order + }); + } + + this.updateTableScrollY(); + }, + filterChange: function filterChange(states, options) { + var column = options.column, + values = options.values, + silent = options.silent; + + var newFilters = this.updateFilters(column, values); + + this.execQuery(); + + if (!silent) { + this.table.$emit('filter-change', newFilters); + } + + this.updateTableScrollY(); + }, + toggleAllSelection: function toggleAllSelection() { + this.toggleAllSelection(); + }, + rowSelectedChanged: function rowSelectedChanged(states, row) { + this.toggleRowSelection(row); + this.updateAllSelected(); + }, + setHoverRow: function setHoverRow(states, row) { + states.hoverRow = row; + }, + setCurrentRow: function setCurrentRow(states, row) { + this.updateCurrentRow(row); + } +}; + +watcher.prototype.commit = function (name) { + var mutations = this.mutations; + if (mutations[name]) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + mutations[name].apply(this, [this.states].concat(args)); + } else { + throw new Error('Action not found: ' + name); + } +}; + +watcher.prototype.updateTableScrollY = function () { + external_vue_default.a.nextTick(this.table.updateScrollY); +}; + +/* harmony default export */ var src_store = (watcher); +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// CONCATENATED MODULE: ./packages/table/src/store/helper.js + + + +function createStore(table) { + var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!table) { + throw new Error('Table is required.'); + } + + var store = new src_store(); + store.table = table; + // fix https://github.com/ElemeFE/element/issues/14075 + // related pr https://github.com/ElemeFE/element/pull/14146 + store.toggleAllSelection = debounce_default()(10, store._toggleAllSelection); + Object.keys(initialState).forEach(function (key) { + store.states[key] = initialState[key]; + }); + return store; +} + +function mapStates(mapper) { + var res = {}; + Object.keys(mapper).forEach(function (key) { + var value = mapper[key]; + var fn = void 0; + if (typeof value === 'string') { + fn = function fn() { + return this.store.states[value]; + }; + } else if (typeof value === 'function') { + fn = function fn() { + return value.call(this, this.store.states); + }; + } else { + console.error('invalid value type'); + } + if (fn) { + res[key] = fn; + } + }); + return res; +}; +// EXTERNAL MODULE: external "element-ui/lib/utils/scrollbar-width" +var scrollbar_width_ = __webpack_require__(39); +var scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_); + +// CONCATENATED MODULE: ./packages/table/src/table-layout.js +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + + +var table_layout_TableLayout = function () { + function TableLayout(options) { + _classCallCheck(this, TableLayout); + + this.observers = []; + this.table = null; + this.store = null; + this.columns = null; + this.fit = true; + this.showHeader = true; + + this.height = null; + this.scrollX = false; + this.scrollY = false; + this.bodyWidth = null; + this.fixedWidth = null; + this.rightFixedWidth = null; + this.tableHeight = null; + this.headerHeight = 44; // Table Header Height + this.appendHeight = 0; // Append Slot Height + this.footerHeight = 44; // Table Footer Height + this.viewportHeight = null; // Table Height - Scroll Bar Height + this.bodyHeight = null; // Table Height - Table Header Height + this.fixedBodyHeight = null; // Table Height - Table Header Height - Scroll Bar Height + this.gutterWidth = scrollbar_width_default()(); + + for (var name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + if (!this.table) { + throw new Error('table is required for Table Layout'); + } + if (!this.store) { + throw new Error('store is required for Table Layout'); + } + } + + TableLayout.prototype.updateScrollY = function updateScrollY() { + var height = this.height; + if (height === null) return false; + var bodyWrapper = this.table.bodyWrapper; + if (this.table.$el && bodyWrapper) { + var body = bodyWrapper.querySelector('.el-table__body'); + var prevScrollY = this.scrollY; + var scrollY = body.offsetHeight > this.bodyHeight; + this.scrollY = scrollY; + return prevScrollY !== scrollY; + } + return false; + }; + + TableLayout.prototype.setHeight = function setHeight(value) { + var _this = this; + + var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'height'; + + if (external_vue_default.a.prototype.$isServer) return; + var el = this.table.$el; + value = Object(util["j" /* parseHeight */])(value); + this.height = value; + + if (!el && (value || value === 0)) return external_vue_default.a.nextTick(function () { + return _this.setHeight(value, prop); + }); + + if (typeof value === 'number') { + el.style[prop] = value + 'px'; + this.updateElsHeight(); + } else if (typeof value === 'string') { + el.style[prop] = value; + this.updateElsHeight(); + } + }; + + TableLayout.prototype.setMaxHeight = function setMaxHeight(value) { + this.setHeight(value, 'max-height'); + }; + + TableLayout.prototype.getFlattenColumns = function getFlattenColumns() { + var flattenColumns = []; + var columns = this.table.columns; + columns.forEach(function (column) { + if (column.isColumnGroup) { + flattenColumns.push.apply(flattenColumns, column.columns); + } else { + flattenColumns.push(column); + } + }); + + return flattenColumns; + }; + + TableLayout.prototype.updateElsHeight = function updateElsHeight() { + var _this2 = this; + + if (!this.table.$ready) return external_vue_default.a.nextTick(function () { + return _this2.updateElsHeight(); + }); + var _table$$refs = this.table.$refs, + headerWrapper = _table$$refs.headerWrapper, + appendWrapper = _table$$refs.appendWrapper, + footerWrapper = _table$$refs.footerWrapper; + + this.appendHeight = appendWrapper ? appendWrapper.offsetHeight : 0; + + if (this.showHeader && !headerWrapper) return; + + // fix issue (https://github.com/ElemeFE/element/pull/16956) + var headerTrElm = headerWrapper ? headerWrapper.querySelector('.el-table__header tr') : null; + var noneHeader = this.headerDisplayNone(headerTrElm); + + var headerHeight = this.headerHeight = !this.showHeader ? 0 : headerWrapper.offsetHeight; + if (this.showHeader && !noneHeader && headerWrapper.offsetWidth > 0 && (this.table.columns || []).length > 0 && headerHeight < 2) { + return external_vue_default.a.nextTick(function () { + return _this2.updateElsHeight(); + }); + } + var tableHeight = this.tableHeight = this.table.$el.clientHeight; + var footerHeight = this.footerHeight = footerWrapper ? footerWrapper.offsetHeight : 0; + if (this.height !== null) { + this.bodyHeight = tableHeight - headerHeight - footerHeight + (footerWrapper ? 1 : 0); + } + this.fixedBodyHeight = this.scrollX ? this.bodyHeight - this.gutterWidth : this.bodyHeight; + + var noData = !(this.store.states.data && this.store.states.data.length); + this.viewportHeight = this.scrollX ? tableHeight - (noData ? 0 : this.gutterWidth) : tableHeight; + this.updateScrollY(); + this.notifyObservers('scrollable'); + }; + + TableLayout.prototype.headerDisplayNone = function headerDisplayNone(elm) { + if (!elm) return true; + var headerChild = elm; + while (headerChild.tagName !== 'DIV') { + if (getComputedStyle(headerChild).display === 'none') { + return true; + } + headerChild = headerChild.parentElement; + } + return false; + }; + + TableLayout.prototype.updateColumnsWidth = function updateColumnsWidth() { + if (external_vue_default.a.prototype.$isServer) return; + var fit = this.fit; + var bodyWidth = this.table.$el.clientWidth; + var bodyMinWidth = 0; + + var flattenColumns = this.getFlattenColumns(); + var flexColumns = flattenColumns.filter(function (column) { + return typeof column.width !== 'number'; + }); + + flattenColumns.forEach(function (column) { + // Clean those columns whose width changed from flex to unflex + if (typeof column.width === 'number' && column.realWidth) column.realWidth = null; + }); + + if (flexColumns.length > 0 && fit) { + flattenColumns.forEach(function (column) { + bodyMinWidth += column.width || column.minWidth || 80; + }); + + var scrollYWidth = this.scrollY ? this.gutterWidth : 0; + + if (bodyMinWidth <= bodyWidth - scrollYWidth) { + // DON'T HAVE SCROLL BAR + this.scrollX = false; + + var totalFlexWidth = bodyWidth - scrollYWidth - bodyMinWidth; + + if (flexColumns.length === 1) { + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth; + } else { + var allColumnsWidth = flexColumns.reduce(function (prev, column) { + return prev + (column.minWidth || 80); + }, 0); + var flexWidthPerPixel = totalFlexWidth / allColumnsWidth; + var noneFirstWidth = 0; + + flexColumns.forEach(function (column, index) { + if (index === 0) return; + var flexWidth = Math.floor((column.minWidth || 80) * flexWidthPerPixel); + noneFirstWidth += flexWidth; + column.realWidth = (column.minWidth || 80) + flexWidth; + }); + + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth; + } + } else { + // HAVE HORIZONTAL SCROLL BAR + this.scrollX = true; + flexColumns.forEach(function (column) { + column.realWidth = column.minWidth; + }); + } + + this.bodyWidth = Math.max(bodyMinWidth, bodyWidth); + this.table.resizeState.width = this.bodyWidth; + } else { + flattenColumns.forEach(function (column) { + if (!column.width && !column.minWidth) { + column.realWidth = 80; + } else { + column.realWidth = column.width || column.minWidth; + } + + bodyMinWidth += column.realWidth; + }); + this.scrollX = bodyMinWidth > bodyWidth; + + this.bodyWidth = bodyMinWidth; + } + + var fixedColumns = this.store.states.fixedColumns; + + if (fixedColumns.length > 0) { + var fixedWidth = 0; + fixedColumns.forEach(function (column) { + fixedWidth += column.realWidth || column.width; + }); + + this.fixedWidth = fixedWidth; + } + + var rightFixedColumns = this.store.states.rightFixedColumns; + if (rightFixedColumns.length > 0) { + var rightFixedWidth = 0; + rightFixedColumns.forEach(function (column) { + rightFixedWidth += column.realWidth || column.width; + }); + + this.rightFixedWidth = rightFixedWidth; + } + + this.notifyObservers('columns'); + }; + + TableLayout.prototype.addObserver = function addObserver(observer) { + this.observers.push(observer); + }; + + TableLayout.prototype.removeObserver = function removeObserver(observer) { + var index = this.observers.indexOf(observer); + if (index !== -1) { + this.observers.splice(index, 1); + } + }; + + TableLayout.prototype.notifyObservers = function notifyObservers(event) { + var _this3 = this; + + var observers = this.observers; + observers.forEach(function (observer) { + switch (event) { + case 'columns': + observer.onColumnsChange(_this3); + break; + case 'scrollable': + observer.onScrollableChange(_this3); + break; + default: + throw new Error('Table Layout don\'t have event ' + event + '.'); + } + }); + }; + + return TableLayout; +}(); + +/* harmony default export */ var table_layout = (table_layout_TableLayout); +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/tooltip" +var tooltip_ = __webpack_require__(29); +var tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_); + +// CONCATENATED MODULE: ./packages/table/src/layout-observer.js +/* harmony default export */ var layout_observer = ({ + created: function created() { + this.tableLayout.addObserver(this); + }, + destroyed: function destroyed() { + this.tableLayout.removeObserver(this); + }, + + + computed: { + tableLayout: function tableLayout() { + var layout = this.layout; + if (!layout && this.table) { + layout = this.table.layout; + } + if (!layout) { + throw new Error('Can not find table layout.'); + } + return layout; + } + }, + + mounted: function mounted() { + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + }, + updated: function updated() { + if (this.__updated__) return; + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + this.__updated__ = true; + }, + + + methods: { + onColumnsChange: function onColumnsChange(layout) { + var cols = this.$el.querySelectorAll('colgroup > col'); + if (!cols.length) return; + var flattenColumns = layout.getFlattenColumns(); + var columnsMap = {}; + flattenColumns.forEach(function (column) { + columnsMap[column.id] = column; + }); + for (var i = 0, j = cols.length; i < j; i++) { + var col = cols[i]; + var name = col.getAttribute('name'); + var column = columnsMap[name]; + if (column) { + col.setAttribute('width', column.realWidth || column.width); + } + } + }, + onScrollableChange: function onScrollableChange(layout) { + var cols = this.$el.querySelectorAll('colgroup > col[name=gutter]'); + for (var i = 0, j = cols.length; i < j; i++) { + var col = cols[i]; + col.setAttribute('width', layout.scrollY ? layout.gutterWidth : '0'); + } + var ths = this.$el.querySelectorAll('th.gutter'); + for (var _i = 0, _j = ths.length; _i < _j; _i++) { + var th = ths[_i]; + th.style.width = layout.scrollY ? layout.gutterWidth + 'px' : '0'; + th.style.display = layout.scrollY ? '' : 'none'; + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-row.js +var table_row_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + +/* harmony default export */ var table_row = ({ + name: 'ElTableRow', + props: ['columns', 'row', 'index', 'isSelected', 'isExpanded', 'store', 'context', 'firstDefaultColumnIndex', 'treeRowData', 'treeIndent', 'columnsHidden', 'getSpan', 'getColspanRealWidth', 'getCellStyle', 'getCellClass', 'handleCellMouseLeave', 'handleCellMouseEnter', 'fixed'], + components: { + ElCheckbox: checkbox_default.a + }, + render: function render() { + var _this = this; + + var h = arguments[0]; + var columns = this.columns, + row = this.row, + $index = this.index, + store = this.store, + context = this.context, + firstDefaultColumnIndex = this.firstDefaultColumnIndex, + treeRowData = this.treeRowData, + treeIndent = this.treeIndent, + _columnsHidden = this.columnsHidden, + columnsHidden = _columnsHidden === undefined ? [] : _columnsHidden, + isSelected = this.isSelected, + isExpanded = this.isExpanded; + + + return h('tr', [columns.map(function (column, cellIndex) { + var _getSpan = _this.getSpan(row, column, $index, cellIndex), + rowspan = _getSpan.rowspan, + colspan = _getSpan.colspan; + + if (!rowspan || !colspan) { + return null; + } + var columnData = table_row_extends({}, column); + columnData.realWidth = _this.getColspanRealWidth(columns, colspan, cellIndex); + var data = { + store: store, + isSelected: isSelected, + isExpanded: isExpanded, + _self: context, + column: columnData, + row: row, + $index: $index + }; + if (cellIndex === firstDefaultColumnIndex && treeRowData) { + data.treeNode = { + indent: treeRowData.level * treeIndent, + level: treeRowData.level + }; + if (typeof treeRowData.expanded === 'boolean') { + data.treeNode.expanded = treeRowData.expanded; + // 銵冽����蝸 + if ('loading' in treeRowData) { + data.treeNode.loading = treeRowData.loading; + } + if ('noLazyChildren' in treeRowData) { + data.treeNode.noLazyChildren = treeRowData.noLazyChildren; + } + } + } + return h( + 'td', + { + style: _this.getCellStyle($index, cellIndex, row, column), + 'class': _this.getCellClass($index, cellIndex, row, column), + attrs: { rowspan: rowspan, + colspan: colspan + }, + on: { + 'mouseenter': function mouseenter($event) { + return _this.handleCellMouseEnter($event, row); + }, + 'mouseleave': _this.handleCellMouseLeave + } + }, + [column.renderCell.call(_this._renderProxy, _this.$createElement, data, columnsHidden[cellIndex])] + ); + })]); + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-body.js +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var table_body_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + + + + + + +/* harmony default export */ var table_body = ({ + name: 'ElTableBody', + + mixins: [layout_observer], + + components: { + ElCheckbox: checkbox_default.a, + ElTooltip: tooltip_default.a, + TableRow: table_row + }, + + props: { + store: { + required: true + }, + stripe: Boolean, + context: {}, + rowClassName: [String, Function], + rowStyle: [Object, Function], + fixed: String, + highlight: Boolean + }, + + render: function render(h) { + var _this = this; + + var data = this.data || []; + return h( + 'table', + { + 'class': 'el-table__body', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + })]), h('tbody', [data.reduce(function (acc, row) { + return acc.concat(_this.wrappedRowRender(row, acc.length)); + }, []), h('el-tooltip', { + attrs: { effect: this.table.tooltipEffect, placement: 'top', content: this.tooltipContent }, + ref: 'tooltip' })])] + ); + }, + + + computed: table_body_extends({ + table: function table() { + return this.$parent; + } + }, mapStates({ + data: 'data', + columns: 'columns', + treeIndent: 'indent', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + }, + hasExpandColumn: function hasExpandColumn(states) { + return states.columns.some(function (_ref) { + var type = _ref.type; + return type === 'expand'; + }); + } + }), { + columnsHidden: function columnsHidden() { + var _this2 = this; + + return this.columns.map(function (column, index) { + return _this2.isColumnHidden(index); + }); + }, + firstDefaultColumnIndex: function firstDefaultColumnIndex() { + return Object(util_["arrayFindIndex"])(this.columns, function (_ref2) { + var type = _ref2.type; + return type === 'default'; + }); + } + }), + + watch: { + // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/ + // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40 + 'store.states.hoverRow': function storeStatesHoverRow(newVal, oldVal) { + var _this3 = this; + + if (!this.store.states.isComplex || this.$isServer) return; + var raf = window.requestAnimationFrame; + if (!raf) { + raf = function raf(fn) { + return setTimeout(fn, 16); + }; + } + raf(function () { + var rows = _this3.$el.querySelectorAll('.el-table__row'); + var oldRow = rows[oldVal]; + var newRow = rows[newVal]; + if (oldRow) { + Object(dom_["removeClass"])(oldRow, 'hover-row'); + } + if (newRow) { + Object(dom_["addClass"])(newRow, 'hover-row'); + } + }); + } + }, + + data: function data() { + return { + tooltipContent: '' + }; + }, + created: function created() { + this.activateTooltip = debounce_default()(50, function (tooltip) { + return tooltip.handleShowPopper(); + }); + }, + + + methods: { + getKeyOfRow: function getKeyOfRow(row, index) { + var rowKey = this.table.rowKey; + if (rowKey) { + return Object(util["g" /* getRowIdentity */])(row, rowKey); + } + return index; + }, + isColumnHidden: function isColumnHidden(index) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return index < this.columnsCount - this.rightFixedLeafCount; + } else { + return index < this.leftFixedLeafCount || index >= this.columnsCount - this.rightFixedLeafCount; + } + }, + getSpan: function getSpan(row, column, rowIndex, columnIndex) { + var rowspan = 1; + var colspan = 1; + var fn = this.table.spanMethod; + if (typeof fn === 'function') { + var result = fn({ + row: row, + column: column, + rowIndex: rowIndex, + columnIndex: columnIndex + }); + if (Array.isArray(result)) { + rowspan = result[0]; + colspan = result[1]; + } else if ((typeof result === 'undefined' ? 'undefined' : _typeof(result)) === 'object') { + rowspan = result.rowspan; + colspan = result.colspan; + } + } + return { rowspan: rowspan, colspan: colspan }; + }, + getRowStyle: function getRowStyle(row, rowIndex) { + var rowStyle = this.table.rowStyle; + if (typeof rowStyle === 'function') { + return rowStyle.call(null, { + row: row, + rowIndex: rowIndex + }); + } + return rowStyle || null; + }, + getRowClass: function getRowClass(row, rowIndex) { + var classes = ['el-table__row']; + if (this.table.highlightCurrentRow && row === this.store.states.currentRow) { + classes.push('current-row'); + } + + if (this.stripe && rowIndex % 2 === 1) { + classes.push('el-table__row--striped'); + } + var rowClassName = this.table.rowClassName; + if (typeof rowClassName === 'string') { + classes.push(rowClassName); + } else if (typeof rowClassName === 'function') { + classes.push(rowClassName.call(null, { + row: row, + rowIndex: rowIndex + })); + } + + if (this.store.states.expandRows.indexOf(row) > -1) { + classes.push('expanded'); + } + + return classes; + }, + getCellStyle: function getCellStyle(rowIndex, columnIndex, row, column) { + var cellStyle = this.table.cellStyle; + if (typeof cellStyle === 'function') { + return cellStyle.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + }); + } + return cellStyle; + }, + getCellClass: function getCellClass(rowIndex, columnIndex, row, column) { + var classes = [column.id, column.align, column.className]; + + if (this.isColumnHidden(columnIndex)) { + classes.push('is-hidden'); + } + + var cellClassName = this.table.cellClassName; + if (typeof cellClassName === 'string') { + classes.push(cellClassName); + } else if (typeof cellClassName === 'function') { + classes.push(cellClassName.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + getColspanRealWidth: function getColspanRealWidth(columns, colspan, index) { + if (colspan < 1) { + return columns[index].realWidth; + } + var widthArr = columns.map(function (_ref3) { + var realWidth = _ref3.realWidth; + return realWidth; + }).slice(index, index + colspan); + return widthArr.reduce(function (acc, width) { + return acc + width; + }, -1); + }, + handleCellMouseEnter: function handleCellMouseEnter(event, row) { + var table = this.table; + var cell = Object(util["b" /* getCell */])(event); + + if (cell) { + var column = Object(util["c" /* getColumnByCell */])(table, cell); + var hoverState = table.hoverState = { cell: cell, column: column, row: row }; + table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event); + } + + // ����text-overflow, 憒�撠望蝷演ooltip + var cellChild = event.target.querySelector('.cell'); + if (!(Object(dom_["hasClass"])(cellChild, 'el-tooltip') && cellChild.childNodes.length)) { + return; + } + // use range width instead of scrollWidth to determine whether the text is overflowing + // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3 + var range = document.createRange(); + range.setStart(cellChild, 0); + range.setEnd(cellChild, cellChild.childNodes.length); + var rangeWidth = range.getBoundingClientRect().width; + var padding = (parseInt(Object(dom_["getStyle"])(cellChild, 'paddingLeft'), 10) || 0) + (parseInt(Object(dom_["getStyle"])(cellChild, 'paddingRight'), 10) || 0); + if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) { + var tooltip = this.$refs.tooltip; + // TODO 隡�絲�銝� Table ���皜脫���閬��� + this.tooltipContent = cell.innerText || cell.textContent; + tooltip.referenceElm = cell; + tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none'); + tooltip.doDestroy(); + tooltip.setExpectedState(true); + this.activateTooltip(tooltip); + } + }, + handleCellMouseLeave: function handleCellMouseLeave(event) { + var tooltip = this.$refs.tooltip; + if (tooltip) { + tooltip.setExpectedState(false); + tooltip.handleClosePopper(); + } + var cell = Object(util["b" /* getCell */])(event); + if (!cell) return; + + var oldHoverState = this.table.hoverState || {}; + this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event); + }, + + + handleMouseEnter: debounce_default()(30, function (index) { + this.store.commit('setHoverRow', index); + }), + + handleMouseLeave: debounce_default()(30, function () { + this.store.commit('setHoverRow', null); + }), + + handleContextMenu: function handleContextMenu(event, row) { + this.handleEvent(event, row, 'contextmenu'); + }, + handleDoubleClick: function handleDoubleClick(event, row) { + this.handleEvent(event, row, 'dblclick'); + }, + handleClick: function handleClick(event, row) { + this.store.commit('setCurrentRow', row); + this.handleEvent(event, row, 'click'); + }, + handleEvent: function handleEvent(event, row, name) { + var table = this.table; + var cell = Object(util["b" /* getCell */])(event); + var column = void 0; + if (cell) { + column = Object(util["c" /* getColumnByCell */])(table, cell); + if (column) { + table.$emit('cell-' + name, row, column, cell, event); + } + } + table.$emit('row-' + name, row, column, event); + }, + rowRender: function rowRender(row, $index, treeRowData) { + var _this4 = this; + + var h = this.$createElement; + var treeIndent = this.treeIndent, + columns = this.columns, + firstDefaultColumnIndex = this.firstDefaultColumnIndex; + + var rowClasses = this.getRowClass(row, $index); + var display = true; + if (treeRowData) { + rowClasses.push('el-table__row--level-' + treeRowData.level); + display = treeRowData.display; + } + // ��誘 v-show 隡��� row-style 銝� display + // 雿輻 :style 隞�� v-show https://github.com/ElemeFE/element/issues/16995 + var displayStyle = display ? null : { + display: 'none' + }; + return h(table_row, { + style: [displayStyle, this.getRowStyle(row, $index)], + 'class': rowClasses, + key: this.getKeyOfRow(row, $index), + nativeOn: { + 'dblclick': function dblclick($event) { + return _this4.handleDoubleClick($event, row); + }, + 'click': function click($event) { + return _this4.handleClick($event, row); + }, + 'contextmenu': function contextmenu($event) { + return _this4.handleContextMenu($event, row); + }, + 'mouseenter': function mouseenter(_) { + return _this4.handleMouseEnter($index); + }, + 'mouseleave': this.handleMouseLeave + }, + attrs: { + columns: columns, + row: row, + index: $index, + store: this.store, + context: this.context || this.table.$vnode.context, + firstDefaultColumnIndex: firstDefaultColumnIndex, + treeRowData: treeRowData, + treeIndent: treeIndent, + columnsHidden: this.columnsHidden, + getSpan: this.getSpan, + getColspanRealWidth: this.getColspanRealWidth, + getCellStyle: this.getCellStyle, + getCellClass: this.getCellClass, + handleCellMouseEnter: this.handleCellMouseEnter, + handleCellMouseLeave: this.handleCellMouseLeave, + isSelected: this.store.isSelected(row), + isExpanded: this.store.states.expandRows.indexOf(row) > -1, + fixed: this.fixed + } + }); + }, + wrappedRowRender: function wrappedRowRender(row, $index) { + var _this5 = this; + + var h = this.$createElement; + + var store = this.store; + var isRowExpanded = store.isRowExpanded, + assertRowKey = store.assertRowKey; + var _store$states = store.states, + treeData = _store$states.treeData, + lazyTreeNodeMap = _store$states.lazyTreeNodeMap, + childrenColumnName = _store$states.childrenColumnName, + rowKey = _store$states.rowKey; + + if (this.hasExpandColumn && isRowExpanded(row)) { + var renderExpanded = this.table.renderExpanded; + var tr = this.rowRender(row, $index); + if (!renderExpanded) { + console.error('[Element Error]renderExpanded is required.'); + return tr; + } + // 雿輻鈭輕�蝏���耨� $index + return [[tr, h( + 'tr', + { key: 'expanded-row__' + tr.key }, + [h( + 'td', + { + attrs: { colspan: this.columnsCount }, + 'class': 'el-table__cell el-table__expanded-cell' }, + [renderExpanded(this.$createElement, { row: row, $index: $index, store: this.store })] + )] + )]]; + } else if (Object.keys(treeData).length) { + assertRowKey(); + // TreeTable �嚗owKey 敹◆���霈曉���蝙� getKeyOfRow 霈∠�� + // �靚 rowRender ���嚗�隡恣蝞� rowKey嚗�云憟賜���� + var key = Object(util["g" /* getRowIdentity */])(row, rowKey); + var cur = treeData[key]; + var treeRowData = null; + if (cur) { + treeRowData = { + expanded: cur.expanded, + level: cur.level, + display: true + }; + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + treeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + treeRowData.loading = cur.loading; + } + } + var tmp = [this.rowRender(row, $index, treeRowData)]; + // 皜脫���� + if (cur) { + // currentRow 霈啣�� index嚗�隞亥��銝餃憓�� TreeTable ��� index + var i = 0; + var traverse = function traverse(children, parent) { + if (!(children && children.length && parent)) return; + children.forEach(function (node) { + // ������ display ��蔣������蝷箇�� + var innerTreeRowData = { + display: parent.display && parent.expanded, + level: parent.level + 1 + }; + var childKey = Object(util["g" /* getRowIdentity */])(node, rowKey); + if (childKey === undefined || childKey === null) { + throw new Error('for nested data item, row-key is required.'); + } + cur = table_body_extends({}, treeData[childKey]); + // 撖嫣����嚗������銝斤���� + // 憒��摮����挽蝵� expanded 撅�扼�� + // 撖嫣������� display 撅�抒摰頨怎�� expanded 銝� display ���摰�� + if (cur) { + innerTreeRowData.expanded = cur.expanded; + // ���蝸�����嚗evel �� + cur.level = cur.level || innerTreeRowData.level; + cur.display = !!(cur.expanded && innerTreeRowData.display); + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + innerTreeRowData.loading = cur.loading; + } + } + i++; + tmp.push(_this5.rowRender(node, $index + i, innerTreeRowData)); + if (cur) { + var _nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName]; + traverse(_nodes, cur); + } + }); + }; + // 撖嫣�� root ��嚗isplay 銝�摰蛹 true + cur.display = true; + var nodes = lazyTreeNodeMap[key] || row[childrenColumnName]; + traverse(nodes, cur); + } + return tmp; + } else { + return this.rowRender(row, $index); + } + } + } +}); +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f& +var filter_panelvue_type_template_id_7f2c919f_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("transition", { attrs: { name: "el-zoom-in-top" } }, [ + _vm.multiple + ? _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleOutsideClick, + expression: "handleOutsideClick" + }, + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-table-filter" + }, + [ + _c( + "div", + { staticClass: "el-table-filter__content" }, + [ + _c( + "el-scrollbar", + { attrs: { "wrap-class": "el-table-filter__wrap" } }, + [ + _c( + "el-checkbox-group", + { + staticClass: "el-table-filter__checkbox-group", + model: { + value: _vm.filteredValue, + callback: function($$v) { + _vm.filteredValue = $$v + }, + expression: "filteredValue" + } + }, + _vm._l(_vm.filters, function(filter) { + return _c( + "el-checkbox", + { key: filter.value, attrs: { label: filter.value } }, + [_vm._v(_vm._s(filter.text))] + ) + }), + 1 + ) + ], + 1 + ) + ], + 1 + ), + _c("div", { staticClass: "el-table-filter__bottom" }, [ + _c( + "button", + { + class: { "is-disabled": _vm.filteredValue.length === 0 }, + attrs: { disabled: _vm.filteredValue.length === 0 }, + on: { click: _vm.handleConfirm } + }, + [_vm._v(_vm._s(_vm.t("el.table.confirmFilter")))] + ), + _c("button", { on: { click: _vm.handleReset } }, [ + _vm._v(_vm._s(_vm.t("el.table.resetFilter"))) + ]) + ]) + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleOutsideClick, + expression: "handleOutsideClick" + }, + { + name: "show", + rawName: "v-show", + value: _vm.showPopper, + expression: "showPopper" + } + ], + staticClass: "el-table-filter" + }, + [ + _c( + "ul", + { staticClass: "el-table-filter__list" }, + [ + _c( + "li", + { + staticClass: "el-table-filter__list-item", + class: { + "is-active": + _vm.filterValue === undefined || + _vm.filterValue === null + }, + on: { + click: function($event) { + _vm.handleSelect(null) + } + } + }, + [_vm._v(_vm._s(_vm.t("el.table.clearFilter")))] + ), + _vm._l(_vm.filters, function(filter) { + return _c( + "li", + { + key: filter.value, + staticClass: "el-table-filter__list-item", + class: { "is-active": _vm.isActive(filter) }, + attrs: { label: filter.value }, + on: { + click: function($event) { + _vm.handleSelect(filter.value) + } + } + }, + [_vm._v(_vm._s(filter.text))] + ) + }) + ], + 2 + ) + ] + ) + ]) +} +var filter_panelvue_type_template_id_7f2c919f_staticRenderFns = [] +filter_panelvue_type_template_id_7f2c919f_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=template&id=7f2c919f& + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/popup" +var popup_ = __webpack_require__(13); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// CONCATENATED MODULE: ./packages/table/src/dropdown.js + +var dropdowns = []; + +!external_vue_default.a.prototype.$isServer && document.addEventListener('click', function (event) { + dropdowns.forEach(function (dropdown) { + var target = event.target; + if (!dropdown || !dropdown.$el) return; + if (target === dropdown.$el || dropdown.$el.contains(target)) { + return; + } + dropdown.handleOutsideClick && dropdown.handleOutsideClick(event); + }); +}); + +/* harmony default export */ var dropdown = ({ + open: function open(instance) { + if (instance) { + dropdowns.push(instance); + } + }, + close: function close(instance) { + var index = dropdowns.indexOf(instance); + if (index !== -1) { + dropdowns.splice(instance, 1); + } + } +}); +// EXTERNAL MODULE: external "element-ui/lib/checkbox-group" +var checkbox_group_ = __webpack_require__(40); +var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/filter-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + +/* harmony default export */ var filter_panelvue_type_script_lang_js_ = ({ + name: 'ElTableFilterPanel', + + mixins: [vue_popper_default.a, locale_default.a], + + directives: { + Clickoutside: clickoutside_default.a + }, + + components: { + ElCheckbox: checkbox_default.a, + ElCheckboxGroup: checkbox_group_default.a, + ElScrollbar: scrollbar_default.a + }, + + props: { + placement: { + type: String, + default: 'bottom-end' + } + }, + + methods: { + isActive: function isActive(filter) { + return filter.value === this.filterValue; + }, + handleOutsideClick: function handleOutsideClick() { + var _this = this; + + setTimeout(function () { + _this.showPopper = false; + }, 16); + }, + handleConfirm: function handleConfirm() { + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + handleReset: function handleReset() { + this.filteredValue = []; + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + handleSelect: function handleSelect(filterValue) { + this.filterValue = filterValue; + + if (typeof filterValue !== 'undefined' && filterValue !== null) { + this.confirmFilter(this.filteredValue); + } else { + this.confirmFilter([]); + } + + this.handleOutsideClick(); + }, + confirmFilter: function confirmFilter(filteredValue) { + this.table.store.commit('filterChange', { + column: this.column, + values: filteredValue + }); + this.table.store.updateAllSelected(); + } + }, + + data: function data() { + return { + table: null, + cell: null, + column: null + }; + }, + + + computed: { + filters: function filters() { + return this.column && this.column.filters; + }, + + + filterValue: { + get: function get() { + return (this.column.filteredValue || [])[0]; + }, + set: function set(value) { + if (this.filteredValue) { + if (typeof value !== 'undefined' && value !== null) { + this.filteredValue.splice(0, 1, value); + } else { + this.filteredValue.splice(0, 1); + } + } + } + }, + + filteredValue: { + get: function get() { + if (this.column) { + return this.column.filteredValue || []; + } + return []; + }, + set: function set(value) { + if (this.column) { + this.column.filteredValue = value; + } + } + }, + + multiple: function multiple() { + if (this.column) { + return this.column.filterMultiple; + } + return true; + } + }, + + mounted: function mounted() { + var _this2 = this; + + this.popperElm = this.$el; + this.referenceElm = this.cell; + this.table.bodyWrapper.addEventListener('scroll', function () { + _this2.updatePopper(); + }); + + this.$watch('showPopper', function (value) { + if (_this2.column) _this2.column.filterOpened = value; + if (value) { + dropdown.open(_this2); + } else { + dropdown.close(_this2); + } + }); + }, + + watch: { + showPopper: function showPopper(val) { + if (val === true && parseInt(this.popperJS._popper.style.zIndex, 10) < popup_["PopupManager"].zIndex) { + this.popperJS._popper.style.zIndex = popup_["PopupManager"].nextZIndex(); + } + } + } +}); +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_filter_panelvue_type_script_lang_js_ = (filter_panelvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/table/src/filter-panel.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_filter_panelvue_type_script_lang_js_, + filter_panelvue_type_template_id_7f2c919f_render, + filter_panelvue_type_template_id_7f2c919f_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/table/src/filter-panel.vue" +/* harmony default export */ var filter_panel = (component.exports); +// CONCATENATED MODULE: ./packages/table/src/table-header.js +var table_header_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + + + + + +var getAllColumns = function getAllColumns(columns) { + var result = []; + columns.forEach(function (column) { + if (column.children) { + result.push(column); + result.push.apply(result, getAllColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +var convertToRows = function convertToRows(originColumns) { + var maxLevel = 1; + var traverse = function traverse(column, parent) { + if (parent) { + column.level = parent.level + 1; + if (maxLevel < column.level) { + maxLevel = column.level; + } + } + if (column.children) { + var colSpan = 0; + column.children.forEach(function (subColumn) { + traverse(subColumn, column); + colSpan += subColumn.colSpan; + }); + column.colSpan = colSpan; + } else { + column.colSpan = 1; + } + }; + + originColumns.forEach(function (column) { + column.level = 1; + traverse(column); + }); + + var rows = []; + for (var i = 0; i < maxLevel; i++) { + rows.push([]); + } + + var allColumns = getAllColumns(originColumns); + + allColumns.forEach(function (column) { + if (!column.children) { + column.rowSpan = maxLevel - column.level + 1; + } else { + column.rowSpan = 1; + } + rows[column.level - 1].push(column); + }); + + return rows; +}; + +/* harmony default export */ var table_header = ({ + name: 'ElTableHeader', + + mixins: [layout_observer], + + render: function render(h) { + var _this = this; + + var originColumns = this.store.states.originColumns; + var columnRows = convertToRows(originColumns, this.columns); + // ������漣銵典仍 + var isGroup = columnRows.length > 1; + if (isGroup) this.$parent.isGroup = true; + return h( + 'table', + { + 'class': 'el-table__header', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + }), this.hasGutter ? h('col', { + attrs: { name: 'gutter' } + }) : '']), h( + 'thead', + { 'class': [{ 'is-group': isGroup, 'has-gutter': this.hasGutter }] }, + [this._l(columnRows, function (columns, rowIndex) { + return h( + 'tr', + { + style: _this.getHeaderRowStyle(rowIndex), + 'class': _this.getHeaderRowClass(rowIndex) + }, + [columns.map(function (column, cellIndex) { + return h( + 'th', + { + attrs: { + colspan: column.colSpan, + rowspan: column.rowSpan + }, + on: { + 'mousemove': function mousemove($event) { + return _this.handleMouseMove($event, column); + }, + 'mouseout': _this.handleMouseOut, + 'mousedown': function mousedown($event) { + return _this.handleMouseDown($event, column); + }, + 'click': function click($event) { + return _this.handleHeaderClick($event, column); + }, + 'contextmenu': function contextmenu($event) { + return _this.handleHeaderContextMenu($event, column); + } + }, + + style: _this.getHeaderCellStyle(rowIndex, cellIndex, columns, column), + 'class': _this.getHeaderCellClass(rowIndex, cellIndex, columns, column), + key: column.id }, + [h( + 'div', + { 'class': ['cell', column.filteredValue && column.filteredValue.length > 0 ? 'highlight' : '', column.labelClassName] }, + [column.renderHeader ? column.renderHeader.call(_this._renderProxy, h, { column: column, $index: cellIndex, store: _this.store, _self: _this.$parent.$vnode.context }) : column.label, column.sortable ? h( + 'span', + { + 'class': 'caret-wrapper', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column); + } + } + }, + [h('i', { 'class': 'sort-caret ascending', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column, 'ascending'); + } + } + }), h('i', { 'class': 'sort-caret descending', + on: { + 'click': function click($event) { + return _this.handleSortClick($event, column, 'descending'); + } + } + })] + ) : '', column.filterable ? h( + 'span', + { + 'class': 'el-table__column-filter-trigger', + on: { + 'click': function click($event) { + return _this.handleFilterClick($event, column); + } + } + }, + [h('i', { 'class': ['el-icon-arrow-down', column.filterOpened ? 'el-icon-arrow-up' : ''] })] + ) : ''] + )] + ); + }), _this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : ''] + ); + })] + )] + ); + }, + + + props: { + fixed: String, + store: { + required: true + }, + border: Boolean, + defaultSort: { + type: Object, + default: function _default() { + return { + prop: '', + order: '' + }; + } + } + }, + + components: { + ElCheckbox: checkbox_default.a + }, + + computed: table_header_extends({ + table: function table() { + return this.$parent; + }, + hasGutter: function hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + } + }, mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + } + })), + + created: function created() { + this.filterPanels = {}; + }, + mounted: function mounted() { + var _this2 = this; + + // nextTick ������� https://github.com/ElemeFE/element/pull/11311 + this.$nextTick(function () { + var _defaultSort = _this2.defaultSort, + prop = _defaultSort.prop, + order = _defaultSort.order; + + var init = true; + _this2.store.commit('sort', { prop: prop, order: order, init: init }); + }); + }, + beforeDestroy: function beforeDestroy() { + var panels = this.filterPanels; + for (var prop in panels) { + if (panels.hasOwnProperty(prop) && panels[prop]) { + panels[prop].$destroy(true); + } + } + }, + + + methods: { + isCellHidden: function isCellHidden(index, columns) { + var start = 0; + for (var i = 0; i < index; i++) { + start += columns[i].colSpan; + } + var after = start + columns[index].colSpan - 1; + if (this.fixed === true || this.fixed === 'left') { + return after >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return start < this.columnsCount - this.rightFixedLeafCount; + } else { + return after < this.leftFixedLeafCount || start >= this.columnsCount - this.rightFixedLeafCount; + } + }, + getHeaderRowStyle: function getHeaderRowStyle(rowIndex) { + var headerRowStyle = this.table.headerRowStyle; + if (typeof headerRowStyle === 'function') { + return headerRowStyle.call(null, { rowIndex: rowIndex }); + } + return headerRowStyle; + }, + getHeaderRowClass: function getHeaderRowClass(rowIndex) { + var classes = []; + + var headerRowClassName = this.table.headerRowClassName; + if (typeof headerRowClassName === 'string') { + classes.push(headerRowClassName); + } else if (typeof headerRowClassName === 'function') { + classes.push(headerRowClassName.call(null, { rowIndex: rowIndex })); + } + + return classes.join(' '); + }, + getHeaderCellStyle: function getHeaderCellStyle(rowIndex, columnIndex, row, column) { + var headerCellStyle = this.table.headerCellStyle; + if (typeof headerCellStyle === 'function') { + return headerCellStyle.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + }); + } + return headerCellStyle; + }, + getHeaderCellClass: function getHeaderCellClass(rowIndex, columnIndex, row, column) { + var classes = [column.id, column.order, column.headerAlign, column.className, column.labelClassName]; + + if (rowIndex === 0 && this.isCellHidden(columnIndex, row)) { + classes.push('is-hidden'); + } + + if (!column.children) { + classes.push('is-leaf'); + } + + if (column.sortable) { + classes.push('is-sortable'); + } + + var headerCellClassName = this.table.headerCellClassName; + if (typeof headerCellClassName === 'string') { + classes.push(headerCellClassName); + } else if (typeof headerCellClassName === 'function') { + classes.push(headerCellClassName.call(null, { + rowIndex: rowIndex, + columnIndex: columnIndex, + row: row, + column: column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + toggleAllSelection: function toggleAllSelection() { + this.store.commit('toggleAllSelection'); + }, + handleFilterClick: function handleFilterClick(event, column) { + event.stopPropagation(); + var target = event.target; + var cell = target.tagName === 'TH' ? target : target.parentNode; + if (Object(dom_["hasClass"])(cell, 'noclick')) return; + cell = cell.querySelector('.el-table__column-filter-trigger') || cell; + var table = this.$parent; + + var filterPanel = this.filterPanels[column.id]; + + if (filterPanel && column.filterOpened) { + filterPanel.showPopper = false; + return; + } + + if (!filterPanel) { + filterPanel = new external_vue_default.a(filter_panel); + this.filterPanels[column.id] = filterPanel; + if (column.filterPlacement) { + filterPanel.placement = column.filterPlacement; + } + filterPanel.table = table; + filterPanel.cell = cell; + filterPanel.column = column; + !this.$isServer && filterPanel.$mount(document.createElement('div')); + } + + setTimeout(function () { + filterPanel.showPopper = true; + }, 16); + }, + handleHeaderClick: function handleHeaderClick(event, column) { + if (!column.filters && column.sortable) { + this.handleSortClick(event, column); + } else if (column.filterable && !column.sortable) { + this.handleFilterClick(event, column); + } + + this.$parent.$emit('header-click', column, event); + }, + handleHeaderContextMenu: function handleHeaderContextMenu(event, column) { + this.$parent.$emit('header-contextmenu', column, event); + }, + handleMouseDown: function handleMouseDown(event, column) { + var _this3 = this; + + if (this.$isServer) return; + if (column.children && column.children.length > 0) return; + /* istanbul ignore if */ + if (this.draggingColumn && this.border) { + this.dragging = true; + + this.$parent.resizeProxyVisible = true; + + var table = this.$parent; + var tableEl = table.$el; + var tableLeft = tableEl.getBoundingClientRect().left; + var columnEl = this.$el.querySelector('th.' + column.id); + var columnRect = columnEl.getBoundingClientRect(); + var minLeft = columnRect.left - tableLeft + 30; + + Object(dom_["addClass"])(columnEl, 'noclick'); + + this.dragState = { + startMouseLeft: event.clientX, + startLeft: columnRect.right - tableLeft, + startColumnLeft: columnRect.left - tableLeft, + tableLeft: tableLeft + }; + + var resizeProxy = table.$refs.resizeProxy; + resizeProxy.style.left = this.dragState.startLeft + 'px'; + + document.onselectstart = function () { + return false; + }; + document.ondragstart = function () { + return false; + }; + + var handleMouseMove = function handleMouseMove(event) { + var deltaLeft = event.clientX - _this3.dragState.startMouseLeft; + var proxyLeft = _this3.dragState.startLeft + deltaLeft; + + resizeProxy.style.left = Math.max(minLeft, proxyLeft) + 'px'; + }; + + var handleMouseUp = function handleMouseUp() { + if (_this3.dragging) { + var _dragState = _this3.dragState, + startColumnLeft = _dragState.startColumnLeft, + startLeft = _dragState.startLeft; + + var finalLeft = parseInt(resizeProxy.style.left, 10); + var columnWidth = finalLeft - startColumnLeft; + column.width = column.realWidth = columnWidth; + table.$emit('header-dragend', column.width, startLeft - startColumnLeft, column, event); + + _this3.store.scheduleLayout(); + + document.body.style.cursor = ''; + _this3.dragging = false; + _this3.draggingColumn = null; + _this3.dragState = {}; + + table.resizeProxyVisible = false; + } + + document.removeEventListener('mousemove', handleMouseMove); + document.removeEventListener('mouseup', handleMouseUp); + document.onselectstart = null; + document.ondragstart = null; + + setTimeout(function () { + Object(dom_["removeClass"])(columnEl, 'noclick'); + }, 0); + }; + + document.addEventListener('mousemove', handleMouseMove); + document.addEventListener('mouseup', handleMouseUp); + } + }, + handleMouseMove: function handleMouseMove(event, column) { + if (column.children && column.children.length > 0) return; + var target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (!column || !column.resizable) return; + + if (!this.dragging && this.border) { + var rect = target.getBoundingClientRect(); + + var bodyStyle = document.body.style; + if (rect.width > 12 && rect.right - event.pageX < 8) { + bodyStyle.cursor = 'col-resize'; + if (Object(dom_["hasClass"])(target, 'is-sortable')) { + target.style.cursor = 'col-resize'; + } + this.draggingColumn = column; + } else if (!this.dragging) { + bodyStyle.cursor = ''; + if (Object(dom_["hasClass"])(target, 'is-sortable')) { + target.style.cursor = 'pointer'; + } + this.draggingColumn = null; + } + } + }, + handleMouseOut: function handleMouseOut() { + if (this.$isServer) return; + document.body.style.cursor = ''; + }, + toggleOrder: function toggleOrder(_ref) { + var order = _ref.order, + sortOrders = _ref.sortOrders; + + if (order === '') return sortOrders[0]; + var index = sortOrders.indexOf(order || null); + return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]; + }, + handleSortClick: function handleSortClick(event, column, givenOrder) { + event.stopPropagation(); + var order = column.order === givenOrder ? null : givenOrder || this.toggleOrder(column); + + var target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (target && target.tagName === 'TH') { + if (Object(dom_["hasClass"])(target, 'noclick')) { + Object(dom_["removeClass"])(target, 'noclick'); + return; + } + } + + if (!column.sortable) return; + + var states = this.store.states; + var sortProp = states.sortProp; + var sortOrder = void 0; + var sortingColumn = states.sortingColumn; + + if (sortingColumn !== column || sortingColumn === column && sortingColumn.order === null) { + if (sortingColumn) { + sortingColumn.order = null; + } + states.sortingColumn = column; + sortProp = column.property; + } + + if (!order) { + sortOrder = column.order = null; + } else { + sortOrder = column.order = order; + } + + states.sortProp = sortProp; + states.sortOrder = sortOrder; + + this.store.commit('changeSortCondition'); + } + }, + + data: function data() { + return { + draggingColumn: null, + dragging: false, + dragState: {} + }; + } +}); +// CONCATENATED MODULE: ./packages/table/src/table-footer.js +var table_footer_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + + +/* harmony default export */ var table_footer = ({ + name: 'ElTableFooter', + + mixins: [layout_observer], + + render: function render(h) { + var _this = this; + + var sums = []; + if (this.summaryMethod) { + sums = this.summaryMethod({ columns: this.columns, data: this.store.states.data }); + } else { + this.columns.forEach(function (column, index) { + if (index === 0) { + sums[index] = _this.sumText; + return; + } + var values = _this.store.states.data.map(function (item) { + return Number(item[column.property]); + }); + var precisions = []; + var notNumber = true; + values.forEach(function (value) { + if (!isNaN(value)) { + notNumber = false; + var decimal = ('' + value).split('.')[1]; + precisions.push(decimal ? decimal.length : 0); + } + }); + var precision = Math.max.apply(null, precisions); + if (!notNumber) { + sums[index] = values.reduce(function (prev, curr) { + var value = Number(curr); + if (!isNaN(value)) { + return parseFloat((prev + curr).toFixed(Math.min(precision, 20))); + } else { + return prev; + } + }, 0); + } else { + sums[index] = ''; + } + }); + } + + return h( + 'table', + { + 'class': 'el-table__footer', + attrs: { cellspacing: '0', + cellpadding: '0', + border: '0' } + }, + [h('colgroup', [this.columns.map(function (column) { + return h('col', { + attrs: { name: column.id }, + key: column.id }); + }), this.hasGutter ? h('col', { + attrs: { name: 'gutter' } + }) : '']), h( + 'tbody', + { 'class': [{ 'has-gutter': this.hasGutter }] }, + [h('tr', [this.columns.map(function (column, cellIndex) { + return h( + 'td', + { + key: cellIndex, + attrs: { colspan: column.colSpan, + rowspan: column.rowSpan + }, + 'class': [].concat(_this.getRowClasses(column, cellIndex), ['el-table__cell']) }, + [h( + 'div', + { 'class': ['cell', column.labelClassName] }, + [sums[cellIndex]] + )] + ); + }), this.hasGutter ? h('th', { 'class': 'el-table__cell gutter' }) : ''])] + )] + ); + }, + + + props: { + fixed: String, + store: { + required: true + }, + summaryMethod: Function, + sumText: String, + border: Boolean, + defaultSort: { + type: Object, + default: function _default() { + return { + prop: '', + order: '' + }; + } + } + }, + + computed: table_footer_extends({ + table: function table() { + return this.$parent; + }, + hasGutter: function hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + } + }, mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: function columnsCount(states) { + return states.columns.length; + }, + leftFixedCount: function leftFixedCount(states) { + return states.fixedColumns.length; + }, + rightFixedCount: function rightFixedCount(states) { + return states.rightFixedColumns.length; + } + })), + + methods: { + isCellHidden: function isCellHidden(index, columns, column) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + var before = 0; + for (var i = 0; i < index; i++) { + before += columns[i].colSpan; + } + return before < this.columnsCount - this.rightFixedLeafCount; + } else if (!this.fixed && column.fixed) { + // hide cell when footer instance is not fixed and column is fixed + return true; + } else { + return index < this.leftFixedCount || index >= this.columnsCount - this.rightFixedCount; + } + }, + getRowClasses: function getRowClasses(column, cellIndex) { + var classes = [column.id, column.align, column.labelClassName]; + if (column.className) { + classes.push(column.className); + } + if (this.isCellHidden(cellIndex, this.columns, column)) { + classes.push('is-hidden'); + } + if (!column.children) { + classes.push('is-leaf'); + } + return classes; + } + } +}); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/table/src/table.vue?vue&type=script&lang=js& +var tablevue_type_script_lang_js_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + + + + +var tableIdSeed = 1; + +/* harmony default export */ var tablevue_type_script_lang_js_ = ({ + name: 'ElTable', + + mixins: [locale_default.a, migrating_default.a], + + directives: { + Mousewheel: directives_mousewheel + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + + size: String, + + width: [String, Number], + + height: [String, Number], + + maxHeight: [String, Number], + + fit: { + type: Boolean, + default: true + }, + + stripe: Boolean, + + border: Boolean, + + rowKey: [String, Function], + + context: {}, + + showHeader: { + type: Boolean, + default: true + }, + + showSummary: Boolean, + + sumText: String, + + summaryMethod: Function, + + rowClassName: [String, Function], + + rowStyle: [Object, Function], + + cellClassName: [String, Function], + + cellStyle: [Object, Function], + + headerRowClassName: [String, Function], + + headerRowStyle: [Object, Function], + + headerCellClassName: [String, Function], + + headerCellStyle: [Object, Function], + + highlightCurrentRow: Boolean, + + currentRowKey: [String, Number], + + emptyText: String, + + expandRowKeys: Array, + + defaultExpandAll: Boolean, + + defaultSort: Object, + + tooltipEffect: String, + + spanMethod: Function, + + selectOnIndeterminate: { + type: Boolean, + default: true + }, + + indent: { + type: Number, + default: 16 + }, + + treeProps: { + type: Object, + default: function _default() { + return { + hasChildren: 'hasChildren', + children: 'children' + }; + } + }, + + lazy: Boolean, + + load: Function + }, + + components: { + TableHeader: table_header, + TableFooter: table_footer, + TableBody: table_body, + ElCheckbox: checkbox_default.a + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + events: { + expand: 'expand is renamed to expand-change' + } + }; + }, + setCurrentRow: function setCurrentRow(row) { + this.store.commit('setCurrentRow', row); + }, + toggleRowSelection: function toggleRowSelection(row, selected) { + this.store.toggleRowSelection(row, selected, false); + this.store.updateAllSelected(); + }, + toggleRowExpansion: function toggleRowExpansion(row, expanded) { + this.store.toggleRowExpansionAdapter(row, expanded); + }, + clearSelection: function clearSelection() { + this.store.clearSelection(); + }, + clearFilter: function clearFilter(columnKeys) { + this.store.clearFilter(columnKeys); + }, + clearSort: function clearSort() { + this.store.clearSort(); + }, + handleMouseLeave: function handleMouseLeave() { + this.store.commit('setHoverRow', null); + if (this.hoverState) this.hoverState = null; + }, + updateScrollY: function updateScrollY() { + var changed = this.layout.updateScrollY(); + if (changed) { + this.layout.notifyObservers('scrollable'); + this.layout.updateColumnsWidth(); + } + }, + handleFixedMousewheel: function handleFixedMousewheel(event, data) { + var bodyWrapper = this.bodyWrapper; + if (Math.abs(data.spinY) > 0) { + var currentScrollTop = bodyWrapper.scrollTop; + if (data.pixelY < 0 && currentScrollTop !== 0) { + event.preventDefault(); + } + if (data.pixelY > 0 && bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop) { + event.preventDefault(); + } + bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5); + } else { + bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5); + } + }, + handleHeaderFooterMousewheel: function handleHeaderFooterMousewheel(event, data) { + var pixelX = data.pixelX, + pixelY = data.pixelY; + + if (Math.abs(pixelX) >= Math.abs(pixelY)) { + this.bodyWrapper.scrollLeft += data.pixelX / 5; + } + }, + + + // TODO 雿輻 CSS transform + syncPostion: function syncPostion() { + var _bodyWrapper = this.bodyWrapper, + scrollLeft = _bodyWrapper.scrollLeft, + scrollTop = _bodyWrapper.scrollTop, + offsetWidth = _bodyWrapper.offsetWidth, + scrollWidth = _bodyWrapper.scrollWidth; + var _$refs = this.$refs, + headerWrapper = _$refs.headerWrapper, + footerWrapper = _$refs.footerWrapper, + fixedBodyWrapper = _$refs.fixedBodyWrapper, + rightFixedBodyWrapper = _$refs.rightFixedBodyWrapper; + + if (headerWrapper) headerWrapper.scrollLeft = scrollLeft; + if (footerWrapper) footerWrapper.scrollLeft = scrollLeft; + if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop; + if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop; + var maxScrollLeftPosition = scrollWidth - offsetWidth - 1; + if (scrollLeft >= maxScrollLeftPosition) { + this.scrollPosition = 'right'; + } else if (scrollLeft === 0) { + this.scrollPosition = 'left'; + } else { + this.scrollPosition = 'middle'; + } + }, + + + throttleSyncPostion: Object(external_throttle_debounce_["throttle"])(16, function () { + this.syncPostion(); + }), + + onScroll: function onScroll(evt) { + var raf = window.requestAnimationFrame; + if (!raf) { + this.throttleSyncPostion(); + } else { + raf(this.syncPostion); + } + }, + bindEvents: function bindEvents() { + this.bodyWrapper.addEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + Object(resize_event_["addResizeListener"])(this.$el, this.resizeListener); + } + }, + unbindEvents: function unbindEvents() { + this.bodyWrapper.removeEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + Object(resize_event_["removeResizeListener"])(this.$el, this.resizeListener); + } + }, + resizeListener: function resizeListener() { + if (!this.$ready) return; + var shouldUpdateLayout = false; + var el = this.$el; + var _resizeState = this.resizeState, + oldWidth = _resizeState.width, + oldHeight = _resizeState.height; + + + var width = el.offsetWidth; + if (oldWidth !== width) { + shouldUpdateLayout = true; + } + + var height = el.offsetHeight; + if ((this.height || this.shouldUpdateHeight) && oldHeight !== height) { + shouldUpdateLayout = true; + } + + if (shouldUpdateLayout) { + this.resizeState.width = width; + this.resizeState.height = height; + this.doLayout(); + } + }, + doLayout: function doLayout() { + if (this.shouldUpdateHeight) { + this.layout.updateElsHeight(); + } + this.layout.updateColumnsWidth(); + }, + sort: function sort(prop, order) { + this.store.commit('sort', { prop: prop, order: order }); + }, + toggleAllSelection: function toggleAllSelection() { + this.store.commit('toggleAllSelection'); + } + }, + + computed: tablevue_type_script_lang_js_extends({ + tableSize: function tableSize() { + return this.size || (this.$ELEMENT || {}).size; + }, + bodyWrapper: function bodyWrapper() { + return this.$refs.bodyWrapper; + }, + shouldUpdateHeight: function shouldUpdateHeight() { + return this.height || this.maxHeight || this.fixedColumns.length > 0 || this.rightFixedColumns.length > 0; + }, + bodyWidth: function bodyWidth() { + var _layout = this.layout, + bodyWidth = _layout.bodyWidth, + scrollY = _layout.scrollY, + gutterWidth = _layout.gutterWidth; + + return bodyWidth ? bodyWidth - (scrollY ? gutterWidth : 0) + 'px' : ''; + }, + bodyHeight: function bodyHeight() { + var _layout2 = this.layout, + _layout2$headerHeight = _layout2.headerHeight, + headerHeight = _layout2$headerHeight === undefined ? 0 : _layout2$headerHeight, + bodyHeight = _layout2.bodyHeight, + _layout2$footerHeight = _layout2.footerHeight, + footerHeight = _layout2$footerHeight === undefined ? 0 : _layout2$footerHeight; + + if (this.height) { + return { + height: bodyHeight ? bodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + var maxHeight = Object(util["j" /* parseHeight */])(this.maxHeight); + if (typeof maxHeight === 'number') { + return { + 'max-height': maxHeight - footerHeight - (this.showHeader ? headerHeight : 0) + 'px' + }; + } + } + return {}; + }, + fixedBodyHeight: function fixedBodyHeight() { + if (this.height) { + return { + height: this.layout.fixedBodyHeight ? this.layout.fixedBodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + var maxHeight = Object(util["j" /* parseHeight */])(this.maxHeight); + if (typeof maxHeight === 'number') { + maxHeight = this.layout.scrollX ? maxHeight - this.layout.gutterWidth : maxHeight; + if (this.showHeader) { + maxHeight -= this.layout.headerHeight; + } + maxHeight -= this.layout.footerHeight; + return { + 'max-height': maxHeight + 'px' + }; + } + } + return {}; + }, + fixedHeight: function fixedHeight() { + if (this.maxHeight) { + if (this.showSummary) { + return { + bottom: 0 + }; + } + return { + bottom: this.layout.scrollX && this.data.length ? this.layout.gutterWidth + 'px' : '' + }; + } else { + if (this.showSummary) { + return { + height: this.layout.tableHeight ? this.layout.tableHeight + 'px' : '' + }; + } + return { + height: this.layout.viewportHeight ? this.layout.viewportHeight + 'px' : '' + }; + } + }, + emptyBlockStyle: function emptyBlockStyle() { + if (this.data && this.data.length) return null; + var height = '100%'; + if (this.layout.appendHeight) { + height = 'calc(100% - ' + this.layout.appendHeight + 'px)'; + } + return { + width: this.bodyWidth, + height: height + }; + } + }, mapStates({ + selection: 'selection', + columns: 'columns', + tableData: 'data', + fixedColumns: 'fixedColumns', + rightFixedColumns: 'rightFixedColumns' + })), + + watch: { + height: { + immediate: true, + handler: function handler(value) { + this.layout.setHeight(value); + } + }, + + maxHeight: { + immediate: true, + handler: function handler(value) { + this.layout.setMaxHeight(value); + } + }, + + currentRowKey: { + immediate: true, + handler: function handler(value) { + if (!this.rowKey) return; + this.store.setCurrentRowKey(value); + } + }, + + data: { + immediate: true, + handler: function handler(value) { + this.store.commit('setData', value); + } + }, + + expandRowKeys: { + immediate: true, + handler: function handler(newVal) { + if (newVal) { + this.store.setExpandRowKeysAdapter(newVal); + } + } + } + }, + + created: function created() { + var _this = this; + + this.tableId = 'el-table_' + tableIdSeed++; + this.debouncedUpdateLayout = Object(external_throttle_debounce_["debounce"])(50, function () { + return _this.doLayout(); + }); + }, + mounted: function mounted() { + var _this2 = this; + + this.bindEvents(); + this.store.updateColumns(); + this.doLayout(); + + this.resizeState = { + width: this.$el.offsetWidth, + height: this.$el.offsetHeight + }; + + // init filters + this.store.states.columns.forEach(function (column) { + if (column.filteredValue && column.filteredValue.length) { + _this2.store.commit('filterChange', { + column: column, + values: column.filteredValue, + silent: true + }); + } + }); + + this.$ready = true; + }, + destroyed: function destroyed() { + this.unbindEvents(); + }, + data: function data() { + var _treeProps = this.treeProps, + _treeProps$hasChildre = _treeProps.hasChildren, + hasChildren = _treeProps$hasChildre === undefined ? 'hasChildren' : _treeProps$hasChildre, + _treeProps$children = _treeProps.children, + children = _treeProps$children === undefined ? 'children' : _treeProps$children; + + this.store = createStore(this, { + rowKey: this.rowKey, + defaultExpandAll: this.defaultExpandAll, + selectOnIndeterminate: this.selectOnIndeterminate, + // TreeTable �����蔭 + indent: this.indent, + lazy: this.lazy, + lazyColumnIdentifier: hasChildren, + childrenColumnName: children + }); + var layout = new table_layout({ + store: this.store, + table: this, + fit: this.fit, + showHeader: this.showHeader + }); + return { + layout: layout, + isHidden: false, + renderExpanded: null, + resizeProxyVisible: false, + resizeState: { + width: null, + height: null + }, + // ������漣銵典仍 + isGroup: false, + scrollPosition: 'left' + }; + } +}); +// CONCATENATED MODULE: ./packages/table/src/table.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tablevue_type_script_lang_js_ = (tablevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/table/src/table.vue + + + + + +/* normalize component */ + +var table_component = Object(componentNormalizer["a" /* default */])( + src_tablevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var table_api; } +table_component.options.__file = "packages/table/src/table.vue" +/* harmony default export */ var src_table = (table_component.exports); +// CONCATENATED MODULE: ./packages/table/index.js + + +/* istanbul ignore next */ +src_table.install = function (Vue) { + Vue.component(src_table.name, src_table); +}; + +/* harmony default export */ var packages_table = __webpack_exports__["default"] = (src_table); + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/tabs.js b/PAMapp/local_modules/element-ui/lib/tabs.js new file mode 100644 index 0000000..352c111 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/tabs.js @@ -0,0 +1,925 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 63); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 16: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/resize-event"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 63: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { + staticClass: "el-tabs__active-bar", + class: "is-" + _vm.rootTabs.tabPosition, + style: _vm.barStyle + }) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a& + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js& +// +// +// + + +/* harmony default export */ var tab_barvue_type_script_lang_js_ = ({ + name: 'TabBar', + + props: { + tabs: Array + }, + + inject: ['rootTabs'], + + computed: { + barStyle: { + get: function get() { + var _this = this; + + var style = {}; + var offset = 0; + var tabSize = 0; + var sizeName = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + var sizeDir = sizeName === 'width' ? 'x' : 'y'; + var firstUpperCase = function firstUpperCase(str) { + return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) { + return L.toUpperCase(); + }); + }; + this.tabs.every(function (tab, index) { + var $el = Object(util_["arrayFind"])(_this.$parent.$refs.tabs || [], function (t) { + return t.id.replace('tab-', '') === tab.paneName; + }); + if (!$el) { + return false; + } + + if (!tab.active) { + offset += $el['client' + firstUpperCase(sizeName)]; + return true; + } else { + tabSize = $el['client' + firstUpperCase(sizeName)]; + var tabStyles = window.getComputedStyle($el); + if (sizeName === 'width' && _this.tabs.length > 1) { + tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight); + } + if (sizeName === 'width') { + offset += parseFloat(tabStyles.paddingLeft); + } + return false; + } + }); + + var transform = 'translate' + firstUpperCase(sizeDir) + '(' + offset + 'px)'; + style[sizeName] = tabSize + 'px'; + style.transform = transform; + style.msTransform = transform; + style.webkitTransform = transform; + + return style; + } + } + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_barvue_type_script_lang_js_ = (tab_barvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_tab_barvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/tabs/src/tab-bar.vue" +/* harmony default export */ var tab_bar = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/utils/resize-event" +var resize_event_ = __webpack_require__(16); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js& + + + + +function noop() {} +var tab_navvue_type_script_lang_js_firstUpperCase = function firstUpperCase(str) { + return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) { + return L.toUpperCase(); + }); +}; + +/* harmony default export */ var tab_navvue_type_script_lang_js_ = ({ + name: 'TabNav', + + components: { + TabBar: tab_bar + }, + + inject: ['rootTabs'], + + props: { + panes: Array, + currentName: String, + editable: Boolean, + onTabClick: { + type: Function, + default: noop + }, + onTabRemove: { + type: Function, + default: noop + }, + type: String, + stretch: Boolean + }, + + data: function data() { + return { + scrollable: false, + navOffset: 0, + isFocus: false, + focusable: true + }; + }, + + + computed: { + navStyle: function navStyle() { + var dir = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'X' : 'Y'; + return { + transform: 'translate' + dir + '(-' + this.navOffset + 'px)' + }; + }, + sizeName: function sizeName() { + return ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + } + }, + + methods: { + scrollPrev: function scrollPrev() { + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var currentOffset = this.navOffset; + + if (!currentOffset) return; + + var newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0; + + this.navOffset = newOffset; + }, + scrollNext: function scrollNext() { + var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)]; + var currentOffset = this.navOffset; + + if (navSize - currentOffset <= containerSize) return; + + var newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize; + + this.navOffset = newOffset; + }, + scrollToActiveTab: function scrollToActiveTab() { + if (!this.scrollable) return; + var nav = this.$refs.nav; + var activeTab = this.$el.querySelector('.is-active'); + if (!activeTab) return; + var navScroll = this.$refs.navScroll; + var isHorizontal = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1; + var activeTabBounding = activeTab.getBoundingClientRect(); + var navScrollBounding = navScroll.getBoundingClientRect(); + var maxOffset = isHorizontal ? nav.offsetWidth - navScrollBounding.width : nav.offsetHeight - navScrollBounding.height; + var currentOffset = this.navOffset; + var newOffset = currentOffset; + + if (isHorizontal) { + if (activeTabBounding.left < navScrollBounding.left) { + newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left); + } + if (activeTabBounding.right > navScrollBounding.right) { + newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right; + } + } else { + if (activeTabBounding.top < navScrollBounding.top) { + newOffset = currentOffset - (navScrollBounding.top - activeTabBounding.top); + } + if (activeTabBounding.bottom > navScrollBounding.bottom) { + newOffset = currentOffset + (activeTabBounding.bottom - navScrollBounding.bottom); + } + } + newOffset = Math.max(newOffset, 0); + this.navOffset = Math.min(newOffset, maxOffset); + }, + update: function update() { + if (!this.$refs.nav) return; + var sizeName = this.sizeName; + var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)]; + var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)]; + var currentOffset = this.navOffset; + + if (containerSize < navSize) { + var _currentOffset = this.navOffset; + this.scrollable = this.scrollable || {}; + this.scrollable.prev = _currentOffset; + this.scrollable.next = _currentOffset + containerSize < navSize; + if (navSize - _currentOffset < containerSize) { + this.navOffset = navSize - containerSize; + } + } else { + this.scrollable = false; + if (currentOffset > 0) { + this.navOffset = 0; + } + } + }, + changeTab: function changeTab(e) { + var keyCode = e.keyCode; + var nextIndex = void 0; + var currentIndex = void 0, + tabList = void 0; + if ([37, 38, 39, 40].indexOf(keyCode) !== -1) { + // 撌血銝���tab + tabList = e.currentTarget.querySelectorAll('[role=tab]'); + currentIndex = Array.prototype.indexOf.call(tabList, e.target); + } else { + return; + } + if (keyCode === 37 || keyCode === 38) { + // left + if (currentIndex === 0) { + // first + nextIndex = tabList.length - 1; + } else { + nextIndex = currentIndex - 1; + } + } else { + // right + if (currentIndex < tabList.length - 1) { + // not last + nextIndex = currentIndex + 1; + } else { + nextIndex = 0; + } + } + tabList[nextIndex].focus(); // �������� + tabList[nextIndex].click(); // �葉銝�銝泱ab + this.setFocus(); + }, + setFocus: function setFocus() { + if (this.focusable) { + this.isFocus = true; + } + }, + removeFocus: function removeFocus() { + this.isFocus = false; + }, + visibilityChangeHandler: function visibilityChangeHandler() { + var _this = this; + + var visibility = document.visibilityState; + if (visibility === 'hidden') { + this.focusable = false; + } else if (visibility === 'visible') { + setTimeout(function () { + _this.focusable = true; + }, 50); + } + }, + windowBlurHandler: function windowBlurHandler() { + this.focusable = false; + }, + windowFocusHandler: function windowFocusHandler() { + var _this2 = this; + + setTimeout(function () { + _this2.focusable = true; + }, 50); + } + }, + + updated: function updated() { + this.update(); + }, + render: function render(h) { + var _this3 = this; + + var type = this.type, + panes = this.panes, + editable = this.editable, + stretch = this.stretch, + onTabClick = this.onTabClick, + onTabRemove = this.onTabRemove, + navStyle = this.navStyle, + scrollable = this.scrollable, + scrollNext = this.scrollNext, + scrollPrev = this.scrollPrev, + changeTab = this.changeTab, + setFocus = this.setFocus, + removeFocus = this.removeFocus; + + var scrollBtn = scrollable ? [h( + 'span', + { 'class': ['el-tabs__nav-prev', scrollable.prev ? '' : 'is-disabled'], on: { + 'click': scrollPrev + } + }, + [h('i', { 'class': 'el-icon-arrow-left' })] + ), h( + 'span', + { 'class': ['el-tabs__nav-next', scrollable.next ? '' : 'is-disabled'], on: { + 'click': scrollNext + } + }, + [h('i', { 'class': 'el-icon-arrow-right' })] + )] : null; + + var tabs = this._l(panes, function (pane, index) { + var _ref; + + var tabName = pane.name || pane.index || index; + var closable = pane.isClosable || editable; + + pane.index = '' + index; + + var btnClose = closable ? h('span', { 'class': 'el-icon-close', on: { + 'click': function click(ev) { + onTabRemove(pane, ev); + } + } + }) : null; + + var tabLabelContent = pane.$slots.label || pane.label; + var tabindex = pane.active ? 0 : -1; + return h( + 'div', + { + 'class': (_ref = { + 'el-tabs__item': true + }, _ref['is-' + _this3.rootTabs.tabPosition] = true, _ref['is-active'] = pane.active, _ref['is-disabled'] = pane.disabled, _ref['is-closable'] = closable, _ref['is-focus'] = _this3.isFocus, _ref), + attrs: { id: 'tab-' + tabName, + + 'aria-controls': 'pane-' + tabName, + role: 'tab', + 'aria-selected': pane.active, + + tabindex: tabindex + }, + key: 'tab-' + tabName, ref: 'tabs', refInFor: true, + on: { + 'focus': function focus() { + setFocus(); + }, + 'blur': function blur() { + removeFocus(); + }, + 'click': function click(ev) { + removeFocus();onTabClick(pane, tabName, ev); + }, + 'keydown': function keydown(ev) { + if (closable && (ev.keyCode === 46 || ev.keyCode === 8)) { + onTabRemove(pane, ev); + } + } + } + }, + [tabLabelContent, btnClose] + ); + }); + return h( + 'div', + { 'class': ['el-tabs__nav-wrap', scrollable ? 'is-scrollable' : '', 'is-' + this.rootTabs.tabPosition] }, + [scrollBtn, h( + 'div', + { 'class': ['el-tabs__nav-scroll'], ref: 'navScroll' }, + [h( + 'div', + { + 'class': ['el-tabs__nav', 'is-' + this.rootTabs.tabPosition, stretch && ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'is-stretch' : ''], + ref: 'nav', + style: navStyle, + attrs: { role: 'tablist' + }, + on: { + 'keydown': changeTab + } + }, + [!type ? h('tab-bar', { + attrs: { tabs: panes } + }) : null, tabs] + )] + )] + ); + }, + mounted: function mounted() { + var _this4 = this; + + Object(resize_event_["addResizeListener"])(this.$el, this.update); + document.addEventListener('visibilitychange', this.visibilityChangeHandler); + window.addEventListener('blur', this.windowBlurHandler); + window.addEventListener('focus', this.windowFocusHandler); + setTimeout(function () { + _this4.scrollToActiveTab(); + }, 0); + }, + beforeDestroy: function beforeDestroy() { + if (this.$el && this.update) Object(resize_event_["removeResizeListener"])(this.$el, this.update); + document.removeEventListener('visibilitychange', this.visibilityChangeHandler); + window.removeEventListener('blur', this.windowBlurHandler); + window.removeEventListener('focus', this.windowFocusHandler); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tab_navvue_type_script_lang_js_ = (tab_navvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue +var tab_nav_render, tab_nav_staticRenderFns + + + + +/* normalize component */ + +var tab_nav_component = Object(componentNormalizer["a" /* default */])( + src_tab_navvue_type_script_lang_js_, + tab_nav_render, + tab_nav_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tab_nav_api; } +tab_nav_component.options.__file = "packages/tabs/src/tab-nav.vue" +/* harmony default export */ var tab_nav = (tab_nav_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tabs.vue?vue&type=script&lang=js& + + + +/* harmony default export */ var tabsvue_type_script_lang_js_ = ({ + name: 'ElTabs', + + components: { + TabNav: tab_nav + }, + + props: { + type: String, + activeName: String, + closable: Boolean, + addable: Boolean, + value: {}, + editable: Boolean, + tabPosition: { + type: String, + default: 'top' + }, + beforeLeave: Function, + stretch: Boolean + }, + + provide: function provide() { + return { + rootTabs: this + }; + }, + data: function data() { + return { + currentName: this.value || this.activeName, + panes: [] + }; + }, + + + watch: { + activeName: function activeName(value) { + this.setCurrentName(value); + }, + value: function value(_value) { + this.setCurrentName(_value); + }, + currentName: function currentName(value) { + var _this = this; + + if (this.$refs.nav) { + this.$nextTick(function () { + _this.$refs.nav.$nextTick(function (_) { + _this.$refs.nav.scrollToActiveTab(); + }); + }); + } + } + }, + + methods: { + calcPaneInstances: function calcPaneInstances() { + var _this2 = this; + + var isForceUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.$slots.default) { + var paneSlots = this.$slots.default.filter(function (vnode) { + return vnode.tag && vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElTabPane'; + }); + // update indeed + var panes = paneSlots.map(function (_ref) { + var componentInstance = _ref.componentInstance; + return componentInstance; + }); + var panesChanged = !(panes.length === this.panes.length && panes.every(function (pane, index) { + return pane === _this2.panes[index]; + })); + if (isForceUpdate || panesChanged) { + this.panes = panes; + } + } else if (this.panes.length !== 0) { + this.panes = []; + } + }, + handleTabClick: function handleTabClick(tab, tabName, event) { + if (tab.disabled) return; + this.setCurrentName(tabName); + this.$emit('tab-click', tab, event); + }, + handleTabRemove: function handleTabRemove(pane, ev) { + if (pane.disabled) return; + ev.stopPropagation(); + this.$emit('edit', pane.name, 'remove'); + this.$emit('tab-remove', pane.name); + }, + handleTabAdd: function handleTabAdd() { + this.$emit('edit', null, 'add'); + this.$emit('tab-add'); + }, + setCurrentName: function setCurrentName(value) { + var _this3 = this; + + var changeCurrentName = function changeCurrentName() { + _this3.currentName = value; + _this3.$emit('input', value); + }; + if (this.currentName !== value && this.beforeLeave) { + var before = this.beforeLeave(value, this.currentName); + if (before && before.then) { + before.then(function () { + changeCurrentName(); + _this3.$refs.nav && _this3.$refs.nav.removeFocus(); + }, function () { + // https://github.com/ElemeFE/element/pull/14816 + // ignore promise rejection in `before-leave` hook + }); + } else if (before !== false) { + changeCurrentName(); + } + } else { + changeCurrentName(); + } + } + }, + + render: function render(h) { + var _ref2; + + var type = this.type, + handleTabClick = this.handleTabClick, + handleTabRemove = this.handleTabRemove, + handleTabAdd = this.handleTabAdd, + currentName = this.currentName, + panes = this.panes, + editable = this.editable, + addable = this.addable, + tabPosition = this.tabPosition, + stretch = this.stretch; + + + var newButton = editable || addable ? h( + 'span', + { + 'class': 'el-tabs__new-tab', + on: { + 'click': handleTabAdd, + 'keydown': function keydown(ev) { + if (ev.keyCode === 13) { + handleTabAdd(); + } + } + }, + attrs: { + tabindex: '0' + } + }, + [h('i', { 'class': 'el-icon-plus' })] + ) : null; + + var navData = { + props: { + currentName: currentName, + onTabClick: handleTabClick, + onTabRemove: handleTabRemove, + editable: editable, + type: type, + panes: panes, + stretch: stretch + }, + ref: 'nav' + }; + var header = h( + 'div', + { 'class': ['el-tabs__header', 'is-' + tabPosition] }, + [newButton, h('tab-nav', navData)] + ); + var panels = h( + 'div', + { 'class': 'el-tabs__content' }, + [this.$slots.default] + ); + + return h( + 'div', + { 'class': (_ref2 = { + 'el-tabs': true, + 'el-tabs--card': type === 'card' + }, _ref2['el-tabs--' + tabPosition] = true, _ref2['el-tabs--border-card'] = type === 'border-card', _ref2) }, + [tabPosition !== 'bottom' ? [header, panels] : [panels, header]] + ); + }, + created: function created() { + if (!this.currentName) { + this.setCurrentName('0'); + } + + this.$on('tab-nav-update', this.calcPaneInstances.bind(null, true)); + }, + mounted: function mounted() { + this.calcPaneInstances(); + }, + updated: function updated() { + this.calcPaneInstances(); + } +}); +// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tabsvue_type_script_lang_js_ = (tabsvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue +var tabs_render, tabs_staticRenderFns + + + + +/* normalize component */ + +var tabs_component = Object(componentNormalizer["a" /* default */])( + src_tabsvue_type_script_lang_js_, + tabs_render, + tabs_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tabs_api; } +tabs_component.options.__file = "packages/tabs/src/tabs.vue" +/* harmony default export */ var tabs = (tabs_component.exports); +// CONCATENATED MODULE: ./packages/tabs/index.js + + +/* istanbul ignore next */ +tabs.install = function (Vue) { + Vue.component(tabs.name, tabs); +}; + +/* harmony default export */ var packages_tabs = __webpack_exports__["default"] = (tabs); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/tag.js b/PAMapp/local_modules/element-ui/lib/tag.js new file mode 100644 index 0000000..5afaaf1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/tag.js @@ -0,0 +1,303 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 132); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 132: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js& + +/* harmony default export */ var tagvue_type_script_lang_js_ = ({ + name: 'ElTag', + props: { + text: String, + closable: Boolean, + type: String, + hit: Boolean, + disableTransitions: Boolean, + color: String, + size: String, + effect: { + type: String, + default: 'light', + validator: function validator(val) { + return ['dark', 'light', 'plain'].indexOf(val) !== -1; + } + } + }, + methods: { + handleClose: function handleClose(event) { + event.stopPropagation(); + this.$emit('close', event); + }, + handleClick: function handleClick(event) { + this.$emit('click', event); + } + }, + computed: { + tagSize: function tagSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + render: function render(h) { + var type = this.type, + tagSize = this.tagSize, + hit = this.hit, + effect = this.effect; + + var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit']; + var tagEl = h( + 'span', + { + 'class': classes, + style: { backgroundColor: this.color }, + on: { + 'click': this.handleClick + } + }, + [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: { + 'click': this.handleClose + } + })] + ); + + return this.disableTransitions ? tagEl : h( + 'transition', + { + attrs: { name: 'el-zoom-in-center' } + }, + [tagEl] + ); + } +}); +// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/tag/src/tag.vue +var render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_tagvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/tag/src/tag.vue" +/* harmony default export */ var tag = (component.exports); +// CONCATENATED MODULE: ./packages/tag/index.js + + +/* istanbul ignore next */ +tag.install = function (Vue) { + Vue.component(tag.name, tag); +}; + +/* harmony default export */ var packages_tag = __webpack_exports__["default"] = (tag); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/alert.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/alert.css new file mode 100644 index 0000000..37941c7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/alert.css @@ -0,0 +1 @@ +.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-alert-fade-enter,.el-alert-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/aside.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/aside.css new file mode 100644 index 0000000..f50d9d3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/aside.css @@ -0,0 +1 @@ +.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/autocomplete.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/autocomplete.css new file mode 100644 index 0000000..9cf9c50 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/autocomplete.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{background-image:none;width:100%;-webkit-box-sizing:border-box;background-color:#FFF}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;font-size:inherit;color:#606266;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/avatar.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/avatar.css new file mode 100644 index 0000000..f7693b4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/avatar.css @@ -0,0 +1 @@ +.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/backtop.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/backtop.css new file mode 100644 index 0000000..949b260 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/backtop.css @@ -0,0 +1 @@ +.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;color:#409EFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/badge.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/badge.css new file mode 100644 index 0000000..b8030f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/badge.css @@ -0,0 +1 @@ +.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/base.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/base.css new file mode 100644 index 0000000..6f56170 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/base.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb-item.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb.css new file mode 100644 index 0000000..e2b95e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/breadcrumb.css @@ -0,0 +1 @@ +.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/button-group.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/button-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/button-group.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/button.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/button.css new file mode 100644 index 0000000..77378e4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/button.css @@ -0,0 +1 @@ +.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/calendar.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/calendar.css new file mode 100644 index 0000000..7fe0881 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/calendar.css @@ -0,0 +1 @@ +.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/card.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/card.css new file mode 100644 index 0000000..aed379b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/card.css @@ -0,0 +1 @@ +.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel-item.css new file mode 100644 index 0000000..d7429cc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel-item.css @@ -0,0 +1 @@ +.el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel.css new file mode 100644 index 0000000..c2f109a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/carousel.css @@ -0,0 +1 @@ +.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader-panel.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader-panel.css new file mode 100644 index 0000000..11463ae --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader-panel.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner,.el-radio{font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-checkbox-button__inner,.el-checkbox__input,.el-radio__input{vertical-align:middle;outline:0}.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative;display:inline-block;white-space:nowrap}.el-checkbox{color:#606266;font-size:14px;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio{color:#606266;line-height:1;cursor:pointer;white-space:nowrap;outline:0;font-size:14px;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;line-height:1}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader.css new file mode 100644 index 0000000..a31f999 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/cascader.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-color:#FFF;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-image:none;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-checkbox,.el-checkbox__inner,.el-checkbox__input,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;position:relative;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;white-space:nowrap;outline:0}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio{color:#606266;font-weight:500;cursor:pointer;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-cascader-node,.el-cascader__tags{display:-webkit-box;display:-ms-flexbox}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-button.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-button.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-button.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-group.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox-group.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox.css new file mode 100644 index 0000000..5cf8e9f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/checkbox.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner{font-weight:500;color:#606266;-webkit-user-select:none;-ms-user-select:none;font-size:14px}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative}.el-checkbox-button__inner,.el-checkbox__input{white-space:nowrap;vertical-align:middle;cursor:pointer;outline:0}.el-checkbox{cursor:pointer;white-space:nowrap;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner,.el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;background:#FFF;border:1px solid #DCDFE6;border-left:0;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/col.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/col.css new file mode 100644 index 0000000..ff2bb23 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/col.css @@ -0,0 +1 @@ +.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9{position:relative}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{display:none;width:0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse-item.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse.css new file mode 100644 index 0000000..d8a8fdd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/collapse.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/color-picker.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/color-picker.css new file mode 100644 index 0000000..196a386 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/color-picker.css @@ -0,0 +1 @@ +.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-alpha-slider__thumb,.el-color-hue-slider__thumb{-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);left:0;top:0;z-index:1}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6)}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6)}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/container.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/container.css new file mode 100644 index 0000000..bb9a110 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/container.css @@ -0,0 +1 @@ +.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/date-picker.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/date-picker.css new file mode 100644 index 0000000..4266804 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/date-picker.css @@ -0,0 +1 @@ +.el-date-table,.el-time-panel{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-date-table{font-size:12px;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-date-editor .el-range-input,.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;width:39%;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-picker-panel,.el-time-panel{border:1px solid #E4E7ED;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn,.el-time-panel__btn{background-color:transparent;font-size:12px}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;outline:0}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-time-panel{margin:5px 0;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-input,.el-textarea{width:100%;font-size:14px}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;outline:0;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-input__inner,.el-textarea__inner{-webkit-box-sizing:border-box;color:#606266}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions-item.css new file mode 100644 index 0000000..9b9224a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions-item.css @@ -0,0 +1 @@ +.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions.css new file mode 100644 index 0000000..f80ad9c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/descriptions.css @@ -0,0 +1 @@ +.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/dialog.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/dialog.css new file mode 100644 index 0000000..8bf6a38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/dialog.css @@ -0,0 +1 @@ +.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/display.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/display.css new file mode 100644 index 0000000..1d8790b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/display.css @@ -0,0 +1 @@ +@media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/divider.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/divider.css new file mode 100644 index 0000000..c0a39d9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/divider.css @@ -0,0 +1 @@ +.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/drawer.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/drawer.css new file mode 100644 index 0000000..6e7497e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/drawer.css @@ -0,0 +1 @@ +.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer__container{position:relative;top:0;bottom:0;height:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-item.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-menu.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-menu.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown-menu.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown.css new file mode 100644 index 0000000..7b4db6f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/dropdown.css @@ -0,0 +1 @@ +.el-button,.el-dropdown{color:#606266;font-size:14px}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-dropdown{display:inline-block;position:relative}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/empty.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/empty.css new file mode 100644 index 0000000..04a51a8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/empty.css @@ -0,0 +1 @@ +.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img,.el-empty__image svg{width:100%;height:100%;vertical-align:top}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom{margin-top:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf b/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf Binary files differ diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff b/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/fonts/element-icons.woff Binary files differ diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/footer.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/footer.css new file mode 100644 index 0000000..cc74659 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/footer.css @@ -0,0 +1 @@ +.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/form-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/form-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/form-item.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/form.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/form.css new file mode 100644 index 0000000..a882b80 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/form.css @@ -0,0 +1 @@ +.el-form--inline .el-form-item,.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item::after,.el-form-item__content::after{clear:both}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{margin-right:10px}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item::after,.el-form-item::before,.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item{margin-bottom:22px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#F56C6C}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/header.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/header.css new file mode 100644 index 0000000..b8ffa6a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/header.css @@ -0,0 +1 @@ +.el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/icon.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/icon.css new file mode 100644 index 0000000..bf3ae3e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/icon.css @@ -0,0 +1 @@ +@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/image.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/image.css new file mode 100644 index 0000000..b201b19 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/image.css @@ -0,0 +1 @@ +.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/index.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/index.css new file mode 100644 index 0000000..854114b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/index.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-dialog,.el-pager li{-webkit-box-sizing:border-box}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item,.el-menu-item{font-size:14px;padding:0 20px;cursor:pointer}.el-dropdown-menu__item{list-style:none;line-height:36px;margin:0;color:#606266;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table;content:""}.el-breadcrumb__item:last-child .el-breadcrumb__separator,.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--collapse .el-submenu,.el-menu-item{position:relative}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;list-style:none}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{color:#303133;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-radio-button__inner,.el-submenu__title{-webkit-box-sizing:border-box;position:relative;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;color:#C0C4CC}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td,.el-table .cell,.el-table-filter{-webkit-box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#F5F7FA}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-carousel__arrow--right,.el-notification.right{right:16px}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-button-group::after,.el-button-group::before,.el-color-dropdown__main-wrapper::after,.el-link.is-underline:hover:after,.el-page-header__left::after,.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-transfer-panel .el-transfer-panel__footer::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{display:inline-block;vertical-align:middle}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;top:0;left:0}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__icon,.el-input,.el-textarea{display:inline-block;width:100%}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center;font-size:12px}.el-input__prefix,.el-input__suffix{position:absolute;top:0;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-textarea{position:relative;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{height:100%;right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{height:100%;left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-image-viewer__btn,.el-image__preview,.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-divider__text,.el-image__error,.el-link,.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#C0C4CC;vertical-align:middle}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-popconfirm__main{display:flex;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/infinite-scroll.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/infinite-scroll.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/infinite-scroll.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/infiniteScroll.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/infiniteScroll.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/infiniteScroll.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/input-number.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/input-number.css new file mode 100644 index 0000000..c35b1e8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/input-number.css @@ -0,0 +1 @@ +.el-input,.el-textarea{font-size:14px;width:100%}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/input.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/input.css new file mode 100644 index 0000000..eea2898 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/input.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/link.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/link.css new file mode 100644 index 0000000..ffb0fba --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/link.css @@ -0,0 +1 @@ +.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:14px;font-weight:500}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/loading.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/loading.css new file mode 100644 index 0000000..b8066cf --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/loading.css @@ -0,0 +1 @@ +.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/main.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/main.css new file mode 100644 index 0000000..03da3e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/main.css @@ -0,0 +1 @@ +.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item-group.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item-group.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu-item.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/menu.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu.css new file mode 100644 index 0000000..c2688dd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/menu.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu::after,.el-menu::before{display:table;content:""}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{line-height:56px;padding:0 20px;list-style:none;position:relative;white-space:nowrap}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{height:56px;font-size:14px;color:#303133;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{height:56px;font-size:14px;color:#303133;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/message-box.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/message-box.css new file mode 100644 index 0000000..881721e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/message-box.css @@ -0,0 +1 @@ +.el-message-box,.el-popup-parent--hidden{overflow:hidden}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child,.el-input__inner{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC;top:0}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/message.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/message.css new file mode 100644 index 0000000..def47ce --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/message.css @@ -0,0 +1 @@ +.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/notification.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/notification.css new file mode 100644 index 0000000..0d8acbd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/notification.css @@ -0,0 +1 @@ +.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-notification-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/option-group.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/option-group.css new file mode 100644 index 0000000..b23a5fd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/option-group.css @@ -0,0 +1 @@ +.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/option.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/option.css new file mode 100644 index 0000000..0d5b5bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/option.css @@ -0,0 +1 @@ +.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/page-header.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/page-header.css new file mode 100644 index 0000000..d5ebc52 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/page-header.css @@ -0,0 +1 @@ +.el-page-header{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/pagination.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/pagination.css new file mode 100644 index 0000000..1e2468f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/pagination.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-input__inner,.el-select-dropdown__list,.el-tag,.el-textarea__inner{-webkit-box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input__inner,.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner:hover,.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;display:inline-block;margin:0}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/popconfirm.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/popconfirm.css new file mode 100644 index 0000000..d835dc2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/popconfirm.css @@ -0,0 +1 @@ +.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/popover.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/popover.css new file mode 100644 index 0000000..305b234 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/popover.css @@ -0,0 +1 @@ +.el-popover__title,.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/popper.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/popper.css new file mode 100644 index 0000000..e3f8045 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/popper.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/progress.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/progress.css new file mode 100644 index 0000000..61814c8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/progress.css @@ -0,0 +1 @@ +.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{content:"";height:100%}.el-progress-bar__innerText{color:#FFF;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-button.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-button.css new file mode 100644 index 0000000..85037e9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-button.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-group.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-group.css new file mode 100644 index 0000000..8b5d6e4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio-group.css @@ -0,0 +1 @@ +.el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/radio.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio.css new file mode 100644 index 0000000..b3acf7c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/radio.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio,.el-radio__input{white-space:nowrap;line-height:1;outline:0}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-radio{color:#606266;font-weight:500;cursor:pointer;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/rate.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/rate.css new file mode 100644 index 0000000..984f121 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/rate.css @@ -0,0 +1 @@ +.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/reset.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/reset.css new file mode 100644 index 0000000..b90ff7e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/reset.css @@ -0,0 +1 @@ +@charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","敺株蔓����",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/result.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/result.css new file mode 100644 index 0000000..558db12 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/result.css @@ -0,0 +1 @@ +.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title{margin-top:20px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/row.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/row.css new file mode 100644 index 0000000..7ed91d1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/row.css @@ -0,0 +1 @@ +.el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/scrollbar.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/scrollbar.css new file mode 100644 index 0000000..4e6a47b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/scrollbar.css @@ -0,0 +1 @@ +.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/select-dropdown.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/select-dropdown.css new file mode 100644 index 0000000..7898b68 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/select-dropdown.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/select.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/select.css new file mode 100644 index 0000000..382a5ea --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/select.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-input__inner,.el-textarea__inner{color:#606266;font-size:inherit;width:100%;-webkit-box-sizing:border-box}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input__inner,.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-input__inner:hover,.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton-item.css new file mode 100644 index 0000000..e5b2aed --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton-item.css @@ -0,0 +1 @@ +.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton.css new file mode 100644 index 0000000..c4582be --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/skeleton.css @@ -0,0 +1 @@ +.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/slider.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/slider.css new file mode 100644 index 0000000..d0054fe --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/slider.css @@ -0,0 +1 @@ +.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-image:none;color:#606266;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner:hover,.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;top:0;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table;content:""}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{vertical-align:middle;display:inline-block}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper::after{content:"";height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/spinner.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/spinner.css new file mode 100644 index 0000000..7358802 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/spinner.css @@ -0,0 +1 @@ +.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/statistic.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/statistic.css new file mode 100644 index 0000000..af0dd35 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/statistic.css @@ -0,0 +1 @@ +.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/step.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/step.css new file mode 100644 index 0000000..9fe43ed --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/step.css @@ -0,0 +1 @@ +.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/steps.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/steps.css new file mode 100644 index 0000000..8e7c627 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/steps.css @@ -0,0 +1 @@ +.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/submenu.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/submenu.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/submenu.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/switch.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/switch.css new file mode 100644 index 0000000..e813f9a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/switch.css @@ -0,0 +1 @@ +.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer;vertical-align:middle}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/tab-pane.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/tab-pane.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/tab-pane.css diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/table-column.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/table-column.css new file mode 100644 index 0000000..afbc0fc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/table-column.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner{-webkit-user-select:none;-ms-user-select:none;font-size:14px}.el-checkbox,.el-checkbox__input{cursor:pointer;display:inline-block;position:relative}.el-checkbox{color:#606266;font-weight:500;white-space:nowrap;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox-button__inner,.el-checkbox__input{line-height:1;white-space:nowrap;vertical-align:middle;outline:0}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox-button__inner,.el-table-filter,.el-tag{-webkit-box-sizing:border-box}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;font-weight:500;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/table.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/table.css new file mode 100644 index 0000000..016882a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/table.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner,.el-table th.el-table__cell{-webkit-user-select:none;-ms-user-select:none}.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative}.el-checkbox,.el-checkbox-button__inner,.el-checkbox__input,.el-tag{display:inline-block;white-space:nowrap}.el-checkbox{color:#606266;font-weight:500;font-size:14px;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox-button__inner,.el-table,.el-tag{-webkit-box-sizing:border-box}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{line-height:1;font-weight:500;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-tag,.el-tooltip__popper{border-radius:4px;font-size:12px}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;color:#409EFF;border-width:1px;border-style:solid;box-sizing:border-box}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;padding:10px;z-index:2000;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-table{position:relative;overflow:hidden;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-moz-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/tabs.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/tabs.css new file mode 100644 index 0000000..623f7ee --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/tabs.css @@ -0,0 +1 @@ +.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/tag.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/tag.css new file mode 100644 index 0000000..d78ff0a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/tag.css @@ -0,0 +1 @@ +.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/time-picker.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/time-picker.css new file mode 100644 index 0000000..a513287 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/time-picker.css @@ -0,0 +1 @@ +.el-picker-panel,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-input__inner,.el-textarea__inner{-webkit-box-sizing:border-box;color:#606266}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/time-select.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/time-select.css new file mode 100644 index 0000000..53284d5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/time-select.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline-item.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline-item.css new file mode 100644 index 0000000..1f14f8b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline-item.css @@ -0,0 +1 @@ +.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline.css new file mode 100644 index 0000000..c87533d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/timeline.css @@ -0,0 +1 @@ +.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/tooltip.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/tooltip.css new file mode 100644 index 0000000..2291f78 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/tooltip.css @@ -0,0 +1 @@ +.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/transfer.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/transfer.css new file mode 100644 index 0000000..1c2a2b1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/transfer.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-button,.el-checkbox.is-bordered,.el-checkbox__inner{-webkit-box-sizing:border-box}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap;cursor:pointer}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-checkbox{color:#606266;font-weight:500;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{position:relative;display:inline-block}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/tree.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/tree.css new file mode 100644 index 0000000..a38a66a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/tree.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative;display:inline-block}.el-checkbox-button__inner,.el-checkbox__input{vertical-align:middle;white-space:nowrap;outline:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-checkbox{color:#606266;font-weight:500;font-size:14px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#F5F7FA}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/theme-chalk/upload.css b/PAMapp/local_modules/element-ui/lib/theme-chalk/upload.css new file mode 100644 index 0000000..703b0c0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/theme-chalk/upload.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-progress-bar__inner::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:"";vertical-align:middle}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover{background-color:#F5F7FA}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/time-picker.js b/PAMapp/local_modules/element-ui/lib/time-picker.js new file mode 100644 index 0000000..f90f4fe --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/time-picker.js @@ -0,0 +1,2975 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 77); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date-util"); + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 27: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-time-panel el-popper", + class: _vm.popperClass + }, + [ + _c( + "div", + { + staticClass: "el-time-panel__content", + class: { "has-seconds": _vm.showSeconds } + }, + [ + _c("time-spinner", { + ref: "spinner", + attrs: { + "arrow-control": _vm.useArrow, + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + date: _vm.date + }, + on: { + change: _vm.handleChange, + "select-range": _vm.setSelectionRange + } + }) + ], + 1 + ), + _c("div", { staticClass: "el-time-panel__footer" }, [ + _c( + "button", + { + staticClass: "el-time-panel__btn cancel", + attrs: { type: "button" }, + on: { click: _vm.handleCancel } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))] + ), + _c( + "button", + { + staticClass: "el-time-panel__btn", + class: { confirm: !_vm.disabled }, + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleConfirm() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))] + ) + ]) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: ./packages/date-picker/src/basic/time-spinner.vue + 4 modules +var time_spinner = __webpack_require__(34); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var timevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + components: { + TimeSpinner: time_spinner["a" /* default */] + }, + + props: { + visible: Boolean, + timeArrowControl: Boolean + }, + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + this.oldValue = this.value; + this.$nextTick(function () { + return _this.$refs.spinner.emitSelectRange('hours'); + }); + } else { + this.needInitAdjust = true; + } + }, + value: function value(newVal) { + var _this2 = this; + + var date = void 0; + if (newVal instanceof Date) { + date = Object(date_util_["limitTimeRange"])(newVal, this.selectableRange, this.format); + } else if (!newVal) { + date = this.defaultValue ? new Date(this.defaultValue) : new Date(); + } + + this.date = date; + if (this.visible && this.needInitAdjust) { + this.$nextTick(function (_) { + return _this2.adjustSpinners(); + }); + this.needInitAdjust = false; + } + }, + selectableRange: function selectableRange(val) { + this.$refs.spinner.selectableRange = val; + }, + defaultValue: function defaultValue(val) { + if (!Object(date_util_["isDate"])(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + } + }, + + data: function data() { + return { + popperClass: '', + format: 'HH:mm:ss', + value: '', + defaultValue: null, + date: new Date(), + oldValue: new Date(), + selectableRange: [], + selectionRange: [0, 2], + disabled: false, + arrowControl: false, + needInitAdjust: true + }; + }, + + + computed: { + showSeconds: function showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + useArrow: function useArrow() { + return this.arrowControl || this.timeArrowControl || false; + }, + amPmMode: function amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + methods: { + handleCancel: function handleCancel() { + this.$emit('pick', this.oldValue, false); + }, + handleChange: function handleChange(date) { + // this.visible avoids edge cases, when use scrolls during panel closing animation + if (this.visible) { + this.date = Object(date_util_["clearMilliseconds"])(date); + // if date is out of range, do not emit + if (this.isValidValue(this.date)) { + this.$emit('pick', this.date, true); + } + } + }, + setSelectionRange: function setSelectionRange(start, end) { + this.$emit('select-range', start, end); + this.selectionRange = [start, end]; + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var first = arguments[1]; + + if (first) return; + var date = Object(date_util_["clearMilliseconds"])(Object(date_util_["limitTimeRange"])(this.date, this.selectableRange, this.format)); + this.$emit('pick', date, visible, first); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + var step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + var _step = mapping[keyCode]; + this.$refs.spinner.scrollDown(_step); + event.preventDefault(); + return; + } + }, + isValidValue: function isValidValue(date) { + return Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format); + }, + adjustSpinners: function adjustSpinners() { + return this.$refs.spinner.adjustSpinners(); + }, + changeSelectionRange: function changeSelectionRange(step) { + var list = [0, 3].concat(this.showSeconds ? [6] : []); + var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + var index = list.indexOf(this.selectionRange[0]); + var next = (index + step + list.length) % list.length; + this.$refs.spinner.emitSelectRange(mapping[next]); + } + }, + + mounted: function mounted() { + var _this3 = this; + + this.$nextTick(function () { + return _this3.handleConfirm(true, true); + }); + this.$emit('mounted'); + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + panel_timevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/panel/time.vue" +/* harmony default export */ var time = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 30: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3); +/* harmony import */ var element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__); + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + bind: function bind(el, binding, vnode) { + var interval = null; + var startTime = void 0; + var maxIntervals = Object(element_ui_src_utils_util__WEBPACK_IMPORTED_MODULE_1__["isMac"])() ? 100 : 200; + var handler = function handler() { + return vnode.context[binding.expression].apply(); + }; + var clear = function clear() { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["on"])(el, 'mousedown', function (e) { + if (e.button !== 0) return; + startTime = Date.now(); + Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__["once"])(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}); + +/***/ }), + +/***/ 32: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.ranged + ? _c( + "el-input", + _vm._b( + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor", + class: "el-date-editor--" + _vm.type, + attrs: { + readonly: + !_vm.editable || + _vm.readonly || + _vm.type === "dates" || + _vm.type === "week" || + _vm.type === "years" || + _vm.type === "months", + disabled: _vm.pickerDisabled, + size: _vm.pickerSize, + name: _vm.name, + placeholder: _vm.placeholder, + value: _vm.displayValue, + validateEvent: false + }, + on: { + focus: _vm.handleFocus, + input: function(value) { + return (_vm.userInput = value) + }, + change: _vm.handleChange + }, + nativeOn: { + keydown: function($event) { + return _vm.handleKeydown($event) + }, + mouseenter: function($event) { + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + _vm.showClose = false + } + } + }, + "el-input", + _vm.firstInputId, + false + ), + [ + _c("i", { + staticClass: "el-input__icon", + class: _vm.triggerClass, + attrs: { slot: "prefix" }, + on: { click: _vm.handleFocus }, + slot: "prefix" + }), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + attrs: { slot: "suffix" }, + on: { click: _vm.handleClickIcon }, + slot: "suffix" + }) + : _vm._e() + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor el-range-editor el-input__inner", + class: [ + "el-date-editor--" + _vm.type, + _vm.pickerSize ? "el-range-editor--" + _vm.pickerSize : "", + _vm.pickerDisabled ? "is-disabled" : "", + _vm.pickerVisible ? "is-active" : "" + ], + on: { + click: _vm.handleRangeClick, + mouseenter: _vm.handleMouseEnter, + mouseleave: function($event) { + _vm.showClose = false + }, + keydown: _vm.handleKeydown + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-range__icon", _vm.triggerClass] + }), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.startPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[0] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[0] }, + on: { + input: _vm.handleStartInput, + change: _vm.handleStartChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.firstInputId, + false + ) + ), + _vm._t("range-separator", [ + _c("span", { staticClass: "el-range-separator" }, [ + _vm._v(_vm._s(_vm.rangeSeparator)) + ]) + ]), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.endPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[1] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[1] }, + on: { + input: _vm.handleEndInput, + change: _vm.handleEndChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.secondInputId, + false + ) + ), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon el-range__close-icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + on: { click: _vm.handleClickIcon } + }) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var NewPopper = { + props: { + appendToBody: vue_popper_default.a.props.appendToBody, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + arrowOffset: vue_popper_default.a.props.arrowOffset, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: function data() { + return merge_default()({ visibleArrow: true }, vue_popper_default.a.data); + }, + + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var DEFAULT_FORMATS = { + date: 'yyyy-MM-dd', + month: 'yyyy-MM', + months: 'yyyy-MM', + datetime: 'yyyy-MM-dd HH:mm:ss', + time: 'HH:mm:ss', + week: 'yyyywWW', + timerange: 'HH:mm:ss', + daterange: 'yyyy-MM-dd', + monthrange: 'yyyy-MM', + datetimerange: 'yyyy-MM-dd HH:mm:ss', + year: 'yyyy', + years: 'yyyy' +}; +var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'months', 'years']; +var pickervue_type_script_lang_js_DATE_FORMATTER = function DATE_FORMATTER(value, format) { + if (format === 'timestamp') return value.getTime(); + return Object(date_util_["formatDate"])(value, format); +}; +var pickervue_type_script_lang_js_DATE_PARSER = function DATE_PARSER(text, format) { + if (format === 'timestamp') return new Date(Number(text)); + return Object(date_util_["parseDate"])(text, format); +}; +var RANGE_FORMATTER = function RANGE_FORMATTER(value, format) { + if (Array.isArray(value) && value.length === 2) { + var start = value[0]; + var end = value[1]; + + if (start && end) { + return [pickervue_type_script_lang_js_DATE_FORMATTER(start, format), pickervue_type_script_lang_js_DATE_FORMATTER(end, format)]; + } + } + return ''; +}; +var RANGE_PARSER = function RANGE_PARSER(array, format, separator) { + if (!Array.isArray(array)) { + array = array.split(separator); + } + if (array.length === 2) { + var range1 = array[0]; + var range2 = array[1]; + + return [pickervue_type_script_lang_js_DATE_PARSER(range1, format), pickervue_type_script_lang_js_DATE_PARSER(range2, format)]; + } + return []; +}; +var TYPE_VALUE_RESOLVER_MAP = { + default: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + if (text === undefined || text === '') return null; + return text; + } + }, + week: { + formatter: function formatter(value, format) { + var week = Object(date_util_["getWeekNumber"])(value); + var month = value.getMonth(); + var trueDate = new Date(value); + if (week === 1 && month === 11) { + trueDate.setHours(0, 0, 0, 0); + trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7); + } + var date = Object(date_util_["formatDate"])(trueDate, format); + + date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? '0' + week : week) : date.replace(/W/, week); + return date; + }, + parser: function parser(text, format) { + // parse as if a normal date + return TYPE_VALUE_RESOLVER_MAP.date.parser(text, format); + } + }, + date: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + datetime: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + daterange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + monthrange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + datetimerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + timerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + time: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + month: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + year: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + number: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + var result = Number(text); + + if (!isNaN(text)) { + return result; + } else { + return null; + } + } + }, + dates: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + months: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + years: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + } +}; +var PLACEMENT_MAP = { + left: 'bottom-start', + center: 'bottom', + right: 'bottom-end' +}; + +var parseAsFormatAndType = function parseAsFormatAndType(value, customFormat, type) { + var rangeSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-'; + + if (!value) return null; + var parser = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).parser; + var format = customFormat || DEFAULT_FORMATS[type]; + return parser(value, format, rangeSeparator); +}; + +var formatAsFormatAndType = function formatAsFormatAndType(value, customFormat, type) { + if (!value) return null; + var formatter = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).formatter; + var format = customFormat || DEFAULT_FORMATS[type]; + return formatter(value, format); +}; + +/* + * Considers: + * 1. Date object + * 2. date string + * 3. array of 1 or 2 + */ +var valueEquals = function valueEquals(a, b) { + // considers Date object and string + var dateEquals = function dateEquals(a, b) { + var aIsDate = a instanceof Date; + var bIsDate = b instanceof Date; + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; + }; + + var aIsArray = a instanceof Array; + var bIsArray = b instanceof Array; + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every(function (item, index) { + return dateEquals(item, b[index]); + }); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; + +var isString = function isString(val) { + return typeof val === 'string' || val instanceof String; +}; + +var validator = function validator(val) { + // either: String, Array of String, null / undefined + return val === null || val === undefined || isString(val) || Array.isArray(val) && val.length === 2 && val.every(isString); +}; + +/* harmony default export */ var pickervue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, NewPopper], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + size: String, + format: String, + valueFormat: String, + readonly: Boolean, + placeholder: String, + startPlaceholder: String, + endPlaceholder: String, + prefixIcon: String, + clearIcon: { + type: String, + default: 'el-icon-circle-close' + }, + name: { + default: '', + validator: validator + }, + disabled: Boolean, + clearable: { + type: Boolean, + default: true + }, + id: { + default: '', + validator: validator + }, + popperClass: String, + editable: { + type: Boolean, + default: true + }, + align: { + type: String, + default: 'left' + }, + value: {}, + defaultValue: {}, + defaultTime: {}, + rangeSeparator: { + default: '-' + }, + pickerOptions: {}, + unlinkPanels: Boolean, + validateEvent: { + type: Boolean, + default: true + } + }, + + components: { ElInput: input_default.a }, + + directives: { Clickoutside: clickoutside_default.a }, + + data: function data() { + return { + pickerVisible: false, + showClose: false, + userInput: null, + valueOnOpen: null, // value when picker opens, used to determine whether to emit change + unwatchPickerOptions: null + }; + }, + + + watch: { + pickerVisible: function pickerVisible(val) { + if (this.readonly || this.pickerDisabled) return; + if (val) { + this.showPicker(); + this.valueOnOpen = Array.isArray(this.value) ? [].concat(this.value) : this.value; + } else { + this.hidePicker(); + this.emitChange(this.value); + this.userInput = null; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur'); + } + this.$emit('blur', this); + this.blur(); + } + }, + + parsedValue: { + immediate: true, + handler: function handler(val) { + if (this.picker) { + this.picker.value = val; + } + } + }, + defaultValue: function defaultValue(val) { + // NOTE: should eventually move to jsx style picker + panel ? + if (this.picker) { + this.picker.defaultValue = val; + } + }, + value: function value(val, oldVal) { + if (!valueEquals(val, oldVal) && !this.pickerVisible && this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + computed: { + ranged: function ranged() { + return this.type.indexOf('range') > -1; + }, + reference: function reference() { + var reference = this.$refs.reference; + return reference.$el || reference; + }, + refInput: function refInput() { + if (this.reference) { + return [].slice.call(this.reference.querySelectorAll('input')); + } + return []; + }, + valueIsEmpty: function valueIsEmpty() { + var val = this.value; + if (Array.isArray(val)) { + for (var i = 0, len = val.length; i < len; i++) { + if (val[i]) { + return false; + } + } + } else { + if (val) { + return false; + } + } + return true; + }, + triggerClass: function triggerClass() { + return this.prefixIcon || (this.type.indexOf('time') !== -1 ? 'el-icon-time' : 'el-icon-date'); + }, + selectionMode: function selectionMode() { + if (this.type === 'week') { + return 'week'; + } else if (this.type === 'month') { + return 'month'; + } else if (this.type === 'year') { + return 'year'; + } else if (this.type === 'dates') { + return 'dates'; + } else if (this.type === 'months') { + return 'months'; + } else if (this.type === 'years') { + return 'years'; + } + + return 'day'; + }, + haveTrigger: function haveTrigger() { + if (typeof this.showTrigger !== 'undefined') { + return this.showTrigger; + } + return HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1; + }, + displayValue: function displayValue() { + var formattedValue = formatAsFormatAndType(this.parsedValue, this.format, this.type, this.rangeSeparator); + if (Array.isArray(this.userInput)) { + return [this.userInput[0] || formattedValue && formattedValue[0] || '', this.userInput[1] || formattedValue && formattedValue[1] || '']; + } else if (this.userInput !== null) { + return this.userInput; + } else if (formattedValue) { + return this.type === 'dates' || this.type === 'years' || this.type === 'months' ? formattedValue.join(', ') : formattedValue; + } else { + return ''; + } + }, + parsedValue: function parsedValue() { + if (!this.value) return this.value; // component value is not set + if (this.type === 'time-select') return this.value; // time-select does not require parsing, this might change in next major version + + var valueIsDateObject = Object(date_util_["isDateObject"])(this.value) || Array.isArray(this.value) && this.value.every(date_util_["isDateObject"]); + if (valueIsDateObject) { + return this.value; + } + + if (this.valueFormat) { + return parseAsFormatAndType(this.value, this.valueFormat, this.type, this.rangeSeparator) || this.value; + } + + // NOTE: deal with common but incorrect usage, should remove in next major version + // user might provide string / timestamp without value-format, coerce them into date (or array of date) + return Array.isArray(this.value) ? this.value.map(function (val) { + return new Date(val); + }) : new Date(this.value); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + pickerSize: function pickerSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + pickerDisabled: function pickerDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + firstInputId: function firstInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[0]; + } else { + id = this.id; + } + if (id) obj.id = id; + return obj; + }, + secondInputId: function secondInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[1]; + } + if (id) obj.id = id; + return obj; + } + }, + + created: function created() { + // vue-popper + this.popperOptions = { + boundariesPadding: 0, + gpuAcceleration: false + }; + this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left; + + this.$on('fieldReset', this.handleFieldReset); + }, + + + methods: { + focus: function focus() { + if (!this.ranged) { + this.$refs.reference.focus(); + } else { + this.handleFocus(); + } + }, + blur: function blur() { + this.refInput.forEach(function (input) { + return input.blur(); + }); + }, + + + // {parse, formatTo} Value deals maps component value with internal Date + parseValue: function parseValue(value) { + var isParsed = Object(date_util_["isDateObject"])(value) || Array.isArray(value) && value.every(date_util_["isDateObject"]); + if (this.valueFormat && !isParsed) { + return parseAsFormatAndType(value, this.valueFormat, this.type, this.rangeSeparator) || value; + } else { + return value; + } + }, + formatToValue: function formatToValue(date) { + var isFormattable = Object(date_util_["isDateObject"])(date) || Array.isArray(date) && date.every(date_util_["isDateObject"]); + if (this.valueFormat && isFormattable) { + return formatAsFormatAndType(date, this.valueFormat, this.type, this.rangeSeparator); + } else { + return date; + } + }, + + + // {parse, formatTo} String deals with user input + parseString: function parseString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return parseAsFormatAndType(value, this.format, type); + }, + formatToString: function formatToString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return formatAsFormatAndType(value, this.format, type); + }, + handleMouseEnter: function handleMouseEnter() { + if (this.readonly || this.pickerDisabled) return; + if (!this.valueIsEmpty && this.clearable) { + this.showClose = true; + } + }, + handleChange: function handleChange() { + if (this.userInput) { + var value = this.parseString(this.displayValue); + if (value) { + this.picker.value = value; + if (this.isValidValue(value)) { + this.emitInput(value); + this.userInput = null; + } + } + } + if (this.userInput === '') { + this.emitInput(null); + this.emitChange(null); + this.userInput = null; + } + }, + handleStartInput: function handleStartInput(event) { + if (this.userInput) { + this.userInput = [event.target.value, this.userInput[1]]; + } else { + this.userInput = [event.target.value, null]; + } + }, + handleEndInput: function handleEndInput(event) { + if (this.userInput) { + this.userInput = [this.userInput[0], event.target.value]; + } else { + this.userInput = [null, event.target.value]; + } + }, + handleStartChange: function handleStartChange(event) { + var value = this.parseString(this.userInput && this.userInput[0]); + if (value) { + this.userInput = [this.formatToString(value), this.displayValue[1]]; + var newValue = [value, this.picker.value && this.picker.value[1]]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleEndChange: function handleEndChange(event) { + var value = this.parseString(this.userInput && this.userInput[1]); + if (value) { + this.userInput = [this.displayValue[0], this.formatToString(value)]; + var newValue = [this.picker.value && this.picker.value[0], value]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleClickIcon: function handleClickIcon(event) { + if (this.readonly || this.pickerDisabled) return; + if (this.showClose) { + this.valueOnOpen = this.value; + event.stopPropagation(); + this.emitInput(null); + this.emitChange(null); + this.showClose = false; + if (this.picker && typeof this.picker.handleClear === 'function') { + this.picker.handleClear(); + } + } else { + this.pickerVisible = !this.pickerVisible; + } + }, + handleClose: function handleClose() { + if (!this.pickerVisible) return; + this.pickerVisible = false; + + if (this.type === 'dates' || this.type === 'years' || this.type === 'months') { + // restore to former value + var oldValue = parseAsFormatAndType(this.valueOnOpen, this.valueFormat, this.type, this.rangeSeparator) || this.valueOnOpen; + this.emitInput(oldValue); + } + }, + handleFieldReset: function handleFieldReset(initialValue) { + this.userInput = initialValue === '' ? null : initialValue; + }, + handleFocus: function handleFocus() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + handleKeydown: function handleKeydown(event) { + var _this = this; + + var keyCode = event.keyCode; + + // ESC + if (keyCode === 27) { + this.pickerVisible = false; + event.stopPropagation(); + return; + } + + // Tab + if (keyCode === 9) { + if (!this.ranged) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + event.stopPropagation(); + } else { + // user may change focus between two input + setTimeout(function () { + if (_this.refInput.indexOf(document.activeElement) === -1) { + _this.pickerVisible = false; + _this.blur(); + event.stopPropagation(); + } + }, 0); + } + return; + } + + // Enter + if (keyCode === 13) { + if (this.userInput === '' || this.isValidValue(this.parseString(this.displayValue))) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + } + event.stopPropagation(); + return; + } + + // if user is typing, do not let picker handle key input + if (this.userInput) { + event.stopPropagation(); + return; + } + + // delegate other keys to panel + if (this.picker && this.picker.handleKeydown) { + this.picker.handleKeydown(event); + } + }, + handleRangeClick: function handleRangeClick() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + hidePicker: function hidePicker() { + if (this.picker) { + this.picker.resetView && this.picker.resetView(); + this.pickerVisible = this.picker.visible = false; + this.destroyPopper(); + } + }, + showPicker: function showPicker() { + var _this2 = this; + + if (this.$isServer) return; + if (!this.picker) { + this.mountPicker(); + } + this.pickerVisible = this.picker.visible = true; + + this.updatePopper(); + + this.picker.value = this.parsedValue; + this.picker.resetView && this.picker.resetView(); + + this.$nextTick(function () { + _this2.picker.adjustSpinners && _this2.picker.adjustSpinners(); + }); + }, + mountPicker: function mountPicker() { + var _this3 = this; + + this.picker = new external_vue_default.a(this.panel).$mount(); + this.picker.defaultValue = this.defaultValue; + this.picker.defaultTime = this.defaultTime; + this.picker.popperClass = this.popperClass; + this.popperElm = this.picker.$el; + this.picker.width = this.reference.getBoundingClientRect().width; + this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'; + this.picker.selectionMode = this.selectionMode; + this.picker.unlinkPanels = this.unlinkPanels; + this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false; + this.$watch('format', function (format) { + _this3.picker.format = format; + }); + + var updateOptions = function updateOptions() { + var options = _this3.pickerOptions; + + if (options && options.selectableRange) { + var ranges = options.selectableRange; + var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser; + var format = DEFAULT_FORMATS.timerange; + + ranges = Array.isArray(ranges) ? ranges : [ranges]; + _this3.picker.selectableRange = ranges.map(function (range) { + return parser(range, format, _this3.rangeSeparator); + }); + } + + for (var option in options) { + if (options.hasOwnProperty(option) && + // 敹賜 time-picker ��砲��蔭憿� + option !== 'selectableRange') { + _this3.picker[option] = options[option]; + } + } + + // main format must prevail over undocumented pickerOptions.format + if (_this3.format) { + _this3.picker.format = _this3.format; + } + }; + updateOptions(); + this.unwatchPickerOptions = this.$watch('pickerOptions', function () { + return updateOptions(); + }, { deep: true }); + this.$el.appendChild(this.picker.$el); + this.picker.resetView && this.picker.resetView(); + + this.picker.$on('dodestroy', this.doDestroy); + this.picker.$on('pick', function () { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + _this3.userInput = null; + _this3.pickerVisible = _this3.picker.visible = visible; + _this3.emitInput(date); + _this3.picker.resetView && _this3.picker.resetView(); + }); + + this.picker.$on('select-range', function (start, end, pos) { + if (_this3.refInput.length === 0) return; + if (!pos || pos === 'min') { + _this3.refInput[0].setSelectionRange(start, end); + _this3.refInput[0].focus(); + } else if (pos === 'max') { + _this3.refInput[1].setSelectionRange(start, end); + _this3.refInput[1].focus(); + } + }); + }, + unmountPicker: function unmountPicker() { + if (this.picker) { + this.picker.$destroy(); + this.picker.$off(); + if (typeof this.unwatchPickerOptions === 'function') { + this.unwatchPickerOptions(); + } + this.picker.$el.parentNode.removeChild(this.picker.$el); + } + }, + emitChange: function emitChange(val) { + // determine user real change only + if (!valueEquals(val, this.valueOnOpen)) { + this.$emit('change', val); + this.valueOnOpen = val; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + emitInput: function emitInput(val) { + var formatted = this.formatToValue(val); + if (!valueEquals(this.value, formatted)) { + this.$emit('input', formatted); + } + }, + isValidValue: function isValidValue(value) { + if (!this.picker) { + this.mountPicker(); + } + if (this.picker.isValidValue) { + return value && this.picker.isValidValue(value); + } else { + return true; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_pickervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/picker.vue" +/* harmony default export */ var picker = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 34: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-time-spinner", + class: { "has-seconds": _vm.showSeconds } + }, + [ + !_vm.arrowControl + ? [ + _c( + "el-scrollbar", + { + ref: "hours", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("hours") + } + } + }, + _vm._l(_vm.hoursList, function(disabled, hour) { + return _c( + "li", + { + key: hour, + staticClass: "el-time-spinner__item", + class: { active: hour === _vm.hours, disabled: disabled }, + on: { + click: function($event) { + _vm.handleClick("hours", { + value: hour, + disabled: disabled + }) + } + } + }, + [ + _vm._v( + _vm._s( + ("0" + (_vm.amPmMode ? hour % 12 || 12 : hour)).slice( + -2 + ) + ) + _vm._s(_vm.amPm(hour)) + ) + ] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + ref: "minutes", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("minutes") + } + } + }, + _vm._l(_vm.minutesList, function(enabled, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.minutes, disabled: !enabled }, + on: { + click: function($event) { + _vm.handleClick("minutes", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ), + _c( + "el-scrollbar", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.showSeconds, + expression: "showSeconds" + } + ], + ref: "seconds", + staticClass: "el-time-spinner__wrapper", + attrs: { + "wrap-style": "max-height: inherit;", + "view-class": "el-time-spinner__list", + noresize: "", + tag: "ul" + }, + nativeOn: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + }, + mousemove: function($event) { + _vm.adjustCurrentSpinner("seconds") + } + } + }, + _vm._l(60, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: key === _vm.seconds }, + on: { + click: function($event) { + _vm.handleClick("seconds", { + value: key, + disabled: false + }) + } + } + }, + [_vm._v(_vm._s(("0" + key).slice(-2)))] + ) + }), + 0 + ) + ] + : _vm._e(), + _vm.arrowControl + ? [ + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("hours") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "hours", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowHourList, function(hour, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { + active: hour === _vm.hours, + disabled: _vm.hoursList[hour] + } + }, + [ + _vm._v( + _vm._s( + hour === undefined + ? "" + : ( + "0" + (_vm.amPmMode ? hour % 12 || 12 : hour) + ).slice(-2) + _vm.amPm(hour) + ) + ) + ] + ) + }), + 0 + ) + ] + ), + _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("minutes") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "minutes", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowMinuteList, function(minute, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: minute === _vm.minutes } + }, + [ + _vm._v( + "\n " + + _vm._s( + minute === undefined + ? "" + : ("0" + minute).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ), + _vm.showSeconds + ? _c( + "div", + { + staticClass: "el-time-spinner__wrapper is-arrow", + on: { + mouseenter: function($event) { + _vm.emitSelectRange("seconds") + } + } + }, + [ + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.decrease, + expression: "decrease" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-up" + }), + _c("i", { + directives: [ + { + name: "repeat-click", + rawName: "v-repeat-click", + value: _vm.increase, + expression: "increase" + } + ], + staticClass: "el-time-spinner__arrow el-icon-arrow-down" + }), + _c( + "ul", + { ref: "seconds", staticClass: "el-time-spinner__list" }, + _vm._l(_vm.arrowSecondList, function(second, key) { + return _c( + "li", + { + key: key, + staticClass: "el-time-spinner__item", + class: { active: second === _vm.seconds } + }, + [ + _vm._v( + "\n " + + _vm._s( + second === undefined + ? "" + : ("0" + second).slice(-2) + ) + + "\n " + ) + ] + ) + }), + 0 + ) + ] + ) + : _vm._e() + ] + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=template&id=1facadeb& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: ./src/directives/repeat-click.js +var repeat_click = __webpack_require__(30); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_spinnervue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + + directives: { + repeatClick: repeat_click["a" /* default */] + }, + + props: { + date: {}, + defaultValue: {}, // reserved for future use + showSeconds: { + type: Boolean, + default: true + }, + arrowControl: Boolean, + amPmMode: { + type: String, + default: '' // 'a': am/pm; 'A': AM/PM + } + }, + + computed: { + hours: function hours() { + return this.date.getHours(); + }, + minutes: function minutes() { + return this.date.getMinutes(); + }, + seconds: function seconds() { + return this.date.getSeconds(); + }, + hoursList: function hoursList() { + return Object(date_util_["getRangeHours"])(this.selectableRange); + }, + minutesList: function minutesList() { + return Object(date_util_["getRangeMinutes"])(this.selectableRange, this.hours); + }, + arrowHourList: function arrowHourList() { + var hours = this.hours; + return [hours > 0 ? hours - 1 : undefined, hours, hours < 23 ? hours + 1 : undefined]; + }, + arrowMinuteList: function arrowMinuteList() { + var minutes = this.minutes; + return [minutes > 0 ? minutes - 1 : undefined, minutes, minutes < 59 ? minutes + 1 : undefined]; + }, + arrowSecondList: function arrowSecondList() { + var seconds = this.seconds; + return [seconds > 0 ? seconds - 1 : undefined, seconds, seconds < 59 ? seconds + 1 : undefined]; + } + }, + + data: function data() { + return { + selectableRange: [], + currentScrollbar: null + }; + }, + mounted: function mounted() { + var _this = this; + + this.$nextTick(function () { + !_this.arrowControl && _this.bindScrollEvent(); + }); + }, + + + methods: { + increase: function increase() { + this.scrollDown(1); + }, + decrease: function decrease() { + this.scrollDown(-1); + }, + modifyDateField: function modifyDateField(type, value) { + switch (type) { + case 'hours': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, value, this.minutes, this.seconds));break; + case 'minutes': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, value, this.seconds));break; + case 'seconds': + this.$emit('change', Object(date_util_["modifyTime"])(this.date, this.hours, this.minutes, value));break; + } + }, + handleClick: function handleClick(type, _ref) { + var value = _ref.value, + disabled = _ref.disabled; + + if (!disabled) { + this.modifyDateField(type, value); + this.emitSelectRange(type); + this.adjustSpinner(type, value); + } + }, + emitSelectRange: function emitSelectRange(type) { + if (type === 'hours') { + this.$emit('select-range', 0, 2); + } else if (type === 'minutes') { + this.$emit('select-range', 3, 5); + } else if (type === 'seconds') { + this.$emit('select-range', 6, 8); + } + this.currentScrollbar = type; + }, + bindScrollEvent: function bindScrollEvent() { + var _this2 = this; + + var bindFunction = function bindFunction(type) { + _this2.$refs[type].wrap.onscroll = function (e) { + // TODO: scroll is emitted when set scrollTop programatically + // should find better solutions in the future! + _this2.handleScroll(type, e); + }; + }; + bindFunction('hours'); + bindFunction('minutes'); + bindFunction('seconds'); + }, + handleScroll: function handleScroll(type) { + var value = Math.min(Math.round((this.$refs[type].wrap.scrollTop - (this.scrollBarHeight(type) * 0.5 - 10) / this.typeItemHeight(type) + 3) / this.typeItemHeight(type)), type === 'hours' ? 23 : 59); + this.modifyDateField(type, value); + }, + + + // NOTE: used by datetime / date-range panel + // renamed from adjustScrollTop + // should try to refactory it + adjustSpinners: function adjustSpinners() { + this.adjustSpinner('hours', this.hours); + this.adjustSpinner('minutes', this.minutes); + this.adjustSpinner('seconds', this.seconds); + }, + adjustCurrentSpinner: function adjustCurrentSpinner(type) { + this.adjustSpinner(type, this[type]); + }, + adjustSpinner: function adjustSpinner(type, value) { + if (this.arrowControl) return; + var el = this.$refs[type].wrap; + if (el) { + el.scrollTop = Math.max(0, value * this.typeItemHeight(type)); + } + }, + scrollDown: function scrollDown(step) { + var _this3 = this; + + if (!this.currentScrollbar) { + this.emitSelectRange('hours'); + } + + var label = this.currentScrollbar; + var hoursList = this.hoursList; + var now = this[label]; + + if (this.currentScrollbar === 'hours') { + var total = Math.abs(step); + step = step > 0 ? 1 : -1; + var length = hoursList.length; + while (length-- && total) { + now = (now + step + hoursList.length) % hoursList.length; + if (hoursList[now]) { + continue; + } + total--; + } + if (hoursList[now]) return; + } else { + now = (now + step + 60) % 60; + } + + this.modifyDateField(label, now); + this.adjustSpinner(label, now); + this.$nextTick(function () { + return _this3.emitSelectRange(_this3.currentScrollbar); + }); + }, + amPm: function amPm(hour) { + var shouldShowAmPm = this.amPmMode.toLowerCase() === 'a'; + if (!shouldShowAmPm) return ''; + var isCapital = this.amPmMode === 'A'; + var content = hour < 12 ? ' am' : ' pm'; + if (isCapital) content = content.toUpperCase(); + return content; + }, + typeItemHeight: function typeItemHeight(type) { + return this.$refs[type].$el.querySelector('li').offsetHeight; + }, + scrollBarHeight: function scrollBarHeight(type) { + return this.$refs[type].$el.offsetHeight; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue?vue&type=script&lang=js& + /* harmony default export */ var basic_time_spinnervue_type_script_lang_js_ = (time_spinnervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/basic/time-spinner.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + basic_time_spinnervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/basic/time-spinner.vue" +/* harmony default export */ var time_spinner = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 77: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules +var picker = __webpack_require__(32); + +// EXTERNAL MODULE: ./packages/date-picker/src/panel/time.vue + 4 modules +var time = __webpack_require__(27); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + staticClass: "el-time-range-picker el-picker-panel el-popper", + class: _vm.popperClass + }, + [ + _c("div", { staticClass: "el-time-range-picker__content" }, [ + _c("div", { staticClass: "el-time-range-picker__cell" }, [ + _c("div", { staticClass: "el-time-range-picker__header" }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.startTime"))) + ]), + _c( + "div", + { + staticClass: + "el-time-range-picker__body el-time-panel__content", + class: { + "has-seconds": _vm.showSeconds, + "is-arrow": _vm.arrowControl + } + }, + [ + _c("time-spinner", { + ref: "minSpinner", + attrs: { + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + "arrow-control": _vm.arrowControl, + date: _vm.minDate + }, + on: { + change: _vm.handleMinChange, + "select-range": _vm.setMinSelectionRange + } + }) + ], + 1 + ) + ]), + _c("div", { staticClass: "el-time-range-picker__cell" }, [ + _c("div", { staticClass: "el-time-range-picker__header" }, [ + _vm._v(_vm._s(_vm.t("el.datepicker.endTime"))) + ]), + _c( + "div", + { + staticClass: + "el-time-range-picker__body el-time-panel__content", + class: { + "has-seconds": _vm.showSeconds, + "is-arrow": _vm.arrowControl + } + }, + [ + _c("time-spinner", { + ref: "maxSpinner", + attrs: { + "show-seconds": _vm.showSeconds, + "am-pm-mode": _vm.amPmMode, + "arrow-control": _vm.arrowControl, + date: _vm.maxDate + }, + on: { + change: _vm.handleMaxChange, + "select-range": _vm.setMaxSelectionRange + } + }) + ], + 1 + ) + ]) + ]), + _c("div", { staticClass: "el-time-panel__footer" }, [ + _c( + "button", + { + staticClass: "el-time-panel__btn cancel", + attrs: { type: "button" }, + on: { + click: function($event) { + _vm.handleCancel() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))] + ), + _c( + "button", + { + staticClass: "el-time-panel__btn confirm", + attrs: { type: "button", disabled: _vm.btnDisabled }, + on: { + click: function($event) { + _vm.handleConfirm() + } + } + }, + [_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))] + ) + ]) + ] + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=template&id=fb28660e& + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: ./packages/date-picker/src/basic/time-spinner.vue + 4 modules +var time_spinner = __webpack_require__(34); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +var MIN_TIME = Object(date_util_["parseDate"])('00:00:00', 'HH:mm:ss'); +var MAX_TIME = Object(date_util_["parseDate"])('23:59:59', 'HH:mm:ss'); + +var time_rangevue_type_script_lang_js_minTimeOfDay = function minTimeOfDay(date) { + return Object(date_util_["modifyDate"])(MIN_TIME, date.getFullYear(), date.getMonth(), date.getDate()); +}; + +var time_rangevue_type_script_lang_js_maxTimeOfDay = function maxTimeOfDay(date) { + return Object(date_util_["modifyDate"])(MAX_TIME, date.getFullYear(), date.getMonth(), date.getDate()); +}; + +// increase time by amount of milliseconds, but within the range of day +var advanceTime = function advanceTime(date, amount) { + return new Date(Math.min(date.getTime() + amount, time_rangevue_type_script_lang_js_maxTimeOfDay(date).getTime())); +}; + +/* harmony default export */ var time_rangevue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + components: { TimeSpinner: time_spinner["a" /* default */] }, + + computed: { + showSeconds: function showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + offset: function offset() { + return this.showSeconds ? 11 : 8; + }, + spinner: function spinner() { + return this.selectionRange[0] < this.offset ? this.$refs.minSpinner : this.$refs.maxSpinner; + }, + btnDisabled: function btnDisabled() { + return this.minDate.getTime() > this.maxDate.getTime(); + }, + amPmMode: function amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + data: function data() { + return { + popperClass: '', + minDate: new Date(), + maxDate: new Date(), + value: [], + oldValue: [new Date(), new Date()], + defaultValue: null, + format: 'HH:mm:ss', + visible: false, + selectionRange: [0, 2], + arrowControl: false + }; + }, + + + watch: { + value: function value(_value) { + if (Array.isArray(_value)) { + this.minDate = new Date(_value[0]); + this.maxDate = new Date(_value[1]); + } else { + if (Array.isArray(this.defaultValue)) { + this.minDate = new Date(this.defaultValue[0]); + this.maxDate = new Date(this.defaultValue[1]); + } else if (this.defaultValue) { + this.minDate = new Date(this.defaultValue); + this.maxDate = advanceTime(new Date(this.defaultValue), 60 * 60 * 1000); + } else { + this.minDate = new Date(); + this.maxDate = advanceTime(new Date(), 60 * 60 * 1000); + } + } + }, + visible: function visible(val) { + var _this = this; + + if (val) { + this.oldValue = this.value; + this.$nextTick(function () { + return _this.$refs.minSpinner.emitSelectRange('hours'); + }); + } + } + }, + + methods: { + handleClear: function handleClear() { + this.$emit('pick', null); + }, + handleCancel: function handleCancel() { + this.$emit('pick', this.oldValue); + }, + handleMinChange: function handleMinChange(date) { + this.minDate = Object(date_util_["clearMilliseconds"])(date); + this.handleChange(); + }, + handleMaxChange: function handleMaxChange(date) { + this.maxDate = Object(date_util_["clearMilliseconds"])(date); + this.handleChange(); + }, + handleChange: function handleChange() { + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$refs.minSpinner.selectableRange = [[time_rangevue_type_script_lang_js_minTimeOfDay(this.minDate), this.maxDate]]; + this.$refs.maxSpinner.selectableRange = [[this.minDate, time_rangevue_type_script_lang_js_maxTimeOfDay(this.maxDate)]]; + this.$emit('pick', [this.minDate, this.maxDate], true); + } + }, + setMinSelectionRange: function setMinSelectionRange(start, end) { + this.$emit('select-range', start, end, 'min'); + this.selectionRange = [start, end]; + }, + setMaxSelectionRange: function setMaxSelectionRange(start, end) { + this.$emit('select-range', start, end, 'max'); + this.selectionRange = [start + this.offset, end + this.offset]; + }, + handleConfirm: function handleConfirm() { + var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + var minSelectableRange = this.$refs.minSpinner.selectableRange; + var maxSelectableRange = this.$refs.maxSpinner.selectableRange; + + this.minDate = Object(date_util_["limitTimeRange"])(this.minDate, minSelectableRange, this.format); + this.maxDate = Object(date_util_["limitTimeRange"])(this.maxDate, maxSelectableRange, this.format); + + this.$emit('pick', [this.minDate, this.maxDate], visible); + }, + adjustSpinners: function adjustSpinners() { + this.$refs.minSpinner.adjustSpinners(); + this.$refs.maxSpinner.adjustSpinners(); + }, + changeSelectionRange: function changeSelectionRange(step) { + var list = this.showSeconds ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]; + var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + var index = list.indexOf(this.selectionRange[0]); + var next = (index + step + list.length) % list.length; + var half = list.length / 2; + if (next < half) { + this.$refs.minSpinner.emitSelectRange(mapping[next]); + } else { + this.$refs.maxSpinner.emitSelectRange(mapping[next - half]); + } + }, + isValidValue: function isValidValue(date) { + return Array.isArray(date) && Object(date_util_["timeWithinRange"])(this.minDate, this.$refs.minSpinner.selectableRange) && Object(date_util_["timeWithinRange"])(this.maxDate, this.$refs.maxSpinner.selectableRange); + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + var step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + var _step = mapping[keyCode]; + this.spinner.scrollDown(_step); + event.preventDefault(); + return; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_time_rangevue_type_script_lang_js_ = (time_rangevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-range.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + panel_time_rangevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/panel/time-range.vue" +/* harmony default export */ var time_range = (component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-picker.js + + + + +/* harmony default export */ var time_picker = ({ + mixins: [picker["a" /* default */]], + + name: 'ElTimePicker', + + props: { + isRange: Boolean, + arrowControl: Boolean + }, + + data: function data() { + return { + type: '' + }; + }, + + + watch: { + isRange: function isRange(_isRange) { + if (this.picker) { + this.unmountPicker(); + this.type = _isRange ? 'timerange' : 'time'; + this.panel = _isRange ? time_range : time["a" /* default */]; + this.mountPicker(); + } else { + this.type = _isRange ? 'timerange' : 'time'; + this.panel = _isRange ? time_range : time["a" /* default */]; + } + } + }, + + created: function created() { + this.type = this.isRange ? 'timerange' : 'time'; + this.panel = this.isRange ? time_range : time["a" /* default */]; + } +}); +// CONCATENATED MODULE: ./packages/time-picker/index.js + + +/* istanbul ignore next */ +time_picker.install = function (Vue) { + Vue.component(time_picker.name, time_picker); +}; + +/* harmony default export */ var packages_time_picker = __webpack_exports__["default"] = (time_picker); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/time-select.js b/PAMapp/local_modules/element-ui/lib/time-select.js new file mode 100644 index 0000000..94dcc0b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/time-select.js @@ -0,0 +1,1767 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 76); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 1: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/date-util"); + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 12: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/clickoutside"); + +/***/ }), + +/***/ 15: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/scrollbar"); + +/***/ }), + +/***/ 31: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/scroll-into-view"); + +/***/ }), + +/***/ 32: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return !_vm.ranged + ? _c( + "el-input", + _vm._b( + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor", + class: "el-date-editor--" + _vm.type, + attrs: { + readonly: + !_vm.editable || + _vm.readonly || + _vm.type === "dates" || + _vm.type === "week" || + _vm.type === "years" || + _vm.type === "months", + disabled: _vm.pickerDisabled, + size: _vm.pickerSize, + name: _vm.name, + placeholder: _vm.placeholder, + value: _vm.displayValue, + validateEvent: false + }, + on: { + focus: _vm.handleFocus, + input: function(value) { + return (_vm.userInput = value) + }, + change: _vm.handleChange + }, + nativeOn: { + keydown: function($event) { + return _vm.handleKeydown($event) + }, + mouseenter: function($event) { + return _vm.handleMouseEnter($event) + }, + mouseleave: function($event) { + _vm.showClose = false + } + } + }, + "el-input", + _vm.firstInputId, + false + ), + [ + _c("i", { + staticClass: "el-input__icon", + class: _vm.triggerClass, + attrs: { slot: "prefix" }, + on: { click: _vm.handleFocus }, + slot: "prefix" + }), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + attrs: { slot: "suffix" }, + on: { click: _vm.handleClickIcon }, + slot: "suffix" + }) + : _vm._e() + ] + ) + : _c( + "div", + { + directives: [ + { + name: "clickoutside", + rawName: "v-clickoutside", + value: _vm.handleClose, + expression: "handleClose" + } + ], + ref: "reference", + staticClass: "el-date-editor el-range-editor el-input__inner", + class: [ + "el-date-editor--" + _vm.type, + _vm.pickerSize ? "el-range-editor--" + _vm.pickerSize : "", + _vm.pickerDisabled ? "is-disabled" : "", + _vm.pickerVisible ? "is-active" : "" + ], + on: { + click: _vm.handleRangeClick, + mouseenter: _vm.handleMouseEnter, + mouseleave: function($event) { + _vm.showClose = false + }, + keydown: _vm.handleKeydown + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-range__icon", _vm.triggerClass] + }), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.startPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[0] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[0] }, + on: { + input: _vm.handleStartInput, + change: _vm.handleStartChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.firstInputId, + false + ) + ), + _vm._t("range-separator", [ + _c("span", { staticClass: "el-range-separator" }, [ + _vm._v(_vm._s(_vm.rangeSeparator)) + ]) + ]), + _c( + "input", + _vm._b( + { + staticClass: "el-range-input", + attrs: { + autocomplete: "off", + placeholder: _vm.endPlaceholder, + disabled: _vm.pickerDisabled, + readonly: !_vm.editable || _vm.readonly, + name: _vm.name && _vm.name[1] + }, + domProps: { value: _vm.displayValue && _vm.displayValue[1] }, + on: { + input: _vm.handleEndInput, + change: _vm.handleEndChange, + focus: _vm.handleFocus + } + }, + "input", + _vm.secondInputId, + false + ) + ), + _vm.haveTrigger + ? _c("i", { + staticClass: "el-input__icon el-range__close-icon", + class: [_vm.showClose ? "" + _vm.clearIcon : ""], + on: { click: _vm.handleClickIcon } + }) + : _vm._e() + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=template&id=79ae069f& + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/clickoutside" +var clickoutside_ = __webpack_require__(12); +var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/date-util" +var date_util_ = __webpack_require__(1); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/picker.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + +var NewPopper = { + props: { + appendToBody: vue_popper_default.a.props.appendToBody, + offset: vue_popper_default.a.props.offset, + boundariesPadding: vue_popper_default.a.props.boundariesPadding, + arrowOffset: vue_popper_default.a.props.arrowOffset, + transformOrigin: vue_popper_default.a.props.transformOrigin + }, + methods: vue_popper_default.a.methods, + data: function data() { + return merge_default()({ visibleArrow: true }, vue_popper_default.a.data); + }, + + beforeDestroy: vue_popper_default.a.beforeDestroy +}; + +var DEFAULT_FORMATS = { + date: 'yyyy-MM-dd', + month: 'yyyy-MM', + months: 'yyyy-MM', + datetime: 'yyyy-MM-dd HH:mm:ss', + time: 'HH:mm:ss', + week: 'yyyywWW', + timerange: 'HH:mm:ss', + daterange: 'yyyy-MM-dd', + monthrange: 'yyyy-MM', + datetimerange: 'yyyy-MM-dd HH:mm:ss', + year: 'yyyy', + years: 'yyyy' +}; +var HAVE_TRIGGER_TYPES = ['date', 'datetime', 'time', 'time-select', 'week', 'month', 'year', 'daterange', 'monthrange', 'timerange', 'datetimerange', 'dates', 'months', 'years']; +var pickervue_type_script_lang_js_DATE_FORMATTER = function DATE_FORMATTER(value, format) { + if (format === 'timestamp') return value.getTime(); + return Object(date_util_["formatDate"])(value, format); +}; +var pickervue_type_script_lang_js_DATE_PARSER = function DATE_PARSER(text, format) { + if (format === 'timestamp') return new Date(Number(text)); + return Object(date_util_["parseDate"])(text, format); +}; +var RANGE_FORMATTER = function RANGE_FORMATTER(value, format) { + if (Array.isArray(value) && value.length === 2) { + var start = value[0]; + var end = value[1]; + + if (start && end) { + return [pickervue_type_script_lang_js_DATE_FORMATTER(start, format), pickervue_type_script_lang_js_DATE_FORMATTER(end, format)]; + } + } + return ''; +}; +var RANGE_PARSER = function RANGE_PARSER(array, format, separator) { + if (!Array.isArray(array)) { + array = array.split(separator); + } + if (array.length === 2) { + var range1 = array[0]; + var range2 = array[1]; + + return [pickervue_type_script_lang_js_DATE_PARSER(range1, format), pickervue_type_script_lang_js_DATE_PARSER(range2, format)]; + } + return []; +}; +var TYPE_VALUE_RESOLVER_MAP = { + default: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + if (text === undefined || text === '') return null; + return text; + } + }, + week: { + formatter: function formatter(value, format) { + var week = Object(date_util_["getWeekNumber"])(value); + var month = value.getMonth(); + var trueDate = new Date(value); + if (week === 1 && month === 11) { + trueDate.setHours(0, 0, 0, 0); + trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7); + } + var date = Object(date_util_["formatDate"])(trueDate, format); + + date = /WW/.test(date) ? date.replace(/WW/, week < 10 ? '0' + week : week) : date.replace(/W/, week); + return date; + }, + parser: function parser(text, format) { + // parse as if a normal date + return TYPE_VALUE_RESOLVER_MAP.date.parser(text, format); + } + }, + date: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + datetime: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + daterange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + monthrange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + datetimerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + timerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + time: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + month: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + year: { + formatter: pickervue_type_script_lang_js_DATE_FORMATTER, + parser: pickervue_type_script_lang_js_DATE_PARSER + }, + number: { + formatter: function formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser: function parser(text) { + var result = Number(text); + + if (!isNaN(text)) { + return result; + } else { + return null; + } + } + }, + dates: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + months: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + }, + years: { + formatter: function formatter(value, format) { + return value.map(function (date) { + return pickervue_type_script_lang_js_DATE_FORMATTER(date, format); + }); + }, + parser: function parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value).map(function (date) { + return date instanceof Date ? date : pickervue_type_script_lang_js_DATE_PARSER(date, format); + }); + } + } +}; +var PLACEMENT_MAP = { + left: 'bottom-start', + center: 'bottom', + right: 'bottom-end' +}; + +var parseAsFormatAndType = function parseAsFormatAndType(value, customFormat, type) { + var rangeSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '-'; + + if (!value) return null; + var parser = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).parser; + var format = customFormat || DEFAULT_FORMATS[type]; + return parser(value, format, rangeSeparator); +}; + +var formatAsFormatAndType = function formatAsFormatAndType(value, customFormat, type) { + if (!value) return null; + var formatter = (TYPE_VALUE_RESOLVER_MAP[type] || TYPE_VALUE_RESOLVER_MAP['default']).formatter; + var format = customFormat || DEFAULT_FORMATS[type]; + return formatter(value, format); +}; + +/* + * Considers: + * 1. Date object + * 2. date string + * 3. array of 1 or 2 + */ +var valueEquals = function valueEquals(a, b) { + // considers Date object and string + var dateEquals = function dateEquals(a, b) { + var aIsDate = a instanceof Date; + var bIsDate = b instanceof Date; + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; + }; + + var aIsArray = a instanceof Array; + var bIsArray = b instanceof Array; + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every(function (item, index) { + return dateEquals(item, b[index]); + }); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; + +var isString = function isString(val) { + return typeof val === 'string' || val instanceof String; +}; + +var validator = function validator(val) { + // either: String, Array of String, null / undefined + return val === null || val === undefined || isString(val) || Array.isArray(val) && val.length === 2 && val.every(isString); +}; + +/* harmony default export */ var pickervue_type_script_lang_js_ = ({ + mixins: [emitter_default.a, NewPopper], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + size: String, + format: String, + valueFormat: String, + readonly: Boolean, + placeholder: String, + startPlaceholder: String, + endPlaceholder: String, + prefixIcon: String, + clearIcon: { + type: String, + default: 'el-icon-circle-close' + }, + name: { + default: '', + validator: validator + }, + disabled: Boolean, + clearable: { + type: Boolean, + default: true + }, + id: { + default: '', + validator: validator + }, + popperClass: String, + editable: { + type: Boolean, + default: true + }, + align: { + type: String, + default: 'left' + }, + value: {}, + defaultValue: {}, + defaultTime: {}, + rangeSeparator: { + default: '-' + }, + pickerOptions: {}, + unlinkPanels: Boolean, + validateEvent: { + type: Boolean, + default: true + } + }, + + components: { ElInput: input_default.a }, + + directives: { Clickoutside: clickoutside_default.a }, + + data: function data() { + return { + pickerVisible: false, + showClose: false, + userInput: null, + valueOnOpen: null, // value when picker opens, used to determine whether to emit change + unwatchPickerOptions: null + }; + }, + + + watch: { + pickerVisible: function pickerVisible(val) { + if (this.readonly || this.pickerDisabled) return; + if (val) { + this.showPicker(); + this.valueOnOpen = Array.isArray(this.value) ? [].concat(this.value) : this.value; + } else { + this.hidePicker(); + this.emitChange(this.value); + this.userInput = null; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur'); + } + this.$emit('blur', this); + this.blur(); + } + }, + + parsedValue: { + immediate: true, + handler: function handler(val) { + if (this.picker) { + this.picker.value = val; + } + } + }, + defaultValue: function defaultValue(val) { + // NOTE: should eventually move to jsx style picker + panel ? + if (this.picker) { + this.picker.defaultValue = val; + } + }, + value: function value(val, oldVal) { + if (!valueEquals(val, oldVal) && !this.pickerVisible && this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + computed: { + ranged: function ranged() { + return this.type.indexOf('range') > -1; + }, + reference: function reference() { + var reference = this.$refs.reference; + return reference.$el || reference; + }, + refInput: function refInput() { + if (this.reference) { + return [].slice.call(this.reference.querySelectorAll('input')); + } + return []; + }, + valueIsEmpty: function valueIsEmpty() { + var val = this.value; + if (Array.isArray(val)) { + for (var i = 0, len = val.length; i < len; i++) { + if (val[i]) { + return false; + } + } + } else { + if (val) { + return false; + } + } + return true; + }, + triggerClass: function triggerClass() { + return this.prefixIcon || (this.type.indexOf('time') !== -1 ? 'el-icon-time' : 'el-icon-date'); + }, + selectionMode: function selectionMode() { + if (this.type === 'week') { + return 'week'; + } else if (this.type === 'month') { + return 'month'; + } else if (this.type === 'year') { + return 'year'; + } else if (this.type === 'dates') { + return 'dates'; + } else if (this.type === 'months') { + return 'months'; + } else if (this.type === 'years') { + return 'years'; + } + + return 'day'; + }, + haveTrigger: function haveTrigger() { + if (typeof this.showTrigger !== 'undefined') { + return this.showTrigger; + } + return HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1; + }, + displayValue: function displayValue() { + var formattedValue = formatAsFormatAndType(this.parsedValue, this.format, this.type, this.rangeSeparator); + if (Array.isArray(this.userInput)) { + return [this.userInput[0] || formattedValue && formattedValue[0] || '', this.userInput[1] || formattedValue && formattedValue[1] || '']; + } else if (this.userInput !== null) { + return this.userInput; + } else if (formattedValue) { + return this.type === 'dates' || this.type === 'years' || this.type === 'months' ? formattedValue.join(', ') : formattedValue; + } else { + return ''; + } + }, + parsedValue: function parsedValue() { + if (!this.value) return this.value; // component value is not set + if (this.type === 'time-select') return this.value; // time-select does not require parsing, this might change in next major version + + var valueIsDateObject = Object(date_util_["isDateObject"])(this.value) || Array.isArray(this.value) && this.value.every(date_util_["isDateObject"]); + if (valueIsDateObject) { + return this.value; + } + + if (this.valueFormat) { + return parseAsFormatAndType(this.value, this.valueFormat, this.type, this.rangeSeparator) || this.value; + } + + // NOTE: deal with common but incorrect usage, should remove in next major version + // user might provide string / timestamp without value-format, coerce them into date (or array of date) + return Array.isArray(this.value) ? this.value.map(function (val) { + return new Date(val); + }) : new Date(this.value); + }, + _elFormItemSize: function _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + pickerSize: function pickerSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + pickerDisabled: function pickerDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + firstInputId: function firstInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[0]; + } else { + id = this.id; + } + if (id) obj.id = id; + return obj; + }, + secondInputId: function secondInputId() { + var obj = {}; + var id = void 0; + if (this.ranged) { + id = this.id && this.id[1]; + } + if (id) obj.id = id; + return obj; + } + }, + + created: function created() { + // vue-popper + this.popperOptions = { + boundariesPadding: 0, + gpuAcceleration: false + }; + this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left; + + this.$on('fieldReset', this.handleFieldReset); + }, + + + methods: { + focus: function focus() { + if (!this.ranged) { + this.$refs.reference.focus(); + } else { + this.handleFocus(); + } + }, + blur: function blur() { + this.refInput.forEach(function (input) { + return input.blur(); + }); + }, + + + // {parse, formatTo} Value deals maps component value with internal Date + parseValue: function parseValue(value) { + var isParsed = Object(date_util_["isDateObject"])(value) || Array.isArray(value) && value.every(date_util_["isDateObject"]); + if (this.valueFormat && !isParsed) { + return parseAsFormatAndType(value, this.valueFormat, this.type, this.rangeSeparator) || value; + } else { + return value; + } + }, + formatToValue: function formatToValue(date) { + var isFormattable = Object(date_util_["isDateObject"])(date) || Array.isArray(date) && date.every(date_util_["isDateObject"]); + if (this.valueFormat && isFormattable) { + return formatAsFormatAndType(date, this.valueFormat, this.type, this.rangeSeparator); + } else { + return date; + } + }, + + + // {parse, formatTo} String deals with user input + parseString: function parseString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return parseAsFormatAndType(value, this.format, type); + }, + formatToString: function formatToString(value) { + var type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return formatAsFormatAndType(value, this.format, type); + }, + handleMouseEnter: function handleMouseEnter() { + if (this.readonly || this.pickerDisabled) return; + if (!this.valueIsEmpty && this.clearable) { + this.showClose = true; + } + }, + handleChange: function handleChange() { + if (this.userInput) { + var value = this.parseString(this.displayValue); + if (value) { + this.picker.value = value; + if (this.isValidValue(value)) { + this.emitInput(value); + this.userInput = null; + } + } + } + if (this.userInput === '') { + this.emitInput(null); + this.emitChange(null); + this.userInput = null; + } + }, + handleStartInput: function handleStartInput(event) { + if (this.userInput) { + this.userInput = [event.target.value, this.userInput[1]]; + } else { + this.userInput = [event.target.value, null]; + } + }, + handleEndInput: function handleEndInput(event) { + if (this.userInput) { + this.userInput = [this.userInput[0], event.target.value]; + } else { + this.userInput = [null, event.target.value]; + } + }, + handleStartChange: function handleStartChange(event) { + var value = this.parseString(this.userInput && this.userInput[0]); + if (value) { + this.userInput = [this.formatToString(value), this.displayValue[1]]; + var newValue = [value, this.picker.value && this.picker.value[1]]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleEndChange: function handleEndChange(event) { + var value = this.parseString(this.userInput && this.userInput[1]); + if (value) { + this.userInput = [this.displayValue[0], this.formatToString(value)]; + var newValue = [this.picker.value && this.picker.value[0], value]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + handleClickIcon: function handleClickIcon(event) { + if (this.readonly || this.pickerDisabled) return; + if (this.showClose) { + this.valueOnOpen = this.value; + event.stopPropagation(); + this.emitInput(null); + this.emitChange(null); + this.showClose = false; + if (this.picker && typeof this.picker.handleClear === 'function') { + this.picker.handleClear(); + } + } else { + this.pickerVisible = !this.pickerVisible; + } + }, + handleClose: function handleClose() { + if (!this.pickerVisible) return; + this.pickerVisible = false; + + if (this.type === 'dates' || this.type === 'years' || this.type === 'months') { + // restore to former value + var oldValue = parseAsFormatAndType(this.valueOnOpen, this.valueFormat, this.type, this.rangeSeparator) || this.valueOnOpen; + this.emitInput(oldValue); + } + }, + handleFieldReset: function handleFieldReset(initialValue) { + this.userInput = initialValue === '' ? null : initialValue; + }, + handleFocus: function handleFocus() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + handleKeydown: function handleKeydown(event) { + var _this = this; + + var keyCode = event.keyCode; + + // ESC + if (keyCode === 27) { + this.pickerVisible = false; + event.stopPropagation(); + return; + } + + // Tab + if (keyCode === 9) { + if (!this.ranged) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + event.stopPropagation(); + } else { + // user may change focus between two input + setTimeout(function () { + if (_this.refInput.indexOf(document.activeElement) === -1) { + _this.pickerVisible = false; + _this.blur(); + event.stopPropagation(); + } + }, 0); + } + return; + } + + // Enter + if (keyCode === 13) { + if (this.userInput === '' || this.isValidValue(this.parseString(this.displayValue))) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + } + event.stopPropagation(); + return; + } + + // if user is typing, do not let picker handle key input + if (this.userInput) { + event.stopPropagation(); + return; + } + + // delegate other keys to panel + if (this.picker && this.picker.handleKeydown) { + this.picker.handleKeydown(event); + } + }, + handleRangeClick: function handleRangeClick() { + var type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + hidePicker: function hidePicker() { + if (this.picker) { + this.picker.resetView && this.picker.resetView(); + this.pickerVisible = this.picker.visible = false; + this.destroyPopper(); + } + }, + showPicker: function showPicker() { + var _this2 = this; + + if (this.$isServer) return; + if (!this.picker) { + this.mountPicker(); + } + this.pickerVisible = this.picker.visible = true; + + this.updatePopper(); + + this.picker.value = this.parsedValue; + this.picker.resetView && this.picker.resetView(); + + this.$nextTick(function () { + _this2.picker.adjustSpinners && _this2.picker.adjustSpinners(); + }); + }, + mountPicker: function mountPicker() { + var _this3 = this; + + this.picker = new external_vue_default.a(this.panel).$mount(); + this.picker.defaultValue = this.defaultValue; + this.picker.defaultTime = this.defaultTime; + this.picker.popperClass = this.popperClass; + this.popperElm = this.picker.$el; + this.picker.width = this.reference.getBoundingClientRect().width; + this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'; + this.picker.selectionMode = this.selectionMode; + this.picker.unlinkPanels = this.unlinkPanels; + this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false; + this.$watch('format', function (format) { + _this3.picker.format = format; + }); + + var updateOptions = function updateOptions() { + var options = _this3.pickerOptions; + + if (options && options.selectableRange) { + var ranges = options.selectableRange; + var parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser; + var format = DEFAULT_FORMATS.timerange; + + ranges = Array.isArray(ranges) ? ranges : [ranges]; + _this3.picker.selectableRange = ranges.map(function (range) { + return parser(range, format, _this3.rangeSeparator); + }); + } + + for (var option in options) { + if (options.hasOwnProperty(option) && + // 敹賜 time-picker ��砲��蔭憿� + option !== 'selectableRange') { + _this3.picker[option] = options[option]; + } + } + + // main format must prevail over undocumented pickerOptions.format + if (_this3.format) { + _this3.picker.format = _this3.format; + } + }; + updateOptions(); + this.unwatchPickerOptions = this.$watch('pickerOptions', function () { + return updateOptions(); + }, { deep: true }); + this.$el.appendChild(this.picker.$el); + this.picker.resetView && this.picker.resetView(); + + this.picker.$on('dodestroy', this.doDestroy); + this.picker.$on('pick', function () { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + _this3.userInput = null; + _this3.pickerVisible = _this3.picker.visible = visible; + _this3.emitInput(date); + _this3.picker.resetView && _this3.picker.resetView(); + }); + + this.picker.$on('select-range', function (start, end, pos) { + if (_this3.refInput.length === 0) return; + if (!pos || pos === 'min') { + _this3.refInput[0].setSelectionRange(start, end); + _this3.refInput[0].focus(); + } else if (pos === 'max') { + _this3.refInput[1].setSelectionRange(start, end); + _this3.refInput[1].focus(); + } + }); + }, + unmountPicker: function unmountPicker() { + if (this.picker) { + this.picker.$destroy(); + this.picker.$off(); + if (typeof this.unwatchPickerOptions === 'function') { + this.unwatchPickerOptions(); + } + this.picker.$el.parentNode.removeChild(this.picker.$el); + } + }, + emitChange: function emitChange(val) { + // determine user real change only + if (!valueEquals(val, this.valueOnOpen)) { + this.$emit('change', val); + this.valueOnOpen = val; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + emitInput: function emitInput(val) { + var formatted = this.formatToValue(val); + if (!valueEquals(this.value, formatted)) { + this.$emit('input', formatted); + } + }, + isValidValue: function isValidValue(value) { + if (!this.picker) { + this.mountPicker(); + } + if (this.picker.isValidValue) { + return value && this.picker.isValidValue(value); + } else { + return true; + } + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue?vue&type=script&lang=js& + /* harmony default export */ var src_pickervue_type_script_lang_js_ = (pickervue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/picker.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_pickervue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/picker.vue" +/* harmony default export */ var picker = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ 76: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules +var picker = __webpack_require__(32); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition", + { + attrs: { name: "el-zoom-in-top" }, + on: { + "before-enter": _vm.handleMenuEnter, + "after-leave": function($event) { + _vm.$emit("dodestroy") + } + } + }, + [ + _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.visible, + expression: "visible" + } + ], + ref: "popper", + staticClass: "el-picker-panel time-select el-popper", + class: _vm.popperClass, + style: { width: _vm.width + "px" } + }, + [ + _c( + "el-scrollbar", + { + attrs: { noresize: "", "wrap-class": "el-picker-panel__content" } + }, + _vm._l(_vm.items, function(item) { + return _c( + "div", + { + key: item.value, + staticClass: "time-select-item", + class: { + selected: _vm.value === item.value, + disabled: item.disabled, + default: item.value === _vm.defaultValue + }, + attrs: { disabled: item.disabled }, + on: { + click: function($event) { + _vm.handleClick(item) + } + } + }, + [_vm._v(_vm._s(item.value))] + ) + }), + 0 + ) + ], + 1 + ) + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=template&id=51ab9320& + +// EXTERNAL MODULE: external "element-ui/lib/scrollbar" +var scrollbar_ = __webpack_require__(15); +var scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/scroll-into-view" +var scroll_into_view_ = __webpack_require__(31); +var scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +var parseTime = function parseTime(time) { + var values = (time || '').split(':'); + if (values.length >= 2) { + var hours = parseInt(values[0], 10); + var minutes = parseInt(values[1], 10); + + return { + hours: hours, + minutes: minutes + }; + } + /* istanbul ignore next */ + return null; +}; + +var compareTime = function compareTime(time1, time2) { + var value1 = parseTime(time1); + var value2 = parseTime(time2); + + var minutes1 = value1.minutes + value1.hours * 60; + var minutes2 = value2.minutes + value2.hours * 60; + + if (minutes1 === minutes2) { + return 0; + } + + return minutes1 > minutes2 ? 1 : -1; +}; + +var formatTime = function formatTime(time) { + return (time.hours < 10 ? '0' + time.hours : time.hours) + ':' + (time.minutes < 10 ? '0' + time.minutes : time.minutes); +}; + +var nextTime = function nextTime(time, step) { + var timeValue = parseTime(time); + var stepValue = parseTime(step); + + var next = { + hours: timeValue.hours, + minutes: timeValue.minutes + }; + + next.minutes += stepValue.minutes; + next.hours += stepValue.hours; + + next.hours += Math.floor(next.minutes / 60); + next.minutes = next.minutes % 60; + + return formatTime(next); +}; + +/* harmony default export */ var time_selectvue_type_script_lang_js_ = ({ + components: { ElScrollbar: scrollbar_default.a }, + + watch: { + value: function value(val) { + var _this = this; + + if (!val) return; + this.$nextTick(function () { + return _this.scrollToOption(); + }); + } + }, + + methods: { + handleClick: function handleClick(item) { + if (!item.disabled) { + this.$emit('pick', item.value); + } + }, + handleClear: function handleClear() { + this.$emit('pick', null); + }, + scrollToOption: function scrollToOption() { + var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.selected'; + + var menu = this.$refs.popper.querySelector('.el-picker-panel__content'); + scroll_into_view_default()(menu, menu.querySelector(selector)); + }, + handleMenuEnter: function handleMenuEnter() { + var _this2 = this; + + var selected = this.items.map(function (item) { + return item.value; + }).indexOf(this.value) !== -1; + var hasDefault = this.items.map(function (item) { + return item.value; + }).indexOf(this.defaultValue) !== -1; + var option = selected && '.selected' || hasDefault && '.default' || '.time-select-item:not(.disabled)'; + this.$nextTick(function () { + return _this2.scrollToOption(option); + }); + }, + scrollDown: function scrollDown(step) { + var items = this.items; + var length = items.length; + var total = items.length; + var index = items.map(function (item) { + return item.value; + }).indexOf(this.value); + while (total--) { + index = (index + step + length) % length; + if (!items[index].disabled) { + this.$emit('pick', items[index].value, true); + return; + } + } + }, + isValidValue: function isValidValue(date) { + return this.items.filter(function (item) { + return !item.disabled; + }).map(function (item) { + return item.value; + }).indexOf(date) !== -1; + }, + handleKeydown: function handleKeydown(event) { + var keyCode = event.keyCode; + if (keyCode === 38 || keyCode === 40) { + var mapping = { 40: 1, 38: -1 }; + var offset = mapping[keyCode.toString()]; + this.scrollDown(offset); + event.stopPropagation(); + return; + } + } + }, + + data: function data() { + return { + popperClass: '', + start: '09:00', + end: '18:00', + step: '00:30', + value: '', + defaultValue: '', + visible: false, + minTime: '', + maxTime: '', + width: 0 + }; + }, + + + computed: { + items: function items() { + var start = this.start; + var end = this.end; + var step = this.step; + + var result = []; + + if (start && end && step) { + var current = start; + while (compareTime(current, end) <= 0) { + result.push({ + value: current, + disabled: compareTime(current, this.minTime || '-1:-1') <= 0 || compareTime(current, this.maxTime || '100:100') >= 0 + }); + current = nextTime(current, step); + } + } + + return result; + } + } +}); +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue?vue&type=script&lang=js& + /* harmony default export */ var panel_time_selectvue_type_script_lang_js_ = (time_selectvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/date-picker/src/panel/time-select.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + panel_time_selectvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/date-picker/src/panel/time-select.vue" +/* harmony default export */ var time_select = (component.exports); +// CONCATENATED MODULE: ./packages/date-picker/src/picker/time-select.js + + + +/* harmony default export */ var picker_time_select = ({ + mixins: [picker["a" /* default */]], + + name: 'ElTimeSelect', + + componentName: 'ElTimeSelect', + + props: { + type: { + type: String, + default: 'time-select' + } + }, + + beforeCreate: function beforeCreate() { + this.panel = time_select; + } +}); +// CONCATENATED MODULE: ./packages/time-select/index.js + + +/* istanbul ignore next */ +picker_time_select.install = function (Vue) { + Vue.component(picker_time_select.name, picker_time_select); +}; + +/* harmony default export */ var packages_time_select = __webpack_exports__["default"] = (picker_time_select); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/timeline-item.js b/PAMapp/local_modules/element-ui/lib/timeline-item.js new file mode 100644 index 0000000..3e38771 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/timeline-item.js @@ -0,0 +1,370 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 121); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 121: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=template&id=61a69e50& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("li", { staticClass: "el-timeline-item" }, [ + _c("div", { staticClass: "el-timeline-item__tail" }), + !_vm.$slots.dot + ? _c( + "div", + { + staticClass: "el-timeline-item__node", + class: [ + "el-timeline-item__node--" + (_vm.size || ""), + "el-timeline-item__node--" + (_vm.type || "") + ], + style: { + backgroundColor: _vm.color + } + }, + [ + _vm.icon + ? _c("i", { + staticClass: "el-timeline-item__icon", + class: _vm.icon + }) + : _vm._e() + ] + ) + : _vm._e(), + _vm.$slots.dot + ? _c("div", { staticClass: "el-timeline-item__dot" }, [_vm._t("dot")], 2) + : _vm._e(), + _c("div", { staticClass: "el-timeline-item__wrapper" }, [ + !_vm.hideTimestamp && _vm.placement === "top" + ? _c("div", { staticClass: "el-timeline-item__timestamp is-top" }, [ + _vm._v("\n " + _vm._s(_vm.timestamp) + "\n ") + ]) + : _vm._e(), + _c( + "div", + { staticClass: "el-timeline-item__content" }, + [_vm._t("default")], + 2 + ), + !_vm.hideTimestamp && _vm.placement === "bottom" + ? _c("div", { staticClass: "el-timeline-item__timestamp is-bottom" }, [ + _vm._v("\n " + _vm._s(_vm.timestamp) + "\n ") + ]) + : _vm._e() + ]) + ]) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=template&id=61a69e50& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/item.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var itemvue_type_script_lang_js_ = ({ + name: 'ElTimelineItem', + + inject: ['timeline'], + + props: { + timestamp: String, + + hideTimestamp: { + type: Boolean, + default: false + }, + + placement: { + type: String, + default: 'bottom' + }, + + type: String, + + color: String, + + size: { + type: String, + default: 'normal' + }, + + icon: String + } +}); +// CONCATENATED MODULE: ./packages/timeline/src/item.vue?vue&type=script&lang=js& + /* harmony default export */ var src_itemvue_type_script_lang_js_ = (itemvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/timeline/src/item.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_itemvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/timeline/src/item.vue" +/* harmony default export */ var item = (component.exports); +// CONCATENATED MODULE: ./packages/timeline-item/index.js + + +/* istanbul ignore next */ +item.install = function (Vue) { + Vue.component(item.name, item); +}; + +/* harmony default export */ var timeline_item = __webpack_exports__["default"] = (item); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/timeline.js b/PAMapp/local_modules/element-ui/lib/timeline.js new file mode 100644 index 0000000..172b306 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/timeline.js @@ -0,0 +1,274 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 134); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 134: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/timeline/src/main.vue?vue&type=script&lang=js& + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElTimeline', + + props: { + reverse: { + type: Boolean, + default: false + } + }, + + provide: function provide() { + return { + timeline: this + }; + }, + render: function render() { + var h = arguments[0]; + + var reverse = this.reverse; + var classes = { + 'el-timeline': true, + 'is-reverse': reverse + }; + var slots = this.$slots.default || []; + if (reverse) { + slots = slots.reverse(); + } + return h( + 'ul', + { 'class': classes }, + [slots] + ); + } +}); +// CONCATENATED MODULE: ./packages/timeline/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/timeline/src/main.vue +var render, staticRenderFns + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/timeline/src/main.vue" +/* harmony default export */ var main = (component.exports); +// CONCATENATED MODULE: ./packages/timeline/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var timeline = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/tooltip.js b/PAMapp/local_modules/element-ui/lib/tooltip.js new file mode 100644 index 0000000..11c9010 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/tooltip.js @@ -0,0 +1,424 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 138); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 138: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "element-ui/lib/utils/vue-popper" +var vue_popper_ = __webpack_require__(5); +var vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_); + +// EXTERNAL MODULE: external "throttle-debounce/debounce" +var debounce_ = __webpack_require__(19); +var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// EXTERNAL MODULE: external "vue" +var external_vue_ = __webpack_require__(7); +var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_); + +// CONCATENATED MODULE: ./packages/tooltip/src/main.js + + + + + + +/* harmony default export */ var main = ({ + name: 'ElTooltip', + + mixins: [vue_popper_default.a], + + props: { + openDelay: { + type: Number, + default: 0 + }, + disabled: Boolean, + manual: Boolean, + effect: { + type: String, + default: 'dark' + }, + arrowOffset: { + type: Number, + default: 0 + }, + popperClass: String, + content: String, + visibleArrow: { + default: true + }, + transition: { + type: String, + default: 'el-fade-in-linear' + }, + popperOptions: { + default: function _default() { + return { + boundariesPadding: 10, + gpuAcceleration: false + }; + } + }, + enterable: { + type: Boolean, + default: true + }, + hideAfter: { + type: Number, + default: 0 + }, + tabindex: { + type: Number, + default: 0 + } + }, + + data: function data() { + return { + tooltipId: 'el-tooltip-' + Object(util_["generateId"])(), + timeoutPending: null, + focusing: false + }; + }, + beforeCreate: function beforeCreate() { + var _this = this; + + if (this.$isServer) return; + + this.popperVM = new external_vue_default.a({ + data: { node: '' }, + render: function render(h) { + return this.node; + } + }).$mount(); + + this.debounceClose = debounce_default()(200, function () { + return _this.handleClosePopper(); + }); + }, + render: function render(h) { + var _this2 = this; + + if (this.popperVM) { + this.popperVM.node = h( + 'transition', + { + attrs: { + name: this.transition + }, + on: { + 'afterLeave': this.doDestroy + } + }, + [h( + 'div', + { + on: { + 'mouseleave': function mouseleave() { + _this2.setExpectedState(false);_this2.debounceClose(); + }, + 'mouseenter': function mouseenter() { + _this2.setExpectedState(true); + } + }, + + ref: 'popper', + attrs: { role: 'tooltip', + id: this.tooltipId, + 'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false' + }, + directives: [{ + name: 'show', + value: !this.disabled && this.showPopper + }], + + 'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] }, + [this.$slots.content || this.content] + )] + ); + } + + var firstElement = this.getFirstElement(); + if (!firstElement) return null; + + var data = firstElement.data = firstElement.data || {}; + data.staticClass = this.addTooltipClass(data.staticClass); + + return firstElement; + }, + mounted: function mounted() { + var _this3 = this; + + this.referenceElm = this.$el; + if (this.$el.nodeType === 1) { + this.$el.setAttribute('aria-describedby', this.tooltipId); + this.$el.setAttribute('tabindex', this.tabindex); + Object(dom_["on"])(this.referenceElm, 'mouseenter', this.show); + Object(dom_["on"])(this.referenceElm, 'mouseleave', this.hide); + Object(dom_["on"])(this.referenceElm, 'focus', function () { + if (!_this3.$slots.default || !_this3.$slots.default.length) { + _this3.handleFocus(); + return; + } + var instance = _this3.$slots.default[0].componentInstance; + if (instance && instance.focus) { + instance.focus(); + } else { + _this3.handleFocus(); + } + }); + Object(dom_["on"])(this.referenceElm, 'blur', this.handleBlur); + Object(dom_["on"])(this.referenceElm, 'click', this.removeFocusing); + } + // fix issue https://github.com/ElemeFE/element/issues/14424 + if (this.value && this.popperVM) { + this.popperVM.$nextTick(function () { + if (_this3.value) { + _this3.updatePopper(); + } + }); + } + }, + + watch: { + focusing: function focusing(val) { + if (val) { + Object(dom_["addClass"])(this.referenceElm, 'focusing'); + } else { + Object(dom_["removeClass"])(this.referenceElm, 'focusing'); + } + } + }, + methods: { + show: function show() { + this.setExpectedState(true); + this.handleShowPopper(); + }, + hide: function hide() { + this.setExpectedState(false); + this.debounceClose(); + }, + handleFocus: function handleFocus() { + this.focusing = true; + this.show(); + }, + handleBlur: function handleBlur() { + this.focusing = false; + this.hide(); + }, + removeFocusing: function removeFocusing() { + this.focusing = false; + }, + addTooltipClass: function addTooltipClass(prev) { + if (!prev) { + return 'el-tooltip'; + } else { + return 'el-tooltip ' + prev.replace('el-tooltip', ''); + } + }, + handleShowPopper: function handleShowPopper() { + var _this4 = this; + + if (!this.expectedState || this.manual) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(function () { + _this4.showPopper = true; + }, this.openDelay); + + if (this.hideAfter > 0) { + this.timeoutPending = setTimeout(function () { + _this4.showPopper = false; + }, this.hideAfter); + } + }, + handleClosePopper: function handleClosePopper() { + if (this.enterable && this.expectedState || this.manual) return; + clearTimeout(this.timeout); + + if (this.timeoutPending) { + clearTimeout(this.timeoutPending); + } + this.showPopper = false; + + if (this.disabled) { + this.doDestroy(); + } + }, + setExpectedState: function setExpectedState(expectedState) { + if (expectedState === false) { + clearTimeout(this.timeoutPending); + } + this.expectedState = expectedState; + }, + getFirstElement: function getFirstElement() { + var slots = this.$slots.default; + if (!Array.isArray(slots)) return null; + var element = null; + for (var index = 0; index < slots.length; index++) { + if (slots[index] && slots[index].tag) { + element = slots[index]; + break; + }; + } + return element; + } + }, + + beforeDestroy: function beforeDestroy() { + this.popperVM && this.popperVM.$destroy(); + }, + destroyed: function destroyed() { + var reference = this.referenceElm; + if (reference.nodeType === 1) { + Object(dom_["off"])(reference, 'mouseenter', this.show); + Object(dom_["off"])(reference, 'mouseleave', this.hide); + Object(dom_["off"])(reference, 'focus', this.handleFocus); + Object(dom_["off"])(reference, 'blur', this.handleBlur); + Object(dom_["off"])(reference, 'click', this.removeFocusing); + } + } +}); +// CONCATENATED MODULE: ./packages/tooltip/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var tooltip = __webpack_exports__["default"] = (main); + +/***/ }), + +/***/ 19: +/***/ (function(module, exports) { + +module.exports = require("throttle-debounce/debounce"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 5: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/vue-popper"); + +/***/ }), + +/***/ 7: +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/transfer.js b/PAMapp/local_modules/element-ui/lib/transfer.js new file mode 100644 index 0000000..a290d1e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/transfer.js @@ -0,0 +1,1104 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 66); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 10: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/input"); + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/button"); + +/***/ }), + +/***/ 18: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 40: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox-group"); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }), + +/***/ 66: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { staticClass: "el-transfer" }, + [ + _c( + "transfer-panel", + _vm._b( + { + ref: "leftPanel", + attrs: { + data: _vm.sourceData, + title: _vm.titles[0] || _vm.t("el.transfer.titles.0"), + "default-checked": _vm.leftDefaultChecked, + placeholder: + _vm.filterPlaceholder || _vm.t("el.transfer.filterPlaceholder") + }, + on: { "checked-change": _vm.onSourceCheckedChange } + }, + "transfer-panel", + _vm.$props, + false + ), + [_vm._t("left-footer")], + 2 + ), + _c( + "div", + { staticClass: "el-transfer__buttons" }, + [ + _c( + "el-button", + { + class: [ + "el-transfer__button", + _vm.hasButtonTexts ? "is-with-texts" : "" + ], + attrs: { + type: "primary", + disabled: _vm.rightChecked.length === 0 + }, + nativeOn: { + click: function($event) { + return _vm.addToLeft($event) + } + } + }, + [ + _c("i", { staticClass: "el-icon-arrow-left" }), + _vm.buttonTexts[0] !== undefined + ? _c("span", [_vm._v(_vm._s(_vm.buttonTexts[0]))]) + : _vm._e() + ] + ), + _c( + "el-button", + { + class: [ + "el-transfer__button", + _vm.hasButtonTexts ? "is-with-texts" : "" + ], + attrs: { + type: "primary", + disabled: _vm.leftChecked.length === 0 + }, + nativeOn: { + click: function($event) { + return _vm.addToRight($event) + } + } + }, + [ + _vm.buttonTexts[1] !== undefined + ? _c("span", [_vm._v(_vm._s(_vm.buttonTexts[1]))]) + : _vm._e(), + _c("i", { staticClass: "el-icon-arrow-right" }) + ] + ) + ], + 1 + ), + _c( + "transfer-panel", + _vm._b( + { + ref: "rightPanel", + attrs: { + data: _vm.targetData, + title: _vm.titles[1] || _vm.t("el.transfer.titles.1"), + "default-checked": _vm.rightDefaultChecked, + placeholder: + _vm.filterPlaceholder || _vm.t("el.transfer.filterPlaceholder") + }, + on: { "checked-change": _vm.onTargetCheckedChange } + }, + "transfer-panel", + _vm.$props, + false + ), + [_vm._t("right-footer")], + 2 + ) + ], + 1 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=template&id=5c654dd8& + +// EXTERNAL MODULE: external "element-ui/lib/button" +var button_ = __webpack_require__(14); +var button_default = /*#__PURE__*/__webpack_require__.n(button_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd& +var transfer_panelvue_type_template_id_2ddab8bd_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "el-transfer-panel" }, [ + _c( + "p", + { staticClass: "el-transfer-panel__header" }, + [ + _c( + "el-checkbox", + { + attrs: { indeterminate: _vm.isIndeterminate }, + on: { change: _vm.handleAllCheckedChange }, + model: { + value: _vm.allChecked, + callback: function($$v) { + _vm.allChecked = $$v + }, + expression: "allChecked" + } + }, + [ + _vm._v("\n " + _vm._s(_vm.title) + "\n "), + _c("span", [_vm._v(_vm._s(_vm.checkedSummary))]) + ] + ) + ], + 1 + ), + _c( + "div", + { + class: [ + "el-transfer-panel__body", + _vm.hasFooter ? "is-with-footer" : "" + ] + }, + [ + _vm.filterable + ? _c( + "el-input", + { + staticClass: "el-transfer-panel__filter", + attrs: { size: "small", placeholder: _vm.placeholder }, + nativeOn: { + mouseenter: function($event) { + _vm.inputHover = true + }, + mouseleave: function($event) { + _vm.inputHover = false + } + }, + model: { + value: _vm.query, + callback: function($$v) { + _vm.query = $$v + }, + expression: "query" + } + }, + [ + _c("i", { + class: ["el-input__icon", "el-icon-" + _vm.inputIcon], + attrs: { slot: "prefix" }, + on: { click: _vm.clearQuery }, + slot: "prefix" + }) + ] + ) + : _vm._e(), + _c( + "el-checkbox-group", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: !_vm.hasNoMatch && _vm.data.length > 0, + expression: "!hasNoMatch && data.length > 0" + } + ], + staticClass: "el-transfer-panel__list", + class: { "is-filterable": _vm.filterable }, + model: { + value: _vm.checked, + callback: function($$v) { + _vm.checked = $$v + }, + expression: "checked" + } + }, + _vm._l(_vm.filteredData, function(item) { + return _c( + "el-checkbox", + { + key: item[_vm.keyProp], + staticClass: "el-transfer-panel__item", + attrs: { + label: item[_vm.keyProp], + disabled: item[_vm.disabledProp] + } + }, + [_c("option-content", { attrs: { option: item } })], + 1 + ) + }), + 1 + ), + _c( + "p", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.hasNoMatch, + expression: "hasNoMatch" + } + ], + staticClass: "el-transfer-panel__empty" + }, + [_vm._v(_vm._s(_vm.t("el.transfer.noMatch")))] + ), + _c( + "p", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.data.length === 0 && !_vm.hasNoMatch, + expression: "data.length === 0 && !hasNoMatch" + } + ], + staticClass: "el-transfer-panel__empty" + }, + [_vm._v(_vm._s(_vm.t("el.transfer.noData")))] + ) + ], + 1 + ), + _vm.hasFooter + ? _c( + "p", + { staticClass: "el-transfer-panel__footer" }, + [_vm._t("default")], + 2 + ) + : _vm._e() + ]) +} +var transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns = [] +transfer_panelvue_type_template_id_2ddab8bd_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=template&id=2ddab8bd& + +// EXTERNAL MODULE: external "element-ui/lib/checkbox-group" +var checkbox_group_ = __webpack_require__(40); +var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_); + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(18); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// EXTERNAL MODULE: external "element-ui/lib/input" +var input_ = __webpack_require__(10); +var input_default = /*#__PURE__*/__webpack_require__.n(input_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var transfer_panelvue_type_script_lang_js_ = ({ + mixins: [locale_default.a], + + name: 'ElTransferPanel', + + componentName: 'ElTransferPanel', + + components: { + ElCheckboxGroup: checkbox_group_default.a, + ElCheckbox: checkbox_default.a, + ElInput: input_default.a, + OptionContent: { + props: { + option: Object + }, + render: function render(h) { + var getParent = function getParent(vm) { + if (vm.$options.componentName === 'ElTransferPanel') { + return vm; + } else if (vm.$parent) { + return getParent(vm.$parent); + } else { + return vm; + } + }; + var panel = getParent(this); + var transfer = panel.$parent || panel; + return panel.renderContent ? panel.renderContent(h, this.option) : transfer.$scopedSlots.default ? transfer.$scopedSlots.default({ option: this.option }) : h('span', [this.option[panel.labelProp] || this.option[panel.keyProp]]); + } + } + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + renderContent: Function, + placeholder: String, + title: String, + filterable: Boolean, + format: Object, + filterMethod: Function, + defaultChecked: Array, + props: Object + }, + + data: function data() { + return { + checked: [], + allChecked: false, + query: '', + inputHover: false, + checkChangeByUser: true + }; + }, + + + watch: { + checked: function checked(val, oldVal) { + this.updateAllChecked(); + if (this.checkChangeByUser) { + var movedKeys = val.concat(oldVal).filter(function (v) { + return val.indexOf(v) === -1 || oldVal.indexOf(v) === -1; + }); + this.$emit('checked-change', val, movedKeys); + } else { + this.$emit('checked-change', val); + this.checkChangeByUser = true; + } + }, + data: function data() { + var _this = this; + + var checked = []; + var filteredDataKeys = this.filteredData.map(function (item) { + return item[_this.keyProp]; + }); + this.checked.forEach(function (item) { + if (filteredDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + }, + checkableData: function checkableData() { + this.updateAllChecked(); + }, + + + defaultChecked: { + immediate: true, + handler: function handler(val, oldVal) { + var _this2 = this; + + if (oldVal && val.length === oldVal.length && val.every(function (item) { + return oldVal.indexOf(item) > -1; + })) return; + var checked = []; + var checkableDataKeys = this.checkableData.map(function (item) { + return item[_this2.keyProp]; + }); + val.forEach(function (item) { + if (checkableDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + } + } + }, + + computed: { + filteredData: function filteredData() { + var _this3 = this; + + return this.data.filter(function (item) { + if (typeof _this3.filterMethod === 'function') { + return _this3.filterMethod(_this3.query, item); + } else { + var label = item[_this3.labelProp] || item[_this3.keyProp].toString(); + return label.toLowerCase().indexOf(_this3.query.toLowerCase()) > -1; + } + }); + }, + checkableData: function checkableData() { + var _this4 = this; + + return this.filteredData.filter(function (item) { + return !item[_this4.disabledProp]; + }); + }, + checkedSummary: function checkedSummary() { + var checkedLength = this.checked.length; + var dataLength = this.data.length; + var _format = this.format, + noChecked = _format.noChecked, + hasChecked = _format.hasChecked; + + if (noChecked && hasChecked) { + return checkedLength > 0 ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength) : noChecked.replace(/\${total}/g, dataLength); + } else { + return checkedLength + '/' + dataLength; + } + }, + isIndeterminate: function isIndeterminate() { + var checkedLength = this.checked.length; + return checkedLength > 0 && checkedLength < this.checkableData.length; + }, + hasNoMatch: function hasNoMatch() { + return this.query.length > 0 && this.filteredData.length === 0; + }, + inputIcon: function inputIcon() { + return this.query.length > 0 && this.inputHover ? 'circle-close' : 'search'; + }, + labelProp: function labelProp() { + return this.props.label || 'label'; + }, + keyProp: function keyProp() { + return this.props.key || 'key'; + }, + disabledProp: function disabledProp() { + return this.props.disabled || 'disabled'; + }, + hasFooter: function hasFooter() { + return !!this.$slots.default; + } + }, + + methods: { + updateAllChecked: function updateAllChecked() { + var _this5 = this; + + var checkableDataKeys = this.checkableData.map(function (item) { + return item[_this5.keyProp]; + }); + this.allChecked = checkableDataKeys.length > 0 && checkableDataKeys.every(function (item) { + return _this5.checked.indexOf(item) > -1; + }); + }, + handleAllCheckedChange: function handleAllCheckedChange(value) { + var _this6 = this; + + this.checked = value ? this.checkableData.map(function (item) { + return item[_this6.keyProp]; + }) : []; + }, + clearQuery: function clearQuery() { + if (this.inputIcon === 'circle-close') { + this.query = ''; + } + } + } +}); +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue?vue&type=script&lang=js& + /* harmony default export */ var src_transfer_panelvue_type_script_lang_js_ = (transfer_panelvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/transfer/src/transfer-panel.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_transfer_panelvue_type_script_lang_js_, + transfer_panelvue_type_template_id_2ddab8bd_render, + transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/transfer/src/transfer-panel.vue" +/* harmony default export */ var transfer_panel = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/transfer/src/main.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + +/* harmony default export */ var mainvue_type_script_lang_js_ = ({ + name: 'ElTransfer', + + mixins: [emitter_default.a, locale_default.a, migrating_default.a], + + components: { + TransferPanel: transfer_panel, + ElButton: button_default.a + }, + + props: { + data: { + type: Array, + default: function _default() { + return []; + } + }, + titles: { + type: Array, + default: function _default() { + return []; + } + }, + buttonTexts: { + type: Array, + default: function _default() { + return []; + } + }, + filterPlaceholder: { + type: String, + default: '' + }, + filterMethod: Function, + leftDefaultChecked: { + type: Array, + default: function _default() { + return []; + } + }, + rightDefaultChecked: { + type: Array, + default: function _default() { + return []; + } + }, + renderContent: Function, + value: { + type: Array, + default: function _default() { + return []; + } + }, + format: { + type: Object, + default: function _default() { + return {}; + } + }, + filterable: Boolean, + props: { + type: Object, + default: function _default() { + return { + label: 'label', + key: 'key', + disabled: 'disabled' + }; + } + }, + targetOrder: { + type: String, + default: 'original' + } + }, + + data: function data() { + return { + leftChecked: [], + rightChecked: [] + }; + }, + + + computed: { + dataObj: function dataObj() { + var key = this.props.key; + return this.data.reduce(function (o, cur) { + return (o[cur[key]] = cur) && o; + }, {}); + }, + sourceData: function sourceData() { + var _this = this; + + return this.data.filter(function (item) { + return _this.value.indexOf(item[_this.props.key]) === -1; + }); + }, + targetData: function targetData() { + var _this2 = this; + + if (this.targetOrder === 'original') { + return this.data.filter(function (item) { + return _this2.value.indexOf(item[_this2.props.key]) > -1; + }); + } else { + return this.value.reduce(function (arr, cur) { + var val = _this2.dataObj[cur]; + if (val) { + arr.push(val); + } + return arr; + }, []); + } + }, + hasButtonTexts: function hasButtonTexts() { + return this.buttonTexts.length === 2; + } + }, + + watch: { + value: function value(val) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + + methods: { + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'footer-format': 'footer-format is renamed to format.' + } + }; + }, + onSourceCheckedChange: function onSourceCheckedChange(val, movedKeys) { + this.leftChecked = val; + if (movedKeys === undefined) return; + this.$emit('left-check-change', val, movedKeys); + }, + onTargetCheckedChange: function onTargetCheckedChange(val, movedKeys) { + this.rightChecked = val; + if (movedKeys === undefined) return; + this.$emit('right-check-change', val, movedKeys); + }, + addToLeft: function addToLeft() { + var currentValue = this.value.slice(); + this.rightChecked.forEach(function (item) { + var index = currentValue.indexOf(item); + if (index > -1) { + currentValue.splice(index, 1); + } + }); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'left', this.rightChecked); + }, + addToRight: function addToRight() { + var _this3 = this; + + var currentValue = this.value.slice(); + var itemsToBeMoved = []; + var key = this.props.key; + this.data.forEach(function (item) { + var itemKey = item[key]; + if (_this3.leftChecked.indexOf(itemKey) > -1 && _this3.value.indexOf(itemKey) === -1) { + itemsToBeMoved.push(itemKey); + } + }); + currentValue = this.targetOrder === 'unshift' ? itemsToBeMoved.concat(currentValue) : currentValue.concat(itemsToBeMoved); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'right', this.leftChecked); + }, + clearQuery: function clearQuery(which) { + if (which === 'left') { + this.$refs.leftPanel.query = ''; + } else if (which === 'right') { + this.$refs.rightPanel.query = ''; + } + } + } +}); +// CONCATENATED MODULE: ./packages/transfer/src/main.vue?vue&type=script&lang=js& + /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/transfer/src/main.vue + + + + + +/* normalize component */ + +var main_component = Object(componentNormalizer["a" /* default */])( + src_mainvue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var main_api; } +main_component.options.__file = "packages/transfer/src/main.vue" +/* harmony default export */ var main = (main_component.exports); +// CONCATENATED MODULE: ./packages/transfer/index.js + + +/* istanbul ignore next */ +main.install = function (Vue) { + Vue.component(main.name, main); +}; + +/* harmony default export */ var transfer = __webpack_exports__["default"] = (main); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/transitions/collapse-transition.js b/PAMapp/local_modules/element-ui/lib/transitions/collapse-transition.js new file mode 100644 index 0000000..0c24a02 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/transitions/collapse-transition.js @@ -0,0 +1,91 @@ +'use strict'; + +exports.__esModule = true; + +var _dom = require('element-ui/lib/utils/dom'); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Transition = function () { + function Transition() { + _classCallCheck(this, Transition); + } + + Transition.prototype.beforeEnter = function beforeEnter(el) { + (0, _dom.addClass)(el, 'collapse-transition'); + if (!el.dataset) el.dataset = {}; + + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; + + el.style.height = '0'; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; + }; + + Transition.prototype.enter = function enter(el) { + el.dataset.oldOverflow = el.style.overflow; + if (el.scrollHeight !== 0) { + el.style.height = el.scrollHeight + 'px'; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } else { + el.style.height = ''; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } + + el.style.overflow = 'hidden'; + }; + + Transition.prototype.afterEnter = function afterEnter(el) { + // for safari: remove class then reset height is necessary + (0, _dom.removeClass)(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + }; + + Transition.prototype.beforeLeave = function beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; + el.dataset.oldOverflow = el.style.overflow; + + el.style.height = el.scrollHeight + 'px'; + el.style.overflow = 'hidden'; + }; + + Transition.prototype.leave = function leave(el) { + if (el.scrollHeight !== 0) { + // for safari: add class after set height, or it will jump to zero height suddenly, weired + (0, _dom.addClass)(el, 'collapse-transition'); + el.style.height = 0; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; + } + }; + + Transition.prototype.afterLeave = function afterLeave(el) { + (0, _dom.removeClass)(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + }; + + return Transition; +}(); + +exports.default = { + name: 'ElCollapseTransition', + functional: true, + render: function render(h, _ref) { + var children = _ref.children; + + var data = { + on: new Transition() + }; + + return h('transition', data, children); + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/tree.js b/PAMapp/local_modules/element-ui/lib/tree.js new file mode 100644 index 0000000..c74f39d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/tree.js @@ -0,0 +1,2265 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 60); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 18: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/checkbox"); + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/dom"); + +/***/ }), + +/***/ 20: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/locale"); + +/***/ }), + +/***/ 28: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/transitions/collapse-transition"); + +/***/ }), + +/***/ 3: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/util"); + +/***/ }), + +/***/ 4: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/emitter"); + +/***/ }), + +/***/ 60: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=547575a6& +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-tree", + class: { + "el-tree--highlight-current": _vm.highlightCurrent, + "is-dragging": !!_vm.dragState.draggingNode, + "is-drop-not-allow": !_vm.dragState.allowDrop, + "is-drop-inner": _vm.dragState.dropType === "inner" + }, + attrs: { role: "tree" } + }, + [ + _vm._l(_vm.root.childNodes, function(child) { + return _c("el-tree-node", { + key: _vm.getNodeKey(child), + attrs: { + node: child, + props: _vm.props, + "render-after-expand": _vm.renderAfterExpand, + "show-checkbox": _vm.showCheckbox, + "render-content": _vm.renderContent + }, + on: { "node-expand": _vm.handleNodeExpand } + }) + }), + _vm.isEmpty + ? _c("div", { staticClass: "el-tree__empty-block" }, [ + _c("span", { staticClass: "el-tree__empty-text" }, [ + _vm._v(_vm._s(_vm.emptyText)) + ]) + ]) + : _vm._e(), + _c("div", { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.dragState.showDropIndicator, + expression: "dragState.showDropIndicator" + } + ], + ref: "dropIndicator", + staticClass: "el-tree__drop-indicator" + }) + ], + 2 + ) +} +var staticRenderFns = [] +render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=547575a6& + +// EXTERNAL MODULE: external "element-ui/lib/utils/merge" +var merge_ = __webpack_require__(9); +var merge_default = /*#__PURE__*/__webpack_require__.n(merge_); + +// CONCATENATED MODULE: ./packages/tree/src/model/util.js +var NODE_KEY = '$treeNodeId'; + +var markNodeData = function markNodeData(node, data) { + if (!data || data[NODE_KEY]) return; + Object.defineProperty(data, NODE_KEY, { + value: node.id, + enumerable: false, + configurable: false, + writable: false + }); +}; + +var util_getNodeKey = function getNodeKey(key, data) { + if (!key) return data[NODE_KEY]; + return data[key]; +}; + +var findNearestComponent = function findNearestComponent(element, componentName) { + var target = element; + while (target && target.tagName !== 'BODY') { + if (target.__vue__ && target.__vue__.$options.name === componentName) { + return target.__vue__; + } + target = target.parentNode; + } + return null; +}; +// EXTERNAL MODULE: external "element-ui/lib/utils/util" +var util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ./packages/tree/src/model/node.js +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + + +var getChildState = function getChildState(node) { + var all = true; + var none = true; + var allWithoutDisable = true; + for (var i = 0, j = node.length; i < j; i++) { + var n = node[i]; + if (n.checked !== true || n.indeterminate) { + all = false; + if (!n.disabled) { + allWithoutDisable = false; + } + } + if (n.checked !== false || n.indeterminate) { + none = false; + } + } + + return { all: all, none: none, allWithoutDisable: allWithoutDisable, half: !all && !none }; +}; + +var reInitChecked = function reInitChecked(node) { + if (node.childNodes.length === 0 || node.loading) return; + + var _getChildState = getChildState(node.childNodes), + all = _getChildState.all, + none = _getChildState.none, + half = _getChildState.half; + + if (all) { + node.checked = true; + node.indeterminate = false; + } else if (half) { + node.checked = false; + node.indeterminate = true; + } else if (none) { + node.checked = false; + node.indeterminate = false; + } + + var parent = node.parent; + if (!parent || parent.level === 0) return; + + if (!node.store.checkStrictly) { + reInitChecked(parent); + } +}; + +var getPropertyFromData = function getPropertyFromData(node, prop) { + var props = node.store.props; + var data = node.data || {}; + var config = props[prop]; + + if (typeof config === 'function') { + return config(data, node); + } else if (typeof config === 'string') { + return data[config]; + } else if (typeof config === 'undefined') { + var dataProp = data[prop]; + return dataProp === undefined ? '' : dataProp; + } +}; + +var nodeIdSeed = 0; + +var node_Node = function () { + function Node(options) { + _classCallCheck(this, Node); + + this.id = nodeIdSeed++; + this.text = null; + this.checked = false; + this.indeterminate = false; + this.data = null; + this.expanded = false; + this.parent = null; + this.visible = true; + this.isCurrent = false; + + for (var name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + // internal + this.level = 0; + this.loaded = false; + this.childNodes = []; + this.loading = false; + + if (this.parent) { + this.level = this.parent.level + 1; + } + + var store = this.store; + if (!store) { + throw new Error('[Node]store is required!'); + } + store.registerNode(this); + + var props = store.props; + if (props && typeof props.isLeaf !== 'undefined') { + var isLeaf = getPropertyFromData(this, 'isLeaf'); + if (typeof isLeaf === 'boolean') { + this.isLeafByUser = isLeaf; + } + } + + if (store.lazy !== true && this.data) { + this.setData(this.data); + + if (store.defaultExpandAll) { + this.expanded = true; + } + } else if (this.level > 0 && store.lazy && store.defaultExpandAll) { + this.expand(); + } + if (!Array.isArray(this.data)) { + markNodeData(this, this.data); + } + if (!this.data) return; + var defaultExpandedKeys = store.defaultExpandedKeys; + var key = store.key; + if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) { + this.expand(null, store.autoExpandParent); + } + + if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) { + store.currentNode = this; + store.currentNode.isCurrent = true; + } + + if (store.lazy) { + store._initDefaultCheckedNode(this); + } + + this.updateLeafState(); + } + + Node.prototype.setData = function setData(data) { + if (!Array.isArray(data)) { + markNodeData(this, data); + } + + this.data = data; + this.childNodes = []; + + var children = void 0; + if (this.level === 0 && this.data instanceof Array) { + children = this.data; + } else { + children = getPropertyFromData(this, 'children') || []; + } + + for (var i = 0, j = children.length; i < j; i++) { + this.insertChild({ data: children[i] }); + } + }; + + Node.prototype.contains = function contains(target) { + var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var walk = function walk(parent) { + var children = parent.childNodes || []; + var result = false; + for (var i = 0, j = children.length; i < j; i++) { + var child = children[i]; + if (child === target || deep && walk(child)) { + result = true; + break; + } + } + return result; + }; + + return walk(this); + }; + + Node.prototype.remove = function remove() { + var parent = this.parent; + if (parent) { + parent.removeChild(this); + } + }; + + Node.prototype.insertChild = function insertChild(child, index, batch) { + if (!child) throw new Error('insertChild error: child is required.'); + + if (!(child instanceof Node)) { + if (!batch) { + var children = this.getChildren(true) || []; + if (children.indexOf(child.data) === -1) { + if (typeof index === 'undefined' || index < 0) { + children.push(child.data); + } else { + children.splice(index, 0, child.data); + } + } + } + merge_default()(child, { + parent: this, + store: this.store + }); + child = new Node(child); + } + + child.level = this.level + 1; + + if (typeof index === 'undefined' || index < 0) { + this.childNodes.push(child); + } else { + this.childNodes.splice(index, 0, child); + } + + this.updateLeafState(); + }; + + Node.prototype.insertBefore = function insertBefore(child, ref) { + var index = void 0; + if (ref) { + index = this.childNodes.indexOf(ref); + } + this.insertChild(child, index); + }; + + Node.prototype.insertAfter = function insertAfter(child, ref) { + var index = void 0; + if (ref) { + index = this.childNodes.indexOf(ref); + if (index !== -1) index += 1; + } + this.insertChild(child, index); + }; + + Node.prototype.removeChild = function removeChild(child) { + var children = this.getChildren() || []; + var dataIndex = children.indexOf(child.data); + if (dataIndex > -1) { + children.splice(dataIndex, 1); + } + + var index = this.childNodes.indexOf(child); + + if (index > -1) { + this.store && this.store.deregisterNode(child); + child.parent = null; + this.childNodes.splice(index, 1); + } + + this.updateLeafState(); + }; + + Node.prototype.removeChildByData = function removeChildByData(data) { + var targetNode = null; + + for (var i = 0; i < this.childNodes.length; i++) { + if (this.childNodes[i].data === data) { + targetNode = this.childNodes[i]; + break; + } + } + + if (targetNode) { + this.removeChild(targetNode); + } + }; + + Node.prototype.expand = function expand(callback, expandParent) { + var _this = this; + + var done = function done() { + if (expandParent) { + var parent = _this.parent; + while (parent.level > 0) { + parent.expanded = true; + parent = parent.parent; + } + } + _this.expanded = true; + if (callback) callback(); + }; + + if (this.shouldLoadData()) { + this.loadData(function (data) { + if (data instanceof Array) { + if (_this.checked) { + _this.setChecked(true, true); + } else if (!_this.store.checkStrictly) { + reInitChecked(_this); + } + done(); + } + }); + } else { + done(); + } + }; + + Node.prototype.doCreateChildren = function doCreateChildren(array) { + var _this2 = this; + + var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + array.forEach(function (item) { + _this2.insertChild(merge_default()({ data: item }, defaultProps), undefined, true); + }); + }; + + Node.prototype.collapse = function collapse() { + this.expanded = false; + }; + + Node.prototype.shouldLoadData = function shouldLoadData() { + return this.store.lazy === true && this.store.load && !this.loaded; + }; + + Node.prototype.updateLeafState = function updateLeafState() { + if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') { + this.isLeaf = this.isLeafByUser; + return; + } + var childNodes = this.childNodes; + if (!this.store.lazy || this.store.lazy === true && this.loaded === true) { + this.isLeaf = !childNodes || childNodes.length === 0; + return; + } + this.isLeaf = false; + }; + + Node.prototype.setChecked = function setChecked(value, deep, recursion, passValue) { + var _this3 = this; + + this.indeterminate = value === 'half'; + this.checked = value === true; + + if (this.store.checkStrictly) return; + + if (!(this.shouldLoadData() && !this.store.checkDescendants)) { + var _getChildState2 = getChildState(this.childNodes), + all = _getChildState2.all, + allWithoutDisable = _getChildState2.allWithoutDisable; + + if (!this.isLeaf && !all && allWithoutDisable) { + this.checked = false; + value = false; + } + + var handleDescendants = function handleDescendants() { + if (deep) { + var childNodes = _this3.childNodes; + for (var i = 0, j = childNodes.length; i < j; i++) { + var child = childNodes[i]; + passValue = passValue || value !== false; + var isCheck = child.disabled ? child.checked : passValue; + child.setChecked(isCheck, deep, true, passValue); + } + + var _getChildState3 = getChildState(childNodes), + half = _getChildState3.half, + _all = _getChildState3.all; + + if (!_all) { + _this3.checked = _all; + _this3.indeterminate = half; + } + } + }; + + if (this.shouldLoadData()) { + // Only work on lazy load data. + this.loadData(function () { + handleDescendants(); + reInitChecked(_this3); + }, { + checked: value !== false + }); + return; + } else { + handleDescendants(); + } + } + + var parent = this.parent; + if (!parent || parent.level === 0) return; + + if (!recursion) { + reInitChecked(parent); + } + }; + + Node.prototype.getChildren = function getChildren() { + var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + // this is data + if (this.level === 0) return this.data; + var data = this.data; + if (!data) return null; + + var props = this.store.props; + var children = 'children'; + if (props) { + children = props.children || 'children'; + } + + if (data[children] === undefined) { + data[children] = null; + } + + if (forceInit && !data[children]) { + data[children] = []; + } + + return data[children]; + }; + + Node.prototype.updateChildren = function updateChildren() { + var _this4 = this; + + var newData = this.getChildren() || []; + var oldData = this.childNodes.map(function (node) { + return node.data; + }); + + var newDataMap = {}; + var newNodes = []; + + newData.forEach(function (item, index) { + var key = item[NODE_KEY]; + var isNodeExists = !!key && Object(util_["arrayFindIndex"])(oldData, function (data) { + return data[NODE_KEY] === key; + }) >= 0; + if (isNodeExists) { + newDataMap[key] = { index: index, data: item }; + } else { + newNodes.push({ index: index, data: item }); + } + }); + + if (!this.store.lazy) { + oldData.forEach(function (item) { + if (!newDataMap[item[NODE_KEY]]) _this4.removeChildByData(item); + }); + } + + newNodes.forEach(function (_ref) { + var index = _ref.index, + data = _ref.data; + + _this4.insertChild({ data: data }, index); + }); + + this.updateLeafState(); + }; + + Node.prototype.loadData = function loadData(callback) { + var _this5 = this; + + var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) { + this.loading = true; + + var resolve = function resolve(children) { + _this5.childNodes = []; + + _this5.doCreateChildren(children, defaultProps); + _this5.loaded = true; + _this5.loading = false; + _this5.updateLeafState(); + if (callback) { + callback.call(_this5, children); + } + }; + + this.store.load(this, resolve); + } else { + if (callback) { + callback.call(this); + } + } + }; + + _createClass(Node, [{ + key: 'label', + get: function get() { + return getPropertyFromData(this, 'label'); + } + }, { + key: 'key', + get: function get() { + var nodeKey = this.store.key; + if (this.data) return this.data[nodeKey]; + return null; + } + }, { + key: 'disabled', + get: function get() { + return getPropertyFromData(this, 'disabled'); + } + }, { + key: 'nextSibling', + get: function get() { + var parent = this.parent; + if (parent) { + var index = parent.childNodes.indexOf(this); + if (index > -1) { + return parent.childNodes[index + 1]; + } + } + return null; + } + }, { + key: 'previousSibling', + get: function get() { + var parent = this.parent; + if (parent) { + var index = parent.childNodes.indexOf(this); + if (index > -1) { + return index > 0 ? parent.childNodes[index - 1] : null; + } + } + return null; + } + }]); + + return Node; +}(); + +/* harmony default export */ var model_node = (node_Node); +// CONCATENATED MODULE: ./packages/tree/src/model/tree-store.js +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function tree_store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + +var tree_store_TreeStore = function () { + function TreeStore(options) { + var _this = this; + + tree_store_classCallCheck(this, TreeStore); + + this.currentNode = null; + this.currentNodeKey = null; + + for (var option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.nodesMap = {}; + + this.root = new model_node({ + data: this.data, + store: this + }); + + if (this.lazy && this.load) { + var loadFn = this.load; + loadFn(this.root, function (data) { + _this.root.doCreateChildren(data); + _this._initDefaultCheckedNodes(); + }); + } else { + this._initDefaultCheckedNodes(); + } + } + + TreeStore.prototype.filter = function filter(value) { + var filterNodeMethod = this.filterNodeMethod; + var lazy = this.lazy; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + child.visible = filterNodeMethod.call(child, value, child.data, child); + + traverse(child); + }); + + if (!node.visible && childNodes.length) { + var allHidden = true; + allHidden = !childNodes.some(function (child) { + return child.visible; + }); + + if (node.root) { + node.root.visible = allHidden === false; + } else { + node.visible = allHidden === false; + } + } + if (!value) return; + + if (node.visible && !node.isLeaf && !lazy) node.expand(); + }; + + traverse(this); + }; + + TreeStore.prototype.setData = function setData(newVal) { + var instanceChanged = newVal !== this.root.data; + if (instanceChanged) { + this.root.setData(newVal); + this._initDefaultCheckedNodes(); + } else { + this.root.updateChildren(); + } + }; + + TreeStore.prototype.getNode = function getNode(data) { + if (data instanceof model_node) return data; + var key = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' ? data : util_getNodeKey(this.key, data); + return this.nodesMap[key] || null; + }; + + TreeStore.prototype.insertBefore = function insertBefore(data, refData) { + var refNode = this.getNode(refData); + refNode.parent.insertBefore({ data: data }, refNode); + }; + + TreeStore.prototype.insertAfter = function insertAfter(data, refData) { + var refNode = this.getNode(refData); + refNode.parent.insertAfter({ data: data }, refNode); + }; + + TreeStore.prototype.remove = function remove(data) { + var node = this.getNode(data); + + if (node && node.parent) { + if (node === this.currentNode) { + this.currentNode = null; + } + node.parent.removeChild(node); + } + }; + + TreeStore.prototype.append = function append(data, parentData) { + var parentNode = parentData ? this.getNode(parentData) : this.root; + + if (parentNode) { + parentNode.insertChild({ data: data }); + } + }; + + TreeStore.prototype._initDefaultCheckedNodes = function _initDefaultCheckedNodes() { + var _this2 = this; + + var defaultCheckedKeys = this.defaultCheckedKeys || []; + var nodesMap = this.nodesMap; + + defaultCheckedKeys.forEach(function (checkedKey) { + var node = nodesMap[checkedKey]; + + if (node) { + node.setChecked(true, !_this2.checkStrictly); + } + }); + }; + + TreeStore.prototype._initDefaultCheckedNode = function _initDefaultCheckedNode(node) { + var defaultCheckedKeys = this.defaultCheckedKeys || []; + + if (defaultCheckedKeys.indexOf(node.key) !== -1) { + node.setChecked(true, !this.checkStrictly); + } + }; + + TreeStore.prototype.setDefaultCheckedKey = function setDefaultCheckedKey(newVal) { + if (newVal !== this.defaultCheckedKeys) { + this.defaultCheckedKeys = newVal; + this._initDefaultCheckedNodes(); + } + }; + + TreeStore.prototype.registerNode = function registerNode(node) { + var key = this.key; + if (!key || !node || !node.data) return; + + var nodeKey = node.key; + if (nodeKey !== undefined) this.nodesMap[node.key] = node; + }; + + TreeStore.prototype.deregisterNode = function deregisterNode(node) { + var _this3 = this; + + var key = this.key; + if (!key || !node || !node.data) return; + + node.childNodes.forEach(function (child) { + _this3.deregisterNode(child); + }); + + delete this.nodesMap[node.key]; + }; + + TreeStore.prototype.getCheckedNodes = function getCheckedNodes() { + var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var includeHalfChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var checkedNodes = []; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) { + checkedNodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return checkedNodes; + }; + + TreeStore.prototype.getCheckedKeys = function getCheckedKeys() { + var _this4 = this; + + var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + return this.getCheckedNodes(leafOnly).map(function (data) { + return (data || {})[_this4.key]; + }); + }; + + TreeStore.prototype.getHalfCheckedNodes = function getHalfCheckedNodes() { + var nodes = []; + var traverse = function traverse(node) { + var childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach(function (child) { + if (child.indeterminate) { + nodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return nodes; + }; + + TreeStore.prototype.getHalfCheckedKeys = function getHalfCheckedKeys() { + var _this5 = this; + + return this.getHalfCheckedNodes().map(function (data) { + return (data || {})[_this5.key]; + }); + }; + + TreeStore.prototype._getAllNodes = function _getAllNodes() { + var allNodes = []; + var nodesMap = this.nodesMap; + for (var nodeKey in nodesMap) { + if (nodesMap.hasOwnProperty(nodeKey)) { + allNodes.push(nodesMap[nodeKey]); + } + } + + return allNodes; + }; + + TreeStore.prototype.updateChildren = function updateChildren(key, data) { + var node = this.nodesMap[key]; + if (!node) return; + var childNodes = node.childNodes; + for (var i = childNodes.length - 1; i >= 0; i--) { + var child = childNodes[i]; + this.remove(child.data); + } + for (var _i = 0, j = data.length; _i < j; _i++) { + var _child = data[_i]; + this.append(_child, node.data); + } + }; + + TreeStore.prototype._setCheckedKeys = function _setCheckedKeys(key) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var checkedKeys = arguments[2]; + + var allNodes = this._getAllNodes().sort(function (a, b) { + return b.level - a.level; + }); + var cache = Object.create(null); + var keys = Object.keys(checkedKeys); + allNodes.forEach(function (node) { + return node.setChecked(false, false); + }); + for (var i = 0, j = allNodes.length; i < j; i++) { + var node = allNodes[i]; + var nodeKey = node.data[key].toString(); + var checked = keys.indexOf(nodeKey) > -1; + if (!checked) { + if (node.checked && !cache[nodeKey]) { + node.setChecked(false, false); + } + continue; + } + + var parent = node.parent; + while (parent && parent.level > 0) { + cache[parent.data[key]] = true; + parent = parent.parent; + } + + if (node.isLeaf || this.checkStrictly) { + node.setChecked(true, false); + continue; + } + node.setChecked(true, true); + + if (leafOnly) { + (function () { + node.setChecked(false, false); + var traverse = function traverse(node) { + var childNodes = node.childNodes; + childNodes.forEach(function (child) { + if (!child.isLeaf) { + child.setChecked(false, false); + } + traverse(child); + }); + }; + traverse(node); + })(); + } + } + }; + + TreeStore.prototype.setCheckedNodes = function setCheckedNodes(array) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var key = this.key; + var checkedKeys = {}; + array.forEach(function (item) { + checkedKeys[(item || {})[key]] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + }; + + TreeStore.prototype.setCheckedKeys = function setCheckedKeys(keys) { + var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this.defaultCheckedKeys = keys; + var key = this.key; + var checkedKeys = {}; + keys.forEach(function (key) { + checkedKeys[key] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + }; + + TreeStore.prototype.setDefaultExpandedKeys = function setDefaultExpandedKeys(keys) { + var _this6 = this; + + keys = keys || []; + this.defaultExpandedKeys = keys; + + keys.forEach(function (key) { + var node = _this6.getNode(key); + if (node) node.expand(null, _this6.autoExpandParent); + }); + }; + + TreeStore.prototype.setChecked = function setChecked(data, checked, deep) { + var node = this.getNode(data); + + if (node) { + node.setChecked(!!checked, deep); + } + }; + + TreeStore.prototype.getCurrentNode = function getCurrentNode() { + return this.currentNode; + }; + + TreeStore.prototype.setCurrentNode = function setCurrentNode(currentNode) { + var prevCurrentNode = this.currentNode; + if (prevCurrentNode) { + prevCurrentNode.isCurrent = false; + } + this.currentNode = currentNode; + this.currentNode.isCurrent = true; + }; + + TreeStore.prototype.setUserCurrentNode = function setUserCurrentNode(node) { + var key = node[this.key]; + var currNode = this.nodesMap[key]; + this.setCurrentNode(currNode); + }; + + TreeStore.prototype.setCurrentNodeKey = function setCurrentNodeKey(key) { + if (key === null || key === undefined) { + this.currentNode && (this.currentNode.isCurrent = false); + this.currentNode = null; + return; + } + var node = this.getNode(key); + if (node) { + this.setCurrentNode(node); + } + }; + + return TreeStore; +}(); + +/* harmony default export */ var tree_store = (tree_store_TreeStore); +; +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e& +var tree_nodevue_type_template_id_3ba3ef0e_render = function() { + var this$1 = this + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.node.visible, + expression: "node.visible" + } + ], + ref: "node", + staticClass: "el-tree-node", + class: { + "is-expanded": _vm.expanded, + "is-current": _vm.node.isCurrent, + "is-hidden": !_vm.node.visible, + "is-focusable": !_vm.node.disabled, + "is-checked": !_vm.node.disabled && _vm.node.checked + }, + attrs: { + role: "treeitem", + tabindex: "-1", + "aria-expanded": _vm.expanded, + "aria-disabled": _vm.node.disabled, + "aria-checked": _vm.node.checked, + draggable: _vm.tree.draggable + }, + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleClick($event) + }, + contextmenu: function($event) { + return this$1.handleContextMenu($event) + }, + dragstart: function($event) { + $event.stopPropagation() + return _vm.handleDragStart($event) + }, + dragover: function($event) { + $event.stopPropagation() + return _vm.handleDragOver($event) + }, + dragend: function($event) { + $event.stopPropagation() + return _vm.handleDragEnd($event) + }, + drop: function($event) { + $event.stopPropagation() + return _vm.handleDrop($event) + } + } + }, + [ + _c( + "div", + { + staticClass: "el-tree-node__content", + style: { + "padding-left": (_vm.node.level - 1) * _vm.tree.indent + "px" + } + }, + [ + _c("span", { + class: [ + { + "is-leaf": _vm.node.isLeaf, + expanded: !_vm.node.isLeaf && _vm.expanded + }, + "el-tree-node__expand-icon", + _vm.tree.iconClass ? _vm.tree.iconClass : "el-icon-caret-right" + ], + on: { + click: function($event) { + $event.stopPropagation() + return _vm.handleExpandIconClick($event) + } + } + }), + _vm.showCheckbox + ? _c("el-checkbox", { + attrs: { + indeterminate: _vm.node.indeterminate, + disabled: !!_vm.node.disabled + }, + on: { change: _vm.handleCheckChange }, + nativeOn: { + click: function($event) { + $event.stopPropagation() + } + }, + model: { + value: _vm.node.checked, + callback: function($$v) { + _vm.$set(_vm.node, "checked", $$v) + }, + expression: "node.checked" + } + }) + : _vm._e(), + _vm.node.loading + ? _c("span", { + staticClass: "el-tree-node__loading-icon el-icon-loading" + }) + : _vm._e(), + _c("node-content", { attrs: { node: _vm.node } }) + ], + 1 + ), + _c("el-collapse-transition", [ + !_vm.renderAfterExpand || _vm.childNodeRendered + ? _c( + "div", + { + directives: [ + { + name: "show", + rawName: "v-show", + value: _vm.expanded, + expression: "expanded" + } + ], + staticClass: "el-tree-node__children", + attrs: { role: "group", "aria-expanded": _vm.expanded } + }, + _vm._l(_vm.node.childNodes, function(child) { + return _c("el-tree-node", { + key: _vm.getNodeKey(child), + attrs: { + "render-content": _vm.renderContent, + "render-after-expand": _vm.renderAfterExpand, + "show-checkbox": _vm.showCheckbox, + node: child + }, + on: { "node-expand": _vm.handleChildNodeExpand } + }) + }), + 1 + ) + : _vm._e() + ]) + ], + 1 + ) +} +var tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns = [] +tree_nodevue_type_template_id_3ba3ef0e_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e& + +// EXTERNAL MODULE: external "element-ui/lib/transitions/collapse-transition" +var collapse_transition_ = __webpack_require__(28); +var collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_); + +// EXTERNAL MODULE: external "element-ui/lib/checkbox" +var checkbox_ = __webpack_require__(18); +var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_); + +// EXTERNAL MODULE: external "element-ui/lib/mixins/emitter" +var emitter_ = __webpack_require__(4); +var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var tree_nodevue_type_script_lang_js_ = ({ + name: 'ElTreeNode', + + componentName: 'ElTreeNode', + + mixins: [emitter_default.a], + + props: { + node: { + default: function _default() { + return {}; + } + }, + props: {}, + renderContent: Function, + renderAfterExpand: { + type: Boolean, + default: true + }, + showCheckbox: { + type: Boolean, + default: false + } + }, + + components: { + ElCollapseTransition: collapse_transition_default.a, + ElCheckbox: checkbox_default.a, + NodeContent: { + props: { + node: { + required: true + } + }, + render: function render(h) { + var parent = this.$parent; + var tree = parent.tree; + var node = this.node; + var data = node.data, + store = node.store; + + return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node: node, data: data, store: store }) : tree.$scopedSlots.default ? tree.$scopedSlots.default({ node: node, data: data }) : h( + 'span', + { 'class': 'el-tree-node__label' }, + [node.label] + ); + } + } + }, + + data: function data() { + return { + tree: null, + expanded: false, + childNodeRendered: false, + oldChecked: null, + oldIndeterminate: null + }; + }, + + + watch: { + 'node.indeterminate': function nodeIndeterminate(val) { + this.handleSelectChange(this.node.checked, val); + }, + 'node.checked': function nodeChecked(val) { + this.handleSelectChange(val, this.node.indeterminate); + }, + 'node.expanded': function nodeExpanded(val) { + var _this = this; + + this.$nextTick(function () { + return _this.expanded = val; + }); + if (val) { + this.childNodeRendered = true; + } + } + }, + + methods: { + getNodeKey: function getNodeKey(node) { + return util_getNodeKey(this.tree.nodeKey, node.data); + }, + handleSelectChange: function handleSelectChange(checked, indeterminate) { + if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) { + this.tree.$emit('check-change', this.node.data, checked, indeterminate); + } + this.oldChecked = checked; + this.indeterminate = indeterminate; + }, + handleClick: function handleClick() { + var store = this.tree.store; + store.setCurrentNode(this.node); + this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode); + this.tree.currentNode = this; + if (this.tree.expandOnClickNode) { + this.handleExpandIconClick(); + } + if (this.tree.checkOnClickNode && !this.node.disabled) { + this.handleCheckChange(null, { + target: { checked: !this.node.checked } + }); + } + this.tree.$emit('node-click', this.node.data, this.node, this); + }, + handleContextMenu: function handleContextMenu(event) { + if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) { + event.stopPropagation(); + event.preventDefault(); + } + this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this); + }, + handleExpandIconClick: function handleExpandIconClick() { + if (this.node.isLeaf) return; + if (this.expanded) { + this.tree.$emit('node-collapse', this.node.data, this.node, this); + this.node.collapse(); + } else { + this.node.expand(); + this.$emit('node-expand', this.node.data, this.node, this); + } + }, + handleCheckChange: function handleCheckChange(value, ev) { + var _this2 = this; + + this.node.setChecked(ev.target.checked, !this.tree.checkStrictly); + this.$nextTick(function () { + var store = _this2.tree.store; + _this2.tree.$emit('check', _this2.node.data, { + checkedNodes: store.getCheckedNodes(), + checkedKeys: store.getCheckedKeys(), + halfCheckedNodes: store.getHalfCheckedNodes(), + halfCheckedKeys: store.getHalfCheckedKeys() + }); + }); + }, + handleChildNodeExpand: function handleChildNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.tree.$emit('node-expand', nodeData, node, instance); + }, + handleDragStart: function handleDragStart(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-start', event, this); + }, + handleDragOver: function handleDragOver(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-over', event, this); + event.preventDefault(); + }, + handleDrop: function handleDrop(event) { + event.preventDefault(); + }, + handleDragEnd: function handleDragEnd(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-end', event, this); + } + }, + + created: function created() { + var _this3 = this; + + var parent = this.$parent; + + if (parent.isTree) { + this.tree = parent; + } else { + this.tree = parent.tree; + } + + var tree = this.tree; + if (!tree) { + console.warn('Can not find node\'s tree.'); + } + + var props = tree.props || {}; + var childrenKey = props['children'] || 'children'; + + this.$watch('node.data.' + childrenKey, function () { + _this3.node.updateChildren(); + }); + + if (this.node.expanded) { + this.expanded = true; + this.childNodeRendered = true; + } + + if (this.tree.accordion) { + this.$on('tree-node-expand', function (node) { + if (_this3.node !== node) { + _this3.node.collapse(); + } + }); + } + } +}); +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js& + /* harmony default export */ var src_tree_nodevue_type_script_lang_js_ = (tree_nodevue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_tree_nodevue_type_script_lang_js_, + tree_nodevue_type_template_id_3ba3ef0e_render, + tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/tree/src/tree-node.vue" +/* harmony default export */ var tree_node = (component.exports); +// EXTERNAL MODULE: external "element-ui/lib/locale" +var locale_ = __webpack_require__(20); + +// EXTERNAL MODULE: external "element-ui/lib/utils/dom" +var dom_ = __webpack_require__(2); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +/* harmony default export */ var treevue_type_script_lang_js_ = ({ + name: 'ElTree', + + mixins: [emitter_default.a], + + components: { + ElTreeNode: tree_node + }, + + data: function data() { + return { + store: null, + root: null, + currentNode: null, + treeItems: null, + checkboxItems: [], + dragState: { + showDropIndicator: false, + draggingNode: null, + dropNode: null, + allowDrop: true + } + }; + }, + + + props: { + data: { + type: Array + }, + emptyText: { + type: String, + default: function _default() { + return Object(locale_["t"])('el.tree.emptyText'); + } + }, + renderAfterExpand: { + type: Boolean, + default: true + }, + nodeKey: String, + checkStrictly: Boolean, + defaultExpandAll: Boolean, + expandOnClickNode: { + type: Boolean, + default: true + }, + checkOnClickNode: Boolean, + checkDescendants: { + type: Boolean, + default: false + }, + autoExpandParent: { + type: Boolean, + default: true + }, + defaultCheckedKeys: Array, + defaultExpandedKeys: Array, + currentNodeKey: [String, Number], + renderContent: Function, + showCheckbox: { + type: Boolean, + default: false + }, + draggable: { + type: Boolean, + default: false + }, + allowDrag: Function, + allowDrop: Function, + props: { + default: function _default() { + return { + children: 'children', + label: 'label', + disabled: 'disabled' + }; + } + }, + lazy: { + type: Boolean, + default: false + }, + highlightCurrent: Boolean, + load: Function, + filterNodeMethod: Function, + accordion: Boolean, + indent: { + type: Number, + default: 18 + }, + iconClass: String + }, + + computed: { + children: { + set: function set(value) { + this.data = value; + }, + get: function get() { + return this.data; + } + }, + + treeItemArray: function treeItemArray() { + return Array.prototype.slice.call(this.treeItems); + }, + isEmpty: function isEmpty() { + var childNodes = this.root.childNodes; + + return !childNodes || childNodes.length === 0 || childNodes.every(function (_ref) { + var visible = _ref.visible; + return !visible; + }); + } + }, + + watch: { + defaultCheckedKeys: function defaultCheckedKeys(newVal) { + this.store.setDefaultCheckedKey(newVal); + }, + defaultExpandedKeys: function defaultExpandedKeys(newVal) { + this.store.defaultExpandedKeys = newVal; + this.store.setDefaultExpandedKeys(newVal); + }, + data: function data(newVal) { + this.store.setData(newVal); + }, + checkboxItems: function checkboxItems(val) { + Array.prototype.forEach.call(val, function (checkbox) { + checkbox.setAttribute('tabindex', -1); + }); + }, + checkStrictly: function checkStrictly(newVal) { + this.store.checkStrictly = newVal; + } + }, + + methods: { + filter: function filter(value) { + if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter'); + this.store.filter(value); + }, + getNodeKey: function getNodeKey(node) { + return util_getNodeKey(this.nodeKey, node.data); + }, + getNodePath: function getNodePath(data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath'); + var node = this.store.getNode(data); + if (!node) return []; + var path = [node.data]; + var parent = node.parent; + while (parent && parent !== this.root) { + path.push(parent.data); + parent = parent.parent; + } + return path.reverse(); + }, + getCheckedNodes: function getCheckedNodes(leafOnly, includeHalfChecked) { + return this.store.getCheckedNodes(leafOnly, includeHalfChecked); + }, + getCheckedKeys: function getCheckedKeys(leafOnly) { + return this.store.getCheckedKeys(leafOnly); + }, + getCurrentNode: function getCurrentNode() { + var currentNode = this.store.getCurrentNode(); + return currentNode ? currentNode.data : null; + }, + getCurrentKey: function getCurrentKey() { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey'); + var currentNode = this.getCurrentNode(); + return currentNode ? currentNode[this.nodeKey] : null; + }, + setCheckedNodes: function setCheckedNodes(nodes, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes'); + this.store.setCheckedNodes(nodes, leafOnly); + }, + setCheckedKeys: function setCheckedKeys(keys, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys'); + this.store.setCheckedKeys(keys, leafOnly); + }, + setChecked: function setChecked(data, checked, deep) { + this.store.setChecked(data, checked, deep); + }, + getHalfCheckedNodes: function getHalfCheckedNodes() { + return this.store.getHalfCheckedNodes(); + }, + getHalfCheckedKeys: function getHalfCheckedKeys() { + return this.store.getHalfCheckedKeys(); + }, + setCurrentNode: function setCurrentNode(node) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode'); + this.store.setUserCurrentNode(node); + }, + setCurrentKey: function setCurrentKey(key) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey'); + this.store.setCurrentNodeKey(key); + }, + getNode: function getNode(data) { + return this.store.getNode(data); + }, + remove: function remove(data) { + this.store.remove(data); + }, + append: function append(data, parentNode) { + this.store.append(data, parentNode); + }, + insertBefore: function insertBefore(data, refNode) { + this.store.insertBefore(data, refNode); + }, + insertAfter: function insertAfter(data, refNode) { + this.store.insertAfter(data, refNode); + }, + handleNodeExpand: function handleNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.$emit('node-expand', nodeData, node, instance); + }, + updateKeyChildren: function updateKeyChildren(key, data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild'); + this.store.updateChildren(key, data); + }, + initTabIndex: function initTabIndex() { + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + var checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]'); + if (checkedItem.length) { + checkedItem[0].setAttribute('tabindex', 0); + return; + } + this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0); + }, + handleKeydown: function handleKeydown(ev) { + var currentItem = ev.target; + if (currentItem.className.indexOf('el-tree-node') === -1) return; + var keyCode = ev.keyCode; + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + var currentIndex = this.treeItemArray.indexOf(currentItem); + var nextIndex = void 0; + if ([38, 40].indexOf(keyCode) > -1) { + // up�own + ev.preventDefault(); + if (keyCode === 38) { + // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { + nextIndex = currentIndex < this.treeItemArray.length - 1 ? currentIndex + 1 : 0; + } + this.treeItemArray[nextIndex].focus(); // �葉 + } + if ([37, 39].indexOf(keyCode) > -1) { + // left�ight 撅� + ev.preventDefault(); + currentItem.click(); // �葉 + } + var hasInput = currentItem.querySelector('[type="checkbox"]'); + if ([13, 32].indexOf(keyCode) > -1 && hasInput) { + // space enter�葉checkbox + ev.preventDefault(); + hasInput.click(); + } + } + }, + + created: function created() { + var _this = this; + + this.isTree = true; + + this.store = new tree_store({ + key: this.nodeKey, + data: this.data, + lazy: this.lazy, + props: this.props, + load: this.load, + currentNodeKey: this.currentNodeKey, + checkStrictly: this.checkStrictly, + checkDescendants: this.checkDescendants, + defaultCheckedKeys: this.defaultCheckedKeys, + defaultExpandedKeys: this.defaultExpandedKeys, + autoExpandParent: this.autoExpandParent, + defaultExpandAll: this.defaultExpandAll, + filterNodeMethod: this.filterNodeMethod + }); + + this.root = this.store.root; + + var dragState = this.dragState; + this.$on('tree-node-drag-start', function (event, treeNode) { + if (typeof _this.allowDrag === 'function' && !_this.allowDrag(treeNode.node)) { + event.preventDefault(); + return false; + } + event.dataTransfer.effectAllowed = 'move'; + + // wrap in try catch to address IE's error when first param is 'text/plain' + try { + // setData is required for draggable to work in FireFox + // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox + event.dataTransfer.setData('text/plain', ''); + } catch (e) {} + dragState.draggingNode = treeNode; + _this.$emit('node-drag-start', treeNode.node, event); + }); + + this.$on('tree-node-drag-over', function (event, treeNode) { + var dropNode = findNearestComponent(event.target, 'ElTreeNode'); + var oldDropNode = dragState.dropNode; + if (oldDropNode && oldDropNode !== dropNode) { + Object(dom_["removeClass"])(oldDropNode.$el, 'is-drop-inner'); + } + var draggingNode = dragState.draggingNode; + if (!draggingNode || !dropNode) return; + + var dropPrev = true; + var dropInner = true; + var dropNext = true; + var userAllowDropInner = true; + if (typeof _this.allowDrop === 'function') { + dropPrev = _this.allowDrop(draggingNode.node, dropNode.node, 'prev'); + userAllowDropInner = dropInner = _this.allowDrop(draggingNode.node, dropNode.node, 'inner'); + dropNext = _this.allowDrop(draggingNode.node, dropNode.node, 'next'); + } + event.dataTransfer.dropEffect = dropInner ? 'move' : 'none'; + if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) { + if (oldDropNode) { + _this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event); + } + _this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event); + } + + if (dropPrev || dropInner || dropNext) { + dragState.dropNode = dropNode; + } + + if (dropNode.node.nextSibling === draggingNode.node) { + dropNext = false; + } + if (dropNode.node.previousSibling === draggingNode.node) { + dropPrev = false; + } + if (dropNode.node.contains(draggingNode.node, false)) { + dropInner = false; + } + if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) { + dropPrev = false; + dropInner = false; + dropNext = false; + } + + var targetPosition = dropNode.$el.getBoundingClientRect(); + var treePosition = _this.$el.getBoundingClientRect(); + + var dropType = void 0; + var prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1; + var nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1; + + var indicatorTop = -9999; + var distance = event.clientY - targetPosition.top; + if (distance < targetPosition.height * prevPercent) { + dropType = 'before'; + } else if (distance > targetPosition.height * nextPercent) { + dropType = 'after'; + } else if (dropInner) { + dropType = 'inner'; + } else { + dropType = 'none'; + } + + var iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect(); + var dropIndicator = _this.$refs.dropIndicator; + if (dropType === 'before') { + indicatorTop = iconPosition.top - treePosition.top; + } else if (dropType === 'after') { + indicatorTop = iconPosition.bottom - treePosition.top; + } + dropIndicator.style.top = indicatorTop + 'px'; + dropIndicator.style.left = iconPosition.right - treePosition.left + 'px'; + + if (dropType === 'inner') { + Object(dom_["addClass"])(dropNode.$el, 'is-drop-inner'); + } else { + Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner'); + } + + dragState.showDropIndicator = dropType === 'before' || dropType === 'after'; + dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner; + dragState.dropType = dropType; + _this.$emit('node-drag-over', draggingNode.node, dropNode.node, event); + }); + + this.$on('tree-node-drag-end', function (event) { + var draggingNode = dragState.draggingNode, + dropType = dragState.dropType, + dropNode = dragState.dropNode; + + event.preventDefault(); + event.dataTransfer.dropEffect = 'move'; + + if (draggingNode && dropNode) { + var draggingNodeCopy = { data: draggingNode.node.data }; + if (dropType !== 'none') { + draggingNode.node.remove(); + } + if (dropType === 'before') { + dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node); + } else if (dropType === 'after') { + dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node); + } else if (dropType === 'inner') { + dropNode.node.insertChild(draggingNodeCopy); + } + if (dropType !== 'none') { + _this.store.registerNode(draggingNodeCopy); + } + + Object(dom_["removeClass"])(dropNode.$el, 'is-drop-inner'); + + _this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event); + if (dropType !== 'none') { + _this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event); + } + } + if (draggingNode && !dropNode) { + _this.$emit('node-drag-end', draggingNode.node, null, dropType, event); + } + + dragState.showDropIndicator = false; + dragState.draggingNode = null; + dragState.dropNode = null; + dragState.allowDrop = true; + }); + }, + mounted: function mounted() { + this.initTabIndex(); + this.$el.addEventListener('keydown', this.handleKeydown); + }, + updated: function updated() { + this.treeItems = this.$el.querySelectorAll('[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + } +}); +// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=script&lang=js& + /* harmony default export */ var src_treevue_type_script_lang_js_ = (treevue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/tree/src/tree.vue + + + + + +/* normalize component */ + +var tree_component = Object(componentNormalizer["a" /* default */])( + src_treevue_type_script_lang_js_, + render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var tree_api; } +tree_component.options.__file = "packages/tree/src/tree.vue" +/* harmony default export */ var tree = (tree_component.exports); +// CONCATENATED MODULE: ./packages/tree/index.js + + +/* istanbul ignore next */ +tree.install = function (Vue) { + Vue.component(tree.name, tree); +}; + +/* harmony default export */ var packages_tree = __webpack_exports__["default"] = (tree); + +/***/ }), + +/***/ 9: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/utils/merge"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/af-ZA.js b/PAMapp/local_modules/element-ui/lib/umd/locale/af-ZA.js new file mode 100644 index 0000000..576da25 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/af-ZA.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/af-ZA', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.afZA = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Maak skoon' + }, + datepicker: { + now: 'Nou', + today: 'Vandag', + cancel: 'Kanselleer', + clear: 'Maak skoon', + confirm: 'Bevestig', + selectDate: 'Kies datum', + selectTime: 'Kies tyd', + startDate: 'Begindatum', + startTime: 'Begintyd', + endDate: 'Einddatum', + endTime: 'Eindtyd', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: 'Jaar', + month1: 'Jan', + month2: 'Feb', + month3: 'Mrt', + month4: 'Apr', + month5: 'Mei', + month6: 'Jun', + month7: 'Jul', + month8: 'Aug', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Des', + // week: 'week', + weeks: { + sun: 'So', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mrt', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laai', + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + placeholder: 'Kies' + }, + cascader: { + noMatch: 'Geen toepaslike data', + loading: 'Laai', + placeholder: 'Kies', + noData: 'Geen data' + }, + pagination: { + goto: 'Gaan na', + pagesize: '/page', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Boodskap', + confirm: 'Bevestig', + cancel: 'Kanselleer', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Verwyder', + preview: 'Voorskou', + continue: 'Gaan voort' + }, + table: { + emptyText: 'Geen Data', + confirmFilter: 'Bevestig', + resetFilter: 'Herstel', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen Data' + }, + transfer: { + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + titles: ['Lys 1', 'Lys 2'], + filterPlaceholder: 'Voer sleutelwoord in', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} gekies' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen Data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ar.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ar.js new file mode 100644 index 0000000..b3735f3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ar.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ar', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ar = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '�戒�', + clear: '堨堬塈��' + }, + datepicker: { + now: '塈�K�', + today: '塈��', + cancel: '堨�種忪�', + clear: '堨堬塈��', + confirm: '�戒�', + selectDate: '堨堮堛堭 塈�臾忪斬�', + selectTime: '堨堮堛堭 塈��', + startDate: '堛塈堭�� 塈�佩胰�', + startTime: '�� 塈�佩胰�', + endDate: '堛塈堭�� 塈�矛舍忪�', + endTime: '�� 塈�矛舍忪�', + prevYear: '塈�喧� 塈�喀忪佻�', + nextYear: '塈�喧� 塈�臾戒�', + prevMonth: '塈�棻� 塈�喀忪佻�', + nextMonth: '塈�棻� 塈�臾戒�', + year: '堻��', + month1: '�戒�', + month2: '�佩斛戒�', + month3: '�忪斛�', + month4: '塈堥堭��', + month5: '�戒�', + month6: '��', + month7: '��', + month8: '堧媞堻媟堻', + month9: '堻堥堛�佩�', + month10: '堧�舍佩�', + month11: '�佩�', + month12: '堹�喧佩�', + week: '堧堻堥��', + weeks: { + sun: '塈��堶堹', + mon: '塈��堳��', + tue: '塈�弈忪建忪�', + wed: '塈��堭堥媢塈堙', + thu: '塈�桓�', + fri: '塈�省壽�', + sat: '塈�喀佩�' + }, + months: { + jan: '�戒�', + feb: '�佩斛戒�', + mar: '�忪斛�', + apr: '堧堥堭��', + may: '�戒�', + jun: '��', + jul: '��', + aug: '堧媞堻媟堻', + sep: '堻堥堛�佩�', + oct: '堧�舍佩�', + nov: '�佩�', + dec: '堹�喧佩�' + } + }, + select: { + loading: '堿塈堭 塈�臾倪�', + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + placeholder: '堨堮堛堭' + }, + cascader: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + loading: '堿塈堭 塈�臾倪�', + placeholder: '堨堮堛堭', + noData: '�戒盅� 堥�戒忪�' + }, + pagination: { + goto: '堧堸�� 堨��', + pagesize: '/媯�倭�', + total: '塈�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '塈�夥戒�', + confirm: '�戒�', + cancel: '堨�種忪�', + error: '�胰桓� 媞�� 媯堶��' + }, + upload: { + delete: '堶堸��', + preview: '媢堭媔', + continue: '堨堻堛�斛忪�' + }, + table: { + emptyText: '�戒盅� 堥�戒忪�', + confirmFilter: '堛堧��', + resetFilter: '堶堸��', + clearFilter: '塈��', + sumText: '塈�省�' + }, + tree: { + emptyText: '�戒盅� 堥�戒忪�' + }, + transfer: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + titles: ['�忪肌� 1', '�忪肌� 2'], + filterPlaceholder: '塈堹堮�� ��', + noCheckedFormat: '{total} 媢�忪華�', + hasCheckedFormat: '{checked}/{total} �框臾忪�' + }, + image: { + error: '�棻�' + }, + pageHeader: { + title: '媢�胰�' + }, + popconfirm: { + confirmButtonText: '堛堧��', + cancelButtonText: '堨�種忪�' + }, + empty: { + description: '�戒盅� 堥�戒忪�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/az.js b/PAMapp/local_modules/element-ui/lib/umd/locale/az.js new file mode 100644 index 0000000..eb08aca --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/az.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/az', ['exports'], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.az = mod.exports; + } +})(this, function (exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'T�diql��', + clear: 'T�izl��' + }, + datepicker: { + now: '襤ndi', + today: 'Bug羹n', + cancel: '襤mtina', + clear: 'T�izl��', + confirm: 'T�diql��', + selectDate: 'Taxir se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�an�帷 Tarixi', + startTime: 'Ba�an�帷 Saat覺', + endDate: 'Bitm�� Tarixi', + endTime: 'Bitm�� Saat覺', + prevYear: '�c�i il', + nextYear: 'Sonrak覺 il', + prevMonth: '�c�i ay', + nextMonth: 'Sonrak覺 ay', + year: '', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: '襤yun', + month7: '襤yul', + month8: 'Avqust', + month9: 'Sentyabr', + month10: 'Oktyabr', + month11: 'Noyabr', + month12: 'Dekabr', + // week: 'week', + weeks: { + sun: 'Baz', + mon: 'B.e', + tue: '��.a', + wed: '�', + thu: 'C.a', + fri: 'C羹m', + sat: '�' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: '襤yn', + jul: '襤yl', + aug: 'Avq', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Y羹kl�ir', + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'N�ic�� tap覺lmad覺', + loading: 'Y羹kl�ir', + placeholder: 'Se癟', + noData: 'M�umat yoxdur' + }, + pagination: { + goto: 'Get', + pagesize: '/s�if��', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'T�diql��', + cancel: '襤mtina', + error: 'S�v' + }, + upload: { + deleteTip: 'S羹r羹�羹rm�� sonra sil', + delete: 'Sil', + preview: '� izl��', + continue: 'Davam et' + }, + table: { + emptyText: 'M�umat yoxdur', + confirmFilter: 'T�diql��', + resetFilter: 'S覺f覺rla', + clearFilter: 'B羹t羹n', + sumText: 'C�i' + }, + tree: { + emptyText: 'M�umat yoxdur' + }, + transfer: { + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + titles: ['List 1', 'List 2'], + filterPlaceholder: 'K�im�iri daxil et', + noCheckedFormat: '{total} ��', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'S�V' // to be translated + }, + pageHeader: { + title: 'Geri' // to be translated + }, + popconfirm: { + confirmButtonText: 'B�i', // to be translated + cancelButtonText: 'Xeyr' // to be translated + }, + empty: { + description: 'M�umat yoxdur' + } + } + }; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/bg.js b/PAMapp/local_modules/element-ui/lib/umd/locale/bg.js new file mode 100644 index 0000000..502a37c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/bg.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/bg', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.bg = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�煤解�' + }, + datepicker: { + now: '苤迮迣訄', + today: '�請萃�', + cancel: '�碟匾剷�', + clear: '�煤解�', + confirm: '��', + selectDate: '�煩教萃�邽 迡訄��', + selectTime: '�煩教萃�邽 �參�', + startDate: '�參匾鉼請� 迡訄��', + startTime: '�參匾鉼菩� �參�', + endDate: '��訄邿郇訄 迡訄��', + endTime: '��訄迮郇 �參�', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '觓郇�參�邽', + month2: '苳迮赲��參�邽', + month3: '�參���', + month4: '�謀�邽郅', + month5: '�匾�', + month6: '衩郇邽', + month7: '衩郅邽', + month8: '�紹剩�', + month9: '苤迮郈�菩標紼�邽', + month10: '�碧憶標紼�邽', + month11: '�憶菩標紼�邽', + month12: '�菩碟菩標紼�邽', + // week: '苤迮迡邾邽��', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '��', + wed: '苤���', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '觓郇��', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '衩郇邽', + jul: '衩郅邽', + aug: '�紹�', + sep: '苤迮郈', + oct: '�碧�', + nov: '�憶�', + dec: '�菩�' + } + }, + select: { + loading: '�參�迮迠迡訄郇迮', + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + placeholder: '�煩教萃�邽' + }, + cascader: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + loading: '�參�迮迠迡訄郇迮', + placeholder: '�煩教萃�邽', + noData: '�標� 迡訄郇郇邽' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽��', + total: '�敗� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤�憶敗菩請覜�', + confirm: '��', + cancel: '�碟匾剷�', + error: '�菩紹匾鉼覜棣請� 迡訄郇郇邽' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '�煤�邽邿', + preview: '��迮迣郅迮迡訄邿', + continue: '��郋迡�鉼剷�' + }, + table: { + emptyText: '�標� 迡訄郇郇邽', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�煤解�', + clearFilter: '�解碟�', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '�標� 迡訄郇郇邽' + }, + transfer: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�標� 迡訄郇郇邽' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/bn.js b/PAMapp/local_modules/element-ui/lib/umd/locale/bn.js new file mode 100644 index 0000000..930bfbd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/bn.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/bn', ['exports'], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.bn = mod.exports; + } +})(this, function (exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '鄏兒江鄏嗣��江鄏�', + clear: '鄏汙鄏耜江' + }, + datepicker: { + now: '鄏�成', + today: '鄏��汙鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + clear: '鄏汙鄏耜江', + confirm: '鄏兒江鄏嗣��江鄏�', + selectDate: '鄏戈汙鄏啤江鄏� 鄏兒江鄏啤�收鄏擒�成 鄏旭鄑成', + selectTime: '鄏兒江鄏啤�收鄏擒�成鄑旭 鄏詮旨鄏能汝鄏汙鄏�', + startDate: '鄏嗣�旭鄑旭 鄏戈汙鄏啤江鄏�', + startTime: '鄏嗣�旭鄑旭 鄏詮旨鄏能汝', + endDate: '鄏嗣�朵 鄏戈汙鄏啤江鄏�', + endTime: '鄏嗣�朵 鄏詮旨鄏能汝', + prevYear: '鄏忖 鄏眇�旭', + nextYear: '鄏�汙鄏桌� 鄏眇�旭', + prevMonth: '鄏忖 鄏桌汙鄏詮��', + nextMonth: '鄏芹旭鄑旭 鄏桌汙鄏詮��', + year: '鄏眇�旭', + month1: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + month2: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + month3: '鄏桌汙鄏啤���', + month4: '鄏扛鄑旭鄏賴曳', + month5: '鄏桌��', + month6: '鄏�成', + month7: '鄏�曳鄏擒��', + month8: '鄏�次鄑��', + month9: '鄏詮�扛鄑��旨鄑收鄏�', + month10: '鄏����收鄏�', + month11: '鄏兒早鄑旨鄑收鄏�', + month12: '鄏﹤江鄏詮�旨鄑收鄏�', + // week: '�甈�', + weeks: { + sun: '鄏啤收鄏賴收鄏擒旭', + mon: '鄏詮�旨鄏眇汙鄏啤��', + tue: '鄏桌���曳鄏眇汙鄏�', + wed: '鄏眇�戍鄏眇汙鄏�', + thu: '鄏眇�此鄏詮�扛鄏戈江鄏眇汙鄏�', + fri: '鄏嗣���旭鄏眇汙鄏�', + sat: '鄏嗣成鄏賴收鄏擒旭' + }, + months: { + jan: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + feb: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + mar: '鄏桌汙鄏啤���', + apr: '鄏扛鄑旭鄏賴曳', + may: '鄏桌��', + jun: '鄏�成', + jul: '鄏�曳鄏擒��', + aug: '鄏�次鄑��', + sep: '鄏詮�扛鄑��旨鄑收鄏�', + oct: '鄏����收鄏�', + nov: '鄏兒早鄑旨鄑收鄏�', + dec: '鄏﹤江鄏詮�旨鄑收鄏�' + } + }, + select: { + loading: '鄏耜�式 鄏嫩�����', + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + placeholder: '鄏芹�成鄑戌 鄏旭' + }, + cascader: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + loading: '鄏耜�式 鄏嫩�����', + placeholder: '鄏芹�成鄑戌 鄏旭', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + pagination: { + goto: '鄏能汙鄏�', + pagesize: '鄏芹�旭鄏眇成鄑戍/鄏芹�朵鄑�汙', + total: '鄏詮旭鄑收鄏桌��� {total} 鄏徇汙鄏耜汙', + pageClassifier: '鄏芹汙鄏戈汙' + }, + messagebox: { + title: '鄏���江鄏�', + confirm: '鄏兒江鄏嗣��江鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + error: '鄏芹�旭鄏眇�朱 鄏旭鄏� 鄏戈戎鄑旬 鄏收鄑戍!' + }, + upload: { + deleteTip: '鄏成鄑次鄏擒旭鄑� delete 鄏桌���� 鄏徇�曳鄏�', + delete: '鄏桌���� 鄏徇�曳鄏�', + preview: '鄏冢江鄏� 鄏旨鄑��', + continue: '鄏扛鄏耜�式 鄏汙鄏耜江鄏能汝鄑� 鄏能汙鄏�' + }, + table: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���', + confirmFilter: '鄏汙鄏�成鄏�', + resetFilter: '鄏啤江鄏詮���', + clearFilter: '鄏詮收', + sumText: '鄏桌���' + }, + tree: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + transfer: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + titles: ['鄏戈汙鄏耜江鄏汙 1', '鄏戈汙鄏耜江鄏汙 2'], + filterPlaceholder: '鄏成鄑次鄏兒�戍鄏擒成 鄏眇江鄏獅旬鄏潼收鄏詮�忖鄑� 鄏耜江鄏�成', + noCheckedFormat: '鄏桌��� {total} 鄏���旨', + hasCheckedFormat: '鄏兒江鄏啤�收鄏擒�江鄏� {checked}/{total} 鄏���旨' + }, + image: { + error: '鄏耜�式 鄏旭鄏戈�� 鄏眇�旬鄏啤�戎' + }, + pageHeader: { + title: '鄏芹�旭鄏戈�旬鄏擒收鄏啤�忖鄏�' + }, + popconfirm: { + confirmButtonText: '鄏兒江鄏嗣��江鄏�', + cancelButtonText: '鄏眇汙鄏戈江鄏� 鄏旭鄑成' + }, + empty: { + description: '鄏�成 鄏戈戎鄑旬 鄏兒���' + } + } + }; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ca.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ca.js new file mode 100644 index 0000000..5f7ade9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ca.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ca', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ca = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Netejar' + }, + datepicker: { + now: 'Ara', + today: 'Avui', + cancel: 'Cancel繚lar', + clear: 'Netejar', + confirm: 'Confirmar', + selectDate: 'Seleccionar data', + selectTime: 'Seleccionar hora', + startDate: 'Data Inici', + startTime: 'Hora Inici', + endDate: 'Data Final', + endTime: 'Hora Final', + prevYear: 'Any anterior', + nextYear: 'Pr簷xim Any', + prevMonth: 'Mes anterior', + nextMonth: 'Pr簷xim Mes', + year: '', + month1: 'Gener', + month2: 'Febrer', + month3: 'Mar癟', + month4: 'Abril', + month5: 'Maig', + month6: 'Juny', + month7: 'Juliol', + month8: 'Agost', + month9: 'Setembre', + month10: 'Octubre', + month11: 'Novembre', + month12: 'Desembre', + // week: 'setmana', + weeks: { + sun: 'Dg', + mon: 'Dl', + tue: 'Dt', + wed: 'Dc', + thu: 'Dj', + fri: 'Dv', + sat: 'Ds' + }, + months: { + jan: 'Gen', + feb: 'Febr', + mar: 'Mar癟', + apr: 'Abr', + may: 'Maig', + jun: 'Juny', + jul: 'Jul', + aug: 'Ag', + sep: 'Set', + oct: 'Oct', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Carregant', + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hi ha dades que coincideixin', + loading: 'Carregant', + placeholder: 'Seleccionar', + noData: 'Sense Dades' + }, + pagination: { + goto: 'Anar a', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Acceptar', + cancel: 'Cancel繚lar', + error: 'Entrada inv�ida' + }, + upload: { + deleteTip: 'premi eliminar per descartar', + delete: 'Eliminar', + preview: 'Vista Pr癡via', + continue: 'Continuar' + }, + table: { + emptyText: 'Sense Dades', + confirmFilter: 'Confirmar', + resetFilter: 'Netejar', + clearFilter: 'Tot', + sumText: 'Tot' + }, + tree: { + emptyText: 'Sense Dades' + }, + transfer: { + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + titles: ['Llista 1', 'Llista 2'], + filterPlaceholder: 'Introdueix la paraula clau', + noCheckedFormat: '{total} 穩tems', + hasCheckedFormat: '{checked}/{total} seleccionats' + }, + image: { + error: 'HA FALLAT' + }, + pageHeader: { + title: 'Tornar' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sense Dades' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/cs-CZ.js b/PAMapp/local_modules/element-ui/lib/umd/locale/cs-CZ.js new file mode 100644 index 0000000..71c7169 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/cs-CZ.js @@ -0,0 +1,144 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/cs-CZ', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.csCZ = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Vymazat' + }, + datepicker: { + now: 'Te��', + today: 'Dnes', + cancel: 'Zru禳it', + clear: 'Vymazat', + confirm: 'OK', + selectDate: 'Vybrat datum', + selectTime: 'Vybrat �s', + startDate: 'Datum za�﹀ku', + startTime: '�s za�﹀ku', + endDate: 'Datum konce', + endTime: '�s konce', + prevYear: 'P�dchoz穩 rok', + nextYear: 'P�倩﹀穩 rok', + prevMonth: 'P�dchoz穩 m�穩c', + nextMonth: 'P�倩﹀穩 m�穩c', + day: 'Den', + week: 'T羸den', + month: 'M�穩c', + year: 'Rok', + month1: 'Leden', + month2: '�or', + month3: 'B�zen', + month4: 'Duben', + month5: 'Kv�en', + month6: '�rven', + month7: '�rvenec', + month8: 'Srpen', + month9: 'Z獺��', + month10: '�虻en', + month11: 'Listopad', + month12: 'Prosinec', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: '�', + wed: 'St', + thu: '�', + fri: 'P獺', + sat: 'So' + }, + months: { + jan: 'Led', + feb: '�o', + mar: 'B�', + apr: 'Dub', + may: 'Kv��', + jun: '�r', + jul: '�c', + aug: 'Srp', + sep: 'Z獺��', + oct: '�虻', + nov: 'Lis', + dec: 'Pro' + } + }, + select: { + loading: 'Na�負獺n穩', + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + placeholder: 'Vybrat' + }, + cascader: { + noMatch: '鬚獺dn獺 shoda', + loading: 'Na�負獺n穩', + placeholder: 'Vybrat', + noData: '鬚獺dn獺 data' + }, + pagination: { + goto: 'J穩t na', + pagesize: 'na stranu', + total: 'Celkem {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Zpr獺va', + confirm: 'OK', + cancel: 'Zru禳it', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'Stisknout pro smaz獺n穩', + delete: 'Vymazat', + preview: 'N獺hled', + continue: 'Pokra�vat' + }, + table: { + emptyText: '鬚獺dn獺 data', + confirmFilter: 'Potvrdit', + resetFilter: 'Resetovat', + clearFilter: 'V禳e', + sumText: 'Celkem' + }, + tree: { + emptyText: '鬚獺dn獺 data' + }, + transfer: { + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Kl穩�v矇 slovo', + noCheckedFormat: '{total} polo鱉ek', + hasCheckedFormat: '{checked}/{total} vybr獺no' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鬚獺dn獺 data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/da.js b/PAMapp/local_modules/element-ui/lib/umd/locale/da.js new file mode 100644 index 0000000..c0c19b7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/da.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/da', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.da = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Ryd' + }, + datepicker: { + now: 'Nu', + today: 'I dag', + cancel: 'Annuller', + clear: 'Ryd', + confirm: 'OK', + selectDate: 'V疆lg dato', + selectTime: 'V疆lg tidspunkt', + startDate: 'Startdato', + startTime: 'Starttidspunkt', + endDate: 'Slutdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige 疇r', + nextYear: 'N疆ste 疇r', + prevMonth: 'Forrige m疇ned', + nextMonth: 'N疆ste m疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Marts', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + week: 'uge', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Henter', + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + placeholder: 'V疆lg' + }, + cascader: { + noMatch: 'Ingen matchende data', + loading: 'Henter', + placeholder: 'V疆lg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annuller', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'tryk slet for at fjerne', + delete: 'Slet', + preview: 'Forh疇ndsvisning', + continue: 'Forts疆t' + }, + table: { + emptyText: 'Ingen data', + confirmFilter: 'Bekr疆ft', + resetFilter: 'Nulstil', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Indtast s繪geord', + noCheckedFormat: '{total} emner', + hasCheckedFormat: '{checked}/{total} valgt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ingen data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/de.js b/PAMapp/local_modules/element-ui/lib/umd/locale/de.js new file mode 100644 index 0000000..7070c66 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/de.js @@ -0,0 +1,143 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/de', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.de = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Leeren' + }, + datepicker: { + now: 'Jetzt', + today: 'Heute', + cancel: 'Abbrechen', + clear: 'Leeren', + confirm: 'OK', + selectDate: 'Datum w瓣hlen', + selectTime: 'Uhrzeit w瓣hlen', + startDate: 'Startdatum', + startTime: 'Startzeit', + endDate: 'Enddatum', + endTime: 'Endzeit', + prevYear: 'Letztes Jahr', + nextYear: 'N瓣chtes Jahr', + prevMonth: 'Letzter Monat', + nextMonth: 'N瓣chster Monat', + day: 'Tag', + week: 'Woche', + month: 'Monat', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'M瓣rz', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Dezember', + weeks: { + sun: 'So', + mon: 'Mo', + tue: 'Di', + wed: 'Mi', + thu: 'Do', + fri: 'Fr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'L瓣dt.', + noMatch: 'Nichts gefunden.', + noData: 'Keine Daten', + placeholder: 'Daten w瓣hlen' + }, + cascader: { + noMatch: 'Nichts gefunden.', + loading: 'L瓣dt.', + placeholder: 'Daten w瓣hlen', + noData: 'Keine Daten' + }, + pagination: { + goto: 'Gehe zu', + pagesize: ' pro Seite', + total: 'Gesamt {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Abbrechen', + error: 'Fehler' + }, + upload: { + deleteTip: 'Klicke l繹schen zum entfernen', + delete: 'L繹schen', + preview: 'Vorschau', + continue: 'Fortsetzen' + }, + table: { + emptyText: 'Keine Daten', + confirmFilter: 'Anwenden', + resetFilter: 'Zur羹cksetzen', + clearFilter: 'Alles ', + sumText: 'Summe' + }, + tree: { + emptyText: 'Keine Eintr瓣ge' + }, + transfer: { + noMatch: 'Nichts gefunden.', + noData: 'Keine Eintr瓣ge', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Eintr瓣ge filtern', + noCheckedFormat: '{total} Eintr瓣ge', + hasCheckedFormat: '{checked}/{total} ausgew瓣hlt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Keine Daten' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ee.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ee.js new file mode 100644 index 0000000..ae6d2a3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ee.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ee', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ee = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T羹hjenda' + }, + datepicker: { + now: 'Praegu', + today: 'T瓣na', + cancel: 'T羹hista', + clear: 'T羹hjenda', + confirm: 'OK', + selectDate: 'Vali kuup瓣ev', + selectTime: 'Vali kellaaeg', + startDate: 'Alguskuup瓣ev', + startTime: 'Algusaeg', + endDate: 'L繭pukuup瓣ev', + endTime: 'L繭puaeg', + prevYear: 'Eelmine aasta', + nextYear: 'J瓣rgmine aasta', + prevMonth: 'Eelmine kuu', + nextMonth: 'J瓣rgmine kuu', + year: '', + month1: 'Jaanuar', + month2: 'Veebruar', + month3: 'M瓣rts', + month4: 'Aprill', + month5: 'Mai', + month6: 'Juuni', + month7: 'Juuli', + month8: 'August', + month9: 'September', + month10: 'Oktoober', + month11: 'November', + month12: 'Detsember', + // week: 'n瓣dal', + weeks: { + sun: 'P', + mon: 'E', + tue: 'T', + wed: 'K', + thu: 'N', + fri: 'R', + sat: 'L' + }, + months: { + jan: 'Jaan', + feb: 'Veeb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Juun', + jul: 'Juul', + aug: 'Aug', + sep: 'Sept', + oct: 'Okt', + nov: 'Nov', + dec: 'Dets' + } + }, + select: { + loading: 'Laadimine', + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + placeholder: 'Vali' + }, + cascader: { + noMatch: 'Sobivad andmed puuduvad', + loading: 'Laadimine', + placeholder: 'Vali', + noData: 'Andmed puuduvad' + }, + pagination: { + goto: 'Mine lehele', + pagesize: '/page', + total: 'Kokku {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Teade', + confirm: 'OK', + cancel: 'T羹hista', + error: 'Vigane sisend' + }, + upload: { + deleteTip: 'Vajuta "Kustuta", et eemaldada', + delete: 'Kustuta', + preview: 'Eelvaate', + continue: 'J瓣tka' + }, + table: { + emptyText: 'Andmed puuduvad', + confirmFilter: 'Kinnita', + resetFilter: 'Taasta', + clearFilter: 'K繭ik', + sumText: 'Summa' + }, + tree: { + emptyText: 'Andmed puuduvad' + }, + transfer: { + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + titles: ['Loend 1', 'Loend 2'], + filterPlaceholder: 'Sisesta m瓣rks繭na', + noCheckedFormat: '{total} objekti', + hasCheckedFormat: '{checked}/{total} valitud' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Andmed puuduvad' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/el.js b/PAMapp/local_modules/element-ui/lib/umd/locale/el.js new file mode 100644 index 0000000..159675f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/el.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/el', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.el = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '�誕疥憊舒�', + clear: '�敖裕救圖樞�' + }, + datepicker: { + now: '峇��', + today: '峉峸弮庰��', + cancel: '�磁�', + clear: '�敖裕救圖樞�', + confirm: '�誕疥憊舒�', + selectDate: '��庣弇峟徆�� 庢弮峟��', + selectTime: '��庣弇峟徆�� ��', + startDate: '�樁舜諺樁煎諄翁� �諄救憊煙�', + startTime: '峏�� �諄救憊煙�', + endDate: '�樁舜諺樁煎諄翁� �晌憊煙�', + endTime: '峏�� �晌憊煙�', + prevYear: '�諺煎割諫樁舒諄� �諫�', + nextYear: '���樁舒諄� �諫�', + prevMonth: '�諺煎割諫樁舒諄諫� �晌諄救�', + nextMonth: '���樁舒諄諫� �晌諄救�', + year: '�諫�', + month1: '�敖諄諫疢團諫�', + month2: '峖庰帣�諫疢團諫�', + month3: '�疢團諫�', + month4: '���翁銜團諫�', + month5: '�疥團諫�', + month6: '�諫諄團諫�', + month7: '�諫銜團諫�', + month8: '�割諫諫�', + month9: '峉庰��倀樁紮團諫�', + month10: '�磁紮團諫�', + month11: '�諺倀樁紮團諫�', + month12: '�舒睡倀樁紮團諫�', + // week: '庰帣帤怷弮峎帤帢', + weeks: { + sun: '��', + mon: '�舜�', + tue: '峇��', + wed: '峇庰��', + thu: '�舒�', + fri: '�救�', + sat: '峉帢帣' + }, + months: { + jan: '�敖�', + feb: '峖庰帣', + mar: '�救�', + apr: '����', + may: '�救�', + jun: '�諫�', + jul: '�諫�', + aug: '��', + sep: '峉庰�', + oct: '�磁�', + nov: '�諺�', + dec: '�舒�' + } + }, + select: { + loading: '峖��', + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + placeholder: '��庣弇怷帠峸' + }, + cascader: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + loading: '峖��', + placeholder: '��庣弇怷帠峸', + noData: '峓�耆� 帤庰帤怷弮峟彖帢' + }, + pagination: { + goto: '�舜疥統救� ��', + pagesize: '/�舒銜翁棒�', + total: '峉�諄諺銜� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�晌誕樁�', + confirm: '�誕疥憊舒�', + cancel: '�磁�', + error: '�磁� 庰庣�敖剴割�' + }, + upload: { + deleteTip: '�疢煙� �團敖剴救� 帠庣帢 帢�敖耆舜�', + delete: '�團敖剴救�', + preview: '�諺舜�庣�磁�庢��', + continue: '峉�諄倔舒團�' + }, + table: { + emptyText: '峓�耆� �舒棒諺樁倀諄�', + confirmFilter: '��庣帣庰帣帢巹��', + resetFilter: '��帢彖帢�諫�', + clearFilter: '�銜�', + sumText: '峉�諄諺銜�' + }, + tree: { + emptyText: '峓�耆� �舒棒諺樁倀諄�' + }, + transfer: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + titles: ['�耆� 1', '�耆� 2'], + filterPlaceholder: '�諄敖僇晅煙�', + noCheckedFormat: '{total} �誕團睡舒翁樁舒諄�', + hasCheckedFormat: '{checked}/{total} 庰�庣弇庰帠弮峟彖帢' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '峓�耆� �舒棒諺樁倀諄�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/en.js b/PAMapp/local_modules/element-ui/lib/umd/locale/en.js new file mode 100644 index 0000000..6f9cfd7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/en.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/en', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.en = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Clear' + }, + datepicker: { + now: 'Now', + today: 'Today', + cancel: 'Cancel', + clear: 'Clear', + confirm: 'OK', + selectDate: 'Select date', + selectTime: 'Select time', + startDate: 'Start Date', + startTime: 'Start Time', + endDate: 'End Date', + endTime: 'End Time', + prevYear: 'Previous Year', + nextYear: 'Next Year', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + year: '', + month1: 'January', + month2: 'February', + month3: 'March', + month4: 'April', + month5: 'May', + month6: 'June', + month7: 'July', + month8: 'August', + month9: 'September', + month10: 'October', + month11: 'November', + month12: 'December', + week: 'week', + weeks: { + sun: 'Sun', + mon: 'Mon', + tue: 'Tue', + wed: 'Wed', + thu: 'Thu', + fri: 'Fri', + sat: 'Sat' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Loading', + noMatch: 'No matching data', + noData: 'No data', + placeholder: 'Select' + }, + cascader: { + noMatch: 'No matching data', + loading: 'Loading', + placeholder: 'Select', + noData: 'No data' + }, + pagination: { + goto: 'Go to', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Message', + confirm: 'OK', + cancel: 'Cancel', + error: 'Illegal input' + }, + upload: { + deleteTip: 'press delete to remove', + delete: 'Delete', + preview: 'Preview', + continue: 'Continue' + }, + table: { + emptyText: 'No Data', + confirmFilter: 'Confirm', + resetFilter: 'Reset', + clearFilter: 'All', + sumText: 'Sum' + }, + tree: { + emptyText: 'No Data' + }, + transfer: { + noMatch: 'No matching data', + noData: 'No data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', + cancelButtonText: 'No' + }, + empty: { + description: 'No Data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/eo.js b/PAMapp/local_modules/element-ui/lib/umd/locale/eo.js new file mode 100644 index 0000000..783d3af --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/eo.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/eo', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.eo = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Bone', + clear: 'Malplenigi' + }, + datepicker: { + now: 'Nun', + today: 'Hodia躑', + cancel: 'Nuligi', + clear: 'Malplenigi', + confirm: 'Bone', + selectDate: 'Elektu daton', + selectTime: 'Elektu horon', + startDate: 'Komenca Dato', + startTime: 'Komenca Horo', + endDate: 'Fina Dato', + endTime: 'Fina Horo', + prevYear: 'Anta躑a Jaro', + nextYear: 'Sekva Jaro', + prevMonth: 'Anta躑a Monato', + nextMonth: 'Sekva Monato', + year: 'Jaro', + month1: 'Januaro', + month2: 'Februaro', + month3: 'Marto', + month4: 'Aprilo', + month5: 'Majo', + month6: 'Junio', + month7: 'Julio', + month8: 'A躑gusto', + month9: 'Septembro', + month10: 'Oktobro', + month11: 'Novembro', + month12: 'Decembro', + week: 'Semajno', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: '譬a躑', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'A躑g', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: '�r�nte', + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + placeholder: 'Bonvolu elekti' + }, + cascader: { + noMatch: 'Neniuj kongruaj datumoj', + loading: '�r�nte', + placeholder: 'Bonvolu elekti', + noData: 'Neniuj datumoj' + }, + pagination: { + goto: 'Iru al', + pagesize: '/ pa�', + total: 'Entute {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesa�', + confirm: 'Bone', + cancel: 'Nuligi', + error: 'Nevalida Enigo!' + }, + upload: { + deleteTip: 'Premu "Delete" por forigi', + delete: 'Forigi', + preview: 'Anta躑rigardi', + continue: 'Da躑rigi' + }, + table: { + emptyText: 'Neniuj datumoj', + confirmFilter: 'Konfirmi', + resetFilter: 'Restarigi', + clearFilter: '�uj', + sumText: 'Sumo' + }, + tree: { + emptyText: 'Neniuj datumoj' + }, + transfer: { + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + titles: ['Listo 1', 'Listo 2'], + filterPlaceholder: 'Enigu �osilvorton', + noCheckedFormat: '{total} elementoj', + hasCheckedFormat: '{checked}/{total} elektitaj' + }, + image: { + error: 'MALSUKCESIS' + }, + pageHeader: { + title: 'Reen' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Neniuj datumoj' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/es.js b/PAMapp/local_modules/element-ui/lib/umd/locale/es.js new file mode 100644 index 0000000..0bf42b3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/es.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/es', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.es = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Despejar' + }, + datepicker: { + now: 'Ahora', + today: 'Hoy', + cancel: 'Cancelar', + clear: 'Limpiar', + confirm: 'Confirmar', + selectDate: 'Seleccionar fecha', + selectTime: 'Seleccionar hora', + startDate: 'Fecha Incial', + startTime: 'Hora Inicial', + endDate: 'Fecha Final', + endTime: 'Hora Final', + prevYear: 'A簽o Anterior', + nextYear: 'Pr籀ximo A簽o', + prevMonth: 'Mes Anterior', + nextMonth: 'Pr籀ximo Mes', + year: '', + month1: 'enero', + month2: 'febrero', + month3: 'marzo', + month4: 'abril', + month5: 'mayo', + month6: 'junio', + month7: 'julio', + month8: 'agosto', + month9: 'septiembre', + month10: 'octubre', + month11: 'noviembre', + month12: 'diciembre', + // week: 'semana', + weeks: { + sun: 'dom', + mon: 'lun', + tue: 'mar', + wed: 'mi矇', + thu: 'jue', + fri: 'vie', + sat: 's獺b' + }, + months: { + jan: 'ene', + feb: 'feb', + mar: 'mar', + apr: 'abr', + may: 'may', + jun: 'jun', + jul: 'jul', + aug: 'ago', + sep: 'sep', + oct: 'oct', + nov: 'nov', + dec: 'dic' + } + }, + select: { + loading: 'Cargando', + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hay datos que coincidan', + loading: 'Cargando', + placeholder: 'Seleccionar', + noData: 'Sin datos' + }, + pagination: { + goto: 'Ir a', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Aceptar', + cancel: 'Cancelar', + error: 'Entrada inv獺lida' + }, + upload: { + deleteTip: 'Pulse Eliminar para retirar', + delete: 'Eliminar', + preview: 'Vista Previa', + continue: 'Continuar' + }, + table: { + emptyText: 'Sin Datos', + confirmFilter: 'Confirmar', + resetFilter: 'Reiniciar', + clearFilter: 'Limpiar', + sumText: 'Suma' + }, + tree: { + emptyText: 'Sin Datos' + }, + transfer: { + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Ingresar palabra clave', + noCheckedFormat: '{total} art穩culos', + hasCheckedFormat: '{checked}/{total} revisados' + }, + image: { + error: 'HA FALLADO' + }, + pageHeader: { + title: 'Volver' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sin Datos' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/eu.js b/PAMapp/local_modules/element-ui/lib/umd/locale/eu.js new file mode 100644 index 0000000..fa1f0fd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/eu.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/eu', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.eu = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Ados', + clear: 'Garbitu' + }, + datepicker: { + now: 'Orain', + today: 'Gaur', + cancel: 'Utzi', + clear: 'Garbitu', + confirm: 'Ados', + selectDate: 'Hautatu data', + selectTime: 'Hautatu ordua', + startDate: 'Hasierako data', + startTime: 'Hasierako ordua', + endDate: 'Amaierako data', + endTime: 'Amaierako ordua', + prevYear: 'Aurreko urtea', + nextYear: 'Hurrengo urtea', + prevMonth: 'Aurreko hilabetea', + nextMonth: 'Hurrengo hilabetea', + year: '', + month1: 'Urtarrila', + month2: 'Otsaila', + month3: 'Martxoa', + month4: 'Apirila', + month5: 'Maiatza', + month6: 'Ekaina', + month7: 'Uztaila', + month8: 'Abuztua', + month9: 'Iraila', + month10: 'Urria', + month11: 'Azaroa', + month12: 'Abendua', + // week: 'astea', + weeks: { + sun: 'ig.', + mon: 'al.', + tue: 'ar.', + wed: 'az.', + thu: 'og.', + fri: 'ol.', + sat: 'lr.' + }, + months: { + jan: 'urt', + feb: 'ots', + mar: 'mar', + apr: 'api', + may: 'mai', + jun: 'eka', + jul: 'uzt', + aug: 'abu', + sep: 'ira', + oct: 'urr', + nov: 'aza', + dec: 'abe' + } + }, + select: { + loading: 'Kargatzen', + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + placeholder: 'Hautatu' + }, + cascader: { + noMatch: 'Bat datorren daturik ez', + loading: 'Kargatzen', + placeholder: 'Hautatu', + noData: 'Daturik ez' + }, + pagination: { + goto: 'Joan', + pagesize: '/orria', + total: 'Guztira {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mezua', + confirm: 'Ados', + cancel: 'Utzi', + error: 'Sarrera baliogabea' + }, + upload: { + deleteTip: 'sakatu Ezabatu kentzeko', + delete: 'Ezabatu', + preview: 'Aurrebista', + continue: 'Jarraitu' + }, + table: { + emptyText: 'Daturik ez', + confirmFilter: 'Baieztatu', + resetFilter: 'Berrezarri', + clearFilter: 'Guztia', + sumText: 'Batura' + }, + tree: { + emptyText: 'Daturik ez' + }, + transfer: { + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + titles: ['Zerrenda 1', 'Zerrenda 2'], // to be translated + filterPlaceholder: 'Sartu gako-hitza', // to be translated + noCheckedFormat: '{total} elementu', // to be translated + hasCheckedFormat: '{checked}/{total} hautatuta' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Daturik ez' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/fa.js b/PAMapp/local_modules/element-ui/lib/umd/locale/fa.js new file mode 100644 index 0000000..364aaa0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/fa.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/fa', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.fa = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '堥塈奡堹', + clear: '堶堸��' + }, + datepicker: { + now: '塈琠��', + today: '塈�斬�', + cancel: '�稱�', + clear: '堶堸��', + confirm: '堥塈奡��', + selectDate: '塈�臾框忪� 堛塈堭��', + selectTime: '塈�臾框忪� 堬�戒�', + startDate: '堛塈堭�� 奡堭��', + startTime: '堬�戒� 奡堭��', + endDate: '堛塈堭�� 椈塈�戒�', + endTime: '堬�戒� 椈塈�戒�', + prevYear: '堻塈�� �佻�', + nextYear: '堻塈�� 堥媢堹', + prevMonth: '�戒� �佻�', + nextMonth: '�戒� 堥媢堹', + year: '堻塈��', + month1: '�戒�', + month2: '�旋�', + month3: '�忪斛�', + month4: '堞�旋�', + month5: '��', + month6: '�肌�', + month7: '堿�抄�', + month8: '塈��', + month9: '堻椈堛塈�佩�', + month10: '塈琠堛堥堭', + month11: '�戒佩�', + month12: '堹堻塈�佩�', + // week: 'week', + weeks: { + sun: '�拂棻佻�', + mon: '堹�棻佻�', + tue: '堻��棻佻�', + wed: '�忪斛棻佻�', + thu: '椈�砂�棻佻�', + fri: '堿�夥�', + sat: '奡�佻�' + }, + months: { + jan: '�戒�', + feb: '�旋�', + mar: '�忪斛�', + apr: '堞�旋�', + may: '��', + jun: '�肌�', + jul: '堿�抄�', + aug: '塈��', + sep: '堻椈堛塈�佩�', + oct: '塈琠堛堥堭', + nov: '�戒佩�', + dec: '堹堻塈�佩�' + } + }, + select: { + loading: '堥塈堭痧�旋�', + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + placeholder: '塈�臾框忪� 琠��' + }, + cascader: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + loading: '堥塈堭痧�旋�', + placeholder: '塈�臾框忪� 琠��', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + pagination: { + goto: '堥堭�� 堥��', + pagesize: '/媯�倪�', + total: '�省� {total}', + pageClassifier: '' + }, + messagebox: { + title: '椈�戒�', + confirm: '堥塈奡��', + cancel: '�稱�', + error: '�斬胴� 媞�� �盅忪�' + }, + upload: { + deleteTip: '堥堭塈�� 椈塈琠 琠堭堹�� 堶堸�� 堭塈 �楮忪� 堹��', + delete: '堶堸��', + preview: '椈�氯�抄�', + continue: '塈堹塈��' + }, + table: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�', + confirmFilter: '堛塈��', + resetFilter: '堶堸��', + clearFilter: '��', + sumText: '堿��' + }, + tree: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + transfer: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + titles: ['�喀� 1', '�喀� 2'], + filterPlaceholder: '琠�� �我� �忪斬� �忪斛� 琠��', + noCheckedFormat: '{total} �斛�', + hasCheckedFormat: '{checked} �斛� 塈堬 {total} �斛� 塈�臾框忪� 奡堹�� 塈堻堛' + }, + image: { + error: '堮媟塈 堹堭 堥塈堭痧�旋� 堛媯��' + }, + pageHeader: { + title: '堥塈堬痧奡堛' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '塈媟�忪壽忪芝� �省� �胰忪斛�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/fi.js b/PAMapp/local_modules/element-ui/lib/umd/locale/fi.js new file mode 100644 index 0000000..8a058c1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/fi.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/fi', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.fi = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Tyhjenn瓣' + }, + datepicker: { + now: 'Nyt', + today: 'T瓣n瓣瓣n', + cancel: 'Peruuta', + clear: 'Tyhjenn瓣', + confirm: 'OK', + selectDate: 'Valitse p瓣iv瓣', + selectTime: 'Valitse aika', + startDate: 'Aloitusp瓣iv瓣', + startTime: 'Aloitusaika', + endDate: 'Lopetusp瓣iv瓣', + endTime: 'Lopetusaika', + prevYear: 'Edellinen vuosi', + nextYear: 'Seuraava vuosi', + prevMonth: 'Edellinen kuukausi', + nextMonth: 'Seuraava kuukausi', + year: '', + month1: 'tammikuu', + month2: 'helmikuu', + month3: 'maaliskuu', + month4: 'huhtikuu', + month5: 'toukokuu', + month6: 'kes瓣kuu', + month7: 'hein瓣kuu', + month8: 'elokuu', + month9: 'syyskuu', + month10: 'lokakuu', + month11: 'marraskuu', + month12: 'joulukuu', + // week: 'week', + weeks: { + sun: 'su', + mon: 'ma', + tue: 'ti', + wed: 'ke', + thu: 'to', + fri: 'pe', + sat: 'la' + }, + months: { + jan: 'tammi', + feb: 'helmi', + mar: 'maalis', + apr: 'huhti', + may: 'touko', + jun: 'kes瓣', + jul: 'hein瓣', + aug: 'elo', + sep: 'syys', + oct: 'loka', + nov: 'marras', + dec: 'joulu' + } + }, + select: { + loading: 'Lataa', + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + placeholder: 'Valitse' + }, + cascader: { + noMatch: 'Ei vastaavia tietoja', + loading: 'Lataa', + placeholder: 'Valitse', + noData: 'Ei tietoja' + }, + pagination: { + goto: 'Mene', + pagesize: '/sivu', + total: 'Yhteens瓣 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Viesti', + confirm: 'OK', + cancel: 'Peruuta', + error: 'Virheellinen sy繹te' + }, + upload: { + deleteTip: 'Poista Delete-n瓣pp瓣imell瓣', + delete: 'Poista', + preview: 'Esikatsele', + continue: 'Jatka' + }, + table: { + emptyText: 'Ei tietoja', + confirmFilter: 'Vahvista', + resetFilter: 'Tyhjenn瓣', + clearFilter: 'Kaikki', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ei tietoja' + }, + transfer: { + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + titles: ['Luettelo 1', 'Luettelo 2'], + filterPlaceholder: 'Sy繹t瓣 hakusana', + noCheckedFormat: '{total} kohdetta', + hasCheckedFormat: '{checked}/{total} valittu' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ei tietoja' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/fr.js b/PAMapp/local_modules/element-ui/lib/umd/locale/fr.js new file mode 100644 index 0000000..34600dc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/fr.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/fr', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.fr = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Effacer' + }, + datepicker: { + now: 'Maintenant', + today: 'Auj.', + cancel: 'Annuler', + clear: 'Effacer', + confirm: 'OK', + selectDate: 'Choisir date', + selectTime: 'Choisir horaire', + startDate: 'Date d矇but', + startTime: 'Horaire d矇but', + endDate: 'Date fin', + endTime: 'Horaire fin', + prevYear: 'Ann矇e pr矇c矇dente', + nextYear: 'Ann矇e suivante', + prevMonth: 'Mois pr矇c矇dent', + nextMonth: 'Mois suivant', + year: '', // In french, like in english, we don't say "Ann矇e" after the year number. + month1: 'Janvier', + month2: 'F矇vrier', + month3: 'Mars', + month4: 'Avril', + month5: 'Mai', + month6: 'Juin', + month7: 'Juillet', + month8: 'Ao羶t', + month9: 'Septembre', + month10: 'Octobre', + month11: 'Novembre', + month12: 'D矇cembre', + // week: 'Semaine', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Jeu', + fri: 'Ven', + sat: 'Sam' + }, + months: { + jan: 'Jan', + feb: 'F矇v', + mar: 'Mar', + apr: 'Avr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ao羶', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'D矇c' + } + }, + select: { + loading: 'Chargement', + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + placeholder: 'Choisir' + }, + cascader: { + noMatch: 'Aucune correspondance', + loading: 'Chargement', + placeholder: 'Choisir', + noData: 'Aucune donn矇e' + }, + pagination: { + goto: 'Aller ��', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Confirmer', + cancel: 'Annuler', + error: 'Erreur' + }, + upload: { + deleteTip: 'Cliquer sur supprimer pour retirer le fichier', + delete: 'Supprimer', + preview: 'Aper癟u', + continue: 'Continuer' + }, + table: { + emptyText: 'Aucune donn矇e', + confirmFilter: 'Confirmer', + resetFilter: 'R矇initialiser', + clearFilter: 'Tous', + sumText: 'Somme' + }, + tree: { + emptyText: 'Aucune donn矇e' + }, + transfer: { + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Entrer un mot clef', + noCheckedFormat: '{total} elements', + hasCheckedFormat: '{checked}/{total} coch矇(s)' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Aucune donn矇e' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/he.js b/PAMapp/local_modules/element-ui/lib/umd/locale/he.js new file mode 100644 index 0000000..c015a11 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/he.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/he', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.he = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '�抿�', + clear: '�忸�' + }, + datepicker: { + now: '�I�', + today: '��', + cancel: '��', + clear: '�忸�', + confirm: '�抿�', + selectDate: '�� 蛌�侈�', + selectTime: '�� ��', + startDate: '蛌�侈� �臥�', + startTime: '�� �臥�', + endDate: '蛌�侈� 蛂��', + endTime: '�� 蛂��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '��', + month2: '蚺�侈�', + month3: '�侈�', + month4: '�尤侈�', + month5: '��', + month6: '��', + month7: '��', + month8: '�=�', + month9: '蛂蚺��', + month10: '�忸�', + month11: '��', + month12: '�肉�', + // week: 'week', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '��', + thu: '��', + fri: '��', + sat: '蚸��' + }, + months: { + jan: '��', + feb: '蚺�侈�', + mar: '�侈�', + apr: '�尤侈�', + may: '��', + jun: '��', + jul: '��', + aug: '�=�', + sep: '蛂蚺��', + oct: '�忸�', + nov: '��', + dec: '�肉�' + } + }, + select: { + loading: '�I�', + noMatch: '�� �肉� �臥�', + noData: '�� �臥�', + placeholder: '��' + }, + cascader: { + noMatch: '�� �臥� �臥�', + loading: '�I�', + placeholder: '��', + noData: '�� �臥�' + }, + pagination: { + goto: '蛁�� ��', + pagesize: '/page', + total: '�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�I�', + confirm: '�抿�', + cancel: '��', + error: '蚹�� �� 蛌蚹��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '��', + preview: '蛌蛈�� �忸�', + continue: '�抿�' + }, + table: { + emptyText: '�� �臥�', + confirmFilter: '�抿�', + resetFilter: '�忸�', + clearFilter: '��', + sumText: '蛂��' + }, + tree: { + emptyText: '�� �臥�' + }, + transfer: { + noMatch: '�� �臥� �臥�', + noData: '�� �臥�', + titles: ['蚳蚸�� 1', '蚳蚸�� 2'], + filterPlaceholder: '�忸�', + noCheckedFormat: '蚺蚳�� {total}', + hasCheckedFormat: ' �抿� {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�� �臥�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/hr.js b/PAMapp/local_modules/element-ui/lib/umd/locale/hr.js new file mode 100644 index 0000000..69e18e7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/hr.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/hr', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.hr = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'O�sti' + }, + datepicker: { + now: 'Sada', + today: 'Danas', + cancel: 'Otka鱉i', + clear: 'O�sti', + confirm: 'OK', + selectDate: 'Odaberi datum', + selectTime: 'Odaberi vrijeme', + startDate: 'Datum po�tka', + startTime: 'Vrijeme po�tka', + endDate: 'Datum zavr禳etka', + endTime: 'Vrijeme zavr禳etka', + prevYear: 'Prethodna godina', + nextYear: 'Sljede� godina', + prevMonth: 'Prethodni mjesec', + nextMonth: 'Sljede� mjesec', + year: '', + month1: 'Sije�nj', + month2: 'Velja�', + month3: 'O鱉ujak', + month4: 'Travanj', + month5: 'Svibanj', + month6: 'Lipanj', + month7: 'Srpanj', + month8: 'Kolovoz', + month9: 'Rujan', + month10: 'Listopad', + month11: 'Studeni', + month12: 'Prosinac', + week: 'tjedan', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Uto', + wed: 'Sri', + thu: '�t', + fri: 'Pet', + sat: 'Sub' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'U�tavanje', + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + placeholder: 'Izaberi' + }, + cascader: { + noMatch: 'Nema prona�nih podataka', + loading: 'U�tavanje', + placeholder: 'Izaberi', + noData: 'Nema podataka' + }, + pagination: { + goto: 'Idi na', + pagesize: '/stranica', + total: 'Ukupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Poruka', + confirm: 'OK', + cancel: 'Otka鱉i', + error: 'Pogre禳an unos' + }, + upload: { + deleteTip: 'pritisnite izbri禳i za brisanje', + delete: 'Izbri禳i', + preview: 'Pregled', + continue: 'Nastavak' + }, + table: { + emptyText: 'Nema podataka', + confirmFilter: 'Potvrdi', + resetFilter: 'Resetiraj', + clearFilter: 'Sve', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nema podataka' + }, + transfer: { + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + titles: ['Lista 1', 'Lista 2'], // to be translated + filterPlaceholder: 'Unesite klju�u rije��', // to be translated + noCheckedFormat: '{total} stavki', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nema podataka' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/hu.js b/PAMapp/local_modules/element-ui/lib/umd/locale/hu.js new file mode 100644 index 0000000..b118f18 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/hu.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/hu', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.hu = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹rl矇s' + }, + datepicker: { + now: 'Most', + today: 'Ma', + cancel: 'M矇gse', + clear: 'T繹rl矇s', + confirm: 'OK', + selectDate: 'D獺tum', + selectTime: 'Id�ont', + startDate: 'D獺tum-t籀l', + startTime: 'Id�ont-t籀l', + endDate: 'D獺tum-ig', + endTime: 'Id�ont-ig', + prevYear: 'El��� 矇v', + nextYear: 'K繹vetkez�� 矇v', + prevMonth: 'El��� h籀nap', + nextMonth: 'K繹vetkez�� h籀nap', + year: '', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'M獺rcius', + month4: '�rilis', + month5: 'M獺jus', + month6: 'J繳nius', + month7: 'J繳lius', + month8: 'Augusztus', + month9: 'Szeptember', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Vas', + mon: 'H矇t', + tue: 'Ked', + wed: 'Sze', + thu: 'Cs羹', + fri: 'P矇n', + sat: 'Szo' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M獺r', + apr: '�r', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Szep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Bet繹lt矇s', + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + placeholder: 'V獺lassz' + }, + cascader: { + noMatch: 'Nincs tal獺lat', + loading: 'Bet繹lt矇s', + placeholder: 'V獺lassz', + noData: 'Nincs adat' + }, + pagination: { + goto: 'Ugr獺s', + pagesize: '/oldal', + total: '�sz {total}', + pageClassifier: '' + }, + messagebox: { + title: '�enet', + confirm: 'OK', + cancel: 'M矇gse', + error: 'Hib獺s adat' + }, + upload: { + deleteTip: 'kattints a t繹rl矇shez', + delete: 'T繹rl矇s', + preview: 'El�矇zet', + continue: 'Tov獺bb' + }, + table: { + emptyText: 'Nincs adat', + confirmFilter: 'Meger�穩t', + resetFilter: 'Alaphelyet', + clearFilter: 'Mind', + sumText: '�szeg' + }, + tree: { + emptyText: 'Nincs adat' + }, + transfer: { + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Kulcssz籀', + noCheckedFormat: '{total} elem', + hasCheckedFormat: '{checked}/{total} kiv獺lasztva' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nincs adat' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/hy-AM.js b/PAMapp/local_modules/element-ui/lib/umd/locale/hy-AM.js new file mode 100644 index 0000000..a1d3e4d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/hy-AM.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/hy-AM', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.hyAM = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '埮捸��', + clear: '�>�掍晙' + }, + datepicker: { + now: '�晛桭捸', + today: '埜桮桵��', + cancel: '�白組>�朘掍晙', + clear: '�>�掍晙', + confirm: '埮捸��', + selectDate: '堋梮梲�掍�� 捸桭桵捸晥晛��', + selectTime: '堋梮梲�掍�� 晡捸桭捸梮捸朘旍', + startDate: '�耿耳�. 捸桭桵捸晥晛��', + startTime: '�耿耳�. 晡捸桭捸梮捸朘旍', + endDate: '�皮�梬. 捸桭桵捸晥晛桴旍', + endTime: '�皮�梬. 晡捸桭捸梮捸朘旍', + prevYear: '�<倘詩�掑 梲捸�晛', + nextYear: '�<閣詩�掑 梲捸�晛', + prevMonth: '�<倘詩�掑 捸桭晛桵', + nextMonth: '�<閣詩�掑 捸桭晛桵', + year: '�>�晛', + month1: '�詩勢詩>�', + month2: '�白謁�楖�>�', + month3: '�>�梲', + month4: '埜梣�晛晙', + month5: '�<菅幽�', + month6: '�詩勢幽�', + month7: '�詩盈幽�', + month8: '��楖桵梲楖桵', + month9: '�白禎諾白椎G皮�', + month10: '�試耿諾白椎G皮�', + month11: '�試菅白椎G皮�', + month12: '埭掍朘梲掍桭掅掍�', + week: '�<G<�', + weeks: { + sun: '埥晛�', + mon: '埽�朘', + tue: '埽�', + wed: '�詩�', + thu: '�晛梮掁', + fri: '��掅', + sat: '�<�' + }, + months: { + jan: '�詩勢�', + feb: '�白�', + mar: '�>�', + apr: '埜梣�', + may: '�<�', + jun: '�詩�', + jul: '�詩�', + aug: '��', + sep: '�白禎�', + oct: '�試�', + nov: '�試�', + dec: '埭掍朘' + } + }, + select: { + loading: '埴掍梩梮楖��', + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�擅菅<盈勢皮� 桯朘捸梮', + placeholder: '堋梮梲�掍晙' + }, + cascader: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + loading: '埴掍梩梮楖��', + placeholder: '堋梮梲�掍晙', + noData: '�擅菅<盈勢皮� 桯朘捸梮' + }, + pagination: { + goto: '埜梮�勢白�', + pagesize: ' 敓梬楖��', + total: '堋梮掑捸桭掍梮旍 {total}', + pageClassifier: '' + }, + messagebox: { + title: '�捸梐楖�掑捸掁�楖�拌庠�', + confirm: '埮捸��', + cancel: '�白組>�朘掍晙', + error: '埜梮桴捸�皮� 梲楖�白<盈勢皮�晛 桭楖�謁�' + }, + upload: { + deleteTip: '�白組椎皮� [�勢閣白柵 梬梮梬掍晙楖�� 桹捸桭捸�', + delete: '�勢閣白�', + preview: '�<倘<孔幽諾詩�', + continue: '�>�楖�勢<耿白�' + }, + table: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮', + confirmFilter: '�<調諾<諾白�', + resetFilter: '�皮�捸掁楖�晢捸�朘掍晙', + clearFilter: '埴楖晙楖�旍', + sumText: '堀楖�椎>�旍' + }, + tree: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮' + }, + transfer: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�詩白<盈勢皮� 桯朘捸梮', + titles: ['�詩<� 1', '�詩<� 2'], + filterPlaceholder: '�詩謁<��掍�� 掅捸梮捸晙晛 掅捸梩', + noCheckedFormat: '{total} 桭晛捸�詩�', + hasCheckedFormat: '{checked}/{total} 旍梮梲�楖�<� 敓' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�詩白<盈勢皮� 桯朘捸梮' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/id.js b/PAMapp/local_modules/element-ui/lib/umd/locale/id.js new file mode 100644 index 0000000..ed889ac --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/id.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/id', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.id = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Pilih', + clear: 'Kosongkan' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Kosongkan', + confirm: 'Ya', + selectDate: 'Pilih tanggal', + selectTime: 'Pilih waktu', + startDate: 'Tanggal Mulai', + startTime: 'Waktu Mulai', + endDate: 'Tanggal Selesai', + endTime: 'Waktu Selesai', + prevYear: 'Tahun Sebelumnya', + nextYear: 'Tahun Selanjutnya', + prevMonth: 'Bulan Sebelumnya', + nextMonth: 'Bulan Selanjutnya', + year: 'Tahun', + month1: 'Januari', + month2: 'Februari', + month3: 'Maret', + month4: 'April', + month5: 'Mei', + month6: 'Juni', + month7: 'Juli', + month8: 'Agustus', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'minggu', + weeks: { + sun: 'Min', + mon: 'Sen', + tue: 'Sel', + wed: 'Rab', + thu: 'Kam', + fri: 'Jum', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Agu', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Memuat', + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + placeholder: 'Pilih' + }, + cascader: { + noMatch: 'Tidak ada data yg cocok', + loading: 'Memuat', + placeholder: 'Pilih', + noData: 'Tidak ada data' + }, + pagination: { + goto: 'Pergi ke', + pagesize: '/laman', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pesan', + confirm: 'Ya', + cancel: 'Batal', + error: 'Masukan ilegal' + }, + upload: { + deleteTip: 'Tekan hapus untuk melanjutkan', + delete: 'Hapus', + preview: 'Pratinjau', + continue: 'Lanjutkan' + }, + table: { + emptyText: 'Tidak ada data', + confirmFilter: 'Konfirmasi', + resetFilter: 'Atur ulang', + clearFilter: 'Semua', + sumText: 'Jml' + }, + tree: { + emptyText: 'Tidak ada data' + }, + transfer: { + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukan kata kunci', + noCheckedFormat: '{total} butir', + hasCheckedFormat: '{checked}/{total} terpilih' + }, + image: { + error: 'GAGAL' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Ya', + cancelButtonText: 'Tidak' + }, + empty: { + description: 'Tidak ada data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/is.js b/PAMapp/local_modules/element-ui/lib/umd/locale/is.js new file mode 100644 index 0000000..5e95953 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/is.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/is', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.is = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Hreinsa' + }, + datepicker: { + now: 'N繳na', + today: '�� dag', + cancel: 'H疆tta vi簸', + clear: 'Hreinsa', + confirm: 'OK', + selectDate: 'Velja dagsetningu', + selectTime: 'Velja t穩ma', + startDate: 'Upphafsdagsetning', + startTime: 'Upphafst穩mi', + endDate: 'Lokadagsetning', + endTime: 'Lokat穩mi', + prevYear: 'S穩簸asta 獺r', + nextYear: 'N疆sta 獺r', + prevMonth: 'S穩簸asti m獺nu簸ur', + nextMonth: 'N疆sti m獺nu簸ur', + year: '�', + month1: 'Jan繳ar', + month2: 'Febr繳ar', + month3: 'Mars', + month4: 'Apr穩l', + month5: 'Ma穩', + month6: 'J繳n穩', + month7: 'J繳l穩', + month8: '�繳st', + month9: 'September', + month10: 'Okt籀ber', + month11: 'N籀vember', + month12: 'Desember', + week: 'Vika', + weeks: { + sun: 'Sun', + mon: 'M獺n', + tue: '�i', + wed: 'Mi簸', + thu: 'Fim', + fri: 'F繹s', + sat: 'Lau' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Ma穩', + jun: 'J繳n', + jul: 'J繳l', + aug: '�繳', + sep: 'Sep', + oct: 'Okt', + nov: 'N籀v', + dec: 'Des' + } + }, + select: { + loading: 'Hle簸', + noMatch: 'Ekkert fannst', + noData: 'Engin g繹gn', + placeholder: 'Velja' + }, + cascader: { + noMatch: 'Ekkert fannst', + loading: 'Hle簸', + placeholder: 'Velja', + noData: 'Engin g繹gn' + }, + pagination: { + goto: 'Fara 獺', + pagesize: '/sida', + total: 'Samtals {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Skilabo簸', + confirm: 'OK', + cancel: 'H疆tta vi簸', + error: 'Rangt innslegi簸' + }, + upload: { + deleteTip: 'smelltu 獺 ey簸a til a簸 ey簸a', + delete: 'Ey簸a', + preview: 'Sko簸a', + continue: 'Halda 獺fram' + }, + table: { + emptyText: 'Engin g繹gn', + confirmFilter: 'Sta簸festa', + resetFilter: 'Endurstilla', + clearFilter: 'Allt', + sumText: 'Summa' + }, + tree: { + emptyText: 'Engin g繹gn' + }, + transfer: { + noMatch: 'Engin g繹gn fundust', + noData: 'Engin g繹gn', + titles: ['Listi 1', 'Listi 2'], + filterPlaceholder: 'Sl獺 inn or簸', + noCheckedFormat: '{total} atri簸i', + hasCheckedFormat: '{checked}/{total} valin' + }, + image: { + error: 'VILLA' + }, + pageHeader: { + title: 'Til baka' + }, + popconfirm: { + confirmButtonText: 'J獺', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Engin g繹gn' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/it.js b/PAMapp/local_modules/element-ui/lib/umd/locale/it.js new file mode 100644 index 0000000..957489b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/it.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/it', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.it = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Pulisci' + }, + datepicker: { + now: 'Ora', + today: 'Oggi', + cancel: 'Cancella', + clear: 'Pulisci', + confirm: 'OK', + selectDate: 'Seleziona data', + selectTime: 'Seleziona ora', + startDate: 'Data inizio', + startTime: 'Ora inizio', + endDate: 'Data fine', + endTime: 'Ora fine', + prevYear: 'Anno precedente', + nextYear: 'Anno successivo', + prevMonth: 'Mese precedente', + nextMonth: 'Mese successivo', + year: 'anno', + month1: 'Gennaio', + month2: 'Febbraio', + month3: 'Marzo', + month4: 'Aprile', + month5: 'Maggio', + month6: 'Giugno', + month7: 'Luglio', + month8: 'Agosto', + month9: 'Settembre', + month10: 'Ottobre', + month11: 'Novembre', + month12: 'Dicembre', + // week: 'settimana', + weeks: { + sun: 'Dom', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Gio', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Gen', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mag', + jun: 'Giu', + jul: 'Lug', + aug: 'Ago', + sep: 'Set', + oct: 'Ott', + nov: 'Nov', + dec: 'Dic' + } + }, + select: { + loading: 'Caricamento', + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + placeholder: 'Seleziona' + }, + cascader: { + noMatch: 'Nessuna corrispondenza', + loading: 'Caricamento', + placeholder: 'Seleziona', + noData: 'Nessun dato' + }, + pagination: { + goto: 'Vai a', + pagesize: '/pagina', + total: 'Totale {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annulla', + error: 'Input non valido' + }, + upload: { + deleteTip: 'Premi cancella per rimuovere', + delete: 'Cancella', + preview: 'Anteprima', + continue: 'Continua' + }, + table: { + emptyText: 'Nessun dato', + confirmFilter: 'Conferma', + resetFilter: 'Reset', + clearFilter: 'Tutti', + sumText: 'Somma' + }, + tree: { + emptyText: 'Nessun dato' + }, + transfer: { + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Inserisci filtro', + noCheckedFormat: '{total} elementi', + hasCheckedFormat: '{checked}/{total} selezionati' + }, + image: { + error: 'ERRORE' + }, + pageHeader: { + title: 'Indietro' + }, + popconfirm: { + confirmButtonText: 'S穫', + cancelButtonText: 'No' + }, + empty: { + description: 'Nessun dato' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ja.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ja.js new file mode 100644 index 0000000..022beb5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ja.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ja', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ja = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '���' + }, + datepicker: { + now: '��', + today: '隞', + cancel: '�����', + clear: '���', + confirm: 'OK', + selectDate: '�隞����', + selectTime: '�������', + startDate: '���', + startTime: '������', + endDate: '蝯�', + endTime: '蝯����', + prevYear: '��僑', + nextYear: '蝧僑', + prevMonth: '����', + nextMonth: '蝧��', + year: '撟�', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: '�望活', + weeks: { + sun: '�', + mon: '���', + tue: '�', + wed: '瘞�', + thu: '�', + fri: '���', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '����葉', + noMatch: '�������', + noData: '�������', + placeholder: '����������' + }, + cascader: { + noMatch: '�������', + loading: '����葉', + placeholder: '����������', + noData: '�������' + }, + pagination: { + goto: '', + pagesize: '隞�/���', + total: '蝺�� {total} 隞�', + pageClassifier: '�����' + }, + messagebox: { + title: '�����', + confirm: 'OK', + cancel: '�����', + error: '甇���������' + }, + upload: { + deleteTip: 'Del������������', + delete: '������', + preview: '�����', + continue: '蝬����' + }, + table: { + emptyText: '�������', + confirmFilter: '蝣箄��', + resetFilter: '�����', + clearFilter: '���', + sumText: '����' + }, + tree: { + emptyText: '�������' + }, + transfer: { + noMatch: '�������', + noData: '�������', + titles: ['����� 1', '����� 2'], + filterPlaceholder: '����������', + noCheckedFormat: '蝺�� {total} 隞�', + hasCheckedFormat: '{checked}/{total} �������' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�������' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/kg.js b/PAMapp/local_modules/element-ui/lib/umd/locale/kg.js new file mode 100644 index 0000000..63a7cc6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/kg.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/kg', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.kg = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '���請碧�', + clear: '訄��' + }, + datepicker: { + now: '訄郱��', + today: '訇玼迣玼郇', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + clear: '訄��', + confirm: '訇迮郅迣邽郅茤茤', + selectDate: '迡訄��', + selectTime: '�匾請棣憶� �教匾碧�', + startDate: '�參匾鉼創匾� 迡訄�參�', + startTime: 'Start �教匾碧�', + endDate: '�耕碩房� 迡訄�參�', + endTime: 'End �教匾碧�', + prevYear: '茤�碩房� 迠�銑�', + nextYear: '訇邽� 迠�鉼棣匾� 郕邽邿邽郇', + prevMonth: '茖�碩房� 訄邿迡訄', + nextMonth: '�覜塵覜請碟� 訄邿', + year: '迠��', + month1: '訇邽�邽郇�� 訄邿', + month2: '衪郕邽郇�� 訄邿迡訄', + month3: '珖�耘諸� 訄邿迡訄', + month4: '苠茤��耘諸� 訄邿迡訄', + month5: '訇迮�覜諸� 訄邿迡訄', + month6: '�鉼創參碧� 訄郅�� 訄邿', + month7: '迠迮�覜諸� 訄邿迡訄', + month8: '�菩創覜煩覜諸� 訄邿', + month9: '�鉼創參碧� �憶剩� 訄邿', + month10: '郋郇�諸� 訄邿迡訄', + month11: '郋郇 訇邽�邽郇�� 訄邿', + month12: '郋郇 �碟覜諸� 訄邿迡訄', + // week: '�甈�', + weeks: { + sun: '迠迮�� 迠�標�', + mon: '迡玼邿�房標啟�', + tue: '�菩塾菩標教�', + wed: '�參��菩標教�', + thu: '訇迮邿�菩標教�', + fri: '迠�標�', + sat: '邽�菩標教�' + }, + months: { + jan: '訇邽�邽郇�� 訄邿', + feb: '衪郕邽郇�� 訄邿迡訄', + mar: '珖�耘諸� 訄邿迡訄', + apr: '苠茤��耘諸� 訄邿迡訄', + may: '訇迮�覜諸� 訄邿迡訄', + jun: '�鉼創參碧� 訄郅�� 訄邿', + jul: '迠迮�覜諸� 訄邿迡訄', + aug: '�菩創覜煩覜諸� 訄邿', + sep: '�鉼創參碧� �憶剩� 訄邿', + oct: '郋郇�諸� 訄邿迡訄', + nov: '郋郇 訇邽�邽郇�� 訄邿', + dec: '郋郇 �碟覜諸� 訄邿迡訄' + } + }, + select: { + loading: '�耘碧房閡耙耘植�', + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + placeholder: '�匾請棣憶�' + }, + cascader: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + loading: '�耘碧房閡耙耘植�', + placeholder: '�匾請棣憶�', + noData: '邾訄訄郅�標參� 迠郋郕' + }, + pagination: { + goto: '���請碧�', + pagesize: '訇邽�', + total: '訇玼�耘請植房� {total} �匾� ', + pageClassifier: '訇迮��' + }, + messagebox: { + title: '�菩�', + confirm: '訇迮郅迣邽郅茤茤', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + error: '�匾匾銑標參參�迡�� 郕邽�迣邽郱玼玼 邾�塵煩匾標棋� �標萃�!' + }, + upload: { + deleteTip: '�憶� 郕�銑� 訇訄�碧� 訇訄�� 迠郋郕', + delete: '迠郋郕 郕�銑�', + preview: '�諸� 郕訄��覜請碟�', + continue: '迠玼郕�房� 訇迮�' + }, + table: { + emptyText: '邾訄訄郅�標參� 迠郋郕', + confirmFilter: '�諱碟�', + resetFilter: '郕訄邿�訄 郋�郇郋��', + clearFilter: '訇玼�碩房�', + sumText: '�參�迡�剩� 訇郋郅��' + }, + tree: { + emptyText: '邾訄訄郅�標參� 迠郋郕' + }, + transfer: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + titles: ['1 �覜煩標萃�', '2 �覜煩標萃�'], + filterPlaceholder: '苤��訄郇��, 邽郱迡茤茤 郕邽�迮��', + noCheckedFormat: '訇玼�耘請植房� {total} �匾�', + hasCheckedFormat: '苠訄郇迡訄郅迣訄郇 {checked}/{total} �匾�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '邾訄訄郅�標參� 迠郋郕' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/km.js b/PAMapp/local_modules/element-ui/lib/umd/locale/km.js new file mode 100644 index 0000000..f292fee --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/km.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/km', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.km = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '���������', + clear: '�����' + }, + datepicker: { + now: '���������', + today: '���������', + cancel: '��������', + clear: '�����', + confirm: '���������', + selectDate: '��������������', + selectTime: '��������������', + startDate: '���������������', + startTime: '���������������', + endDate: '������������', + endTime: '������������', + prevYear: '����������', + nextYear: '�������������', + prevMonth: '�������', + nextMonth: '����������', + year: '�������', + month1: '�����', + month2: '���������', + month3: '����', + month4: '����', + month5: '����', + month6: '������', + month7: '���������', + month8: '����', + month9: '������', + month10: '����', + month11: '��������', + month12: '����', + week: '���������', + weeks: { + sun: '���������', + mon: '�������', + tue: '��������', + wed: '�����', + thu: '�����.���', + fri: '��������', + sat: '������' + }, + months: { + jan: '�����', + feb: '���������', + mar: '����', + apr: '����', + may: '����', + jun: '������', + jul: '���������', + aug: '����', + sep: '������', + oct: '����', + nov: '��������', + dec: '����' + } + }, + select: { + loading: '������������', + noMatch: '�����������������', + noData: '��������������', + placeholder: '����������' + }, + cascader: { + noMatch: '�����������������', + loading: '������������', + placeholder: '����������', + noData: '��������������' + }, + pagination: { + goto: '���������', + pagesize: '/�������', + total: '������ {total}', + pageClassifier: '' + }, + messagebox: { + title: '�����', + confirm: '���������', + cancel: '��������', + error: '�����������������������' + }, + upload: { + deleteTip: '��������������������', + delete: '�����', + preview: '�����', + continue: '������' + }, + table: { + emptyText: '��������������', + confirmFilter: '���������', + resetFilter: '��������������', + clearFilter: '���������', + sumText: '����' + }, + tree: { + emptyText: '��������������' + }, + transfer: { + noMatch: '�����������������', + noData: '��������������', + titles: ['����� �', '����� �'], + filterPlaceholder: '��������������', + noCheckedFormat: '{total} ����', + hasCheckedFormat: '{checked}/{total} ����������' + }, + image: { + error: '��������' + }, + pageHeader: { + title: 'Back' + }, + popconfirm: { + confirmButtonText: '������', + cancelButtonText: '���������' + }, + empty: { + description: '��������������' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ko.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ko.js new file mode 100644 index 0000000..bc8ddcc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ko.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ko', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ko = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '��', + clear: '黕萼���' + }, + datepicker: { + now: '鴔�篣�', + today: '����', + cancel: '鼒到��', + clear: '黕萼���', + confirm: '��', + selectDate: '���� ����', + selectTime: '���� ����', + startDate: '���� ����', + startTime: '���� ����', + endDate: '鮈�� ����', + endTime: '鮈�� ����', + prevYear: '鴔���', + nextYear: '���', + prevMonth: '鴔���', + nextMonth: '���', + year: '���', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: 'week', + weeks: { + sun: '�', + mon: '���', + tue: '���', + wed: '���', + thu: '諈�', + fri: '篣�', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '賱���� 鴗�', + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + placeholder: '����' + }, + cascader: { + noMatch: '諤�� ���穈� ����', + loading: '賱���� 鴗�', + placeholder: '����', + noData: '��� ����' + }, + pagination: { + goto: '����', + pagesize: '/page', + total: '黕� {total}', + pageClassifier: '' + }, + messagebox: { + title: '諰��', + confirm: '��', + cancel: '鼒到��', + error: '�諻打鴔� ��� ��' + }, + upload: { + deleteTip: '�謔原�� �����', + delete: '����', + preview: '諯賈收貐湊萼', + continue: '窸��萼' + }, + table: { + emptyText: '��� ����', + confirmFilter: '��', + resetFilter: '黕萼���', + clearFilter: '��眼', + sumText: '�' + }, + tree: { + emptyText: '��� ����' + }, + transfer: { + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + titles: ['謔科� 1', '謔科� 2'], + filterPlaceholder: ' �������', + noCheckedFormat: '{total} �諈�', + hasCheckedFormat: '{checked}/{total} ���' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��� ����' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ku.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ku.js new file mode 100644 index 0000000..c29ccdc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ku.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ku', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ku = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Temam', + clear: 'Paqij bike' + }, + datepicker: { + now: 'Niha', + today: '�o', + cancel: 'Betal bike', + clear: 'Paqij bike', + confirm: 'Temam', + selectDate: 'D簾rok礙 bibij礙re', + selectTime: 'Dem礙 bibij礙re', + startDate: 'D簾roka Destp礙k礙', + startTime: 'Dema Destp礙k礙', + endDate: 'D簾roka Daw簾', + endTime: 'Dema Daw簾', + prevYear: 'Sala P礙��', + nextYear: 'Sala Pa��', + prevMonth: 'Meha P礙��', + nextMonth: 'Meha Pa��', + year: 'Sal', + month1: 'R礙bendan', + month2: 'Re�meh', + month3: 'Adar', + month4: 'Avr礙l', + month5: 'Gulan', + month6: 'P羶�er', + month7: 'T簾rmeh', + month8: 'Gilav礙j', + month9: 'Rezber', + month10: 'Kew癟礙r', + month11: 'Sarmawaz', + month12: 'Berfanbar', + // week: 'week', + weeks: { + sun: 'Yek', + mon: 'Du��', + tue: 'S礙��', + wed: '�r', + thu: 'P礙n', + fri: '�', + sat: '�m' + }, + months: { + jan: 'R礙b', + feb: 'Re��', + mar: 'Ada', + apr: 'Avr', + may: 'Gul', + jun: 'P羶��', + jul: 'T簾r', + aug: 'Gil', + sep: 'Rez', + oct: 'Kew', + nov: 'Sar', + dec: 'Ber' + } + }, + select: { + loading: 'Bardibe', + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + placeholder: 'Bibij礙re' + }, + cascader: { + noMatch: 'Li hembere ve agah簾 tune', + loading: 'Bardibe', + placeholder: 'Bibij礙re', + noData: 'Agah簾 tune' + }, + pagination: { + goto: 'Bi癟e', + pagesize: '/rupel', + total: 'Tevah簾 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Peyam', + confirm: 'Temam', + cancel: 'Betal bike', + error: 'Beyana 癟ewt' + }, + upload: { + deleteTip: 'ji bo rake p礙l "delete" bike', + delete: 'Rake', + preview: 'P礙�簾tin', + continue: 'Berdewam' + }, + table: { + emptyText: 'Agah簾 tune', + confirmFilter: 'Pi�rast bike', + resetFilter: 'J礙 bibe', + clearFilter: 'Hem羶', + sumText: 'Kom' + }, + tree: { + emptyText: 'Agah簾 tune' + }, + transfer: { + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + titles: ['L簾ste 1', 'L簾ste 2'], + filterPlaceholder: 'Biniv簾se', + noCheckedFormat: '{total} lib', + hasCheckedFormat: '{checked}/{total} bijartin' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Agah簾 tune' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/kz.js b/PAMapp/local_modules/element-ui/lib/umd/locale/kz.js new file mode 100644 index 0000000..70a22bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/kz.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/kz', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.kz = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '�匾敗鉼棣參�', + clear: '苠訄郱訄郅訄��' + }, + datepicker: { + now: '�匾煤�', + today: '�耘剩�', + cancel: '�憶鉼棋�邾訄��', + clear: '苠訄郱訄郅訄��', + confirm: '�匾敗鉼棣參�', + selectDate: '�耘請棋� �曼�迡訄猀��', + selectTime: '苤訄�參� �曼�迡訄猀��', + startDate: '�參匾銑� 郕玼郇��', + startTime: '�參匾銑� �曼參�', + endDate: '�匾銑� 郕玼郇��', + endTime: '�匾銑� �曼參�', + prevYear: '�鉼棋��� 迠��', + nextYear: '�菩鉼萃� 迠��', + prevMonth: '�鉼棋��� 訄邿', + nextMonth: '�菩鉼萃� 訄邿', + year: '��', + month1: '�曼��參�', + month2: '�諱匾�', + month3: '�參���', + month4: '苤��', + month5: '�匾槽�', + month6: '�參�', + month7: '虼�鉼棣�', + month8: '苠訄邾��', + month9: '��郕玼邿迮郕', + month10: '�匾煩匾�', + month11: '�參�訄��', + month12: '�菩銑懊匾�', + week: '�謀�', + weeks: { + sun: '�菩�', + mon: '�耘�', + tue: '苤迮邿', + wed: '苤��', + thu: '�菩�', + fri: '�教�', + sat: '苤迮郇' + }, + months: { + jan: '�曼�', + feb: '��', + mar: '�參�', + apr: '苤��', + may: '�匾�', + jun: '�參�', + jul: '虼��', + aug: '苠訄邾', + sep: '��', + oct: '�匾�', + nov: '�參�', + dec: '�菩�' + } + }, + select: { + loading: '�耘碧菩銑棣�', + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + placeholder: '苠訄猀迡訄猀��' + }, + cascader: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + loading: '�耘碧菩銑棣�', + placeholder: '苠訄猀迡訄猀��', + noData: '�萃�迮郕�萃� 迠郋��' + }, + pagination: { + goto: '�參���', + pagesize: '/page', + total: '�參�郅�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苭訄訇訄�', + confirm: '�匾敗鉼棣參�', + cancel: '�憶鉼棋�邾訄��', + error: '�參�訄邾�� 迮郇迣�煤鉼萃�' + }, + upload: { + deleteTip: '茖���棋� 訇訄�� 茤������', + delete: '茖����', + preview: '�鉼棋� 訄郅訄 �參�訄��', + continue: '�匾閡參���' + }, + table: { + emptyText: '�萃�迮郕�萃� 迠郋��', + confirmFilter: '�匾敗鉼棣參�', + resetFilter: '�匾鉼謀請� 郕迮郅����', + clearFilter: '�參�郅��', + sumText: '苤郋邾訄��' + }, + tree: { + emptyText: '�萃�迮郕�萃� 迠郋��' + }, + transfer: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + titles: ['List 1', 'List 2'], + filterPlaceholder: '�銑� �房煩棋� 迮郇迣�煤���', + noCheckedFormat: '{total} �銑槽諸�', + hasCheckedFormat: '{checked}/{total} �敗教菩鉼剩� �憶塾鉼棋�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�萃�迮郕�萃� 迠郋��' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/lt.js b/PAMapp/local_modules/element-ui/lib/umd/locale/lt.js new file mode 100644 index 0000000..3aa9af2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/lt.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/lt', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.lt = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Valyti' + }, + datepicker: { + now: 'Dabar', + today: '�andien', + cancel: 'At禳aukti', + clear: 'Valyti', + confirm: 'OK', + selectDate: 'Pasirink dat��', + selectTime: 'Pasirink laik��', + startDate: 'Data nuo', + startTime: 'Laikas nuo', + endDate: 'Data iki', + endTime: 'Laikas iki', + prevYear: 'Metai atgal', + nextYear: 'Metai 蠕 priek蠕', + prevMonth: 'M�. atgal', + nextMonth: 'M�. 蠕 priek蠕', + year: '', + month1: 'Sausis', + month2: 'Vasaris', + month3: 'Kovas', + month4: 'Balandis', + month5: 'Gegu鱉��', + month6: 'Bir鱉elis', + month7: 'Liepa', + month8: 'Rugpj贖tis', + month9: 'Rugs�is', + month10: 'Spalis', + month11: 'Lapkritis', + month12: 'Gruodis', + // week: 'savait��', + weeks: { + sun: 'S.', + mon: 'Pr.', + tue: 'A.', + wed: 'T.', + thu: 'K.', + fri: 'Pn.', + sat: '��.' + }, + months: { + jan: 'Sau', + feb: 'Vas', + mar: 'Kov', + apr: 'Bal', + may: 'Geg', + jun: 'Bir', + jul: 'Lie', + aug: 'Rugp', + sep: 'Rugs', + oct: 'Spa', + nov: 'Lap', + dec: 'Gruo' + } + }, + select: { + loading: 'Kraunasi', + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + placeholder: 'Pasirink' + }, + cascader: { + noMatch: 'Duomen鑒 nerasta', + loading: 'Kraunasi', + placeholder: 'Pasirink', + noData: 'N�a duomen鑒' + }, + pagination: { + goto: 'Eiti 蠕', + pagesize: '/p', + total: 'Viso {total}', + pageClassifier: '' + }, + messagebox: { + title: '鬚inut��', + confirm: 'OK', + cancel: 'At禳aukti', + error: 'Klaida 蠕vestuose duomenyse' + }, + upload: { + deleteTip: 'spauskite "Trinti" nor�ami pa禳alinti', + delete: 'Trinti', + preview: 'Per鱉i贖r�i', + continue: 'Toliau' + }, + table: { + emptyText: 'Duomen鑒 nerasta', + confirmFilter: 'Patvirtinti', + resetFilter: 'Atstatyti', + clearFilter: 'I禳valyti', + sumText: 'Suma' + }, + tree: { + emptyText: 'N�a duomen鑒' + }, + transfer: { + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + titles: ['S�a禳as 1', 'S�a禳as 2'], + filterPlaceholder: '蠔vesk rakta鱉od蠕', + noCheckedFormat: 'Viso: {total}', + hasCheckedFormat: 'Pa鱉ym�a {checked} i禳 {total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Duomen鑒 nerasta' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/lv.js b/PAMapp/local_modules/element-ui/lib/umd/locale/lv.js new file mode 100644 index 0000000..66d7af4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/lv.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/lv', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.lv = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Labi', + clear: 'Not蘋r蘋t' + }, + datepicker: { + now: 'Tagad', + today: '�dien', + cancel: 'Atcelt', + clear: 'Not蘋r蘋t', + confirm: 'Labi', + selectDate: 'Izv��ies datumu', + selectTime: 'Izv��ies laiku', + startDate: 'S�uma datums', + startTime: 'S�uma laiks', + endDate: 'Beigu datums', + endTime: 'Beigu laiks', + prevYear: 'Iepriek禳�ais gads', + nextYear: 'N�amais gads', + prevMonth: 'Iepriek禳�ais m�esis', + nextMonth: 'N�amais m�esis', + year: '', + month1: 'Janv�is', + month2: 'Febru�is', + month3: 'Marts', + month4: 'Apr蘋lis', + month5: 'Maijs', + month6: 'J贖nijs', + month7: 'J贖lijs', + month8: 'Augusts', + month9: 'Septembris', + month10: 'Oktobris', + month11: 'Novembris', + month12: 'Decembris', + // week: 'ned�嫵', + weeks: { + sun: 'Sv', + mon: 'Pr', + tue: 'Ot', + wed: 'Tr', + thu: 'Ce', + fri: 'Pk', + sat: 'Se' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'J贖n', + jul: 'J贖l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Iel���', + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + placeholder: 'Izv��ies' + }, + cascader: { + noMatch: 'Nav atbilsto禳u datu', + loading: 'Iel���', + placeholder: 'Izv��ies', + noData: 'Nav datu' + }, + pagination: { + goto: 'Iet uz', + pagesize: '/lapa', + total: 'Kop�� {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pazi�jums', + confirm: 'Labi', + cancel: 'Atcelt', + error: 'Neder蘋ga ievade' + }, + upload: { + deleteTip: 'Nospiediet dz�t lai iz�mtu', + delete: 'Dz�t', + preview: 'Priek禳skat蘋t', + continue: 'Turpin�' + }, + table: { + emptyText: 'Nav datu', + confirmFilter: 'Apstiprin�', + resetFilter: 'Atiestat蘋t', + clearFilter: 'Visi', + sumText: 'Summa' + }, + tree: { + emptyText: 'Nav datu' + }, + transfer: { + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + titles: ['Saraksts 1', 'Saraksts 2'], + filterPlaceholder: 'Ievad蘋t atsl�v�du', + noCheckedFormat: '{total} vien蘋bas', + hasCheckedFormat: '{checked}/{total} atz蘋m�i' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nav datu' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/mn.js b/PAMapp/local_modules/element-ui/lib/umd/locale/mn.js new file mode 100644 index 0000000..04447f3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/mn.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/mn', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.mn = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '苠邽邿邾', + clear: '虷�紼�郅��' + }, + datepicker: { + now: '�棣憶�', + today: '茖郇茤茤迡茤�', + cancel: '�憶鉼解�', + clear: '虷�紼�郅��', + confirm: '苠邽邿邾', + selectDate: '�創請憶憶� �憶請創�', + selectTime: '虷訄迣邽邿迣 �憶請創�', + startDate: '衪�銑� 郋迣郇郋郋', + startTime: '衪�銑� �匾�', + endDate: '�參� 郋迣郇郋郋', + endTime: '�參� �匾�', + prevYear: '茖邾郇茤�� 迠邽郅', + nextYear: '�參�訄訄 迠邽郅', + prevMonth: '茖邾郇茤�� �參�', + nextMonth: '�參�訄訄 �參�', + year: '郋郇', + month1: '1 �參�', + month2: '2 �參�', + month3: '3 �參�', + month4: '4 �參�', + month5: '5 �參�', + month6: '6 �參�', + month7: '7 �參�', + month8: '8 �參�', + month9: '9 �參�', + month10: '10 �參�', + month11: '11 �參�', + month12: '12 �參�', + week: '�憶鉼憶� �憶請憶�', + weeks: { + sun: '��', + mon: '�匾�', + tue: '��', + wed: '��', + thu: '�耕�', + fri: '�匾�', + sat: '��' + }, + months: { + jan: '1 �參�', + feb: '2 �參�', + mar: '3 �參�', + apr: '4 �參�', + may: '5 �參�', + jun: '6 �參�', + jul: '7 �參�', + aug: '8 �參�', + sep: '9 �參�', + oct: '10 �參�', + nov: '11 �參�', + dec: '12 �參�' + } + }, + select: { + loading: '�匾匾鉼� 訇訄邿郇訄', + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + placeholder: '苤郋郇迣郋��' + }, + cascader: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + loading: '�匾匾鉼� 訇訄邿郇訄', + placeholder: '苤郋郇迣郋��', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + pagination: { + goto: '�解�', + pagesize: '/�棣參�', + total: '�覜塾� {total}', + pageClassifier: '' + }, + messagebox: { + title: '��赲訄��', + confirm: '苠邽邿邾', + cancel: '�憶鉼解�', + error: '���� �創�' + }, + upload: { + deleteTip: '苺�創參� 迡訄�迠 訄�邽郅迣訄', + delete: '苺�創參�', + preview: '茖邾郇茤��', + continue: '珖�迣�鉼剷閡耙耘銑�' + }, + table: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + confirmFilter: '�房紼承戾�茤��', + resetFilter: '虷�紼�郅��', + clearFilter: '�耘創�', + sumText: '�覜塾�' + }, + tree: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + transfer: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + titles: ['�匾剩匾匾銑� 1', '�匾剩匾匾銑� 2'], + filterPlaceholder: '苺�創� 郋���', + noCheckedFormat: '{total} 茤迣茤迣迡茤郅', + hasCheckedFormat: '{checked}/{total} �憶請創憾憶�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ms.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ms.js new file mode 100644 index 0000000..8347271 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ms.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ms', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ms = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Sah', + clear: 'Padam' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Padam', + confirm: 'Sah', + selectDate: 'Pilih Tarikh', + selectTime: 'Pilih Masa', + startDate: 'Tarikh Mula', + startTime: 'Masa Mula', + endDate: 'Tarikh Tamat', + endTime: 'Masa Tamat', + prevYear: 'Tahun Lepas', + nextYear: 'Tahun Depan', + prevMonth: 'Bulan Lepas', + nextMonth: 'Bulan Depan', + year: 'Tahun', + month1: 'Januari', + month2: 'Febuari', + month3: 'Mac', + month4: 'April', + month5: 'Mei', + month6: 'Jun', + month7: 'Julai', + month8: 'Ogos', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Disember', + weeks: { + sun: 'Ahad', + mon: 'Isnin', + tue: 'Selasa', + wed: 'Rabu', + thu: 'Khamis', + fri: 'Jumaat', + sat: 'Sabtu' + }, + months: { + jan: 'Januari', + feb: 'Febuari', + mar: 'Mac', + apr: 'April', + may: 'Mei', + jun: 'Jun', + jul: 'Julai', + aug: 'Ogos', + sep: 'September', + oct: 'Oktober', + nov: 'November', + dec: 'Disember' + } + }, + select: { + loading: 'Sedang dimuat turun', + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + placeholder: 'Sila pilih' + }, + cascader: { + noMatch: 'Tiada maklumat yang sepadan', + loading: 'Sedang dimuat turun', + placeholder: 'Sila pilih', + noData: 'Tiada maklumat' + }, + pagination: { + goto: 'Seterusnya', + pagesize: 'x/Halaman', + total: 'Jumlah {total} ', + pageClassifier: 'Halaman' + }, + messagebox: { + title: 'Tip', + confirm: 'Sah', + cancel: 'Batal', + error: 'Data yang diisi tidak sah!' + }, + upload: { + deleteTip: 'Tekan "Padam" untuk memadam', + delete: 'Padam', + preview: 'Pratonton gambar', + continue: 'Meneruskan muat naik' + }, + table: { + emptyText: 'Tiada maklumat', + confirmFilter: 'Tapis', + resetFilter: 'Set Semula', + clearFilter: 'Semua', + sumText: 'Jumlah' + }, + tree: { + emptyText: 'Tiada maklumat' + }, + transfer: { + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukkan kandungan carian', + noCheckedFormat: 'Jumlah {total} item', + hasCheckedFormat: 'Telah memilih {checked}/{total} item' + }, + image: { + error: 'Muat turun gagal' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Sah', + cancelButtonText: 'Batal' + }, + empty: { + description: 'Tiada maklumat' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/nb-NO.js b/PAMapp/local_modules/element-ui/lib/umd/locale/nb-NO.js new file mode 100644 index 0000000..f89bdbe --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/nb-NO.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/nb-NO', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.nbNO = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繪m' + }, + datepicker: { + now: 'N疇', + today: 'I dag', + cancel: 'Avbryt', + clear: 'T繪m', + confirm: 'OK', + selectDate: 'Velg dato', + selectTime: 'Velg tidspunkt', + startDate: 'Start Dato', + startTime: 'Start Tidspunkt', + endDate: 'Sluttdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige �', + nextYear: 'Neste �', + prevMonth: 'Forrige M疇ned', + nextMonth: 'Neste M疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Mars', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'week', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laster', + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + placeholder: 'Velg' + }, + cascader: { + noMatch: 'Ingen samsvarende data', + loading: 'Laster', + placeholder: 'Velg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Avbryt', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'trykk slett for 疇 ta bort', + delete: 'Slett', + preview: 'Forh疇ndsvisning', + continue: 'Fortsett' + }, + table: { + emptyText: 'Ingen Data', + confirmFilter: 'Bekreft', + resetFilter: 'Tilbakestill', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen Data' + }, + transfer: { + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Tast inn n繪kkelord', + noCheckedFormat: '{total} gjenstander', + hasCheckedFormat: '{checked}/{total} sjekket' + }, + image: { + error: 'MISLYKTES' + }, + pageHeader: { + title: 'Tilbake' + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Ingen Data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/nl.js b/PAMapp/local_modules/element-ui/lib/umd/locale/nl.js new file mode 100644 index 0000000..6dd754c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/nl.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/nl', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.nl = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Wissen' + }, + datepicker: { + now: 'Nu', + today: 'Vandaag', + cancel: 'Annuleren', + clear: 'Legen', + confirm: 'Bevestig', + selectDate: 'Selecteer datum', + selectTime: 'Selecteer tijd', + startDate: 'Startdatum', + startTime: 'Starttijd', + endDate: 'Einddatum', + endTime: 'Eindtijd', + prevYear: 'Vorig jaar', + nextYear: 'Volgend jaar', + prevMonth: 'Vorige maand', + nextMonth: 'Volgende maand', + year: '', + month1: 'januari', + month2: 'februari', + month3: 'maart', + month4: 'april', + month5: 'mei', + month6: 'juni', + month7: 'juli', + month8: 'augustus', + month9: 'september', + month10: 'oktober', + month11: 'november', + month12: 'december', + // week: 'week', + weeks: { + sun: 'Zo', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Za' + }, + months: { + jan: 'jan', + feb: 'feb', + mar: 'maa', + apr: 'apr', + may: 'mei', + jun: 'jun', + jul: 'jul', + aug: 'aug', + sep: 'sep', + oct: 'okt', + nov: 'nov', + dec: 'dec' + } + }, + select: { + loading: 'Laden', + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + placeholder: 'Selecteer' + }, + cascader: { + noMatch: 'Geen overeenkomende resultaten', + loading: 'Laden', + placeholder: 'Selecteer', + noData: 'Geen data' + }, + pagination: { + goto: 'Ga naar', + pagesize: '/pagina', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Bericht', + confirm: 'Bevestig', + cancel: 'Annuleren', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'Kies verwijder om te wissen', + delete: 'Verwijder', + preview: 'Voorbeeld', + continue: 'Doorgaan' + }, + table: { + emptyText: 'Geen data', + confirmFilter: 'Bevestigen', + resetFilter: 'Reset', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen data' + }, + transfer: { + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + titles: ['Lijst 1', 'Lijst 2'], + filterPlaceholder: 'Geef zoekwoerd', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} geselecteerd' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/pl.js b/PAMapp/local_modules/element-ui/lib/umd/locale/pl.js new file mode 100644 index 0000000..ac75812 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/pl.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/pl', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.pl = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Wyczy��' + }, + datepicker: { + now: 'Teraz', + today: 'Dzisiaj', + cancel: 'Anuluj', + clear: 'Wyczy��', + confirm: 'OK', + selectDate: 'Wybierz dat��', + selectTime: 'Wybierz godzin��', + startDate: 'Data pocz�kowa', + startTime: 'Godzina pocz�kowa', + endDate: 'Data ko�owa', + endTime: 'Czas ko�owa', + prevYear: 'Poprzedni rok', + nextYear: 'Nast�ny rok', + prevMonth: 'Poprzedni miesi�', + nextMonth: 'Nast�ny miesi�', + year: 'rok', + month1: 'stycze��', + month2: 'luty', + month3: 'marzec', + month4: 'kwiecie��', + month5: 'maj', + month6: 'czerwiec', + month7: 'lipiec', + month8: 'sierpie��', + month9: 'wrzesie��', + month10: 'pa驕dziernik', + month11: 'listopad', + month12: 'grudzie��', + week: 'tydzie��', + weeks: { + sun: 'niedz.', + mon: 'pon.', + tue: 'wt.', + wed: '�.', + thu: 'czw.', + fri: 'pt.', + sat: 'sob.' + }, + months: { + jan: 'STY', + feb: 'LUT', + mar: 'MAR', + apr: 'KWI', + may: 'MAJ', + jun: 'CZE', + jul: 'LIP', + aug: 'SIE', + sep: 'WRZ', + oct: 'PA饕', + nov: 'LIS', + dec: 'GRU' + } + }, + select: { + loading: '�dowanie', + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + placeholder: 'Wybierz' + }, + cascader: { + noMatch: 'Brak dopasowa��', + loading: '�dowanie', + placeholder: 'Wybierz', + noData: 'Brak danych' + }, + pagination: { + goto: 'Id驕 do', + pagesize: '/strona', + total: 'Wszystkich {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Wiadomo��', + confirm: 'OK', + cancel: 'Anuluj', + error: 'Wiadomo�� zawiera niedozwolone znaki' + }, + upload: { + deleteTip: 'kliknij kasuj aby usun��', + delete: 'Kasuj', + preview: 'Podgl�', + continue: 'Kontynuuj' + }, + table: { + emptyText: 'Brak danych', + confirmFilter: 'Potwierd驕', + resetFilter: 'Resetuj', + clearFilter: 'Wszystko', + sumText: 'Razem' + }, + tree: { + emptyText: 'Brak danych' + }, + transfer: { + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Wpisz szukan�� fraz��', + noCheckedFormat: 'razem: {total}', + hasCheckedFormat: 'wybranych: {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Brak danych' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/pt-br.js b/PAMapp/local_modules/element-ui/lib/umd/locale/pt-br.js new file mode 100644 index 0000000..c720ba8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/pt-br.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/pt-br', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ptBr = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data inicial', + startTime: 'Hora inicial', + endDate: 'Data final', + endTime: 'Hora final', + prevYear: 'Ano anterior', + nextYear: 'Pr籀ximo ano', + prevMonth: 'M礙s anterior', + nextMonth: 'Pr籀ximo m礙s', + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'Carregando', + noMatch: 'Sem resultados', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem resultados', + loading: 'Carregando', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'aperte delete para apagar', + delete: 'Apagar', + preview: 'Pr矇-visualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Total' + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem resultados', + noData: 'Sem dados', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Digite uma palavra-chave', + noCheckedFormat: '{total} itens', + hasCheckedFormat: '{checked}/{total} selecionados' + }, + image: { + error: 'Erro ao carregar imagem' + }, + pageHeader: { + title: 'Voltar' + }, + popconfirm: { + confirmButtonText: 'Sim', + cancelButtonText: 'N瓊o' + }, + empty: { + description: 'Sem dados' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/pt.js b/PAMapp/local_modules/element-ui/lib/umd/locale/pt.js new file mode 100644 index 0000000..b1a011c --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/pt.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/pt', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.pt = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data de inicio', + startTime: 'Hora de inicio', + endDate: 'Data de fim', + endTime: 'Hora de fim', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'A carregar', + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem correspond礙ncia', + loading: 'A carregar', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Apagar', + preview: 'Previsualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Sem dados' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ro.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ro.js new file mode 100644 index 0000000..635efd9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ro.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ro', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ro = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�erge' + }, + datepicker: { + now: 'Acum', + today: 'Azi', + cancel: 'Anuleaz��', + clear: '�erge', + confirm: 'OK', + selectDate: 'Selecteaz�� data', + selectTime: 'Selecteaz�� ora', + startDate: 'Data de 簾nceput', + startTime: 'Ora de 簾nceput', + endDate: 'Data de sf璽r�t', + endTime: 'Ora de sf璽r�t', + prevYear: 'Anul trecut', + nextYear: 'Anul urm�or', + prevMonth: 'Luna trecut��', + nextMonth: 'Luna urm�oare', + year: '', + month1: 'Ianuarie', + month2: 'Februarie', + month3: 'Martie', + month4: 'Aprilie', + month5: 'Mai', + month6: 'Iunie', + month7: 'Iulie', + month8: 'August', + month9: 'Septembrie', + month10: 'Octombrie', + month11: 'Noiembrie', + month12: 'Decembrie', + // week: 'week', + weeks: { + sun: 'Du', + mon: 'Lu', + tue: 'Ma', + wed: 'Mi', + thu: 'Jo', + fri: 'Vi', + sat: 'S璽' + }, + months: { + jan: 'Ian', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Iun', + jul: 'Iul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Noi', + dec: 'Dec' + } + }, + select: { + loading: 'Se 簾ncarc��', + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + placeholder: 'Selecteaz��' + }, + cascader: { + noMatch: 'Nu exist�� date potrivite', + loading: 'Se 簾ncarc��', + placeholder: 'Selecteaz��', + noData: 'Nu exist�� date' + }, + pagination: { + goto: 'Go to', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'OK', + cancel: 'Anuleaz��', + error: 'Date introduse eronate' + }, + upload: { + deleteTip: 'ap�a� pe �erge� pentru a elimina', + delete: '�erge', + preview: 'previzualizare', + continue: 'continu��' + }, + table: { + emptyText: 'Nu exist�� date', + confirmFilter: 'Confirm��', + resetFilter: 'Reseteaz��', + clearFilter: 'Tot', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nu exist�� date' + }, + transfer: { + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Introduce� cuv璽ntul cheie', + noCheckedFormat: '{total} elemente', + hasCheckedFormat: '{checked}/{total} verificate' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nu exist�� date' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ru-RU.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ru-RU.js new file mode 100644 index 0000000..91219af --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ru-RU.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ru-RU', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ruRU = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�解解�' + }, + datepicker: { + now: '苤迮邿�參�', + today: '苤迮迣郋迡郇��', + cancel: '�標菩請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�敗�訄�� 迡訄��', + selectTime: '�敗�訄�� 赲�迮邾��', + startDate: '�參� 郇訄�匾鉼�', + startTime: '��迮邾�� 郇訄�匾鉼�', + endDate: '�參� 郋郕郋郇�匾請解�', + endTime: '��迮邾�� 郋郕郋郇�匾請解�', + prevYear: '��迮迡�棋覜� 迣郋迡', + nextYear: '苤郅迮迡�覜� 迣郋迡', + prevMonth: '��迮迡�棋覜� 邾迮��', + nextMonth: '苤郅迮迡�覜� 邾迮��', + year: '', + month1: '觓郇赲訄���', + month2: '苳迮赲�訄郅��', + month3: '�參���', + month4: '�謀�迮郅��', + month5: '�匾�', + month6: '�諸�', + month7: '�銑�', + month8: '�紹剩�', + month9: '苤迮郇�敗���', + month10: '�碧敗���', + month11: '�憾敗���', + month12: '�菩碟匾敗���', + week: '郇迮迡迮郅��', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '觓郇赲', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '��', + jul: '��', + aug: '�紹�', + sep: '苤迮郇', + oct: '�碧�', + nov: '�憾�', + dec: '�菩�' + } + }, + select: { + loading: '�匾剩��煩碟�', + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + loading: '�匾剩��煩碟�', + placeholder: '�敗�訄��', + noData: '�萃� 迡訄郇郇��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: ' 郇訄 ��訄郇邽��', + total: '�菩創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤郋郋訇�菩請覜�', + confirm: 'OK', + cancel: '�標菩請�', + error: '�菩棣憶謀覜槽� 赲赲郋迡 迡訄郇郇��' + }, + upload: { + deleteTip: '�匾剷標解� [苺迡訄郅邽� 迡郅�� �棣匾鉼菩請解�', + delete: '苺迡訄郅邽��', + preview: '��迮迡郈�郋�標憾�', + continue: '��郋迡郋郅迠邽��' + }, + table: { + emptyText: '�萃� 迡訄郇郇��', + confirmFilter: '�憶棋紹萃�迡邽��', + resetFilter: '苤訇�郋�解�', + clearFilter: '��', + sumText: '苤�標標�' + }, + tree: { + emptyText: '�萃� 迡訄郇郇��' + }, + transfer: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棣解� 郕郅�菩紹憶� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧憶�', + hasCheckedFormat: '{checked}/{total} 赲�敗�訄郇郋' + }, + image: { + error: '��郋邽郱郋�鉼� 郋�覜教碟�' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: 'OK', + cancelButtonText: '�標菩請�' + }, + empty: { + description: '�萃� 迡訄郇郇��' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/si.js b/PAMapp/local_modules/element-ui/lib/umd/locale/si.js new file mode 100644 index 0000000..7f73848 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/si.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/si', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.si = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '鈮飩鈮�', + clear: '鈮���� 銃飩銃晤�雇' + }, + datepicker: { + now: '銃能�雇鈮�', + today: '銃雄', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + clear: '鈮���� 銃飩銃晤�雇', + confirm: '鈮飩鈮�', + selectDate: '銃能�雇銃� 銃冢�飩銃晤�雇', + selectTime: '鈮�鈮飭鈮� 銃冢�飩銃晤�雇', + startDate: '銃飩銃詮�須銃� 銃能�雇銃�', + startTime: '銃飩銃詮�須銃� 鈮�鈮飭鈮�', + endDate: '銃�鈮雇鈮� 鈮�銃� 銃能�雇銃�', + endTime: '銃�鈮雇鈮� 鈮�銃� 鈮�鈮飭鈮�', + prevYear: '銃飭鈮雇鈮� 銃�鈮飩鈮雄鈮雄', + nextYear: '銃��� 銃�鈮飩鈮雄鈮雄', + prevMonth: '銃飭鈮雇鈮� 銃詮��飯', + nextMonth: '銃��� 銃詮��飯', + year: '', + month1: '銃能�飩鈮雁鈮�', + month2: '銃晤�銃詮��', + month3: '銃詮�雄鈮雇鈮�', + month4: '銃嗣���', + month5: '鈮�鈮����', + month6: '銃毯���雇鈮�', + month7: '銃���', + month8: '銃晤���陲鈮�', + month9: '銃嗣�雇銃�', + month10: '鈮�銃毯��', + month11: '銃飭鈮�', + month12: '銃雲鈮�銃毯��', + week: '鈮雁鈮飯', + weeks: { + sun: '銃飩鈮雄鈮�', + mon: '鈮雲鈮雄鈮�', + tue: '銃���', + wed: '銃嗣雄鈮雄鈮�', + thu: '銃嗣��飩鈮���', + fri: '鈮����', + sat: '鈮�雇' + }, + months: { + jan: '銃能�飩鈮雁鈮�', + feb: '銃晤�銃詮��', + mar: '銃詮�雄鈮雇鈮�', + apr: '銃嗣���', + may: '鈮�鈮����', + jun: '銃毯����雇鈮�', + jul: '銃���', + aug: '銃晤���陲鈮�', + sep: '銃嗣�雇銃�', + oct: '鈮�銃毯��', + nov: '銃飭鈮�', + dec: '銃雲鈮�' + } + }, + select: { + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃能雁鈮雁 銃晤�雁', + placeholder: '銃冢�飩銃晤�雇' + }, + cascader: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + placeholder: '銃冢�飩銃晤�雇', + noData: '銃能雁鈮雁 銃晤�雁' + }, + pagination: { + goto: '鈮�鈮雁 銃箋雇鈮雇', + pagesize: '/銃毯�陽鈮�', + total: '銃詮���� {total}', + pageClassifier: '' + }, + messagebox: { + title: '銃毯陲鈮�鈮隆銃�', + confirm: '鈮飩鈮�', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + error: '銃雇鈮雁鈮�� 銃雄鈮雇銃箋���' + }, + upload: { + deleteTip: '銃�銃冢飭鈮飧銃� 銃詮�雇鈮雇 銃順銃晤�雇', + delete: '銃詮�雇鈮雇', + preview: '銃毯�飩銃能��雇', + continue: '銃雄鈮飩鈮飯銃�' + }, + table: { + emptyText: '銃能雁鈮雁 銃晤�雁', + confirmFilter: '銃冢��鈮飩鈮�', + resetFilter: '銃箋��� 鈮��雇鈮雇', + clearFilter: '鈮�飯銃賞�飭', + sumText: '銃�雁鈮�' + }, + tree: { + emptyText: '銃能雁鈮雁 銃晤�雁' + }, + transfer: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃冢�飩銃晤�雇', + titles: ['銃賞��雇銃� 1', '銃賞��雇銃� 2'], // to be translated + filterPlaceholder: '銃詮�飭銃毯雄銃� 銃箋�雄銃晤�雇', // to be translated + noCheckedFormat: '銃雅銃� {total}', // to be translated + hasCheckedFormat: '{checked}/{total} 銃毯飩鈮������ 鈮�鈮飯' // to be translated + }, + image: { + error: '銃�飧銃冢�� 鈮�鈮飯' + }, + pageHeader: { + title: '銃韌鈮��' // to be translated + }, + popconfirm: { + confirmButtonText: '銃�鈮�', + cancelButtonText: '銃晤����' + }, + empty: { + description: '銃能雁鈮雁 銃晤�雁' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/sk.js b/PAMapp/local_modules/element-ui/lib/umd/locale/sk.js new file mode 100644 index 0000000..0bfe8f0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/sk.js @@ -0,0 +1,144 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/sk', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.sk = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Zmaza聽' + }, + datepicker: { + now: 'Teraz', + today: 'Dnes', + cancel: 'Zru禳i聽', + clear: 'Zmaza聽', + confirm: 'OK', + selectDate: 'Vybra聽 d獺tum', + selectTime: 'Vybra聽 �s', + startDate: 'D獺tum za�atku', + startTime: '�s za�atku', + endDate: 'D獺tum konca', + endTime: '�s konca', + prevYear: 'Predo禳l羸 rok', + nextYear: '�l禳穩 rok', + prevMonth: 'Predo禳l羸 mesiac', + nextMonth: '�l禳穩 mesiac', + day: 'De��', + week: 'T羸鱉de��', + month: 'Mesiac', + year: 'Rok', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'Marec', + month4: 'Apr穩l', + month5: 'M獺j', + month6: 'J繳n', + month7: 'J繳l', + month8: 'August', + month9: 'September', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: 'Ut', + wed: 'St', + thu: '�', + fri: 'Pi', + sat: 'So' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Na�負avanie', + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + placeholder: 'Vybra聽' + }, + cascader: { + noMatch: '鬚iadna zhoda', + loading: 'Na�負avanie', + placeholder: 'Vybra聽', + noData: '鬚iadne d獺ta' + }, + pagination: { + goto: 'Cho�� na', + pagesize: 'na stranu', + total: 'V禳etko {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Spr獺va', + confirm: 'OK', + cancel: 'Zru禳i聽', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'pre odstr獺nenie stisni kl獺vesu Delete', + delete: 'Vymaza聽', + preview: 'Prehliada聽', + continue: 'Pokra�va聽' + }, + table: { + emptyText: '鬚iadne d獺ta', + confirmFilter: 'Potvrdi聽', + resetFilter: 'Zresetova聽', + clearFilter: 'V禳etko', + sumText: 'Spolu' + }, + tree: { + emptyText: '鬚iadne d獺ta' + }, + transfer: { + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + titles: ['Zoznam 1', 'Zoznam 2'], + filterPlaceholder: 'Filtrova聽 pod躂a', + noCheckedFormat: '{total} polo鱉iek', + hasCheckedFormat: '{checked}/{total} ozna�n羸ch' + }, + image: { + error: 'Chyba na�負ania' + }, + pageHeader: { + title: 'Sp瓣聽' + }, + popconfirm: { + confirmButtonText: 'Potvrdi聽', + cancelButtonText: 'Zru禳i聽' + }, + empty: { + description: '鬚iadne d獺ta' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/sl.js b/PAMapp/local_modules/element-ui/lib/umd/locale/sl.js new file mode 100644 index 0000000..c567a0f --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/sl.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/sl', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.sl = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'V redu', + clear: 'Po�sti' + }, + datepicker: { + now: 'Zdaj', + today: 'Danes', + cancel: 'Prekli�', + clear: 'Po�sti', + confirm: 'Potrdi', + selectDate: 'Izberi datum', + selectTime: 'Izberi �s', + startDate: 'Za�tni datum', + startTime: 'Za�tni �s', + endDate: 'Kon�i datum', + endTime: 'Kon�i �s', + prevYear: 'Prej禳nje leto', + nextYear: 'Naslednje leto', + prevMonth: 'Prej禳nji mesec', + nextMonth: 'Naslednji mesec', + year: '', + month1: 'Jan', + month2: 'Feb', + month3: 'Mar', + month4: 'Apr', + month5: 'Maj', + month6: 'Jun', + month7: 'Jul', + month8: 'Avg', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Dec', + week: 'teden', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Tor', + wed: 'Sre', + thu: '�t', + fri: 'Pet', + sat: 'Sob' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Avg', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Nalaganje', + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + placeholder: 'Izberi' + }, + cascader: { + noMatch: 'Ni ustreznih podatkov', + loading: 'Nalaganje', + placeholder: 'Izberi', + noData: 'Ni podatkov' + }, + pagination: { + goto: 'Pojdi na', + pagesize: '/stran', + total: 'Skupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Sporo�lo', + confirm: 'V redu', + cancel: 'Prekli�', + error: 'Nedovoljen vnos' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Izbri禳i', + preview: 'Predogled', + continue: 'Nadaljuj' + }, + table: { + emptyText: 'Ni podatkov', + confirmFilter: 'Potrdi', + resetFilter: 'Ponastavi', + clearFilter: 'Vse', + sumText: 'Skupno' + }, + tree: { + emptyText: 'Ni podatkov' + }, + transfer: { + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Vnesi klju�o besedo', + noCheckedFormat: '{total} elementov', + hasCheckedFormat: '{checked}/{total} izbranih' + }, + image: { + error: 'NEUSPELO' + }, + pageHeader: { + title: 'Nazaj' + }, + popconfirm: { + confirmButtonText: 'Da', + cancelButtonText: 'Ne' + }, + empty: { + description: 'Ni podatkov' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/sr.js b/PAMapp/local_modules/element-ui/lib/umd/locale/sr.js new file mode 100644 index 0000000..deffe71 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/sr.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/sr', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.sr = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: '�憶請解�' + }, + datepicker: { + now: '苤訄迡', + today: '�匾請參�', + cancel: '�碟匾剷�', + clear: '��邽��', + confirm: 'OK', + selectDate: '�煩匾教萃�邽 迡訄��', + selectTime: '�煩匾教萃�邽 赲�迮邾迮', + startDate: '�參� 郈郋�萃碟�', + startTime: '��迮邾迮 郈郋�萃碟�', + endDate: '�參� 郱訄赲��萃碟�', + endTime: '��迮邾迮 郱訄赲��萃碟�', + prevYear: '��迮�憶棣請� 迣郋迡邽郇訄', + nextYear: '苤郅迮迡迮�� 迣郋迡邽郇訄', + prevMonth: '��迮�憶棣請� 邾迮�萃�', + nextMonth: '苤郅迮迡迮�� 邾迮�萃�', + year: '迣郋迡邽郇訄', + month1: '�匾諸參�', + month2: '�菩敗��參�', + month3: '邾訄���', + month4: '訄郈�邽郅', + month5: '邾訄��', + month6: '��', + month7: '��', + month8: '訄赲迣��', + month9: '�菩謀菩標教參�', + month10: '郋郕�憶教參�', + month11: '郇郋赲迮邾訇訄�', + month12: '迡迮�菩標教參�', + week: '�菩棣標解�', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '苺��', + wed: '苤�迮', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '�匾�', + feb: '�菩�', + mar: '邾訄�', + apr: '訄郈�', + may: '邾訄��', + jun: '��', + jul: '��', + aug: '訄赲迣', + sep: '�菩�', + oct: '郋郕��', + nov: '郇郋赲', + dec: '迡迮��' + } + }, + select: { + loading: '苺�解匾紹參�', + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + placeholder: '�煩匾教萃�邽' + }, + cascader: { + noMatch: '�菩標� �迮郱�銑參�', + loading: '苺�解匾紹參�', + placeholder: '�煩匾教萃�邽', + noData: '�菩標� 郈郋迡訄�匾碟�' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽', + total: '苺郕�諱請� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憾��碟�', + confirm: 'OK', + cancel: '�碟匾剷�', + error: '�菩解謀�訄赲訄郇 �請憾�' + }, + upload: { + deleteTip: '郈�邽�解請� �佬� 迡訄 郋訇�邽�萃�', + delete: '��邽��', + preview: '�覜棣�', + continue: '�參匾紹�' + }, + table: { + emptyText: '�菩標� 郈郋迡訄�匾碟�', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�萃萃�', + clearFilter: '苤赲迮', + sumText: '�教解�' + }, + tree: { + emptyText: '�菩標� 郈郋迡訄�匾碟�' + }, + transfer: { + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + titles: ['�解� 1', '�解� 2'], // to be translated + filterPlaceholder: '苺郇迮�� 郕�諸� �迮��', // to be translated + noCheckedFormat: '{total} �匾紹碟�', // to be translated + hasCheckedFormat: '{checked}/{total} 郋訇迮郅迮迠迮郇邽��' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�菩標� 郈郋迡訄�匾碟�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/sv-SE.js b/PAMapp/local_modules/element-ui/lib/umd/locale/sv-SE.js new file mode 100644 index 0000000..1ca72e9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/sv-SE.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/sv-SE', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.svSE = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹m' + }, + datepicker: { + now: 'Nu', + today: 'Idag', + cancel: 'Avbryt', + clear: 'T繹m', + confirm: 'OK', + selectDate: 'V瓣lj datum', + selectTime: 'V瓣lj tid', + startDate: 'Startdatum', + startTime: 'Starttid', + endDate: 'Slutdatum', + endTime: 'Sluttid', + prevYear: 'F繹reg疇ende 疇r', + nextYear: 'N瓣sta 疇r', + prevMonth: 'F繹reg疇ende m疇nad', + nextMonth: 'N瓣sta m疇nad', + year: '', + month1: 'Januari', + month2: 'Februari', + month3: 'Mars', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'Augusti', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + // week: 'week', + weeks: { + sun: 'S繹n', + mon: 'M疇n', + tue: 'Tis', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繹r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Laddar', + noMatch: 'Hittade inget', + noData: 'Ingen data', + placeholder: 'V瓣lj' + }, + cascader: { + noMatch: 'Hittade inget', + loading: 'Laddar', + placeholder: 'V瓣lj', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 till', + pagesize: '/sida', + total: 'Totalt {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Meddelande', + confirm: 'OK', + cancel: 'Avbryt', + error: 'Felaktig inmatning' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Radera', + preview: 'F繹rhandsvisa', + continue: 'Forts瓣tt' + }, + table: { + emptyText: 'Inga Data', + confirmFilter: 'Bekr瓣fta', + resetFilter: '�erst瓣ll', + clearFilter: 'Alla', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Hittade inget', + noData: 'Ingen data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Bak疇t' // to be translated + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nej' + }, + empty: { + description: 'Inga Data' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ta.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ta.js new file mode 100644 index 0000000..84ceec9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ta.js @@ -0,0 +1,141 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ta', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ta = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + clear: '鉈戈�拿鉈賴挾鉈擒�����' + }, + datepicker: { + now: '鉈戈拳鉒悚鉒恕鉒�', + today: '鉈悟鉒拳鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + clear: '鉈扇鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + selectDate: '鉈戈�恕鉈賴悖鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + selectTime: '鉈兒�扇鉈戈�恕鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + startDate: '鉈戈������悅鉒� 鉈兒挽鉈喪��', + startTime: '鉈戈������悅鉒� 鉈兒�扇鉈桌��', + endDate: '鉈桌��挪鉈能�悅鉒� 鉈戈�恕鉈�', + endTime: '鉈桌��挪鉈能�悅鉒� 鉈兒�扇鉈桌��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '鉈菽扇鉒�悅鉒�', + month1: '鉈悟鉈菽扇鉈�', + month2: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + month3: '鉈桌挽鉈啤����', + month4: '鉈悚鉒扇鉈耜��', + month5: '鉈桌��', + month6: '鉈�悟鉒�', + month7: '鉈�挈鉒�', + month8: '鉈�捂鉒���', + month9: '鉈�悚鉒�悅鉒悚鉈啤��', + month10: '鉈����悚鉈啤��', + month11: '鉈兒挾鉈桌�悚鉈啤��', + month12: '鉈挪鉈悅鉒悚鉈啤��', + weeks: { + sun: '鉈挽鉈能挪鉈晤��', + mon: '鉈戈挪鉈��拿鉒�', + tue: '鉈�挾鉒挾鉈擒悖鉒�', + wed: '鉈芹�恕鉈拈��', + thu: '鉈菽挪鉈能挽鉈毯悟鉒�', + fri: '鉈菽�拿鉒拿鉈�', + sat: '鉈悟鉈�' + }, + months: { + jan: '鉈悟鉈菽扇鉈�', + feb: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + mar: '鉈桌挽鉈啤����', + apr: '鉈悚鉒扇鉈耜��', + may: '鉈桌��', + jun: '鉈�悟鉒�', + jul: '鉈�挈鉒�', + aug: '鉈�捂鉒���', + sep: '鉈�悚鉒�悅鉒悚鉈啤��', + oct: '鉈����悚鉈啤��', + nov: '鉈兒挾鉈桌�悚鉈啤��', + dec: '鉈挪鉈悅鉒悚鉈啤��' + } + }, + select: { + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�' + }, + cascader: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + pagination: { + goto: '鉈戈�挾鉒悖鉈擒悟鉒� 鉈芹��恕鉈賴����� 鉈�挈鉒�', + pagesize: '/page', + total: '鉈桌�恕鉒恕鉈桌�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉈�悖鉒恕鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + error: '鉈芹�扇鉒恕鉒恕鉈擒悅鉈賴挈鉒挈鉈擒恕 鉈拿鉒拿鉒�鉈��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '鉈兒�鉈����', + preview: '鉈桌�悟鉒悟鉒���悅鉒� 鉈芹挽鉈啤��', + continue: '鉈戈��扇鉒�' + }, + table: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + confirmFilter: '鉈拳鉒恕鉈� 鉈�悖鉒�', + resetFilter: '鉈芹�恕鉒悅鉈擒拳鉒拳鉈桌�� 鉈�悖鉒�', + clearFilter: '鉈悟鉒恕鉒恕鉒悅鉒�', + sumText: '鉈������' + }, + tree: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + transfer: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + titles: ['鉈芹���挪鉈能挈鉒� 1', '鉈芹���挪鉈能挈鉒� 2'], + filterPlaceholder: '鉈�挈鉒挈鉒� 鉈拿鉒拿鉒�鉈�� 鉈�悖鉒�', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} 鉈戈�扇鉒挾鉒� 鉈�悖鉒悖鉈芹�悚鉈��挾鉒�拿鉒�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/th.js b/PAMapp/local_modules/element-ui/lib/umd/locale/th.js new file mode 100644 index 0000000..7feb1c2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/th.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/th', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.th = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '鉊�艇鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�' + }, + datepicker: { + now: '鉊葉鉊�葭鉆�', + today: '鉊抉萵鉊�葭鉆�', + cancel: '鉊R��鉊丞葩鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�', + confirm: '鉊�艇鉊�', + selectDate: '鉆�鉊丞虞鉊冢�葷鉊晤��葭鉆�', + selectTime: '鉆�鉊丞虞鉊冢��鉊抉艇鉊�', + startDate: '鉊抉萵鉊�葭鉆�鉊�鉊毯�腹鉊���', + startTime: '鉆�鉊抉艇鉊耜�鉊�鉊毯�腹鉊���', + endDate: '鉊抉萵鉊�葭鉆葵鉊毯��葵鉊詮��', + endTime: '鉆�鉊抉艇鉊耜葵鉊毯��葵鉊詮��', + prevYear: '鉊葭鉊�葉鉊葦鉊�葡', + nextYear: '鉊葭鉊萵鉊���', + prevMonth: '鉆�鉊虞鉊冢���葉鉊葦鉊�葡', + nextMonth: '鉆�鉊虞鉊冢��萵鉊���', + year: '鉊葭', + month1: '鉊﹤�腦鉊耜�腹', + month2: '鉊虜鉊﹤�葡鉊萵鉊���', + month3: '鉊﹤葭鉊葡鉊腹', + month4: '鉆�鉊﹤萱鉊耜腺鉊�', + month5: '鉊舅鉊拈�葡鉊腹', + month6: '鉊﹤葩鉊虜鉊葡鉊R��', + month7: '鉊腦鉊�葡鉊腹', + month8: '鉊芹葩鉊葦鉊耜�腹', + month9: '鉊萵鉊腺鉊耜腺鉊�', + month10: '鉊虜鉊丞葡鉊腹', + month11: '鉊舅鉊兒�葩鉊葡鉊R��', + month12: '鉊萵鉊葷鉊耜�腹', + // week: 'week', + weeks: { + sun: '鉊冢葡', + mon: '鉊�', + tue: '鉊�', + wed: '鉊�', + thu: '鉊舅', + fri: '鉊�', + sat: '鉊�' + }, + months: { + jan: '鉊﹤�腦鉊�', + feb: '鉊虜鉊﹤�葡', + mar: '鉊﹤葭鉊葡', + apr: '鉆�鉊﹤萱鉊�', + may: '鉊舅鉊拈�葡', + jun: '鉊﹤葩鉊虜鉊葡', + jul: '鉊腦鉊�葡', + aug: '鉊芹葩鉊葦鉊�', + sep: '鉊萵鉊腺鉊�', + oct: '鉊虜鉊丞葡', + nov: '鉊舅鉊兒�葩鉊葡', + dec: '鉊萵鉊葷鉊�' + } + }, + select: { + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + placeholder: '鉆�鉊丞虞鉊冢��' + }, + cascader: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + placeholder: '鉆�鉊丞虞鉊冢��', + noData: '鉆腹鉆����葉鉊﹤號鉊�' + }, + pagination: { + goto: '鉆��葭鉆�', + pagesize: '/鉊徇��葡', + total: '鉊萵鉆�葦鉊﹤�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉊�葉鉊葷鉊耜腹', + confirm: '鉊�艇鉊�', + cancel: '鉊R��鉊丞葩鉊�', + error: '鉊虜鉊��葉鉊��葉鉊﹤號鉊丞�腹鉆�號鉊��葉鉊�' + }, + upload: { + deleteTip: '鉊��虜鉆腹 "鉊丞��" 鉆�鉊虞鉆葉鉊丞�葉鉊冢��', + delete: '鉊丞��', + preview: '鉊萵鉊抉葉鉊R�葡鉊�', + continue: '鉊董鉊�葉' + }, + table: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�', + confirmFilter: '鉊R虞鉊腺鉊晤��', + resetFilter: '鉊�鉊菽�鉊���', + clearFilter: '鉊萵鉆�葦鉊﹤��', + sumText: '鉊�鉊抉腹' + }, + tree: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�' + }, + transfer: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: '鉊腦鉊冢��葭鉊R��鉊抉葩鉊�鉆��', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: '鉊R�葉鉊�艇鉊晤��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉆腹鉆����葉鉊﹤號鉊�' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/tk.js b/PAMapp/local_modules/element-ui/lib/umd/locale/tk.js new file mode 100644 index 0000000..8b48ccb --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/tk.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/tk', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.tk = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Arassala' + }, + datepicker: { + now: '�wagt', + today: '�寫羹n', + cancel: 'Bes et', + clear: 'Arassala', + confirm: 'OK', + selectDate: 'G羹ni sa羸la��', + selectTime: 'Wagty sa羸la��', + startDate: 'Ba�a羸an g羹ni', + startTime: 'Ba�a羸an wagty', + endDate: 'Gutar羸an g羹ni', + endTime: 'Gutar羸an wagty', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '�n', + month2: 'Few', + month3: 'Mar', + month4: 'Apr', + month5: 'Ma羸', + month6: 'I羸n', + month7: 'I羸l', + month8: 'Awg', + month9: 'Sen', + month10: 'Okt', + month11: 'No羸', + month12: 'Dek', + // week: 'week', + weeks: { + sun: '�k', + mon: 'Du��', + tue: 'Si��', + wed: '�r', + thu: 'Pen', + fri: 'Ann', + sat: '�n' + }, + months: { + jan: '�n', + feb: 'Few', + mar: 'Mar', + apr: 'Apr', + may: 'Ma羸', + jun: 'I羸n', + jul: 'I羸l', + aug: 'Awg', + sep: 'Sep', + oct: 'Okt', + nov: 'No羸', + dec: 'Dek' + } + }, + select: { + loading: 'Indiril羸瓣r', + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + placeholder: 'Sa羸la' + }, + cascader: { + noMatch: 'Hi癟zat tapylmady', + loading: 'Indiril羸瓣r', + placeholder: 'Sa羸la��', + noData: 'Hi癟zat 羸ok' + }, + pagination: { + goto: 'Git', + pagesize: '/sahypa', + total: 'Umumy {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Hat', + confirm: 'OK', + cancel: 'Bes et', + error: '�l��� girizme' + }, + upload: { + deleteTip: 'Pozmak 羹癟in "poz" d羹wm瓣 basy��', + delete: 'Poz', + preview: 'G繹r', + continue: 'Dowam et' + }, + table: { + emptyText: 'Maglumat 羸ok', + confirmFilter: 'Tassykla', + resetFilter: 'Arassala', + clearFilter: 'Hemmesi', + sumText: 'Jemi' + }, + tree: { + emptyText: 'Maglumat 羸ok' + }, + transfer: { + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + titles: ['Sanaw 1', 'Sanaw 2'], + filterPlaceholder: 'G繹zleg s繹zlerini girizi��', + noCheckedFormat: '{total} sany', + hasCheckedFormat: '{checked}/{total} sa羸lanan' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Maglumat 羸ok' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/tr-TR.js b/PAMapp/local_modules/element-ui/lib/umd/locale/tr-TR.js new file mode 100644 index 0000000..c0eae4b --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/tr-TR.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/tr-TR', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.trTR = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Onayla', + clear: 'Temizle' + }, + datepicker: { + now: '�mdi', + today: 'Bug羹n', + cancel: '襤ptal', + clear: 'Temizle', + confirm: 'Onayla', + selectDate: 'Tarih se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�ang覺癟 Tarihi', + startTime: 'Ba�ang覺癟 Saati', + endDate: 'Biti�� Tarihi', + endTime: 'Biti�� Saati', + prevYear: '�ceki Y覺l', + nextYear: 'Sonraki Y覺l', + prevMonth: '�ceki Ay', + nextMonth: 'Sonraki Ay', + year: '', + month1: 'Ocak', + month2: '�bat', + month3: 'Mart', + month4: 'Nisan', + month5: 'May覺s', + month6: 'Haziran', + month7: 'Temmuz', + month8: 'A�stos', + month9: 'Eyl羹l', + month10: 'Ekim', + month11: 'Kas覺m', + month12: 'Aral覺k', + // week: 'week', + weeks: { + sun: 'Paz', + mon: 'Pzt', + tue: 'Sal', + wed: '�r', + thu: 'Per', + fri: 'Cum', + sat: 'Cmt' + }, + months: { + jan: 'Oca', + feb: '�b', + mar: 'Mar', + apr: 'Nis', + may: 'May', + jun: 'Haz', + jul: 'Tem', + aug: 'A�', + sep: 'Eyl', + oct: 'Eki', + nov: 'Kas', + dec: 'Ara' + } + }, + select: { + loading: 'Y羹kleniyor', + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'E�e�n veri bulunamad覺', + loading: 'Y羹kleniyor', + placeholder: 'Se癟', + noData: 'Veri yok' + }, + pagination: { + goto: 'Git', + pagesize: '/sayfa', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'Onayla', + cancel: '襤ptal', + error: '襤llegal giri��' + }, + upload: { + deleteTip: 'kald覺rmak i癟in delete tu�na bas', + delete: 'Sil', + preview: 'G繹r羹nt羹le', + continue: 'Devam' + }, + table: { + emptyText: 'Veri yok', + confirmFilter: 'Onayla', + resetFilter: 'S覺f覺rla', + clearFilter: 'Hepsi', + sumText: 'Sum' + }, + tree: { + emptyText: 'Veri yok' + }, + transfer: { + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Anahtar kelimeleri gir', + noCheckedFormat: '{total} adet', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Veri yok' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ua.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ua.js new file mode 100644 index 0000000..5ae3ad7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ua.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ua', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ua = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '�敗�訄��', + clear: '�解解�' + }, + datepicker: { + now: '�參�訄郱', + today: '苤�憶創憶棣諸�', + cancel: '�棣槽請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�覜敗�訄�� 迡訄��', + selectTime: '�覜敗�訄�� �參�', + startDate: '�參� 郈郋�參碧�', + startTime: '虴訄�� 郈郋�參碧�', + endDate: '�參� 郱訄赲迮��菩請諸�', + endTime: '虴訄�� 郱訄赲迮��菩請諸�', + prevYear: '�憶諱萃�迮迡郇�� ��', + nextYear: '�參諱請覜� ��', + prevMonth: '�憶諱萃�迮迡郇�� ��', + nextMonth: '�參諱請覜� ��', + year: '', + month1: '苤�菩諸�', + month2: '�覜�', + month3: '�萃�迮郱迮郇��', + month4: '�紼菩諸�', + month5: '苠�訄赲迮郇��', + month6: '虴迮�赲迮郇��', + month7: '�覜諱菩諸�', + month8: '苤迮�郈迮郇��', + month9: '�萃�迮�菩諸�', + month10: '�憶紼菩諸�', + month11: '�解憶諱匾�', + month12: '���棣菩諸�', + week: '�覜剷棣菩諸�', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '苤��', + feb: '��', + mar: '�萃�', + apr: '�紼�', + may: '苠�訄', + jun: '虴迮�', + jul: '�覜�', + aug: '苤迮�', + sep: '�萃�', + oct: '�憶�', + nov: '�解�', + dec: '����' + } + }, + select: { + loading: '�匾紹匾諸匾剷菩請諸�', + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�菩標參� 迡訄郇邽��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + loading: '�匾紹匾諸匾剷菩請諸�', + placeholder: '�敗�訄��', + noData: '�菩標參� 迡訄郇邽��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: '郇訄 �憾��諸�', + total: '�憶創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憶紼棣憶標鉼菩請諸�', + confirm: 'OK', + cancel: '�棣槽請�', + error: '�菩謀�邽郈�覜標覜� 赲赲�� 迡訄郇邽��' + }, + upload: { + deleteTip: '郇訄�解諸� 郕郇郋郈郕�� �憶� 赲邽迡訄郅邽��', + delete: '�覜棣匾鉼解�', + preview: '�萃�迮迣郅��', + continue: '��郋迡郋赲迠邽��' + }, + table: { + emptyText: '�菩標參� 迡訄郇邽��', + confirmFilter: '�棋紹萃�迡邽��', + resetFilter: '苤郕邽郇��', + clearFilter: '��', + sumText: '苤�標�' + }, + tree: { + emptyText: '�菩標參� 迡訄郇邽��' + }, + transfer: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�敗�訄��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棋� 郕郅�憶紹� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧�', + hasCheckedFormat: '{checked}/{total} 赲邽訇�訄郇郋' + }, + image: { + error: '��' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: '苠訄郕', + cancelButtonText: '��' + }, + empty: { + description: '�菩標參� 迡訄郇邽��' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/ug-CN.js b/PAMapp/local_modules/element-ui/lib/umd/locale/ug-CN.js new file mode 100644 index 0000000..4a7db0e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/ug-CN.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/ug-CN', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.ugCN = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '堿�紱�', + clear: '�旋胰忪�' + }, + datepicker: { + now: '睅塈堬�斬� �戒�', + today: '堥�胴�', + cancel: '堥�忪� ��', + clear: '�旋胰忪�', + confirm: '堿�紱�', + selectDate: '�喧� 堛塈�我�', + selectTime: '�戒� 堛塈�我�', + startDate: '堥塈奡�戒種戒� �喧�', + startTime: '堥塈奡�戒種戒� �戒�', + endDate: '埵塈堮�斬忪棻戒� �喧�', + endTime: '埵塈堮�斬忪棻戒� �戒�', + prevYear: '埵塈�脅� ��', + nextYear: '�� ��', + prevMonth: '埵塈�脅� 埵塈��', + nextMonth: '�� 埵塈��', + year: '- ��', + month1: '1-埵塈��', + month2: '2-埵塈��', + month3: '3-埵塈��', + month4: '4-埵塈��', + month5: '5-埵塈��', + month6: '6-埵塈��', + month7: '7-埵塈��', + month8: '8-埵塈��', + month9: '9-埵塈��', + month10: '10-埵塈��', + month11: '11-埵塈��', + month12: '12-埵塈��', + // week: '�甈�', + weeks: { + sun: '�欺佾�', + mon: '堹�欺佾�', + tue: '堻�欺佾�', + wed: '�忪斛欺佾�', + thu: '椈�欺佾�', + fri: '堿��', + sat: '奡�佾�' + }, + months: { + jan: '1-埵塈��', + feb: '2-埵塈��', + mar: '3-埵塈��', + apr: '4-埵塈��', + may: '5-埵塈��', + jun: '6-埵塈��', + jul: '7-埵塈��', + aug: '8-埵塈��', + sep: '9-埵塈��', + oct: '10-埵塈��', + nov: '11-埵塈��', + dec: '12-埵塈��' + } + }, + select: { + loading: '�忪舍胴�', + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + placeholder: '堛塈�我�' + }, + cascader: { + noMatch: '埵�� 堛�撼脅�', + loading: '�忪舍胴�', + placeholder: '堛塈�我�', + noData: '埵�� ��' + }, + pagination: { + goto: '�� 堥��', + pagesize: '堛塈��/堥��', + total: '堿�肌� {total} 堛塈��', + pageClassifier: '堥��' + }, + messagebox: { + title: '埵�喧斛舍�', + confirm: '堿�紱�', + cancel: '堥�忪� ��', + error: '�族胴缽胴� 埵�斬倪紲胰� 堮塈堛塈�� 堥塈堭!' + }, + upload: { + deleteTip: 'delete �撼喧� 堥�喧� 埵�旋喧�', + delete: '埵�旋�', + preview: '堭�喧� �旋�', + continue: '堭�喧� �忪�' + }, + table: { + emptyText: '埵�� ��', + confirmFilter: '堻�缽胴�', + resetFilter: '�戒臾� 堛�胴旋�', + clearFilter: '睅��', + sumText: '堿�肌�' + }, + tree: { + emptyText: '埵�� ��' + }, + transfer: { + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + titles: ['堿�胴� 1', '堿�胴� 2'], + filterPlaceholder: '埵�紲脅� 堥�種戒� �紱� �族胴羞�', + noCheckedFormat: '堿�肌� {total} 堛��', + hasCheckedFormat: '堛塈�戒稱� {checked}/{total} 堛��' + }, + image: { + error: '�稱� 堥�脅�' + }, + pageHeader: { + title: '�戒舍�' + }, + popconfirm: { + confirmButtonText: '睅�自�', + cancelButtonText: '�戒�' + }, + empty: { + description: '埵�� ��' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/uz-UZ.js b/PAMapp/local_modules/element-ui/lib/umd/locale/uz-UZ.js new file mode 100644 index 0000000..73f84be --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/uz-UZ.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/uz-UZ', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.uzUZ = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'Qabul qilish', + clear: 'Tozalash' + }, + datepicker: { + now: 'Hozir', + today: 'Bugun', + cancel: 'Bekor qilish', + clear: 'Tozalash', + confirm: 'Qabul qilish', + selectDate: 'Kunni tanlash', + selectTime: 'Soatni tanlash', + startDate: 'Boshlanish sanasi', + startTime: 'Boshlanish vaqti', + endDate: 'Tugash sanasi', + endTime: 'Tugash vaqti', + prevYear: 'O妡tgan yil', + nextYear: 'Kelgusi yil', + prevMonth: 'O妡tgan oy', + nextMonth: 'Kelgusi oy', + year: 'Yil', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: 'Iyun', + month7: 'Iyul', + month8: 'Avgust', + month9: 'Sentabr', + month10: 'Oktabr', + month11: 'Noyabr', + month12: 'Dekabr', + week: 'Hafta', + weeks: { + sun: 'Yak', + mon: 'Dush', + tue: 'Sesh', + wed: 'Chor', + thu: 'Pay', + fri: 'Jum', + sat: 'Shan' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Iyun', + jul: 'Iyul', + aug: 'Avg', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Yuklanmoqda', + noMatch: 'Mos ma宎lumot yo妡q', + noData: 'Ma宎lumot yo妡q', + placeholder: 'Tanladizngiz' + }, + cascader: { + noMatch: 'Mos ma宎lumot topilmadi', + loading: 'Yuklanmoqda', + placeholder: 'Tanlash', + noData: 'Ma宎lumot yo妡q' + }, + pagination: { + goto: 'O妡tish', + pagesize: '/sahifa', + total: 'Barchasi {total} ta', + pageClassifier: '' + }, + messagebox: { + title: 'Xabar', + confirm: 'Qabul qilish', + cancel: 'Bekor qilish', + error: 'Xatolik' + }, + upload: { + deleteTip: 'O妡chirish tugmasini bosib o妡chiring', + delete: 'O妡chirish', + preview: 'Oldin ko妡rish', + continue: 'Davom qilish' + }, + table: { + emptyText: 'Bo妡sh', + confirmFilter: 'Qabul qilish', + resetFilter: 'Oldingi holatga qaytarish', + clearFilter: 'Jami', + sumText: 'Summasi' + }, + tree: { + emptyText: 'Ma宎lumot yo妡q' + }, + transfer: { + noMatch: 'Mos ma宎lumot topilmadi', + noData: 'Ma宎lumot yo妡q', + titles: ['1-jadval', '2-jadval'], + filterPlaceholder: 'Kalit so妡zni kiriting', + noCheckedFormat: '{total} ta element', + hasCheckedFormat: '{checked}/{total} ta belgilandi' + }, + image: { + error: 'Xatolik' + }, + pageHeader: { + title: 'Orqaga' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Bo妡sh' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/vi.js b/PAMapp/local_modules/element-ui/lib/umd/locale/vi.js new file mode 100644 index 0000000..92922a8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/vi.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/vi', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.vi = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: 'OK', + clear: 'X籀a' + }, + datepicker: { + now: 'Hi廙 t廕【', + today: 'H繫m nay', + cancel: 'H廙囤', + clear: 'X籀a', + confirm: 'OK', + selectDate: 'Ch廙 ng�', + selectTime: 'Ch廙 gi廙�', + startDate: 'Ng� b廕眩 �漣u', + startTime: 'Th廙 gian b廕眩 �漣u', + endDate: 'Ng� k廕篙 th繳c', + endTime: 'Th廙 gian k廕篙 th繳c', + prevYear: 'N� tr廙', + nextYear: 'N� t廙', + prevMonth: 'Th獺ng tr廙', + nextMonth: 'Th獺ng t廙', + year: 'N�', + month1: 'Th獺ng 1', + month2: 'Th獺ng 2', + month3: 'Th獺ng 3', + month4: 'Th獺ng 4', + month5: 'Th獺ng 5', + month6: 'Th獺ng 6', + month7: 'Th獺ng 7', + month8: 'Th獺ng 8', + month9: 'Th獺ng 9', + month10: 'Th獺ng 10', + month11: 'Th獺ng 11', + month12: 'Th獺ng 12', + // week: 'week', + weeks: { + sun: 'CN', + mon: 'T2', + tue: 'T3', + wed: 'T4', + thu: 'T5', + fri: 'T6', + sat: 'T7' + }, + months: { + jan: 'Th.1', + feb: 'Th.2', + mar: 'Th.3', + apr: 'Th.4', + may: 'Th.5', + jun: 'Th.6', + jul: 'Th.7', + aug: 'Th.8', + sep: 'Th.9', + oct: 'Th.10', + nov: 'Th.11', + dec: 'Th.12' + } + }, + select: { + loading: '�ng t廕ξ', + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + placeholder: 'Ch廙' + }, + cascader: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + loading: '�ng t廕ξ', + placeholder: 'Ch廙', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙' + }, + pagination: { + goto: 'Nh廕ㄊ t廙', + pagesize: '/trang', + total: 'T廙g {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Th繫ng b獺o', + confirm: 'OK', + cancel: 'H廙囤', + error: 'D廙� li廙 kh繫ng h廙φ l廙�' + }, + upload: { + deleteTip: 'Nh廕叩 xo獺 ��� xo獺', + delete: 'X籀a', + preview: 'Xem tr廙', + continue: 'Ti廕穆 t廙卉' + }, + table: { + emptyText: 'Kh繫ng c籀 d廙� li廙', + confirmFilter: 'X獺c nh廕要', + resetFilter: 'L� m廙', + clearFilter: 'X籀a h廕篙', + sumText: 'T廙g' + }, + tree: { + emptyText: 'Kh繫ng c籀 d廙� li廙' + }, + transfer: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + titles: ['Danh s獺ch 1', 'Danh s獺ch 2'], + filterPlaceholder: 'Nh廕計 t廙� kh籀a', + noCheckedFormat: '{total} m廙卉', + hasCheckedFormat: '{checked}/{total} �� ch廙 ' + }, + image: { + error: 'L廙' + }, + pageHeader: { + title: 'Quay l廕【' + }, + popconfirm: { + confirmButtonText: 'Ok', + cancelButtonText: 'Hu廙�' + }, + empty: { + description: 'Kh繫ng c籀 d廙� li廙' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/zh-CN.js b/PAMapp/local_modules/element-ui/lib/umd/locale/zh-CN.js new file mode 100644 index 0000000..5b41bf0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/zh-CN.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/zh-CN', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.zhCN = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '蝖桀��', + clear: '皜征' + }, + datepicker: { + now: '甇文', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝖桀��', + selectDate: '�����', + selectTime: '���', + startDate: '撘�憪���', + startTime: '撘�憪�', + endDate: '蝏����', + endTime: '蝏��', + prevYear: '���撟�', + nextYear: '���撟�', + prevMonth: '銝葵���', + nextMonth: '銝葵���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '��蝸銝�', + noMatch: '�����', + noData: '���', + placeholder: '霂琿�' + }, + cascader: { + noMatch: '�����', + loading: '��蝸銝�', + placeholder: '霂琿�', + noData: '����' + }, + pagination: { + goto: '���', + pagesize: '�/憿�', + total: '� {total} �', + pageClassifier: '憿�' + }, + messagebox: { + title: '��內', + confirm: '蝖桀��', + cancel: '����', + error: '颲���銝���!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝏抒賒銝��' + }, + table: { + emptyText: '����', + confirmFilter: '蝑��', + resetFilter: '��蔭', + clearFilter: '��', + sumText: '��恣' + }, + tree: { + emptyText: '����' + }, + transfer: { + noMatch: '�����', + noData: '���', + titles: ['��” 1', '��” 2'], + filterPlaceholder: '霂瑁���揣��捆', + noCheckedFormat: '� {total} 憿�', + hasCheckedFormat: '撌脤�� {checked}/{total} 憿�' + }, + image: { + error: '��蝸憭梯揖' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: '蝖桀��', + cancelButtonText: '����' + }, + empty: { + description: '����' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/umd/locale/zh-TW.js b/PAMapp/local_modules/element-ui/lib/umd/locale/zh-TW.js new file mode 100644 index 0000000..d8d5c94 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/umd/locale/zh-TW.js @@ -0,0 +1,142 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define('element/locale/zh-TW', ['module', 'exports'], factory); + } else if (typeof exports !== "undefined") { + factory(module, exports); + } else { + var mod = { + exports: {} + }; + factory(mod, mod.exports); + global.ELEMENT.lang = global.ELEMENT.lang || {}; + global.ELEMENT.lang.zhTW = mod.exports; + } +})(this, function (module, exports) { + 'use strict'; + + exports.__esModule = true; + exports.default = { + el: { + colorpicker: { + confirm: '蝣箄��', + clear: '皜征' + }, + datepicker: { + now: '��', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝣箄��', + selectDate: '������', + selectTime: '������', + startDate: '������', + startTime: '������', + endDate: '蝯����', + endTime: '蝯����', + prevYear: '���撟�', + nextYear: '敺�撟�', + prevMonth: '銝���', + nextMonth: '銝���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '���葉', + noMatch: '�������', + noData: '�鞈��', + placeholder: '隢���' + }, + cascader: { + noMatch: '�������', + loading: '���葉', + placeholder: '隢���', + noData: '�鞈��' + }, + pagination: { + goto: '���', + pagesize: '���/���', + total: '� {total} ���', + pageClassifier: '���' + }, + messagebox: { + title: '��內', + confirm: '蝣箏��', + cancel: '����', + error: '頛詨�����泵閬��!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝜潛��' + }, + table: { + emptyText: '��鞈��', + confirmFilter: '蝭拚', + resetFilter: '��蔭', + clearFilter: '��', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '��鞈��' + }, + transfer: { + noMatch: '�������', + noData: '�鞈��', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: '���仃���' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��鞈��' + } + } + }; + module.exports = exports['default']; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/upload.js b/PAMapp/local_modules/element-ui/lib/upload.js new file mode 100644 index 0000000..1864d36 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/upload.js @@ -0,0 +1,1398 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 59); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ 11: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/migrating"); + +/***/ }), + +/***/ 26: +/***/ (function(module, exports) { + +module.exports = require("babel-helper-vue-jsx-merge-props"); + +/***/ }), + +/***/ 43: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/progress"); + +/***/ }), + +/***/ 59: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5& +var upload_listvue_type_template_id_173fedf5_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "transition-group", + { + class: [ + "el-upload-list", + "el-upload-list--" + _vm.listType, + { "is-disabled": _vm.disabled } + ], + attrs: { tag: "ul", name: "el-list" } + }, + _vm._l(_vm.files, function(file) { + return _c( + "li", + { + key: file.uid, + class: [ + "el-upload-list__item", + "is-" + file.status, + _vm.focusing ? "focusing" : "" + ], + attrs: { tabindex: "0" }, + on: { + keydown: function($event) { + if ( + !("button" in $event) && + _vm._k($event.keyCode, "delete", [8, 46], $event.key, [ + "Backspace", + "Delete", + "Del" + ]) + ) { + return null + } + !_vm.disabled && _vm.$emit("remove", file) + }, + focus: function($event) { + _vm.focusing = true + }, + blur: function($event) { + _vm.focusing = false + }, + click: function($event) { + _vm.focusing = false + } + } + }, + [ + _vm._t( + "default", + [ + file.status !== "uploading" && + ["picture-card", "picture"].indexOf(_vm.listType) > -1 + ? _c("img", { + staticClass: "el-upload-list__item-thumbnail", + attrs: { src: file.url, alt: "" } + }) + : _vm._e(), + _c( + "a", + { + staticClass: "el-upload-list__item-name", + on: { + click: function($event) { + _vm.handleClick(file) + } + } + }, + [ + _c("i", { staticClass: "el-icon-document" }), + _vm._v(_vm._s(file.name) + "\n ") + ] + ), + _c( + "label", + { staticClass: "el-upload-list__item-status-label" }, + [ + _c("i", { + class: { + "el-icon-upload-success": true, + "el-icon-circle-check": _vm.listType === "text", + "el-icon-check": + ["picture-card", "picture"].indexOf(_vm.listType) > -1 + } + }) + ] + ), + !_vm.disabled + ? _c("i", { + staticClass: "el-icon-close", + on: { + click: function($event) { + _vm.$emit("remove", file) + } + } + }) + : _vm._e(), + !_vm.disabled + ? _c("i", { staticClass: "el-icon-close-tip" }, [ + _vm._v(_vm._s(_vm.t("el.upload.deleteTip"))) + ]) + : _vm._e(), + file.status === "uploading" + ? _c("el-progress", { + attrs: { + type: _vm.listType === "picture-card" ? "circle" : "line", + "stroke-width": _vm.listType === "picture-card" ? 6 : 2, + percentage: _vm.parsePercentage(file.percentage) + } + }) + : _vm._e(), + _vm.listType === "picture-card" + ? _c("span", { staticClass: "el-upload-list__item-actions" }, [ + _vm.handlePreview && _vm.listType === "picture-card" + ? _c( + "span", + { + staticClass: "el-upload-list__item-preview", + on: { + click: function($event) { + _vm.handlePreview(file) + } + } + }, + [_c("i", { staticClass: "el-icon-zoom-in" })] + ) + : _vm._e(), + !_vm.disabled + ? _c( + "span", + { + staticClass: "el-upload-list__item-delete", + on: { + click: function($event) { + _vm.$emit("remove", file) + } + } + }, + [_c("i", { staticClass: "el-icon-delete" })] + ) + : _vm._e() + ]) + : _vm._e() + ], + { file: file } + ) + ], + 2 + ) + }), + 0 + ) +} +var staticRenderFns = [] +upload_listvue_type_template_id_173fedf5_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=template&id=173fedf5& + +// EXTERNAL MODULE: external "element-ui/lib/mixins/locale" +var locale_ = __webpack_require__(6); +var locale_default = /*#__PURE__*/__webpack_require__.n(locale_); + +// EXTERNAL MODULE: external "element-ui/lib/progress" +var progress_ = __webpack_require__(43); +var progress_default = /*#__PURE__*/__webpack_require__.n(progress_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-list.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + +/* harmony default export */ var upload_listvue_type_script_lang_js_ = ({ + + name: 'ElUploadList', + + mixins: [locale_default.a], + + data: function data() { + return { + focusing: false + }; + }, + + components: { ElProgress: progress_default.a }, + + props: { + files: { + type: Array, + default: function _default() { + return []; + } + }, + disabled: { + type: Boolean, + default: false + }, + handlePreview: Function, + listType: String + }, + methods: { + parsePercentage: function parsePercentage(val) { + return parseInt(val, 10); + }, + handleClick: function handleClick(file) { + this.handlePreview && this.handlePreview(file); + } + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js& + /* harmony default export */ var src_upload_listvue_type_script_lang_js_ = (upload_listvue_type_script_lang_js_); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__(0); + +// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + src_upload_listvue_type_script_lang_js_, + upload_listvue_type_template_id_173fedf5_render, + staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "packages/upload/src/upload-list.vue" +/* harmony default export */ var upload_list = (component.exports); +// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props" +var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26); +var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_); + +// CONCATENATED MODULE: ./packages/upload/src/ajax.js +function getError(action, option, xhr) { + var msg = void 0; + if (xhr.response) { + msg = '' + (xhr.response.error || xhr.response); + } else if (xhr.responseText) { + msg = '' + xhr.responseText; + } else { + msg = 'fail to post ' + action + ' ' + xhr.status; + } + + var err = new Error(msg); + err.status = xhr.status; + err.method = 'post'; + err.url = action; + return err; +} + +function getBody(xhr) { + var text = xhr.responseText || xhr.response; + if (!text) { + return text; + } + + try { + return JSON.parse(text); + } catch (e) { + return text; + } +} + +function upload(option) { + if (typeof XMLHttpRequest === 'undefined') { + return; + } + + var xhr = new XMLHttpRequest(); + var action = option.action; + + if (xhr.upload) { + xhr.upload.onprogress = function progress(e) { + if (e.total > 0) { + e.percent = e.loaded / e.total * 100; + } + option.onProgress(e); + }; + } + + var formData = new FormData(); + + if (option.data) { + Object.keys(option.data).forEach(function (key) { + formData.append(key, option.data[key]); + }); + } + + formData.append(option.filename, option.file, option.file.name); + + xhr.onerror = function error(e) { + option.onError(e); + }; + + xhr.onload = function onload() { + if (xhr.status < 200 || xhr.status >= 300) { + return option.onError(getError(action, option, xhr)); + } + + option.onSuccess(getBody(xhr)); + }; + + xhr.open('post', action, true); + + if (option.withCredentials && 'withCredentials' in xhr) { + xhr.withCredentials = true; + } + + var headers = option.headers || {}; + + for (var item in headers) { + if (headers.hasOwnProperty(item) && headers[item] !== null) { + xhr.setRequestHeader(item, headers[item]); + } + } + xhr.send(formData); + return xhr; +} +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219& +var upload_draggervue_type_template_id_7ebbf219_render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "div", + { + staticClass: "el-upload-dragger", + class: { + "is-dragover": _vm.dragover + }, + on: { + drop: function($event) { + $event.preventDefault() + return _vm.onDrop($event) + }, + dragover: function($event) { + $event.preventDefault() + return _vm.onDragover($event) + }, + dragleave: function($event) { + $event.preventDefault() + _vm.dragover = false + } + } + }, + [_vm._t("default")], + 2 + ) +} +var upload_draggervue_type_template_id_7ebbf219_staticRenderFns = [] +upload_draggervue_type_template_id_7ebbf219_render._withStripped = true + + +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=template&id=7ebbf219& + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js& +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var upload_draggervue_type_script_lang_js_ = ({ + name: 'ElUploadDrag', + props: { + disabled: Boolean + }, + inject: { + uploader: { + default: '' + } + }, + data: function data() { + return { + dragover: false + }; + }, + + methods: { + onDragover: function onDragover() { + if (!this.disabled) { + this.dragover = true; + } + }, + onDrop: function onDrop(e) { + if (this.disabled || !this.uploader) return; + var accept = this.uploader.accept; + this.dragover = false; + if (!accept) { + this.$emit('file', e.dataTransfer.files); + return; + } + this.$emit('file', [].slice.call(e.dataTransfer.files).filter(function (file) { + var type = file.type, + name = file.name; + + var extension = name.indexOf('.') > -1 ? '.' + name.split('.').pop() : ''; + var baseType = type.replace(/\/.*$/, ''); + return accept.split(',').map(function (type) { + return type.trim(); + }).filter(function (type) { + return type; + }).some(function (acceptedType) { + if (/\..+$/.test(acceptedType)) { + return extension === acceptedType; + } + if (/\/\*$/.test(acceptedType)) { + return baseType === acceptedType.replace(/\/\*$/, ''); + } + if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) { + return type === acceptedType; + } + return false; + }); + })); + } + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue?vue&type=script&lang=js& + /* harmony default export */ var src_upload_draggervue_type_script_lang_js_ = (upload_draggervue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/upload-dragger.vue + + + + + +/* normalize component */ + +var upload_dragger_component = Object(componentNormalizer["a" /* default */])( + src_upload_draggervue_type_script_lang_js_, + upload_draggervue_type_template_id_7ebbf219_render, + upload_draggervue_type_template_id_7ebbf219_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var upload_dragger_api; } +upload_dragger_component.options.__file = "packages/upload/src/upload-dragger.vue" +/* harmony default export */ var upload_dragger = (upload_dragger_component.exports); +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/upload.vue?vue&type=script&lang=js& + + + + + +/* harmony default export */ var uploadvue_type_script_lang_js_ = ({ + inject: ['uploader'], + components: { + UploadDragger: upload_dragger + }, + props: { + type: String, + action: { + type: String, + required: true + }, + name: { + type: String, + default: 'file' + }, + data: Object, + headers: Object, + withCredentials: Boolean, + multiple: Boolean, + accept: String, + onStart: Function, + onProgress: Function, + onSuccess: Function, + onError: Function, + beforeUpload: Function, + drag: Boolean, + onPreview: { + type: Function, + default: function _default() {} + }, + onRemove: { + type: Function, + default: function _default() {} + }, + fileList: Array, + autoUpload: Boolean, + listType: String, + httpRequest: { + type: Function, + default: upload + }, + disabled: Boolean, + limit: Number, + onExceed: Function + }, + + data: function data() { + return { + mouseover: false, + reqs: {} + }; + }, + + + methods: { + isImage: function isImage(str) { + return str.indexOf('image') !== -1; + }, + handleChange: function handleChange(ev) { + var files = ev.target.files; + + if (!files) return; + this.uploadFiles(files); + }, + uploadFiles: function uploadFiles(files) { + var _this = this; + + if (this.limit && this.fileList.length + files.length > this.limit) { + this.onExceed && this.onExceed(files, this.fileList); + return; + } + + var postFiles = Array.prototype.slice.call(files); + if (!this.multiple) { + postFiles = postFiles.slice(0, 1); + } + + if (postFiles.length === 0) { + return; + } + + postFiles.forEach(function (rawFile) { + _this.onStart(rawFile); + if (_this.autoUpload) _this.upload(rawFile); + }); + }, + upload: function upload(rawFile) { + var _this2 = this; + + this.$refs.input.value = null; + + if (!this.beforeUpload) { + return this.post(rawFile); + } + + var before = this.beforeUpload(rawFile); + if (before && before.then) { + before.then(function (processedFile) { + var fileType = Object.prototype.toString.call(processedFile); + + if (fileType === '[object File]' || fileType === '[object Blob]') { + if (fileType === '[object Blob]') { + processedFile = new File([processedFile], rawFile.name, { + type: rawFile.type + }); + } + for (var p in rawFile) { + if (rawFile.hasOwnProperty(p)) { + processedFile[p] = rawFile[p]; + } + } + _this2.post(processedFile); + } else { + _this2.post(rawFile); + } + }, function () { + _this2.onRemove(null, rawFile); + }); + } else if (before !== false) { + this.post(rawFile); + } else { + this.onRemove(null, rawFile); + } + }, + abort: function abort(file) { + var reqs = this.reqs; + + if (file) { + var uid = file; + if (file.uid) uid = file.uid; + if (reqs[uid]) { + reqs[uid].abort(); + } + } else { + Object.keys(reqs).forEach(function (uid) { + if (reqs[uid]) reqs[uid].abort(); + delete reqs[uid]; + }); + } + }, + post: function post(rawFile) { + var _this3 = this; + + var uid = rawFile.uid; + + var options = { + headers: this.headers, + withCredentials: this.withCredentials, + file: rawFile, + data: this.data, + filename: this.name, + action: this.action, + onProgress: function onProgress(e) { + _this3.onProgress(e, rawFile); + }, + onSuccess: function onSuccess(res) { + _this3.onSuccess(res, rawFile); + delete _this3.reqs[uid]; + }, + onError: function onError(err) { + _this3.onError(err, rawFile); + delete _this3.reqs[uid]; + } + }; + var req = this.httpRequest(options); + this.reqs[uid] = req; + if (req && req.then) { + req.then(options.onSuccess, options.onError); + } + }, + handleClick: function handleClick() { + if (!this.disabled) { + this.$refs.input.value = null; + this.$refs.input.click(); + } + }, + handleKeydown: function handleKeydown(e) { + if (e.target !== e.currentTarget) return; + if (e.keyCode === 13 || e.keyCode === 32) { + this.handleClick(); + } + } + }, + + render: function render(h) { + var handleClick = this.handleClick, + drag = this.drag, + name = this.name, + handleChange = this.handleChange, + multiple = this.multiple, + accept = this.accept, + listType = this.listType, + uploadFiles = this.uploadFiles, + disabled = this.disabled, + handleKeydown = this.handleKeydown; + + var data = { + class: { + 'el-upload': true + }, + on: { + click: handleClick, + keydown: handleKeydown + } + }; + data.class['el-upload--' + listType] = true; + return h( + 'div', + external_babel_helper_vue_jsx_merge_props_default()([data, { + attrs: { tabindex: '0' } + }]), + [drag ? h( + 'upload-dragger', + { + attrs: { disabled: disabled }, + on: { + 'file': uploadFiles + } + }, + [this.$slots.default] + ) : this.$slots.default, h('input', { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept }, + ref: 'input', on: { + 'change': handleChange + } + })] + ); + } +}); +// CONCATENATED MODULE: ./packages/upload/src/upload.vue?vue&type=script&lang=js& + /* harmony default export */ var src_uploadvue_type_script_lang_js_ = (uploadvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/upload.vue +var upload_render, upload_staticRenderFns + + + + +/* normalize component */ + +var upload_component = Object(componentNormalizer["a" /* default */])( + src_uploadvue_type_script_lang_js_, + upload_render, + upload_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var upload_api; } +upload_component.options.__file = "packages/upload/src/upload.vue" +/* harmony default export */ var src_upload = (upload_component.exports); +// EXTERNAL MODULE: external "element-ui/lib/mixins/migrating" +var migrating_ = __webpack_require__(11); +var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_); + +// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js& + + + + + + +function noop() {} + +/* harmony default export */ var srcvue_type_script_lang_js_ = ({ + name: 'ElUpload', + + mixins: [migrating_default.a], + + components: { + ElProgress: progress_default.a, + UploadList: upload_list, + Upload: src_upload + }, + + provide: function provide() { + return { + uploader: this + }; + }, + + + inject: { + elForm: { + default: '' + } + }, + + props: { + action: { + type: String, + required: true + }, + headers: { + type: Object, + default: function _default() { + return {}; + } + }, + data: Object, + multiple: Boolean, + name: { + type: String, + default: 'file' + }, + drag: Boolean, + dragger: Boolean, + withCredentials: Boolean, + showFileList: { + type: Boolean, + default: true + }, + accept: String, + type: { + type: String, + default: 'select' + }, + beforeUpload: Function, + beforeRemove: Function, + onRemove: { + type: Function, + default: noop + }, + onChange: { + type: Function, + default: noop + }, + onPreview: { + type: Function + }, + onSuccess: { + type: Function, + default: noop + }, + onProgress: { + type: Function, + default: noop + }, + onError: { + type: Function, + default: noop + }, + fileList: { + type: Array, + default: function _default() { + return []; + } + }, + autoUpload: { + type: Boolean, + default: true + }, + listType: { + type: String, + default: 'text' // text,picture,picture-card + }, + httpRequest: Function, + disabled: Boolean, + limit: Number, + onExceed: { + type: Function, + default: noop + } + }, + + data: function data() { + return { + uploadFiles: [], + dragOver: false, + draging: false, + tempIndex: 1 + }; + }, + + + computed: { + uploadDisabled: function uploadDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + listType: function listType(type) { + if (type === 'picture-card' || type === 'picture') { + this.uploadFiles = this.uploadFiles.map(function (file) { + if (!file.url && file.raw) { + try { + file.url = URL.createObjectURL(file.raw); + } catch (err) { + console.error('[Element Error][Upload]', err); + } + } + return file; + }); + } + }, + + fileList: { + immediate: true, + handler: function handler(fileList) { + var _this = this; + + this.uploadFiles = fileList.map(function (item) { + item.uid = item.uid || Date.now() + _this.tempIndex++; + item.status = item.status || 'success'; + return item; + }); + } + } + }, + + methods: { + handleStart: function handleStart(rawFile) { + rawFile.uid = Date.now() + this.tempIndex++; + var file = { + status: 'ready', + name: rawFile.name, + size: rawFile.size, + percentage: 0, + uid: rawFile.uid, + raw: rawFile + }; + + if (this.listType === 'picture-card' || this.listType === 'picture') { + try { + file.url = URL.createObjectURL(rawFile); + } catch (err) { + console.error('[Element Error][Upload]', err); + return; + } + } + + this.uploadFiles.push(file); + this.onChange(file, this.uploadFiles); + }, + handleProgress: function handleProgress(ev, rawFile) { + var file = this.getFile(rawFile); + this.onProgress(ev, file, this.uploadFiles); + file.status = 'uploading'; + file.percentage = ev.percent || 0; + }, + handleSuccess: function handleSuccess(res, rawFile) { + var file = this.getFile(rawFile); + + if (file) { + file.status = 'success'; + file.response = res; + + this.onSuccess(res, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + } + }, + handleError: function handleError(err, rawFile) { + var file = this.getFile(rawFile); + var fileList = this.uploadFiles; + + file.status = 'fail'; + + fileList.splice(fileList.indexOf(file), 1); + + this.onError(err, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + }, + handleRemove: function handleRemove(file, raw) { + var _this2 = this; + + if (raw) { + file = this.getFile(raw); + } + var doRemove = function doRemove() { + _this2.abort(file); + var fileList = _this2.uploadFiles; + fileList.splice(fileList.indexOf(file), 1); + _this2.onRemove(file, fileList); + }; + + if (!this.beforeRemove) { + doRemove(); + } else if (typeof this.beforeRemove === 'function') { + var before = this.beforeRemove(file, this.uploadFiles); + if (before && before.then) { + before.then(function () { + doRemove(); + }, noop); + } else if (before !== false) { + doRemove(); + } + } + }, + getFile: function getFile(rawFile) { + var fileList = this.uploadFiles; + var target = void 0; + fileList.every(function (item) { + target = rawFile.uid === item.uid ? item : null; + return !target; + }); + return target; + }, + abort: function abort(file) { + this.$refs['upload-inner'].abort(file); + }, + clearFiles: function clearFiles() { + this.uploadFiles = []; + }, + submit: function submit() { + var _this3 = this; + + this.uploadFiles.filter(function (file) { + return file.status === 'ready'; + }).forEach(function (file) { + _this3.$refs['upload-inner'].upload(file.raw); + }); + }, + getMigratingConfig: function getMigratingConfig() { + return { + props: { + 'default-file-list': 'default-file-list is renamed to file-list.', + 'show-upload-list': 'show-upload-list is renamed to show-file-list.', + 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan' + } + }; + } + }, + + beforeDestroy: function beforeDestroy() { + this.uploadFiles.forEach(function (file) { + if (file.url && file.url.indexOf('blob:') === 0) { + URL.revokeObjectURL(file.url); + } + }); + }, + render: function render(h) { + var _this4 = this; + + var uploadList = void 0; + + if (this.showFileList) { + uploadList = h( + upload_list, + { + attrs: { + disabled: this.uploadDisabled, + listType: this.listType, + files: this.uploadFiles, + + handlePreview: this.onPreview }, + on: { + 'remove': this.handleRemove + } + }, + [function (props) { + if (_this4.$scopedSlots.file) { + return _this4.$scopedSlots.file({ + file: props.file + }); + } + }] + ); + } + + var uploadData = { + props: { + type: this.type, + drag: this.drag, + action: this.action, + multiple: this.multiple, + 'before-upload': this.beforeUpload, + 'with-credentials': this.withCredentials, + headers: this.headers, + name: this.name, + data: this.data, + accept: this.accept, + fileList: this.uploadFiles, + autoUpload: this.autoUpload, + listType: this.listType, + disabled: this.uploadDisabled, + limit: this.limit, + 'on-exceed': this.onExceed, + 'on-start': this.handleStart, + 'on-progress': this.handleProgress, + 'on-success': this.handleSuccess, + 'on-error': this.handleError, + 'on-preview': this.onPreview, + 'on-remove': this.handleRemove, + 'http-request': this.httpRequest + }, + ref: 'upload-inner' + }; + + var trigger = this.$slots.trigger || this.$slots.default; + var uploadComponent = h( + 'upload', + uploadData, + [trigger] + ); + + return h('div', [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']); + } +}); +// CONCATENATED MODULE: ./packages/upload/src/index.vue?vue&type=script&lang=js& + /* harmony default export */ var upload_srcvue_type_script_lang_js_ = (srcvue_type_script_lang_js_); +// CONCATENATED MODULE: ./packages/upload/src/index.vue +var src_render, src_staticRenderFns + + + + +/* normalize component */ + +var src_component = Object(componentNormalizer["a" /* default */])( + upload_srcvue_type_script_lang_js_, + src_render, + src_staticRenderFns, + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var src_api; } +src_component.options.__file = "packages/upload/src/index.vue" +/* harmony default export */ var src = (src_component.exports); +// CONCATENATED MODULE: ./packages/upload/index.js + + +/* istanbul ignore next */ +src.install = function (Vue) { + Vue.component(src.name, src); +}; + +/* harmony default export */ var packages_upload = __webpack_exports__["default"] = (src); + +/***/ }), + +/***/ 6: +/***/ (function(module, exports) { + +module.exports = require("element-ui/lib/mixins/locale"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/after-leave.js b/PAMapp/local_modules/element-ui/lib/utils/after-leave.js new file mode 100644 index 0000000..f90d427 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/after-leave.js @@ -0,0 +1,35 @@ +'use strict'; + +exports.__esModule = true; + +exports.default = function (instance, callback) { + var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300; + var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + + if (!instance || !callback) throw new Error('instance & callback is required'); + var called = false; + var afterLeaveCallback = function afterLeaveCallback() { + if (called) return; + called = true; + if (callback) { + callback.apply(null, arguments); + } + }; + if (once) { + instance.$once('after-leave', afterLeaveCallback); + } else { + instance.$on('after-leave', afterLeaveCallback); + } + setTimeout(function () { + afterLeaveCallback(); + }, speed + 100); +}; + +; /** + * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. + * + * @param {Vue} instance Vue instance. + * @param {Function} callback callback of after-leave event + * @param {Number} speed the speed of transition, default value is 300ms + * @param {Boolean} once weather bind after-leave once. default value is false. + */ \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/aria-dialog.js b/PAMapp/local_modules/element-ui/lib/utils/aria-dialog.js new file mode 100644 index 0000000..1c30502 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/aria-dialog.js @@ -0,0 +1,104 @@ +'use strict'; + +exports.__esModule = true; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var _ariaUtils = require('./aria-utils'); + +var _ariaUtils2 = _interopRequireDefault(_ariaUtils); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @constructor + * @desc Dialog object providing modal focus management. + * + * Assumptions: The element serving as the dialog container is present in the + * DOM and hidden. The dialog container has role='dialog'. + * + * @param dialogId + * The ID of the element serving as the dialog container. + * @param focusAfterClosed + * Either the DOM node or the ID of the DOM node to focus when the + * dialog closes. + * @param focusFirst + * Optional parameter containing either the DOM node or the ID of the + * DOM node to focus when the dialog opens. If not specified, the + * first focusable element in the dialog will receive focus. + */ +var aria = aria || {}; +var tabEvent; + +aria.Dialog = function (dialog, focusAfterClosed, focusFirst) { + var _this = this; + + this.dialogNode = dialog; + if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') { + throw new Error('Dialog() requires a DOM element with ARIA role of dialog.'); + } + + if (typeof focusAfterClosed === 'string') { + this.focusAfterClosed = document.getElementById(focusAfterClosed); + } else if ((typeof focusAfterClosed === 'undefined' ? 'undefined' : _typeof(focusAfterClosed)) === 'object') { + this.focusAfterClosed = focusAfterClosed; + } else { + this.focusAfterClosed = null; + } + + if (typeof focusFirst === 'string') { + this.focusFirst = document.getElementById(focusFirst); + } else if ((typeof focusFirst === 'undefined' ? 'undefined' : _typeof(focusFirst)) === 'object') { + this.focusFirst = focusFirst; + } else { + this.focusFirst = null; + } + + if (this.focusFirst) { + this.focusFirst.focus(); + } else { + _ariaUtils2.default.focusFirstDescendant(this.dialogNode); + } + + this.lastFocus = document.activeElement; + tabEvent = function tabEvent(e) { + _this.trapFocus(e); + }; + this.addListeners(); +}; + +aria.Dialog.prototype.addListeners = function () { + document.addEventListener('focus', tabEvent, true); +}; + +aria.Dialog.prototype.removeListeners = function () { + document.removeEventListener('focus', tabEvent, true); +}; + +aria.Dialog.prototype.closeDialog = function () { + var _this2 = this; + + this.removeListeners(); + if (this.focusAfterClosed) { + setTimeout(function () { + _this2.focusAfterClosed.focus(); + }); + } +}; + +aria.Dialog.prototype.trapFocus = function (event) { + if (_ariaUtils2.default.IgnoreUtilFocusChanges) { + return; + } + if (this.dialogNode.contains(event.target)) { + this.lastFocus = event.target; + } else { + _ariaUtils2.default.focusFirstDescendant(this.dialogNode); + if (this.lastFocus === document.activeElement) { + _ariaUtils2.default.focusLastDescendant(this.dialogNode); + } + this.lastFocus = document.activeElement; + } +}; + +exports.default = aria.Dialog; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/aria-utils.js b/PAMapp/local_modules/element-ui/lib/utils/aria-utils.js new file mode 100644 index 0000000..9c32810 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/aria-utils.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +var aria = aria || {}; + +aria.Utils = aria.Utils || {}; + +/** + * @desc Set focus on descendant nodes until the first focusable element is + * found. + * @param element + * DOM node for which to find the first focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ +aria.Utils.focusFirstDescendant = function (element) { + for (var i = 0; i < element.childNodes.length; i++) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Find the last descendant node that is focusable. + * @param element + * DOM node for which to find the last focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ + +aria.Utils.focusLastDescendant = function (element) { + for (var i = element.childNodes.length - 1; i >= 0; i--) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Set Attempt to set focus on the current node. + * @param element + * The node to attempt to focus on. + * @returns + * true if element is focused. + */ +aria.Utils.attemptFocus = function (element) { + if (!aria.Utils.isFocusable(element)) { + return false; + } + aria.Utils.IgnoreUtilFocusChanges = true; + try { + element.focus(); + } catch (e) {} + aria.Utils.IgnoreUtilFocusChanges = false; + return document.activeElement === element; +}; + +aria.Utils.isFocusable = function (element) { + if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) { + return true; + } + + if (element.disabled) { + return false; + } + + switch (element.nodeName) { + case 'A': + return !!element.href && element.rel !== 'ignore'; + case 'INPUT': + return element.type !== 'hidden' && element.type !== 'file'; + case 'BUTTON': + case 'SELECT': + case 'TEXTAREA': + return true; + default: + return false; + } +}; + +/** + * 閫血��銝芯�辣 + * mouseenter, mouseleave, mouseover, keyup, change, click 蝑� + * @param {Element} elm + * @param {String} name + * @param {*} opts + */ +aria.Utils.triggerEvent = function (elm, name) { + var eventName = void 0; + + if (/^mouse|click/.test(name)) { + eventName = 'MouseEvents'; + } else if (/^key/.test(name)) { + eventName = 'KeyboardEvent'; + } else { + eventName = 'HTMLEvents'; + } + var evt = document.createEvent(eventName); + + for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + opts[_key - 2] = arguments[_key]; + } + + evt.initEvent.apply(evt, [name].concat(opts)); + elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt); + + return elm; +}; + +aria.Utils.keys = { + tab: 9, + enter: 13, + space: 32, + left: 37, + up: 38, + right: 39, + down: 40, + esc: 27 +}; + +exports.default = aria.Utils; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/clickoutside.js b/PAMapp/local_modules/element-ui/lib/utils/clickoutside.js new file mode 100644 index 0000000..61a55bd --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/clickoutside.js @@ -0,0 +1,79 @@ +'use strict'; + +exports.__esModule = true; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _dom = require('element-ui/lib/utils/dom'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var nodeList = []; +var ctx = '@@clickoutsideContext'; + +var startClick = void 0; +var seed = 0; + +!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) { + return startClick = e; +}); + +!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) { + nodeList.forEach(function (node) { + return node[ctx].documentHandler(e, startClick); + }); +}); + +function createDocumentHandler(el, binding, vnode) { + return function () { + var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return; + + if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) { + vnode.context[el[ctx].methodName](); + } else { + el[ctx].bindingFn && el[ctx].bindingFn(); + } + }; +} + +/** + * v-clickoutside + * @desc ���������圻����辣 + * @example + * ```vue + * <div v-element-clickoutside="handleClose"> + * ``` + */ +exports.default = { + bind: function bind(el, binding, vnode) { + nodeList.push(el); + var id = seed++; + el[ctx] = { + id: id, + documentHandler: createDocumentHandler(el, binding, vnode), + methodName: binding.expression, + bindingFn: binding.value + }; + }, + update: function update(el, binding, vnode) { + el[ctx].documentHandler = createDocumentHandler(el, binding, vnode); + el[ctx].methodName = binding.expression; + el[ctx].bindingFn = binding.value; + }, + unbind: function unbind(el) { + var len = nodeList.length; + + for (var i = 0; i < len; i++) { + if (nodeList[i][ctx].id === el[ctx].id) { + nodeList.splice(i, 1); + break; + } + } + delete el[ctx]; + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/date-util.js b/PAMapp/local_modules/element-ui/lib/utils/date-util.js new file mode 100644 index 0000000..220cd23 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/date-util.js @@ -0,0 +1,310 @@ +'use strict'; + +exports.__esModule = true; +exports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined; + +var _date = require('element-ui/lib/utils/date'); + +var _date2 = _interopRequireDefault(_date); + +var _locale = require('element-ui/lib/locale'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var weeks = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; +var months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']; + +var newArray = function newArray(start, end) { + var result = []; + for (var i = start; i <= end; i++) { + result.push(i); + } + return result; +}; + +var getI18nSettings = exports.getI18nSettings = function getI18nSettings() { + return { + dayNamesShort: weeks.map(function (week) { + return (0, _locale.t)('el.datepicker.weeks.' + week); + }), + dayNames: weeks.map(function (week) { + return (0, _locale.t)('el.datepicker.weeks.' + week); + }), + monthNamesShort: months.map(function (month) { + return (0, _locale.t)('el.datepicker.months.' + month); + }), + monthNames: months.map(function (month, index) { + return (0, _locale.t)('el.datepicker.month' + (index + 1)); + }), + amPm: ['am', 'pm'] + }; +}; + +var toDate = exports.toDate = function toDate(date) { + return isDate(date) ? new Date(date) : null; +}; + +var isDate = exports.isDate = function isDate(date) { + if (date === null || date === undefined) return false; + if (isNaN(new Date(date).getTime())) return false; + if (Array.isArray(date)) return false; // deal with `new Date([ new Date() ]) -> new Date()` + return true; +}; + +var isDateObject = exports.isDateObject = function isDateObject(val) { + return val instanceof Date; +}; + +var formatDate = exports.formatDate = function formatDate(date, format) { + date = toDate(date); + if (!date) return ''; + return _date2.default.format(date, format || 'yyyy-MM-dd', getI18nSettings()); +}; + +var parseDate = exports.parseDate = function parseDate(string, format) { + return _date2.default.parse(string, format || 'yyyy-MM-dd', getI18nSettings()); +}; + +var getDayCountOfMonth = exports.getDayCountOfMonth = function getDayCountOfMonth(year, month) { + if (isNaN(+month)) return 31; + + return new Date(year, +month + 1, 0).getDate(); +}; + +var getDayCountOfYear = exports.getDayCountOfYear = function getDayCountOfYear(year) { + var isLeapYear = year % 400 === 0 || year % 100 !== 0 && year % 4 === 0; + return isLeapYear ? 366 : 365; +}; + +var getFirstDayOfMonth = exports.getFirstDayOfMonth = function getFirstDayOfMonth(date) { + var temp = new Date(date.getTime()); + temp.setDate(1); + return temp.getDay(); +}; + +// see: https://stackoverflow.com/questions/3674539/incrementing-a-date-in-javascript +// {prev, next} Date should work for Daylight Saving Time +// Adding 24 * 60 * 60 * 1000 does not work in the above scenario +var prevDate = exports.prevDate = function prevDate(date) { + var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + + return new Date(date.getFullYear(), date.getMonth(), date.getDate() - amount); +}; + +var nextDate = exports.nextDate = function nextDate(date) { + var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + + return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount); +}; + +var getStartDateOfMonth = exports.getStartDateOfMonth = function getStartDateOfMonth(year, month) { + var result = new Date(year, month, 1); + var day = result.getDay(); + + if (day === 0) { + return prevDate(result, 7); + } else { + return prevDate(result, day); + } +}; + +var getWeekNumber = exports.getWeekNumber = function getWeekNumber(src) { + if (!isDate(src)) return null; + var date = new Date(src.getTime()); + date.setHours(0, 0, 0, 0); + // Thursday in current week decides the year. + date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7); + // January 4 is always in week 1. + var week1 = new Date(date.getFullYear(), 0, 4); + // Adjust to Thursday in week 1 and count number of weeks from date to week 1. + // Rounding should be fine for Daylight Saving Time. Its shift should never be more than 12 hours. + return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7); +}; + +var getRangeHours = exports.getRangeHours = function getRangeHours(ranges) { + var hours = []; + var disabledHours = []; + + (ranges || []).forEach(function (range) { + var value = range.map(function (date) { + return date.getHours(); + }); + + disabledHours = disabledHours.concat(newArray(value[0], value[1])); + }); + + if (disabledHours.length) { + for (var i = 0; i < 24; i++) { + hours[i] = disabledHours.indexOf(i) === -1; + } + } else { + for (var _i = 0; _i < 24; _i++) { + hours[_i] = false; + } + } + + return hours; +}; + +var getPrevMonthLastDays = exports.getPrevMonthLastDays = function getPrevMonthLastDays(date, amount) { + if (amount <= 0) return []; + var temp = new Date(date.getTime()); + temp.setDate(0); + var lastDay = temp.getDate(); + return range(amount).map(function (_, index) { + return lastDay - (amount - index - 1); + }); +}; + +var getMonthDays = exports.getMonthDays = function getMonthDays(date) { + var temp = new Date(date.getFullYear(), date.getMonth() + 1, 0); + var days = temp.getDate(); + return range(days).map(function (_, index) { + return index + 1; + }); +}; + +function setRangeData(arr, start, end, value) { + for (var i = start; i < end; i++) { + arr[i] = value; + } +} + +var getRangeMinutes = exports.getRangeMinutes = function getRangeMinutes(ranges, hour) { + var minutes = new Array(60); + + if (ranges.length > 0) { + ranges.forEach(function (range) { + var start = range[0]; + var end = range[1]; + var startHour = start.getHours(); + var startMinute = start.getMinutes(); + var endHour = end.getHours(); + var endMinute = end.getMinutes(); + if (startHour === hour && endHour !== hour) { + setRangeData(minutes, startMinute, 60, true); + } else if (startHour === hour && endHour === hour) { + setRangeData(minutes, startMinute, endMinute + 1, true); + } else if (startHour !== hour && endHour === hour) { + setRangeData(minutes, 0, endMinute + 1, true); + } else if (startHour < hour && endHour > hour) { + setRangeData(minutes, 0, 60, true); + } + }); + } else { + setRangeData(minutes, 0, 60, true); + } + return minutes; +}; + +var range = exports.range = function range(n) { + // see https://stackoverflow.com/questions/3746725/create-a-javascript-array-containing-1-n + return Array.apply(null, { length: n }).map(function (_, n) { + return n; + }); +}; + +var modifyDate = exports.modifyDate = function modifyDate(date, y, m, d) { + return new Date(y, m, d, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()); +}; + +var modifyTime = exports.modifyTime = function modifyTime(date, h, m, s) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h, m, s, date.getMilliseconds()); +}; + +var modifyWithTimeString = exports.modifyWithTimeString = function modifyWithTimeString(date, time) { + if (date == null || !time) { + return date; + } + time = parseDate(time, 'HH:mm:ss'); + return modifyTime(date, time.getHours(), time.getMinutes(), time.getSeconds()); +}; + +var clearTime = exports.clearTime = function clearTime(date) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate()); +}; + +var clearMilliseconds = exports.clearMilliseconds = function clearMilliseconds(date) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0); +}; + +var limitTimeRange = exports.limitTimeRange = function limitTimeRange(date, ranges) { + var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'HH:mm:ss'; + + // TODO: refactory a more elegant solution + if (ranges.length === 0) return date; + var normalizeDate = function normalizeDate(date) { + return _date2.default.parse(_date2.default.format(date, format), format); + }; + var ndate = normalizeDate(date); + var nranges = ranges.map(function (range) { + return range.map(normalizeDate); + }); + if (nranges.some(function (nrange) { + return ndate >= nrange[0] && ndate <= nrange[1]; + })) return date; + + var minDate = nranges[0][0]; + var maxDate = nranges[0][0]; + + nranges.forEach(function (nrange) { + minDate = new Date(Math.min(nrange[0], minDate)); + maxDate = new Date(Math.max(nrange[1], minDate)); + }); + + var ret = ndate < minDate ? minDate : maxDate; + // preserve Year/Month/Date + return modifyDate(ret, date.getFullYear(), date.getMonth(), date.getDate()); +}; + +var timeWithinRange = exports.timeWithinRange = function timeWithinRange(date, selectableRange, format) { + var limitedDate = limitTimeRange(date, selectableRange, format); + return limitedDate.getTime() === date.getTime(); +}; + +var changeYearMonthAndClampDate = exports.changeYearMonthAndClampDate = function changeYearMonthAndClampDate(date, year, month) { + // clamp date to the number of days in `year`, `month` + // eg: (2010-1-31, 2010, 2) => 2010-2-28 + var monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month)); + return modifyDate(date, year, month, monthDate); +}; + +var prevMonth = exports.prevMonth = function prevMonth(date) { + var year = date.getFullYear(); + var month = date.getMonth(); + return month === 0 ? changeYearMonthAndClampDate(date, year - 1, 11) : changeYearMonthAndClampDate(date, year, month - 1); +}; + +var nextMonth = exports.nextMonth = function nextMonth(date) { + var year = date.getFullYear(); + var month = date.getMonth(); + return month === 11 ? changeYearMonthAndClampDate(date, year + 1, 0) : changeYearMonthAndClampDate(date, year, month + 1); +}; + +var prevYear = exports.prevYear = function prevYear(date) { + var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + + var year = date.getFullYear(); + var month = date.getMonth(); + return changeYearMonthAndClampDate(date, year - amount, month); +}; + +var nextYear = exports.nextYear = function nextYear(date) { + var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + + var year = date.getFullYear(); + var month = date.getMonth(); + return changeYearMonthAndClampDate(date, year + amount, month); +}; + +var extractDateFormat = exports.extractDateFormat = function extractDateFormat(format) { + return format.replace(/\W?m{1,2}|\W?ZZ/g, '').replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, '').trim(); +}; + +var extractTimeFormat = exports.extractTimeFormat = function extractTimeFormat(format) { + return format.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g, '').trim(); +}; + +var validateRangeInOneMonth = exports.validateRangeInOneMonth = function validateRangeInOneMonth(start, end) { + return start.getMonth() === end.getMonth() && start.getFullYear() === end.getFullYear(); +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/date.js b/PAMapp/local_modules/element-ui/lib/utils/date.js new file mode 100644 index 0000000..95eca37 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/date.js @@ -0,0 +1,369 @@ +'use strict'; + +/* Modified from https://github.com/taylorhakes/fecha + * + * The MIT License (MIT) + * + * Copyright (c) 2015 Taylor Hakes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/*eslint-disable*/ +// ��� YYYY-MM-DD ����� yyyy-MM-dd +(function (main) { + 'use strict'; + + /** + * Parse or format dates + * @class fecha + */ + + var fecha = {}; + var token = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g; + var twoDigits = '\\d\\d?'; + var threeDigits = '\\d{3}'; + var fourDigits = '\\d{4}'; + var word = '[^\\s]+'; + var literal = /\[([^]*?)\]/gm; + var noop = function noop() {}; + + function regexEscape(str) { + return str.replace(/[|\\{()[^$+*?.-]/g, '\\$&'); + } + + function shorten(arr, sLen) { + var newArr = []; + for (var i = 0, len = arr.length; i < len; i++) { + newArr.push(arr[i].substr(0, sLen)); + } + return newArr; + } + + function monthUpdate(arrName) { + return function (d, v, i18n) { + var index = i18n[arrName].indexOf(v.charAt(0).toUpperCase() + v.substr(1).toLowerCase()); + if (~index) { + d.month = index; + } + }; + } + + function pad(val, len) { + val = String(val); + len = len || 2; + while (val.length < len) { + val = '0' + val; + } + return val; + } + + var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + var monthNamesShort = shorten(monthNames, 3); + var dayNamesShort = shorten(dayNames, 3); + fecha.i18n = { + dayNamesShort: dayNamesShort, + dayNames: dayNames, + monthNamesShort: monthNamesShort, + monthNames: monthNames, + amPm: ['am', 'pm'], + DoFn: function DoFn(D) { + return D + ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D - D % 10 !== 10) * D % 10]; + } + }; + + var formatFlags = { + D: function D(dateObj) { + return dateObj.getDay(); + }, + DD: function DD(dateObj) { + return pad(dateObj.getDay()); + }, + Do: function Do(dateObj, i18n) { + return i18n.DoFn(dateObj.getDate()); + }, + d: function d(dateObj) { + return dateObj.getDate(); + }, + dd: function dd(dateObj) { + return pad(dateObj.getDate()); + }, + ddd: function ddd(dateObj, i18n) { + return i18n.dayNamesShort[dateObj.getDay()]; + }, + dddd: function dddd(dateObj, i18n) { + return i18n.dayNames[dateObj.getDay()]; + }, + M: function M(dateObj) { + return dateObj.getMonth() + 1; + }, + MM: function MM(dateObj) { + return pad(dateObj.getMonth() + 1); + }, + MMM: function MMM(dateObj, i18n) { + return i18n.monthNamesShort[dateObj.getMonth()]; + }, + MMMM: function MMMM(dateObj, i18n) { + return i18n.monthNames[dateObj.getMonth()]; + }, + yy: function yy(dateObj) { + return pad(String(dateObj.getFullYear()), 4).substr(2); + }, + yyyy: function yyyy(dateObj) { + return pad(dateObj.getFullYear(), 4); + }, + h: function h(dateObj) { + return dateObj.getHours() % 12 || 12; + }, + hh: function hh(dateObj) { + return pad(dateObj.getHours() % 12 || 12); + }, + H: function H(dateObj) { + return dateObj.getHours(); + }, + HH: function HH(dateObj) { + return pad(dateObj.getHours()); + }, + m: function m(dateObj) { + return dateObj.getMinutes(); + }, + mm: function mm(dateObj) { + return pad(dateObj.getMinutes()); + }, + s: function s(dateObj) { + return dateObj.getSeconds(); + }, + ss: function ss(dateObj) { + return pad(dateObj.getSeconds()); + }, + S: function S(dateObj) { + return Math.round(dateObj.getMilliseconds() / 100); + }, + SS: function SS(dateObj) { + return pad(Math.round(dateObj.getMilliseconds() / 10), 2); + }, + SSS: function SSS(dateObj) { + return pad(dateObj.getMilliseconds(), 3); + }, + a: function a(dateObj, i18n) { + return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1]; + }, + A: function A(dateObj, i18n) { + return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase(); + }, + ZZ: function ZZ(dateObj) { + var o = dateObj.getTimezoneOffset(); + return (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4); + } + }; + + var parseFlags = { + d: [twoDigits, function (d, v) { + d.day = v; + }], + Do: [twoDigits + word, function (d, v) { + d.day = parseInt(v, 10); + }], + M: [twoDigits, function (d, v) { + d.month = v - 1; + }], + yy: [twoDigits, function (d, v) { + var da = new Date(), + cent = +('' + da.getFullYear()).substr(0, 2); + d.year = '' + (v > 68 ? cent - 1 : cent) + v; + }], + h: [twoDigits, function (d, v) { + d.hour = v; + }], + m: [twoDigits, function (d, v) { + d.minute = v; + }], + s: [twoDigits, function (d, v) { + d.second = v; + }], + yyyy: [fourDigits, function (d, v) { + d.year = v; + }], + S: ['\\d', function (d, v) { + d.millisecond = v * 100; + }], + SS: ['\\d{2}', function (d, v) { + d.millisecond = v * 10; + }], + SSS: [threeDigits, function (d, v) { + d.millisecond = v; + }], + D: [twoDigits, noop], + ddd: [word, noop], + MMM: [word, monthUpdate('monthNamesShort')], + MMMM: [word, monthUpdate('monthNames')], + a: [word, function (d, v, i18n) { + var val = v.toLowerCase(); + if (val === i18n.amPm[0]) { + d.isPm = false; + } else if (val === i18n.amPm[1]) { + d.isPm = true; + } + }], + ZZ: ['[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z', function (d, v) { + var parts = (v + '').match(/([+-]|\d\d)/gi), + minutes; + + if (parts) { + minutes = +(parts[1] * 60) + parseInt(parts[2], 10); + d.timezoneOffset = parts[0] === '+' ? minutes : -minutes; + } + }] + }; + parseFlags.dd = parseFlags.d; + parseFlags.dddd = parseFlags.ddd; + parseFlags.DD = parseFlags.D; + parseFlags.mm = parseFlags.m; + parseFlags.hh = parseFlags.H = parseFlags.HH = parseFlags.h; + parseFlags.MM = parseFlags.M; + parseFlags.ss = parseFlags.s; + parseFlags.A = parseFlags.a; + + // Some common format strings + fecha.masks = { + default: 'ddd MMM dd yyyy HH:mm:ss', + shortDate: 'M/D/yy', + mediumDate: 'MMM d, yyyy', + longDate: 'MMMM d, yyyy', + fullDate: 'dddd, MMMM d, yyyy', + shortTime: 'HH:mm', + mediumTime: 'HH:mm:ss', + longTime: 'HH:mm:ss.SSS' + }; + + /*** + * Format a date + * @method format + * @param {Date|number} dateObj + * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate' + */ + fecha.format = function (dateObj, mask, i18nSettings) { + var i18n = i18nSettings || fecha.i18n; + + if (typeof dateObj === 'number') { + dateObj = new Date(dateObj); + } + + if (Object.prototype.toString.call(dateObj) !== '[object Date]' || isNaN(dateObj.getTime())) { + throw new Error('Invalid Date in fecha.format'); + } + + mask = fecha.masks[mask] || mask || fecha.masks['default']; + + var literals = []; + + // Make literals inactive by replacing them with ?? + mask = mask.replace(literal, function ($0, $1) { + literals.push($1); + return '@@@'; + }); + // Apply formatting rules + mask = mask.replace(token, function ($0) { + return $0 in formatFlags ? formatFlags[$0](dateObj, i18n) : $0.slice(1, $0.length - 1); + }); + // Inline literal values back into the formatted value + return mask.replace(/@@@/g, function () { + return literals.shift(); + }); + }; + + /** + * Parse a date string into an object, changes - into / + * @method parse + * @param {string} dateStr Date string + * @param {string} format Date parse format + * @returns {Date|boolean} + */ + fecha.parse = function (dateStr, format, i18nSettings) { + var i18n = i18nSettings || fecha.i18n; + + if (typeof format !== 'string') { + throw new Error('Invalid format in fecha.parse'); + } + + format = fecha.masks[format] || format; + + // Avoid regular expression denial of service, fail early for really long strings + // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS + if (dateStr.length > 1000) { + return null; + } + + var dateInfo = {}; + var parseInfo = []; + var literals = []; + format = format.replace(literal, function ($0, $1) { + literals.push($1); + return '@@@'; + }); + var newFormat = regexEscape(format).replace(token, function ($0) { + if (parseFlags[$0]) { + var info = parseFlags[$0]; + parseInfo.push(info[1]); + return '(' + info[0] + ')'; + } + + return $0; + }); + newFormat = newFormat.replace(/@@@/g, function () { + return literals.shift(); + }); + var matches = dateStr.match(new RegExp(newFormat, 'i')); + if (!matches) { + return null; + } + + for (var i = 1; i < matches.length; i++) { + parseInfo[i - 1](dateInfo, matches[i], i18n); + } + + var today = new Date(); + if (dateInfo.isPm === true && dateInfo.hour != null && +dateInfo.hour !== 12) { + dateInfo.hour = +dateInfo.hour + 12; + } else if (dateInfo.isPm === false && +dateInfo.hour === 12) { + dateInfo.hour = 0; + } + + var date; + if (dateInfo.timezoneOffset != null) { + dateInfo.minute = +(dateInfo.minute || 0) - +dateInfo.timezoneOffset; + date = new Date(Date.UTC(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0)); + } else { + date = new Date(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0); + } + return date; + }; + + /* istanbul ignore next */ + if (typeof module !== 'undefined' && module.exports) { + module.exports = fecha; + } else if (typeof define === 'function' && define.amd) { + define(function () { + return fecha; + }); + } else { + main.fecha = fecha; + } +})(undefined); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/dom.js b/PAMapp/local_modules/element-ui/lib/utils/dom.js new file mode 100644 index 0000000..3d7bc96 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/dom.js @@ -0,0 +1,234 @@ +'use strict'; + +exports.__esModule = true; +exports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /* istanbul ignore next */ + +exports.hasClass = hasClass; +exports.addClass = addClass; +exports.removeClass = removeClass; +exports.setStyle = setStyle; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var isServer = _vue2.default.prototype.$isServer; +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; +var MOZ_HACK_REGEXP = /^moz([A-Z])/; +var ieVersion = isServer ? 0 : Number(document.documentMode); + +/* istanbul ignore next */ +var trim = function trim(string) { + return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ''); +}; +/* istanbul ignore next */ +var camelCase = function camelCase(name) { + return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }).replace(MOZ_HACK_REGEXP, 'Moz$1'); +}; + +/* istanbul ignore next */ +var on = exports.on = function () { + if (!isServer && document.addEventListener) { + return function (element, event, handler) { + if (element && event && handler) { + element.addEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event && handler) { + element.attachEvent('on' + event, handler); + } + }; + } +}(); + +/* istanbul ignore next */ +var off = exports.off = function () { + if (!isServer && document.removeEventListener) { + return function (element, event, handler) { + if (element && event) { + element.removeEventListener(event, handler, false); + } + }; + } else { + return function (element, event, handler) { + if (element && event) { + element.detachEvent('on' + event, handler); + } + }; + } +}(); + +/* istanbul ignore next */ +var once = exports.once = function once(el, event, fn) { + var listener = function listener() { + if (fn) { + fn.apply(this, arguments); + } + off(el, event, listener); + }; + on(el, event, listener); +}; + +/* istanbul ignore next */ +function hasClass(el, cls) { + if (!el || !cls) return false; + if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.'); + if (el.classList) { + return el.classList.contains(cls); + } else { + return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1; + } +}; + +/* istanbul ignore next */ +function addClass(el, cls) { + if (!el) return; + var curClass = el.className; + var classes = (cls || '').split(' '); + + for (var i = 0, j = classes.length; i < j; i++) { + var clsName = classes[i]; + if (!clsName) continue; + + if (el.classList) { + el.classList.add(clsName); + } else if (!hasClass(el, clsName)) { + curClass += ' ' + clsName; + } + } + if (!el.classList) { + el.setAttribute('class', curClass); + } +}; + +/* istanbul ignore next */ +function removeClass(el, cls) { + if (!el || !cls) return; + var classes = cls.split(' '); + var curClass = ' ' + el.className + ' '; + + for (var i = 0, j = classes.length; i < j; i++) { + var clsName = classes[i]; + if (!clsName) continue; + + if (el.classList) { + el.classList.remove(clsName); + } else if (hasClass(el, clsName)) { + curClass = curClass.replace(' ' + clsName + ' ', ' '); + } + } + if (!el.classList) { + el.setAttribute('class', trim(curClass)); + } +}; + +/* istanbul ignore next */ +var getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) { + if (isServer) return; + if (!element || !styleName) return null; + styleName = camelCase(styleName); + if (styleName === 'float') { + styleName = 'styleFloat'; + } + try { + switch (styleName) { + case 'opacity': + try { + return element.filters.item('alpha').opacity / 100; + } catch (e) { + return 1.0; + } + default: + return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null; + } + } catch (e) { + return element.style[styleName]; + } +} : function (element, styleName) { + if (isServer) return; + if (!element || !styleName) return null; + styleName = camelCase(styleName); + if (styleName === 'float') { + styleName = 'cssFloat'; + } + try { + var computed = document.defaultView.getComputedStyle(element, ''); + return element.style[styleName] || computed ? computed[styleName] : null; + } catch (e) { + return element.style[styleName]; + } +}; + +/* istanbul ignore next */ +function setStyle(element, styleName, value) { + if (!element || !styleName) return; + + if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') { + for (var prop in styleName) { + if (styleName.hasOwnProperty(prop)) { + setStyle(element, prop, styleName[prop]); + } + } + } else { + styleName = camelCase(styleName); + if (styleName === 'opacity' && ieVersion < 9) { + element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')'; + } else { + element.style[styleName] = value; + } + } +}; + +var isScroll = exports.isScroll = function isScroll(el, vertical) { + if (isServer) return; + + var determinedDirection = vertical !== null && vertical !== undefined; + var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow'); + + return overflow.match(/(scroll|auto|overlay)/); +}; + +var getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) { + if (isServer) return; + + var parent = el; + while (parent) { + if ([window, document, document.documentElement].includes(parent)) { + return window; + } + if (isScroll(parent, vertical)) { + return parent; + } + parent = parent.parentNode; + } + + return parent; +}; + +var isInContainer = exports.isInContainer = function isInContainer(el, container) { + if (isServer || !el || !container) return false; + + var elRect = el.getBoundingClientRect(); + var containerRect = void 0; + + if ([window, document, document.documentElement, null, undefined].includes(container)) { + containerRect = { + top: 0, + right: window.innerWidth, + bottom: window.innerHeight, + left: 0 + }; + } else { + containerRect = container.getBoundingClientRect(); + } + + return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right; +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/lodash.js b/PAMapp/local_modules/element-ui/lib/utils/lodash.js new file mode 100644 index 0000000..4131e93 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/lodash.js @@ -0,0 +1,17209 @@ +/** + * @license + * Lodash <https://lodash.com/> + * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** 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/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '<p>' + func(text) + '</p>'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '<p>fred, barney, & pebbles</p>' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement('<body>'); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('d矇j�� vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<b><%- value %></b>'); + * compiled({ 'value': '<script>' }); + * // => '<b><script></b>' + * + * // Use the "evaluate" delimiter to execute JavaScript and generate HTML. + * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the internal `print` function in "evaluate" delimiters. + * var compiled = _.template('<% print("hello " + user); %>!'); + * compiled({ 'user': 'barney' }); + * // => 'hello barney!' + * + * // Use the ES template literal delimiter as an "interpolate" delimiter. + * // Disable support by replacing the "interpolate" delimiter. + * var compiled = _.template('hello ${ user }!'); + * compiled({ 'user': 'pebbles' }); + * // => 'hello pebbles!' + * + * // Use backslashes to treat delimiters as plain text. + * var compiled = _.template('<%= "\\<%- value %\\>" %>'); + * compiled({ 'value': 'ignored' }); + * // => '<%- value %>' + * + * // Use the `imports` option to import `jQuery` as `jq`. + * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>'; + * var compiled = _.template(text, { 'imports': { 'jq': jQuery } }); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the `sourceURL` option to specify a custom sourceURL for the template. + * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' }); + * compiled(data); + * // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector. + * + * // Use the `variable` option to ensure a with-statement isn't used in the compiled template. + * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' }); + * compiled.source; + * // => function(data) { + * // var __t, __p = ''; + * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!'; + * // return __p; + * // } + * + * // Use custom template delimiters. + * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; + * var compiled = _.template('hello {{ user }}!'); + * compiled({ 'user': 'mustache' }); + * // => 'hello mustache!' + * + * // Use the `source` property to inline compiled templates for meaningful + * // line numbers in error messages and stack traces. + * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ + * var JST = {\ + * "main": ' + _.template(mainText).source + '\ + * };\ + * '); + */ + function template(string, options, guard) { + // Based on John Resig's `tmpl` implementation + // (http://ejohn.org/blog/javascript-micro-templating/) + // and Laura Doktorova's doT.js (https://github.com/olado/doT). + var settings = lodash.templateSettings; + + if (guard && isIterateeCall(string, options, guard)) { + options = undefined; + } + string = toString(string); + options = assignInWith({}, options, settings, customDefaultsAssignIn); + + var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), + importsKeys = keys(imports), + importsValues = baseValues(imports, importsKeys); + + var isEscaping, + isEvaluating, + index = 0, + interpolate = options.interpolate || reNoMatch, + source = "__p += '"; + + // Compile the regexp to match each delimiter. + var reDelimiters = RegExp( + (options.escape || reNoMatch).source + '|' + + interpolate.source + '|' + + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + + (options.evaluate || reNoMatch).source + '|$' + , 'g'); + + // Use a sourceURL for easier debugging. + // The sourceURL gets injected into the source that's eval-ed, so be careful + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. + var sourceURL = '//# sourceURL=' + + (hasOwnProperty.call(options, 'sourceURL') + ? (options.sourceURL + '').replace(/\s/g, ' ') + : ('lodash.templateSources[' + (++templateCounter) + ']') + ) + '\n'; + + string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { + interpolateValue || (interpolateValue = esTemplateValue); + + // Escape characters that can't be included in string literals. + source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); + + // Replace delimiters with snippets. + if (escapeValue) { + isEscaping = true; + source += "' +\n__e(" + escapeValue + ") +\n'"; + } + if (evaluateValue) { + isEvaluating = true; + source += "';\n" + evaluateValue + ";\n__p += '"; + } + if (interpolateValue) { + source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; + } + index = offset + match.length; + + // The JS engine embedded in Adobe products needs `match` returned in + // order to produce the correct `offset` value. + return match; + }); + + source += "';\n"; + + // If `variable` is not specified wrap a with-statement around the generated + // code to add the data object to the top of the scope chain. + var variable = hasOwnProperty.call(options, 'variable') && options.variable; + if (!variable) { + source = 'with (obj) {\n' + source + '\n}\n'; + } + // Throw an error if a forbidden character was found in `variable`, to prevent + // potential command injection attacks. + else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); + } + + // Cleanup code by stripping empty strings. + source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) + .replace(reEmptyStringMiddle, '$1') + .replace(reEmptyStringTrailing, '$1;'); + + // Frame code as the function body. + source = 'function(' + (variable || 'obj') + ') {\n' + + (variable + ? '' + : 'obj || (obj = {});\n' + ) + + "var __t, __p = ''" + + (isEscaping + ? ', __e = _.escape' + : '' + ) + + (isEvaluating + ? ', __j = Array.prototype.join;\n' + + "function print() { __p += __j.call(arguments, '') }\n" + : ';\n' + ) + + source + + 'return __p\n}'; + + var result = attempt(function() { + return Function(importsKeys, sourceURL + 'return ' + source) + .apply(undefined, importsValues); + }); + + // Provide the compiled function's source by its `toString` method or + // the `source` property as a convenience for inlining compiled templates. + result.source = source; + if (isError(result)) { + throw result; + } + return result; + } + + /** + * Converts `string`, as a whole, to lower case just like + * [String#toLowerCase](https://mdn.io/toLowerCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.toLower('--Foo-Bar--'); + * // => '--foo-bar--' + * + * _.toLower('fooBar'); + * // => 'foobar' + * + * _.toLower('__FOO_BAR__'); + * // => '__foo_bar__' + */ + function toLower(value) { + return toString(value).toLowerCase(); + } + + /** + * Converts `string`, as a whole, to upper case just like + * [String#toUpperCase](https://mdn.io/toUpperCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.toUpper('--foo-bar--'); + * // => '--FOO-BAR--' + * + * _.toUpper('fooBar'); + * // => 'FOOBAR' + * + * _.toUpper('__foo_bar__'); + * // => '__FOO_BAR__' + */ + function toUpper(value) { + return toString(value).toUpperCase(); + } + + /** + * Removes leading and trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trim(' abc '); + * // => 'abc' + * + * _.trim('-_-abc-_-', '_-'); + * // => 'abc' + * + * _.map([' foo ', ' bar '], _.trim); + * // => ['foo', 'bar'] + */ + function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return baseTrim(string); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; + + return castSlice(strSymbols, start, end).join(''); + } + + /** + * Removes trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimEnd(' abc '); + * // => ' abc' + * + * _.trimEnd('-_-abc-_-', '_-'); + * // => '-_-abc' + */ + function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); + } + + /** + * Removes leading whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimStart(' abc '); + * // => 'abc ' + * + * _.trimStart('-_-abc-_-', '_-'); + * // => 'abc-_-' + */ + function trimStart(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.replace(reTrimStart, ''); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); + } + + /** + * Truncates `string` if it's longer than the given maximum string length. + * The last characters of the truncated string are replaced with the omission + * string which defaults to "...". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to truncate. + * @param {Object} [options={}] The options object. + * @param {number} [options.length=30] The maximum string length. + * @param {string} [options.omission='...'] The string to indicate text is omitted. + * @param {RegExp|string} [options.separator] The separator pattern to truncate to. + * @returns {string} Returns the truncated string. + * @example + * + * _.truncate('hi-diddly-ho there, neighborino'); + * // => 'hi-diddly-ho there, neighbo...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': ' ' + * }); + * // => 'hi-diddly-ho there,...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': /,? +/ + * }); + * // => 'hi-diddly-ho there...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'omission': ' [...]' + * }); + * // => 'hi-diddly-ho there, neig [...]' + */ + function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, + omission = DEFAULT_TRUNC_OMISSION; + + if (isObject(options)) { + var separator = 'separator' in options ? options.separator : separator; + length = 'length' in options ? toInteger(options.length) : length; + omission = 'omission' in options ? baseToString(options.omission) : omission; + } + string = toString(string); + + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result = strSymbols + ? castSlice(strSymbols, 0, end).join('') + : string.slice(0, end); + + if (separator === undefined) { + return result + omission; + } + if (strSymbols) { + end += (result.length - end); + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, + substring = result; + + if (!separator.global) { + separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); + } + separator.lastIndex = 0; + while ((match = separator.exec(substring))) { + var newEnd = match.index; + } + result = result.slice(0, newEnd === undefined ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result.lastIndexOf(separator); + if (index > -1) { + result = result.slice(0, index); + } + } + return result + omission; + } + + /** + * The inverse of `_.escape`; this method converts the HTML entities + * `&`, `<`, `>`, `"`, and `'` in `string` to + * their corresponding characters. + * + * **Note:** No other HTML entities are unescaped. To unescape additional + * HTML entities use a third-party library like [_he_](https://mths.be/he). + * + * @static + * @memberOf _ + * @since 0.6.0 + * @category String + * @param {string} [string=''] The string to unescape. + * @returns {string} Returns the unescaped string. + * @example + * + * _.unescape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function unescape(string) { + string = toString(string); + return (string && reHasEscapedHtml.test(string)) + ? string.replace(reEscapedHtml, unescapeHtmlChar) + : string; + } + + /** + * Converts `string`, as space separated words, to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.upperCase('--foo-bar'); + * // => 'FOO BAR' + * + * _.upperCase('fooBar'); + * // => 'FOO BAR' + * + * _.upperCase('__foo_bar__'); + * // => 'FOO BAR' + */ + var upperCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toUpperCase(); + }); + + /** + * Converts the first character of `string` to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.upperFirst('fred'); + * // => 'Fred' + * + * _.upperFirst('FRED'); + * // => 'FRED' + */ + var upperFirst = createCaseFirst('toUpperCase'); + + /** + * Splits `string` into an array of its words. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {RegExp|string} [pattern] The pattern to match words. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the words of `string`. + * @example + * + * _.words('fred, barney, & pebbles'); + * // => ['fred', 'barney', 'pebbles'] + * + * _.words('fred, barney, & pebbles', /[^, ]+/g); + * // => ['fred', 'barney', '&', 'pebbles'] + */ + function words(string, pattern, guard) { + string = toString(string); + pattern = guard ? undefined : pattern; + + if (pattern === undefined) { + return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); + } + return string.match(pattern) || []; + } + + /*------------------------------------------------------------------------*/ + + /** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ + var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } + }); + + /** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ + var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; + }); + + /** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ + function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = getIteratee(); + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); + } + + /** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ + function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ + function constant(value) { + return function() { + return value; + }; + } + + /** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ + function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; + } + + /** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ + var flow = createFlow(); + + /** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ + var flowRight = createFlow(true); + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ + function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matches(source) { + return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between the + * value at `path` of a given object to `srcValue`, returning `true` if the + * object value is equivalent, else `false`. + * + * **Note:** Partial comparisons will match empty array and empty object + * `srcValue` values against any array or object value, respectively. See + * `_.isEqual` for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.find(objects, _.matchesProperty('a', 4)); + * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matchesProperty(path, srcValue) { + return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that invokes the method at `path` of a given object. + * Any additional arguments are provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var objects = [ + * { 'a': { 'b': _.constant(2) } }, + * { 'a': { 'b': _.constant(1) } } + * ]; + * + * _.map(objects, _.method('a.b')); + * // => [2, 1] + * + * _.map(objects, _.method(['a', 'b'])); + * // => [2, 1] + */ + var method = baseRest(function(path, args) { + return function(object) { + return baseInvoke(object, path, args); + }; + }); + + /** + * The opposite of `_.method`; this method creates a function that invokes + * the method at a given path of `object`. Any additional arguments are + * provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Object} object The object to query. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var array = _.times(3, _.constant), + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.methodOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); + * // => [2, 0] + */ + var methodOf = baseRest(function(object, args) { + return function(path) { + return baseInvoke(object, path, args); + }; + }); + + /** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ + function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + if (options == null && + !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + arrayEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; + } + + /** + * Reverts the `_` variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } + + /** + * Creates a function that gets the argument at index `n`. If `n` is negative, + * the nth argument from the end is returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [n=0] The index of the argument to return. + * @returns {Function} Returns the new pass-thru function. + * @example + * + * var func = _.nthArg(1); + * func('a', 'b', 'c', 'd'); + * // => 'b' + * + * var func = _.nthArg(-2); + * func('a', 'b', 'c', 'd'); + * // => 'c' + */ + function nthArg(n) { + n = toInteger(n); + return baseRest(function(args) { + return baseNth(args, n); + }); + } + + /** + * Creates a function that invokes `iteratees` with the arguments it receives + * and returns their results. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to invoke. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.over([Math.max, Math.min]); + * + * func(1, 2, 3, 4); + * // => [4, 1] + */ + var over = createOver(arrayMap); + + /** + * Creates a function that checks if **all** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overEvery([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => false + * + * func(NaN); + * // => false + */ + var overEvery = createOver(arrayEvery); + + /** + * Creates a function that checks if **any** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overSome([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => true + * + * func(NaN); + * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) + */ + var overSome = createOver(arraySome); + + /** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ + function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); + } + + /** + * The opposite of `_.property`; this method creates a function that returns + * the value at a given path of `object`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + * @example + * + * var array = [0, 1, 2], + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.propertyOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); + * // => [2, 0] + */ + function propertyOf(object) { + return function(path) { + return object == null ? undefined : baseGet(object, path); + }; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ + var range = createRange(); + + /** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.range + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ + var rangeRight = createRange(true); + + /** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ + function stubArray() { + return []; + } + + /** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ + function stubFalse() { + return false; + } + + /** + * This method returns a new empty object. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Object} Returns the new empty object. + * @example + * + * var objects = _.times(2, _.stubObject); + * + * console.log(objects); + * // => [{}, {}] + * + * console.log(objects[0] === objects[1]); + * // => false + */ + function stubObject() { + return {}; + } + + /** + * This method returns an empty string. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {string} Returns the empty string. + * @example + * + * _.times(2, _.stubString); + * // => ['', ''] + */ + function stubString() { + return ''; + } + + /** + * This method returns `true`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `true`. + * @example + * + * _.times(2, _.stubTrue); + * // => [true, true] + */ + function stubTrue() { + return true; + } + + /** + * Invokes the iteratee `n` times, returning an array of the results of + * each invocation. The iteratee is invoked with one argument; (index). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of results. + * @example + * + * _.times(3, String); + * // => ['0', '1', '2'] + * + * _.times(4, _.constant(0)); + * // => [0, 0, 0, 0] + */ + function times(n, iteratee) { + n = toInteger(n); + if (n < 1 || n > MAX_SAFE_INTEGER) { + return []; + } + var index = MAX_ARRAY_LENGTH, + length = nativeMin(n, MAX_ARRAY_LENGTH); + + iteratee = getIteratee(iteratee); + n -= MAX_ARRAY_LENGTH; + + var result = baseTimes(length, iteratee); + while (++index < n) { + iteratee(index); + } + return result; + } + + /** + * Converts `value` to a property path array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {*} value The value to convert. + * @returns {Array} Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + */ + function toPath(value) { + if (isArray(value)) { + return arrayMap(value, toKey); + } + return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); + } + + /** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + + /*------------------------------------------------------------------------*/ + + /** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ + var add = createMathOperation(function(augend, addend) { + return augend + addend; + }, 0); + + /** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ + var ceil = createRound('ceil'); + + /** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ + var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; + }, 1); + + /** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ + var floor = createRound('floor'); + + /** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ + function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; + } + + /** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.n; }); + * // => { 'n': 2 } + * + * // The `_.property` iteratee shorthand. + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ + function maxBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) + : undefined; + } + + /** + * Computes the mean of the values in `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ + function mean(array) { + return baseMean(array, identity); + } + + /** + * This method is like `_.mean` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be averaged. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the mean. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.meanBy(objects, function(o) { return o.n; }); + * // => 5 + * + * // The `_.property` iteratee shorthand. + * _.meanBy(objects, 'n'); + * // => 5 + */ + function meanBy(array, iteratee) { + return baseMean(array, getIteratee(iteratee, 2)); + } + + /** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ + function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; + } + + /** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ + function minBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) + : undefined; + } + + /** + * Multiply two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} multiplier The first number in a multiplication. + * @param {number} multiplicand The second number in a multiplication. + * @returns {number} Returns the product. + * @example + * + * _.multiply(6, 4); + * // => 24 + */ + var multiply = createMathOperation(function(multiplier, multiplicand) { + return multiplier * multiplicand; + }, 1); + + /** + * Computes `number` rounded to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round. + * @param {number} [precision=0] The precision to round to. + * @returns {number} Returns the rounded number. + * @example + * + * _.round(4.006); + * // => 4 + * + * _.round(4.006, 2); + * // => 4.01 + * + * _.round(4060, -2); + * // => 4100 + */ + var round = createRound('round'); + + /** + * Subtract two numbers. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {number} minuend The first number in a subtraction. + * @param {number} subtrahend The second number in a subtraction. + * @returns {number} Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ + var subtract = createMathOperation(function(minuend, subtrahend) { + return minuend - subtrahend; + }, 0); + + /** + * Computes the sum of the values in `array`. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ + function sum(array) { + return (array && array.length) + ? baseSum(array, identity) + : 0; + } + + /** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // The `_.property` iteratee shorthand. + * _.sumBy(objects, 'n'); + * // => 20 + */ + function sumBy(array, iteratee) { + return (array && array.length) + ? baseSum(array, getIteratee(iteratee, 2)) + : 0; + } + + /*------------------------------------------------------------------------*/ + + // Add methods that return wrapped values in chain sequences. + lodash.after = after; + lodash.ary = ary; + lodash.assign = assign; + lodash.assignIn = assignIn; + lodash.assignInWith = assignInWith; + lodash.assignWith = assignWith; + lodash.at = at; + lodash.before = before; + lodash.bind = bind; + lodash.bindAll = bindAll; + lodash.bindKey = bindKey; + lodash.castArray = castArray; + lodash.chain = chain; + lodash.chunk = chunk; + lodash.compact = compact; + lodash.concat = concat; + lodash.cond = cond; + lodash.conforms = conforms; + lodash.constant = constant; + lodash.countBy = countBy; + lodash.create = create; + lodash.curry = curry; + lodash.curryRight = curryRight; + lodash.debounce = debounce; + lodash.defaults = defaults; + lodash.defaultsDeep = defaultsDeep; + lodash.defer = defer; + lodash.delay = delay; + lodash.difference = difference; + lodash.differenceBy = differenceBy; + lodash.differenceWith = differenceWith; + lodash.drop = drop; + lodash.dropRight = dropRight; + lodash.dropRightWhile = dropRightWhile; + lodash.dropWhile = dropWhile; + lodash.fill = fill; + lodash.filter = filter; + lodash.flatMap = flatMap; + lodash.flatMapDeep = flatMapDeep; + lodash.flatMapDepth = flatMapDepth; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.flattenDepth = flattenDepth; + lodash.flip = flip; + lodash.flow = flow; + lodash.flowRight = flowRight; + lodash.fromPairs = fromPairs; + lodash.functions = functions; + lodash.functionsIn = functionsIn; + lodash.groupBy = groupBy; + lodash.initial = initial; + lodash.intersection = intersection; + lodash.intersectionBy = intersectionBy; + lodash.intersectionWith = intersectionWith; + lodash.invert = invert; + lodash.invertBy = invertBy; + lodash.invokeMap = invokeMap; + lodash.iteratee = iteratee; + lodash.keyBy = keyBy; + lodash.keys = keys; + lodash.keysIn = keysIn; + lodash.map = map; + lodash.mapKeys = mapKeys; + lodash.mapValues = mapValues; + lodash.matches = matches; + lodash.matchesProperty = matchesProperty; + lodash.memoize = memoize; + lodash.merge = merge; + lodash.mergeWith = mergeWith; + lodash.method = method; + lodash.methodOf = methodOf; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.nthArg = nthArg; + lodash.omit = omit; + lodash.omitBy = omitBy; + lodash.once = once; + lodash.orderBy = orderBy; + lodash.over = over; + lodash.overArgs = overArgs; + lodash.overEvery = overEvery; + lodash.overSome = overSome; + lodash.partial = partial; + lodash.partialRight = partialRight; + lodash.partition = partition; + lodash.pick = pick; + lodash.pickBy = pickBy; + lodash.property = property; + lodash.propertyOf = propertyOf; + lodash.pull = pull; + lodash.pullAll = pullAll; + lodash.pullAllBy = pullAllBy; + lodash.pullAllWith = pullAllWith; + lodash.pullAt = pullAt; + lodash.range = range; + lodash.rangeRight = rangeRight; + lodash.rearg = rearg; + lodash.reject = reject; + lodash.remove = remove; + lodash.rest = rest; + lodash.reverse = reverse; + lodash.sampleSize = sampleSize; + lodash.set = set; + lodash.setWith = setWith; + lodash.shuffle = shuffle; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.sortedUniq = sortedUniq; + lodash.sortedUniqBy = sortedUniqBy; + lodash.split = split; + lodash.spread = spread; + lodash.tail = tail; + lodash.take = take; + lodash.takeRight = takeRight; + lodash.takeRightWhile = takeRightWhile; + lodash.takeWhile = takeWhile; + lodash.tap = tap; + lodash.throttle = throttle; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.toPairs = toPairs; + lodash.toPairsIn = toPairsIn; + lodash.toPath = toPath; + lodash.toPlainObject = toPlainObject; + lodash.transform = transform; + lodash.unary = unary; + lodash.union = union; + lodash.unionBy = unionBy; + lodash.unionWith = unionWith; + lodash.uniq = uniq; + lodash.uniqBy = uniqBy; + lodash.uniqWith = uniqWith; + lodash.unset = unset; + lodash.unzip = unzip; + lodash.unzipWith = unzipWith; + lodash.update = update; + lodash.updateWith = updateWith; + lodash.values = values; + lodash.valuesIn = valuesIn; + lodash.without = without; + lodash.words = words; + lodash.wrap = wrap; + lodash.xor = xor; + lodash.xorBy = xorBy; + lodash.xorWith = xorWith; + lodash.zip = zip; + lodash.zipObject = zipObject; + lodash.zipObjectDeep = zipObjectDeep; + lodash.zipWith = zipWith; + + // Add aliases. + lodash.entries = toPairs; + lodash.entriesIn = toPairsIn; + lodash.extend = assignIn; + lodash.extendWith = assignInWith; + + // Add methods to `lodash.prototype`. + mixin(lodash, lodash); + + /*------------------------------------------------------------------------*/ + + // Add methods that return unwrapped values in chain sequences. + lodash.add = add; + lodash.attempt = attempt; + lodash.camelCase = camelCase; + lodash.capitalize = capitalize; + lodash.ceil = ceil; + lodash.clamp = clamp; + lodash.clone = clone; + lodash.cloneDeep = cloneDeep; + lodash.cloneDeepWith = cloneDeepWith; + lodash.cloneWith = cloneWith; + lodash.conformsTo = conformsTo; + lodash.deburr = deburr; + lodash.defaultTo = defaultTo; + lodash.divide = divide; + lodash.endsWith = endsWith; + lodash.eq = eq; + lodash.escape = escape; + lodash.escapeRegExp = escapeRegExp; + lodash.every = every; + lodash.find = find; + lodash.findIndex = findIndex; + lodash.findKey = findKey; + lodash.findLast = findLast; + lodash.findLastIndex = findLastIndex; + lodash.findLastKey = findLastKey; + lodash.floor = floor; + lodash.forEach = forEach; + lodash.forEachRight = forEachRight; + lodash.forIn = forIn; + lodash.forInRight = forInRight; + lodash.forOwn = forOwn; + lodash.forOwnRight = forOwnRight; + lodash.get = get; + lodash.gt = gt; + lodash.gte = gte; + lodash.has = has; + lodash.hasIn = hasIn; + lodash.head = head; + lodash.identity = identity; + lodash.includes = includes; + lodash.indexOf = indexOf; + lodash.inRange = inRange; + lodash.invoke = invoke; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isArrayBuffer = isArrayBuffer; + lodash.isArrayLike = isArrayLike; + lodash.isArrayLikeObject = isArrayLikeObject; + lodash.isBoolean = isBoolean; + lodash.isBuffer = isBuffer; + lodash.isDate = isDate; + lodash.isElement = isElement; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isEqualWith = isEqualWith; + lodash.isError = isError; + lodash.isFinite = isFinite; + lodash.isFunction = isFunction; + lodash.isInteger = isInteger; + lodash.isLength = isLength; + lodash.isMap = isMap; + lodash.isMatch = isMatch; + lodash.isMatchWith = isMatchWith; + lodash.isNaN = isNaN; + lodash.isNative = isNative; + lodash.isNil = isNil; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isObjectLike = isObjectLike; + lodash.isPlainObject = isPlainObject; + lodash.isRegExp = isRegExp; + lodash.isSafeInteger = isSafeInteger; + lodash.isSet = isSet; + lodash.isString = isString; + lodash.isSymbol = isSymbol; + lodash.isTypedArray = isTypedArray; + lodash.isUndefined = isUndefined; + lodash.isWeakMap = isWeakMap; + lodash.isWeakSet = isWeakSet; + lodash.join = join; + lodash.kebabCase = kebabCase; + lodash.last = last; + lodash.lastIndexOf = lastIndexOf; + lodash.lowerCase = lowerCase; + lodash.lowerFirst = lowerFirst; + lodash.lt = lt; + lodash.lte = lte; + lodash.max = max; + lodash.maxBy = maxBy; + lodash.mean = mean; + lodash.meanBy = meanBy; + lodash.min = min; + lodash.minBy = minBy; + lodash.stubArray = stubArray; + lodash.stubFalse = stubFalse; + lodash.stubObject = stubObject; + lodash.stubString = stubString; + lodash.stubTrue = stubTrue; + lodash.multiply = multiply; + lodash.nth = nth; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.now = now; + lodash.pad = pad; + lodash.padEnd = padEnd; + lodash.padStart = padStart; + lodash.parseInt = parseInt; + lodash.random = random; + lodash.reduce = reduce; + lodash.reduceRight = reduceRight; + lodash.repeat = repeat; + lodash.replace = replace; + lodash.result = result; + lodash.round = round; + lodash.runInContext = runInContext; + lodash.sample = sample; + lodash.size = size; + lodash.snakeCase = snakeCase; + lodash.some = some; + lodash.sortedIndex = sortedIndex; + lodash.sortedIndexBy = sortedIndexBy; + lodash.sortedIndexOf = sortedIndexOf; + lodash.sortedLastIndex = sortedLastIndex; + lodash.sortedLastIndexBy = sortedLastIndexBy; + lodash.sortedLastIndexOf = sortedLastIndexOf; + lodash.startCase = startCase; + lodash.startsWith = startsWith; + lodash.subtract = subtract; + lodash.sum = sum; + lodash.sumBy = sumBy; + lodash.template = template; + lodash.times = times; + lodash.toFinite = toFinite; + lodash.toInteger = toInteger; + lodash.toLength = toLength; + lodash.toLower = toLower; + lodash.toNumber = toNumber; + lodash.toSafeInteger = toSafeInteger; + lodash.toString = toString; + lodash.toUpper = toUpper; + lodash.trim = trim; + lodash.trimEnd = trimEnd; + lodash.trimStart = trimStart; + lodash.truncate = truncate; + lodash.unescape = unescape; + lodash.uniqueId = uniqueId; + lodash.upperCase = upperCase; + lodash.upperFirst = upperFirst; + + // Add aliases. + lodash.each = forEach; + lodash.eachRight = forEachRight; + lodash.first = head; + + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + }()), { 'chain': false }); + + /*------------------------------------------------------------------------*/ + + /** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ + lodash.VERSION = VERSION; + + // Assign default placeholders. + arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) { + lodash[methodName].placeholder = lodash; + }); + + // Add `LazyWrapper` methods for `_.drop` and `_.take` variants. + arrayEach(['drop', 'take'], function(methodName, index) { + LazyWrapper.prototype[methodName] = function(n) { + n = n === undefined ? 1 : nativeMax(toInteger(n), 0); + + var result = (this.__filtered__ && !index) + ? new LazyWrapper(this) + : this.clone(); + + if (result.__filtered__) { + result.__takeCount__ = nativeMin(n, result.__takeCount__); + } else { + result.__views__.push({ + 'size': nativeMin(n, MAX_ARRAY_LENGTH), + 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') + }); + } + return result; + }; + + LazyWrapper.prototype[methodName + 'Right'] = function(n) { + return this.reverse()[methodName](n).reverse(); + }; + }); + + // Add `LazyWrapper` methods that accept an `iteratee` value. + arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) { + var type = index + 1, + isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; + + LazyWrapper.prototype[methodName] = function(iteratee) { + var result = this.clone(); + result.__iteratees__.push({ + 'iteratee': getIteratee(iteratee, 3), + 'type': type + }); + result.__filtered__ = result.__filtered__ || isFilter; + return result; + }; + }); + + // Add `LazyWrapper` methods for `_.head` and `_.last`. + arrayEach(['head', 'last'], function(methodName, index) { + var takeName = 'take' + (index ? 'Right' : ''); + + LazyWrapper.prototype[methodName] = function() { + return this[takeName](1).value()[0]; + }; + }); + + // Add `LazyWrapper` methods for `_.initial` and `_.tail`. + arrayEach(['initial', 'tail'], function(methodName, index) { + var dropName = 'drop' + (index ? '' : 'Right'); + + LazyWrapper.prototype[methodName] = function() { + return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); + }; + }); + + LazyWrapper.prototype.compact = function() { + return this.filter(identity); + }; + + LazyWrapper.prototype.find = function(predicate) { + return this.filter(predicate).head(); + }; + + LazyWrapper.prototype.findLast = function(predicate) { + return this.reverse().find(predicate); + }; + + LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { + if (typeof path == 'function') { + return new LazyWrapper(this); + } + return this.map(function(value) { + return baseInvoke(value, path, args); + }); + }); + + LazyWrapper.prototype.reject = function(predicate) { + return this.filter(negate(getIteratee(predicate))); + }; + + LazyWrapper.prototype.slice = function(start, end) { + start = toInteger(start); + + var result = this; + if (result.__filtered__ && (start > 0 || end < 0)) { + return new LazyWrapper(result); + } + if (start < 0) { + result = result.takeRight(-start); + } else if (start) { + result = result.drop(start); + } + if (end !== undefined) { + end = toInteger(end); + result = end < 0 ? result.dropRight(-end) : result.take(end - start); + } + return result; + }; + + LazyWrapper.prototype.takeRightWhile = function(predicate) { + return this.reverse().takeWhile(predicate).reverse(); + }; + + LazyWrapper.prototype.toArray = function() { + return this.take(MAX_ARRAY_LENGTH); + }; + + // Add `LazyWrapper` methods to `lodash.prototype`. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), + isTaker = /^(?:head|last)$/.test(methodName), + lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], + retUnwrapped = isTaker || /^find/.test(methodName); + + if (!lodashFunc) { + return; + } + lodash.prototype[methodName] = function() { + var value = this.__wrapped__, + args = isTaker ? [1] : arguments, + isLazy = value instanceof LazyWrapper, + iteratee = args[0], + useLazy = isLazy || isArray(value); + + var interceptor = function(value) { + var result = lodashFunc.apply(lodash, arrayPush([value], args)); + return (isTaker && chainAll) ? result[0] : result; + }; + + if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { + // Avoid lazy use if the iteratee has a "length" value other than `1`. + isLazy = useLazy = false; + } + var chainAll = this.__chain__, + isHybrid = !!this.__actions__.length, + isUnwrapped = retUnwrapped && !chainAll, + onlyLazy = isLazy && !isHybrid; + + if (!retUnwrapped && useLazy) { + value = onlyLazy ? value : new LazyWrapper(this); + var result = func.apply(value, args); + result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); + return new LodashWrapper(result, chainAll); + } + if (isUnwrapped && onlyLazy) { + return func.apply(this, args); + } + result = this.thru(interceptor); + return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; + }; + }); + + // Add `Array` methods to `lodash.prototype`. + arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = arrayProto[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; + }); + + // Map minified method names to their real names. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var lodashFunc = lodash[methodName]; + if (lodashFunc) { + var key = lodashFunc.name + ''; + if (!hasOwnProperty.call(realNames, key)) { + realNames[key] = []; + } + realNames[key].push({ 'name': methodName, 'func': lodashFunc }); + } + }); + + realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ + 'name': 'wrapper', + 'func': undefined + }]; + + // Add methods to `LazyWrapper`. + LazyWrapper.prototype.clone = lazyClone; + LazyWrapper.prototype.reverse = lazyReverse; + LazyWrapper.prototype.value = lazyValue; + + // Add chain sequence methods to the `lodash` wrapper. + lodash.prototype.at = wrapperAt; + lodash.prototype.chain = wrapperChain; + lodash.prototype.commit = wrapperCommit; + lodash.prototype.next = wrapperNext; + lodash.prototype.plant = wrapperPlant; + lodash.prototype.reverse = wrapperReverse; + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + + // Add lazy aliases. + lodash.prototype.first = lodash.prototype.head; + + if (symIterator) { + lodash.prototype[symIterator] = wrapperToIterator; + } + return lodash; + }); + + /*--------------------------------------------------------------------------*/ + + // Export lodash. + var _ = runInContext(); + + // Some AMD build optimizers, like r.js, check for condition patterns like: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Expose Lodash on the global object to prevent errors when Lodash is + // loaded by a script tag in the presence of an AMD loader. + // See http://requirejs.org/docs/errors.html#mismatch for more details. + // Use `_.noConflict` to remove Lodash from the global object. + root._ = _; + + // Define as an anonymous module so, through path mapping, it can be + // referenced as the "underscore" module. + define(function() { + return _; + }); + } + // Check for `exports` after `define` in case a build optimizer adds it. + else if (freeModule) { + // Export for Node.js. + (freeModule.exports = _)._ = _; + // Export for CommonJS support. + freeExports._ = _; + } + else { + // Export to the global object. + root._ = _; + } +}.call(this)); diff --git a/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menubar.js b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menubar.js new file mode 100644 index 0000000..a78bd04 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menubar.js @@ -0,0 +1,24 @@ +'use strict'; + +exports.__esModule = true; + +var _ariaMenuitem = require('./aria-menuitem'); + +var _ariaMenuitem2 = _interopRequireDefault(_ariaMenuitem); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var Menu = function Menu(domNode) { + this.domNode = domNode; + this.init(); +}; + +Menu.prototype.init = function () { + var menuChildren = this.domNode.childNodes; + [].filter.call(menuChildren, function (child) { + return child.nodeType === 1; + }).forEach(function (child) { + new _ariaMenuitem2.default(child); // eslint-disable-line + }); +}; +exports.default = Menu; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menuitem.js b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menuitem.js new file mode 100644 index 0000000..b9c168d --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-menuitem.js @@ -0,0 +1,62 @@ +'use strict'; + +exports.__esModule = true; + +var _ariaUtils = require('../aria-utils'); + +var _ariaUtils2 = _interopRequireDefault(_ariaUtils); + +var _ariaSubmenu = require('./aria-submenu'); + +var _ariaSubmenu2 = _interopRequireDefault(_ariaSubmenu); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MenuItem = function MenuItem(domNode) { + this.domNode = domNode; + this.submenu = null; + this.init(); +}; + +MenuItem.prototype.init = function () { + this.domNode.setAttribute('tabindex', '0'); + var menuChild = this.domNode.querySelector('.el-menu'); + if (menuChild) { + this.submenu = new _ariaSubmenu2.default(this, menuChild); + } + this.addListeners(); +}; + +MenuItem.prototype.addListeners = function () { + var _this = this; + + var keys = _ariaUtils2.default.keys; + this.domNode.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(0); + prevDef = true; + break; + case keys.up: + _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseenter'); + _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1); + prevDef = true; + break; + case keys.tab: + _ariaUtils2.default.triggerEvent(event.currentTarget, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + } + }); +}; + +exports.default = MenuItem; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/menu/aria-submenu.js b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-submenu.js new file mode 100644 index 0000000..2fcea4e --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/menu/aria-submenu.js @@ -0,0 +1,69 @@ +'use strict'; + +exports.__esModule = true; + +var _ariaUtils = require('../aria-utils'); + +var _ariaUtils2 = _interopRequireDefault(_ariaUtils); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var SubMenu = function SubMenu(parent, domNode) { + this.domNode = domNode; + this.parent = parent; + this.subMenuItems = []; + this.subIndex = 0; + this.init(); +}; + +SubMenu.prototype.init = function () { + this.subMenuItems = this.domNode.querySelectorAll('li'); + this.addListeners(); +}; + +SubMenu.prototype.gotoSubIndex = function (idx) { + if (idx === this.subMenuItems.length) { + idx = 0; + } else if (idx < 0) { + idx = this.subMenuItems.length - 1; + } + this.subMenuItems[idx].focus(); + this.subIndex = idx; +}; + +SubMenu.prototype.addListeners = function () { + var _this = this; + + var keys = _ariaUtils2.default.keys; + var parentNode = this.parent.domNode; + Array.prototype.forEach.call(this.subMenuItems, function (el) { + el.addEventListener('keydown', function (event) { + var prevDef = false; + switch (event.keyCode) { + case keys.down: + _this.gotoSubIndex(_this.subIndex + 1); + prevDef = true; + break; + case keys.up: + _this.gotoSubIndex(_this.subIndex - 1); + prevDef = true; + break; + case keys.tab: + _ariaUtils2.default.triggerEvent(parentNode, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + event.stopPropagation(); + } + return false; + }); + }); +}; + +exports.default = SubMenu; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/merge.js b/PAMapp/local_modules/element-ui/lib/utils/merge.js new file mode 100644 index 0000000..2c7df15 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/merge.js @@ -0,0 +1,21 @@ +"use strict"; + +exports.__esModule = true; + +exports.default = function (target) { + for (var i = 1, j = arguments.length; i < j; i++) { + var source = arguments[i] || {}; + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + var value = source[prop]; + if (value !== undefined) { + target[prop] = value; + } + } + } + } + + return target; +}; + +; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/popper.js b/PAMapp/local_modules/element-ui/lib/utils/popper.js new file mode 100644 index 0000000..4550020 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/popper.js @@ -0,0 +1,1261 @@ +'use strict'; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +/** + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version {{version}} + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +// +// Cross module loader +// Supported: Node, AMD, Browser globals +// +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.Popper = factory(); + } +})(undefined, function () { + + 'use strict'; + + var root = window; + + // default options + var DEFAULTS = { + // placement of the popper + placement: 'bottom', + + gpuAcceleration: true, + + // shift popper from its origin by the given amount of pixels (can be negative) + offset: 0, + + // the element which will act as boundary of the popper + boundariesElement: 'viewport', + + // amount of pixel used to define a minimum distance between the boundaries and the popper + boundariesPadding: 5, + + // popper will try to prevent overflow following this order, + // by default, then, it could overflow on the left and on top of the boundariesElement + preventOverflowOrder: ['left', 'right', 'top', 'bottom'], + + // the behavior used by flip to change the placement of the popper + flipBehavior: 'flip', + + arrowElement: '[x-arrow]', + + arrowOffset: 0, + + // list of functions used to modify the offsets before they are applied to the popper + modifiers: ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'], + + modifiersIgnored: [], + + forceAbsolute: false + }; + + /** + * Create a new Popper.js instance + * @constructor Popper + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement|Object} popper + * The HTML element used as popper, or a configuration used to generate the popper. + * @param {String} [popper.tagName='div'] The tag name of the generated popper. + * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper. + * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it. + * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string. + * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`. + * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is. + * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element. + * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element. + * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element. + * @param {Object} options + * @param {String} [options.placement=bottom] + * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right), + * left(-start, -end)` + * + * @param {HTMLElement|String} [options.arrowElement='[x-arrow]'] + * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of + * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its + * reference element. + * By default, it will look for a child node of the popper with the `x-arrow` attribute. + * + * @param {Boolean} [options.gpuAcceleration=true] + * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the + * browser to use the GPU to accelerate the rendering. + * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU. + * + * @param {Number} [options.offset=0] + * Amount of pixels the popper will be shifted (can be negative). + * + * @param {String|Element} [options.boundariesElement='viewport'] + * The element which will define the boundaries of the popper position, the popper will never be placed outside + * of the defined boundaries (except if `keepTogether` is enabled) + * + * @param {Number} [options.boundariesPadding=5] + * Additional padding for the boundaries + * + * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']] + * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order, + * this means that the last ones will never overflow + * + * @param {String|Array} [options.flipBehavior='flip'] + * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to + * overlap its reference element. Defining `flip` as value, the placement will be flipped on + * its axis (`right - left`, `top - bottom`). + * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify + * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left, + * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top) + * + * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']] + * List of functions used to modify the data before they are applied to the popper, add your custom functions + * to this array to edit the offsets and placement. + * The function should reflect the @params and @returns of preventOverflow + * + * @param {Array} [options.modifiersIgnored=[]] + * Put here any built-in modifier name you want to exclude from the modifiers list + * The function should reflect the @params and @returns of preventOverflow + * + * @param {Boolean} [options.removeOnDestroy=false] + * Set to true if you want to automatically remove the popper when you call the `destroy` method. + */ + function Popper(reference, popper, options) { + this._reference = reference.jquery ? reference[0] : reference; + this.state = {}; + + // if the popper variable is a configuration object, parse it to generate an HTMLElement + // generate a default popper if is not defined + var isNotDefined = typeof popper === 'undefined' || popper === null; + var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]'; + if (isNotDefined || isConfig) { + this._popper = this.parse(isConfig ? popper : {}); + } + // otherwise, use the given HTMLElement as popper + else { + this._popper = popper.jquery ? popper[0] : popper; + } + + // with {} we create a new object with the options inside it + this._options = Object.assign({}, DEFAULTS, options); + + // refactoring modifiers' list + this._options.modifiers = this._options.modifiers.map(function (modifier) { + // remove ignored modifiers + if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return; + + // set the x-placement attribute before everything else because it could be used to add margins to the popper + // margins needs to be calculated to get the correct popper offsets + if (modifier === 'applyStyle') { + this._popper.setAttribute('x-placement', this._options.placement); + } + + // return predefined modifier identified by string or keep the custom one + return this.modifiers[modifier] || modifier; + }.bind(this)); + + // make sure to apply the popper position before any computation + this.state.position = this._getPosition(this._popper, this._reference); + setStyle(this._popper, { position: this.state.position, top: 0 }); + + // fire the first update to position the popper in the right place + this.update(); + + // setup event listeners, they will take care of update the position in specific situations + this._setupEventListeners(); + return this; + } + + // + // Methods + // + /** + * Destroy the popper + * @method + * @memberof Popper + */ + Popper.prototype.destroy = function () { + this._popper.removeAttribute('x-placement'); + this._popper.style.left = ''; + this._popper.style.position = ''; + this._popper.style.top = ''; + this._popper.style[getSupportedPropertyName('transform')] = ''; + this._removeEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + if (this._options.removeOnDestroy) { + this._popper.remove(); + } + return this; + }; + + /** + * Updates the position of the popper, computing the new offsets and applying the new style + * @method + * @memberof Popper + */ + Popper.prototype.update = function () { + var data = { instance: this, styles: {} }; + + // store placement inside the data object, modifiers will be able to edit `placement` if needed + // and refer to _originalPlacement to know the original value + data.placement = this._options.placement; + data._originalPlacement = this._options.placement; + + // compute the popper and reference offsets and put them inside data.offsets + data.offsets = this._getOffsets(this._popper, this._reference, data.placement); + + // get boundaries + data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement); + + data = this.runModifiers(data, this._options.modifiers); + + if (typeof this.state.updateCallback === 'function') { + this.state.updateCallback(data); + } + }; + + /** + * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance. + * @method + * @memberof Popper + * @param {Function} callback + */ + Popper.prototype.onCreate = function (callback) { + // the createCallbacks return as first argument the popper instance + callback(this); + return this; + }; + + /** + * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations + * used to style popper and its arrow. + * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor! + * @method + * @memberof Popper + * @param {Function} callback + */ + Popper.prototype.onUpdate = function (callback) { + this.state.updateCallback = callback; + return this; + }; + + /** + * Helper used to generate poppers from a configuration file + * @method + * @memberof Popper + * @param config {Object} configuration + * @returns {HTMLElement} popper + */ + Popper.prototype.parse = function (config) { + var defaultConfig = { + tagName: 'div', + classNames: ['popper'], + attributes: [], + parent: root.document.body, + content: '', + contentType: 'text', + arrowTagName: 'div', + arrowClassNames: ['popper__arrow'], + arrowAttributes: ['x-arrow'] + }; + config = Object.assign({}, defaultConfig, config); + + var d = root.document; + + var popper = d.createElement(config.tagName); + addClassNames(popper, config.classNames); + addAttributes(popper, config.attributes); + if (config.contentType === 'node') { + popper.appendChild(config.content.jquery ? config.content[0] : config.content); + } else if (config.contentType === 'html') { + popper.innerHTML = config.content; + } else { + popper.textContent = config.content; + } + + if (config.arrowTagName) { + var arrow = d.createElement(config.arrowTagName); + addClassNames(arrow, config.arrowClassNames); + addAttributes(arrow, config.arrowAttributes); + popper.appendChild(arrow); + } + + var parent = config.parent.jquery ? config.parent[0] : config.parent; + + // if the given parent is a string, use it to match an element + // if more than one element is matched, the first one will be used as parent + // if no elements are matched, the script will throw an error + if (typeof parent === 'string') { + parent = d.querySelectorAll(config.parent); + if (parent.length > 1) { + console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used'); + } + if (parent.length === 0) { + throw 'ERROR: the given `parent` doesn\'t exists!'; + } + parent = parent[0]; + } + // if the given parent is a DOM nodes list or an array of nodes with more than one element, + // the first one will be used as parent + if (parent.length > 1 && parent instanceof Element === false) { + console.warn('WARNING: you have passed as parent a list of elements, the first one will be used'); + parent = parent[0]; + } + + // append the generated popper to its parent + parent.appendChild(popper); + + return popper; + + /** + * Adds class names to the given element + * @function + * @ignore + * @param {HTMLElement} target + * @param {Array} classes + */ + function addClassNames(element, classNames) { + classNames.forEach(function (className) { + element.classList.add(className); + }); + } + + /** + * Adds attributes to the given element + * @function + * @ignore + * @param {HTMLElement} target + * @param {Array} attributes + * @example + * addAttributes(element, [ 'data-info:foobar' ]); + */ + function addAttributes(element, attributes) { + attributes.forEach(function (attribute) { + element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || ''); + }); + } + }; + + /** + * Helper used to get the position which will be applied to the popper + * @method + * @memberof Popper + * @param config {HTMLElement} popper element + * @param reference {HTMLElement} reference element + * @returns {String} position + */ + Popper.prototype._getPosition = function (popper, reference) { + var container = getOffsetParent(reference); + + if (this._options.forceAbsolute) { + return 'absolute'; + } + + // Decide if the popper will be fixed + // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together + var isParentFixed = isFixed(reference, container); + return isParentFixed ? 'fixed' : 'absolute'; + }; + + /** + * Get offsets to the popper + * @method + * @memberof Popper + * @access private + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + Popper.prototype._getOffsets = function (popper, reference, placement) { + placement = placement.split('-')[0]; + var popperOffsets = {}; + + popperOffsets.position = this.state.position; + var isParentFixed = popperOffsets.position === 'fixed'; + + // + // Get reference element position + // + var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed); + + // + // Get popper sizes + // + var popperRect = getOuterSizes(popper); + + // + // Compute offsets of popper + // + + // depending by the popper placement we have to compute its offsets slightly differently + if (['right', 'left'].indexOf(placement) !== -1) { + popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2; + if (placement === 'left') { + popperOffsets.left = referenceOffsets.left - popperRect.width; + } else { + popperOffsets.left = referenceOffsets.right; + } + } else { + popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2; + if (placement === 'top') { + popperOffsets.top = referenceOffsets.top - popperRect.height; + } else { + popperOffsets.top = referenceOffsets.bottom; + } + } + + // Add width and height to our offsets object + popperOffsets.width = popperRect.width; + popperOffsets.height = popperRect.height; + + return { + popper: popperOffsets, + reference: referenceOffsets + }; + }; + + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper + * @access private + */ + Popper.prototype._setupEventListeners = function () { + // NOTE: 1 DOM access here + this.state.updateBound = this.update.bind(this); + root.addEventListener('resize', this.state.updateBound); + // if the boundariesElement is window we don't need to listen for the scroll event + if (this._options.boundariesElement !== 'window') { + var target = getScrollParent(this._reference); + // here it could be both `body` or `documentElement` thanks to Firefox, we then check both + if (target === root.document.body || target === root.document.documentElement) { + target = root; + } + target.addEventListener('scroll', this.state.updateBound); + this.state.scrollTarget = target; + } + }; + + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper + * @access private + */ + Popper.prototype._removeEventListeners = function () { + // NOTE: 1 DOM access here + root.removeEventListener('resize', this.state.updateBound); + if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) { + this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound); + this.state.scrollTarget = null; + } + this.state.updateBound = null; + }; + + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper + * @access private + * @param {Object} data - Object containing the property "offsets" generated by `_getOffsets` + * @param {Number} padding - Boundaries padding + * @param {Element} boundariesElement - Element used to define the boundaries + * @returns {Object} Coordinates of the boundaries + */ + Popper.prototype._getBoundaries = function (data, padding, boundariesElement) { + // NOTE: 1 DOM access here + var boundaries = {}; + var width, height; + if (boundariesElement === 'window') { + var body = root.document.body, + html = root.document.documentElement; + + height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight); + width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth); + + boundaries = { + top: 0, + right: width, + bottom: height, + left: 0 + }; + } else if (boundariesElement === 'viewport') { + var offsetParent = getOffsetParent(this._popper); + var scrollParent = getScrollParent(this._popper); + var offsetParentRect = getOffsetRect(offsetParent); + + // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop` + var getScrollTopValue = function getScrollTopValue(element) { + return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop; + }; + var getScrollLeftValue = function getScrollLeftValue(element) { + return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft; + }; + + // if the popper is fixed we don't have to substract scrolling from the boundaries + var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent); + var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent); + + boundaries = { + top: 0 - (offsetParentRect.top - scrollTop), + right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft), + bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop), + left: 0 - (offsetParentRect.left - scrollLeft) + }; + } else { + if (getOffsetParent(this._popper) === boundariesElement) { + boundaries = { + top: 0, + left: 0, + right: boundariesElement.clientWidth, + bottom: boundariesElement.clientHeight + }; + } else { + boundaries = getOffsetRect(boundariesElement); + } + } + boundaries.left += padding; + boundaries.right -= padding; + boundaries.top = boundaries.top + padding; + boundaries.bottom = boundaries.bottom - padding; + return boundaries; + }; + + /** + * Loop trough the list of modifiers and run them in order, each of them will then edit the data object + * @method + * @memberof Popper + * @access public + * @param {Object} data + * @param {Array} modifiers + * @param {Function} ends + */ + Popper.prototype.runModifiers = function (data, modifiers, ends) { + var modifiersToRun = modifiers.slice(); + if (ends !== undefined) { + modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends)); + } + + modifiersToRun.forEach(function (modifier) { + if (isFunction(modifier)) { + data = modifier.call(this, data); + } + }.bind(this)); + + return data; + }; + + /** + * Helper used to know if the given modifier depends from another one. + * @method + * @memberof Popper + * @param {String} requesting - name of requesting modifier + * @param {String} requested - name of requested modifier + * @returns {Boolean} + */ + Popper.prototype.isModifierRequired = function (requesting, requested) { + var index = getArrayKeyIndex(this._options.modifiers, requesting); + return !!this._options.modifiers.slice(0, index).filter(function (modifier) { + return modifier === requested; + }).length; + }; + + // + // Modifiers + // + + /** + * Modifiers list + * @namespace Popper.modifiers + * @memberof Popper + * @type {Object} + */ + Popper.prototype.modifiers = {}; + + /** + * Apply the computed styles to the popper element + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The same data object + */ + Popper.prototype.modifiers.applyStyle = function (data) { + // apply the final offsets to the popper + // NOTE: 1 DOM access here + var styles = { + position: data.offsets.popper.position + }; + + // round top and left to avoid blurry text + var left = Math.round(data.offsets.popper.left); + var top = Math.round(data.offsets.popper.top); + + // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper + // we automatically use the supported prefixed version if needed + var prefixedProperty; + if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles.top = 0; + styles.left = 0; + } + // othwerise, we use the standard `left` and `top` properties + else { + styles.left = left; + styles.top = top; + } + + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + Object.assign(styles, data.styles); + + setStyle(this._popper, styles); + + // set an attribute which will be useful to style the tooltip (use it to properly position its arrow) + // NOTE: 1 DOM access here + this._popper.setAttribute('x-placement', data.placement); + + // if the arrow modifier is required and the arrow style has been computed, apply the arrow style + if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) { + setStyle(data.arrowElement, data.offsets.arrow); + } + + return data; + }; + + /** + * Modifier used to shift the popper on the start or end of its reference element side + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.shift = function (data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftVariation = placement.split('-')[1]; + + // if shift shiftVariation is specified, run the modifier + if (shiftVariation) { + var reference = data.offsets.reference; + var popper = getPopperClientRect(data.offsets.popper); + + var shiftOffsets = { + y: { + start: { top: reference.top }, + end: { top: reference.top + reference.height - popper.height } + }, + x: { + start: { left: reference.left }, + end: { left: reference.left + reference.width - popper.width } + } + }; + + var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y'; + + data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]); + } + + return data; + }; + + /** + * Modifier used to make sure the popper does not overflows from it's boundaries + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.preventOverflow = function (data) { + var order = this._options.preventOverflowOrder; + var popper = getPopperClientRect(data.offsets.popper); + + var check = { + left: function left() { + var left = popper.left; + if (popper.left < data.boundaries.left) { + left = Math.max(popper.left, data.boundaries.left); + } + return { left: left }; + }, + right: function right() { + var left = popper.left; + if (popper.right > data.boundaries.right) { + left = Math.min(popper.left, data.boundaries.right - popper.width); + } + return { left: left }; + }, + top: function top() { + var top = popper.top; + if (popper.top < data.boundaries.top) { + top = Math.max(popper.top, data.boundaries.top); + } + return { top: top }; + }, + bottom: function bottom() { + var top = popper.top; + if (popper.bottom > data.boundaries.bottom) { + top = Math.min(popper.top, data.boundaries.bottom - popper.height); + } + return { top: top }; + } + }; + + order.forEach(function (direction) { + data.offsets.popper = Object.assign(popper, check[direction]()); + }); + + return data; + }; + + /** + * Modifier used to make sure the popper is always near its reference + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.keepTogether = function (data) { + var popper = getPopperClientRect(data.offsets.popper); + var reference = data.offsets.reference; + var f = Math.floor; + + if (popper.right < f(reference.left)) { + data.offsets.popper.left = f(reference.left) - popper.width; + } + if (popper.left > f(reference.right)) { + data.offsets.popper.left = f(reference.right); + } + if (popper.bottom < f(reference.top)) { + data.offsets.popper.top = f(reference.top) - popper.height; + } + if (popper.top > f(reference.bottom)) { + data.offsets.popper.top = f(reference.bottom); + } + + return data; + }; + + /** + * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element. + * Requires the `preventOverflow` modifier before it in order to work. + * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper! + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.flip = function (data) { + // check if preventOverflow is in the list of modifiers before the flip modifier. + // otherwise flip would not work as expected. + if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) { + console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!'); + return data; + } + + if (data.flipped && data.placement === data._originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + if (this._options.flipBehavior === 'flip') { + flipOrder = [placement, placementOpposite]; + } else { + flipOrder = this._options.flipBehavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = getPopperClientRect(data.offsets.popper); + + // this boolean is used to distinguish right and bottom from top and left + // they need different computations to get flipped + var a = ['right', 'bottom'].indexOf(placement) !== -1; + + // using Math.floor because the reference offsets may contain decimals we are not going to consider here + if (a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])) { + // we'll use this boolean to detect any flip loop + data.flipped = true; + data.placement = flipOrder[index + 1]; + if (variation) { + data.placement += '-' + variation; + } + data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper; + + data = this.runModifiers(data, this._options.modifiers, this._flip); + } + }.bind(this)); + return data; + }; + + /** + * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper. + * The offsets will shift the popper on the side of its reference element. + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.offset = function (data) { + var offset = this._options.offset; + var popper = data.offsets.popper; + + if (data.placement.indexOf('left') !== -1) { + popper.top -= offset; + } else if (data.placement.indexOf('right') !== -1) { + popper.top += offset; + } else if (data.placement.indexOf('top') !== -1) { + popper.left -= offset; + } else if (data.placement.indexOf('bottom') !== -1) { + popper.left += offset; + } + return data; + }; + + /** + * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element + * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.arrow = function (data) { + var arrow = this._options.arrowElement; + var arrowOffset = this._options.arrowOffset; + + // if the arrowElement is a string, suppose it's a CSS selector + if (typeof arrow === 'string') { + arrow = this._popper.querySelector(arrow); + } + + // if arrow element is not found, don't run the modifier + if (!arrow) { + return data; + } + + // the arrow element must be child of its popper + if (!this._popper.contains(arrow)) { + console.warn('WARNING: `arrowElement` must be child of its popper element!'); + return data; + } + + // arrow depends on keepTogether in order to work + if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) { + console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!'); + return data; + } + + var arrowStyle = {}; + var placement = data.placement.split('-')[0]; + var popper = getPopperClientRect(data.offsets.popper); + var reference = data.offsets.reference; + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var side = isVertical ? 'top' : 'left'; + var translate = isVertical ? 'translateY' : 'translateX'; + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowSize = getOuterSizes(arrow)[len]; + + // + // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction + // + + // top/left side + if (reference[opSide] - arrowSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize); + } + // bottom/right side + if (reference[side] + arrowSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide]; + } + + // compute center of the popper + var center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2); + + var sideValue = center - popper[side]; + + // prevent arrow from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8); + arrowStyle[side] = sideValue; + arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow + + data.offsets.arrow = arrowStyle; + data.arrowElement = arrow; + + return data; + }; + + // + // Helpers + // + + /** + * Get the outer sizes of the given element (offset size + margins) + * @function + * @ignore + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + // NOTE: 1 DOM access here + var _display = element.style.display, + _visibility = element.style.visibility; + element.style.display = 'block';element.style.visibility = 'hidden'; + var calcWidthToForceRepaint = element.offsetWidth; + + // original method + var styles = root.getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { width: element.offsetWidth + y, height: element.offsetHeight + x }; + + // reset element styles + element.style.display = _display;element.style.visibility = _visibility; + return result; + } + + /** + * Get the opposite placement of the given one/ + * @function + * @ignore + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); + } + + /** + * Given the popper offsets, generate an output similar to getBoundingClientRect + * @function + * @ignore + * @argument {Object} popperOffsets + * @returns {Object} ClientRect like output + */ + function getPopperClientRect(popperOffsets) { + var offsets = Object.assign({}, popperOffsets); + offsets.right = offsets.left + offsets.width; + offsets.bottom = offsets.top + offsets.height; + return offsets; + } + + /** + * Given an array and the key to find, returns its index + * @function + * @ignore + * @argument {Array} arr + * @argument keyToFind + * @returns index or null + */ + function getArrayKeyIndex(arr, keyToFind) { + var i = 0, + key; + for (key in arr) { + if (arr[key] === keyToFind) { + return i; + } + i++; + } + return null; + } + + /** + * Get CSS computed property of the given element + * @function + * @ignore + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + // NOTE: 1 DOM access here + var css = root.getComputedStyle(element, null); + return css[property]; + } + + /** + * Returns the offset parent of the given element + * @function + * @ignore + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent; + return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent; + } + + /** + * Returns the scrolling parent of the given element + * @function + * @ignore + * @argument {Element} element + * @returns {Element} offset parent + */ + function getScrollParent(element) { + var parent = element.parentNode; + + if (!parent) { + return element; + } + + if (parent === root.document) { + // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is + // greater than 0 and return the proper element + if (root.document.body.scrollTop || root.document.body.scrollLeft) { + return root.document.body; + } else { + return root.document.documentElement; + } + } + + // Firefox want us to check `-x` and `-y` variations as well + if (['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1) { + // If the detected scrollParent is body, we perform an additional check on its parentNode + // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise + // fixes issue #65 + return parent; + } + return getScrollParent(element.parentNode); + } + + /** + * Check if the given element is fixed or is inside a fixed parent + * @function + * @ignore + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + if (element === root.document.body) { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return element.parentNode ? isFixed(element.parentNode) : element; + } + + /** + * Set the style to the given popper + * @function + * @ignore + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles - Object with a list of properties and values which will be applied to the element + */ + function setStyle(element, styles) { + function is_numeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); + } + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); + } + + /** + * Check if the given variable is a function + * @function + * @ignore + * @argument {*} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; + } + + /** + * Get the position of the given element, relative to its offset parent + * @function + * @ignore + * @param {Element} element + * @return {Object} position - Coordinates of the element and its `scrollTop` + */ + function getOffsetRect(element) { + var elementRect = { + width: element.offsetWidth, + height: element.offsetHeight, + left: element.offsetLeft, + top: element.offsetTop + }; + + elementRect.right = elementRect.left + elementRect.width; + elementRect.bottom = elementRect.top + elementRect.height; + + // position + return elementRect; + } + + /** + * Get bounding client rect of given element + * @function + * @ignore + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = element.getBoundingClientRect(); + + // whether the IE version is lower than 11 + var isIE = navigator.userAgent.indexOf("MSIE") != -1; + + // fix ie document bounding top always 0 bug + var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top; + + return { + left: rect.left, + top: rectTop, + right: rect.right, + bottom: rect.bottom, + width: rect.right - rect.left, + height: rect.bottom - rectTop + }; + } + + /** + * Given an element and one of its parents, return the offset + * @function + * @ignore + * @param {HTMLElement} element + * @param {HTMLElement} parent + * @return {Object} rect + */ + function getOffsetRectRelativeToCustomParent(element, parent, fixed) { + var elementRect = getBoundingClientRect(element); + var parentRect = getBoundingClientRect(parent); + + if (fixed) { + var scrollParent = getScrollParent(parent); + parentRect.top += scrollParent.scrollTop; + parentRect.bottom += scrollParent.scrollTop; + parentRect.left += scrollParent.scrollLeft; + parentRect.right += scrollParent.scrollLeft; + } + + var rect = { + top: elementRect.top - parentRect.top, + left: elementRect.left - parentRect.left, + bottom: elementRect.top - parentRect.top + elementRect.height, + right: elementRect.left - parentRect.left + elementRect.width, + width: elementRect.width, + height: elementRect.height + }; + return rect; + } + + /** + * Get the prefixed supported property name + * @function + * @ignore + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase) + */ + function getSupportedPropertyName(property) { + var prefixes = ['', 'ms', 'webkit', 'moz', 'o']; + + for (var i = 0; i < prefixes.length; i++) { + var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property; + if (typeof root.document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; + } + + /** + * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source + * objects to a target object. It will return the target object. + * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway + * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + * @function + * @ignore + */ + if (!Object.assign) { + Object.defineProperty(Object, 'assign', { + enumerable: false, + configurable: true, + writable: true, + value: function value(target) { + if (target === undefined || target === null) { + throw new TypeError('Cannot convert first argument to object'); + } + + var to = Object(target); + for (var i = 1; i < arguments.length; i++) { + var nextSource = arguments[i]; + if (nextSource === undefined || nextSource === null) { + continue; + } + nextSource = Object(nextSource); + + var keysArray = Object.keys(nextSource); + for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) { + var nextKey = keysArray[nextIndex]; + var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); + if (desc !== undefined && desc.enumerable) { + to[nextKey] = nextSource[nextKey]; + } + } + } + return to; + } + }); + } + + return Popper; +}); \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/popup/index.js b/PAMapp/local_modules/element-ui/lib/utils/popup/index.js new file mode 100644 index 0000000..c4be854 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/popup/index.js @@ -0,0 +1,233 @@ +'use strict'; + +exports.__esModule = true; +exports.PopupManager = undefined; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _merge = require('element-ui/lib/utils/merge'); + +var _merge2 = _interopRequireDefault(_merge); + +var _popupManager = require('element-ui/lib/utils/popup/popup-manager'); + +var _popupManager2 = _interopRequireDefault(_popupManager); + +var _scrollbarWidth = require('../scrollbar-width'); + +var _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth); + +var _dom = require('../dom'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var idSeed = 1; + +var scrollBarWidth = void 0; + +exports.default = { + props: { + visible: { + type: Boolean, + default: false + }, + openDelay: {}, + closeDelay: {}, + zIndex: {}, + modal: { + type: Boolean, + default: false + }, + modalFade: { + type: Boolean, + default: true + }, + modalClass: {}, + modalAppendToBody: { + type: Boolean, + default: false + }, + lockScroll: { + type: Boolean, + default: true + }, + closeOnPressEscape: { + type: Boolean, + default: false + }, + closeOnClickModal: { + type: Boolean, + default: false + } + }, + + beforeMount: function beforeMount() { + this._popupId = 'popup-' + idSeed++; + _popupManager2.default.register(this._popupId, this); + }, + beforeDestroy: function beforeDestroy() { + _popupManager2.default.deregister(this._popupId); + _popupManager2.default.closeModal(this._popupId); + + this.restoreBodyStyle(); + }, + data: function data() { + return { + opened: false, + bodyPaddingRight: null, + computedBodyPaddingRight: 0, + withoutHiddenClass: true, + rendered: false + }; + }, + + + watch: { + visible: function visible(val) { + var _this = this; + + if (val) { + if (this._opening) return; + if (!this.rendered) { + this.rendered = true; + _vue2.default.nextTick(function () { + _this.open(); + }); + } else { + this.open(); + } + } else { + this.close(); + } + } + }, + + methods: { + open: function open(options) { + var _this2 = this; + + if (!this.rendered) { + this.rendered = true; + } + + var props = (0, _merge2.default)({}, this.$props || this, options); + + if (this._closeTimer) { + clearTimeout(this._closeTimer); + this._closeTimer = null; + } + clearTimeout(this._openTimer); + + var openDelay = Number(props.openDelay); + if (openDelay > 0) { + this._openTimer = setTimeout(function () { + _this2._openTimer = null; + _this2.doOpen(props); + }, openDelay); + } else { + this.doOpen(props); + } + }, + doOpen: function doOpen(props) { + if (this.$isServer) return; + if (this.willOpen && !this.willOpen()) return; + if (this.opened) return; + + this._opening = true; + + var dom = this.$el; + + var modal = props.modal; + + var zIndex = props.zIndex; + if (zIndex) { + _popupManager2.default.zIndex = zIndex; + } + + if (modal) { + if (this._closing) { + _popupManager2.default.closeModal(this._popupId); + this._closing = false; + } + _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade); + if (props.lockScroll) { + this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden'); + if (this.withoutHiddenClass) { + this.bodyPaddingRight = document.body.style.paddingRight; + this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10); + } + scrollBarWidth = (0, _scrollbarWidth2.default)(); + var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight; + var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY'); + if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) { + document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px'; + } + (0, _dom.addClass)(document.body, 'el-popup-parent--hidden'); + } + } + + if (getComputedStyle(dom).position === 'static') { + dom.style.position = 'absolute'; + } + + dom.style.zIndex = _popupManager2.default.nextZIndex(); + this.opened = true; + + this.onOpen && this.onOpen(); + + this.doAfterOpen(); + }, + doAfterOpen: function doAfterOpen() { + this._opening = false; + }, + close: function close() { + var _this3 = this; + + if (this.willClose && !this.willClose()) return; + + if (this._openTimer !== null) { + clearTimeout(this._openTimer); + this._openTimer = null; + } + clearTimeout(this._closeTimer); + + var closeDelay = Number(this.closeDelay); + + if (closeDelay > 0) { + this._closeTimer = setTimeout(function () { + _this3._closeTimer = null; + _this3.doClose(); + }, closeDelay); + } else { + this.doClose(); + } + }, + doClose: function doClose() { + this._closing = true; + + this.onClose && this.onClose(); + + if (this.lockScroll) { + setTimeout(this.restoreBodyStyle, 200); + } + + this.opened = false; + + this.doAfterClose(); + }, + doAfterClose: function doAfterClose() { + _popupManager2.default.closeModal(this._popupId); + this._closing = false; + }, + restoreBodyStyle: function restoreBodyStyle() { + if (this.modal && this.withoutHiddenClass) { + document.body.style.paddingRight = this.bodyPaddingRight; + (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden'); + } + this.withoutHiddenClass = true; + } + } +}; +exports.PopupManager = _popupManager2.default; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/popup/popup-manager.js b/PAMapp/local_modules/element-ui/lib/utils/popup/popup-manager.js new file mode 100644 index 0000000..ef07637 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/popup/popup-manager.js @@ -0,0 +1,205 @@ +'use strict'; + +exports.__esModule = true; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _dom = require('element-ui/lib/utils/dom'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var hasModal = false; +var hasInitZIndex = false; +var zIndex = void 0; + +var getModal = function getModal() { + if (_vue2.default.prototype.$isServer) return; + var modalDom = PopupManager.modalDom; + if (modalDom) { + hasModal = true; + } else { + hasModal = false; + modalDom = document.createElement('div'); + PopupManager.modalDom = modalDom; + + modalDom.addEventListener('touchmove', function (event) { + event.preventDefault(); + event.stopPropagation(); + }); + + modalDom.addEventListener('click', function () { + PopupManager.doOnModalClick && PopupManager.doOnModalClick(); + }); + } + + return modalDom; +}; + +var instances = {}; + +var PopupManager = { + modalFade: true, + + getInstance: function getInstance(id) { + return instances[id]; + }, + + register: function register(id, instance) { + if (id && instance) { + instances[id] = instance; + } + }, + + deregister: function deregister(id) { + if (id) { + instances[id] = null; + delete instances[id]; + } + }, + + nextZIndex: function nextZIndex() { + return PopupManager.zIndex++; + }, + + modalStack: [], + + doOnModalClick: function doOnModalClick() { + var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1]; + if (!topItem) return; + + var instance = PopupManager.getInstance(topItem.id); + if (instance && instance.closeOnClickModal) { + instance.close(); + } + }, + + openModal: function openModal(id, zIndex, dom, modalClass, modalFade) { + if (_vue2.default.prototype.$isServer) return; + if (!id || zIndex === undefined) return; + this.modalFade = modalFade; + + var modalStack = this.modalStack; + + for (var i = 0, j = modalStack.length; i < j; i++) { + var item = modalStack[i]; + if (item.id === id) { + return; + } + } + + var modalDom = getModal(); + + (0, _dom.addClass)(modalDom, 'v-modal'); + if (this.modalFade && !hasModal) { + (0, _dom.addClass)(modalDom, 'v-modal-enter'); + } + if (modalClass) { + var classArr = modalClass.trim().split(/\s+/); + classArr.forEach(function (item) { + return (0, _dom.addClass)(modalDom, item); + }); + } + setTimeout(function () { + (0, _dom.removeClass)(modalDom, 'v-modal-enter'); + }, 200); + + if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) { + dom.parentNode.appendChild(modalDom); + } else { + document.body.appendChild(modalDom); + } + + if (zIndex) { + modalDom.style.zIndex = zIndex; + } + modalDom.tabIndex = 0; + modalDom.style.display = ''; + + this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass }); + }, + + closeModal: function closeModal(id) { + var modalStack = this.modalStack; + var modalDom = getModal(); + + if (modalStack.length > 0) { + var topItem = modalStack[modalStack.length - 1]; + if (topItem.id === id) { + if (topItem.modalClass) { + var classArr = topItem.modalClass.trim().split(/\s+/); + classArr.forEach(function (item) { + return (0, _dom.removeClass)(modalDom, item); + }); + } + + modalStack.pop(); + if (modalStack.length > 0) { + modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex; + } + } else { + for (var i = modalStack.length - 1; i >= 0; i--) { + if (modalStack[i].id === id) { + modalStack.splice(i, 1); + break; + } + } + } + } + + if (modalStack.length === 0) { + if (this.modalFade) { + (0, _dom.addClass)(modalDom, 'v-modal-leave'); + } + setTimeout(function () { + if (modalStack.length === 0) { + if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom); + modalDom.style.display = 'none'; + PopupManager.modalDom = undefined; + } + (0, _dom.removeClass)(modalDom, 'v-modal-leave'); + }, 200); + } + } +}; + +Object.defineProperty(PopupManager, 'zIndex', { + configurable: true, + get: function get() { + if (!hasInitZIndex) { + zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000; + hasInitZIndex = true; + } + return zIndex; + }, + set: function set(value) { + zIndex = value; + } +}); + +var getTopPopup = function getTopPopup() { + if (_vue2.default.prototype.$isServer) return; + if (PopupManager.modalStack.length > 0) { + var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1]; + if (!topPopup) return; + var instance = PopupManager.getInstance(topPopup.id); + + return instance; + } +}; + +if (!_vue2.default.prototype.$isServer) { + // handle `esc` key when the popup is shown + window.addEventListener('keydown', function (event) { + if (event.keyCode === 27) { + var topPopup = getTopPopup(); + + if (topPopup && topPopup.closeOnPressEscape) { + topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close(); + } + } + }); +} + +exports.default = PopupManager; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/resize-event.js b/PAMapp/local_modules/element-ui/lib/utils/resize-event.js new file mode 100644 index 0000000..5002169 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/resize-event.js @@ -0,0 +1,59 @@ +'use strict'; + +exports.__esModule = true; +exports.removeResizeListener = exports.addResizeListener = undefined; + +var _resizeObserverPolyfill = require('resize-observer-polyfill'); + +var _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill); + +var _throttleDebounce = require('throttle-debounce'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var isServer = typeof window === 'undefined'; + +/* istanbul ignore next */ +var resizeHandler = function resizeHandler(entries) { + for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { + var _ref; + + if (_isArray) { + if (_i >= _iterator.length) break; + _ref = _iterator[_i++]; + } else { + _i = _iterator.next(); + if (_i.done) break; + _ref = _i.value; + } + + var entry = _ref; + + var listeners = entry.target.__resizeListeners__ || []; + if (listeners.length) { + listeners.forEach(function (fn) { + fn(); + }); + } + } +}; + +/* istanbul ignore next */ +var addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) { + if (isServer) return; + if (!element.__resizeListeners__) { + element.__resizeListeners__ = []; + element.__ro__ = new _resizeObserverPolyfill2.default((0, _throttleDebounce.debounce)(16, resizeHandler)); + element.__ro__.observe(element); + } + element.__resizeListeners__.push(fn); +}; + +/* istanbul ignore next */ +var removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) { + if (!element || !element.__resizeListeners__) return; + element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); + if (!element.__resizeListeners__.length) { + element.__ro__.disconnect(); + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/scroll-into-view.js b/PAMapp/local_modules/element-ui/lib/utils/scroll-into-view.js new file mode 100644 index 0000000..39117d9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/scroll-into-view.js @@ -0,0 +1,38 @@ +'use strict'; + +exports.__esModule = true; +exports.default = scrollIntoView; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function scrollIntoView(container, selected) { + if (_vue2.default.prototype.$isServer) return; + + if (!selected) { + container.scrollTop = 0; + return; + } + + var offsetParents = []; + var pointer = selected.offsetParent; + while (pointer && container !== pointer && container.contains(pointer)) { + offsetParents.push(pointer); + pointer = pointer.offsetParent; + } + var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) { + return prev + curr.offsetTop; + }, 0); + var bottom = top + selected.offsetHeight; + var viewRectTop = container.scrollTop; + var viewRectBottom = viewRectTop + container.clientHeight; + + if (top < viewRectTop) { + container.scrollTop = top; + } else if (bottom > viewRectBottom) { + container.scrollTop = bottom - container.clientHeight; + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/scrollbar-width.js b/PAMapp/local_modules/element-ui/lib/utils/scrollbar-width.js new file mode 100644 index 0000000..055a8b5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/scrollbar-width.js @@ -0,0 +1,39 @@ +'use strict'; + +exports.__esModule = true; + +exports.default = function () { + if (_vue2.default.prototype.$isServer) return 0; + if (scrollBarWidth !== undefined) return scrollBarWidth; + + var outer = document.createElement('div'); + outer.className = 'el-scrollbar__wrap'; + outer.style.visibility = 'hidden'; + outer.style.width = '100px'; + outer.style.position = 'absolute'; + outer.style.top = '-9999px'; + document.body.appendChild(outer); + + var widthNoScroll = outer.offsetWidth; + outer.style.overflow = 'scroll'; + + var inner = document.createElement('div'); + inner.style.width = '100%'; + outer.appendChild(inner); + + var widthWithScroll = inner.offsetWidth; + outer.parentNode.removeChild(outer); + scrollBarWidth = widthNoScroll - widthWithScroll; + + return scrollBarWidth; +}; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var scrollBarWidth = void 0; + +; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/shared.js b/PAMapp/local_modules/element-ui/lib/utils/shared.js new file mode 100644 index 0000000..b4118f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/shared.js @@ -0,0 +1,12 @@ +"use strict"; + +exports.__esModule = true; +exports.isDef = isDef; +exports.isKorean = isKorean; +function isDef(val) { + return val !== undefined && val !== null; +} +function isKorean(text) { + var reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; + return reg.test(text); +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/types.js b/PAMapp/local_modules/element-ui/lib/utils/types.js new file mode 100644 index 0000000..2e868fc --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/types.js @@ -0,0 +1,52 @@ +'use strict'; + +exports.__esModule = true; +exports.isDefined = exports.isUndefined = exports.isFunction = undefined; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.isString = isString; +exports.isObject = isObject; +exports.isHtmlElement = isHtmlElement; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function isString(obj) { + return Object.prototype.toString.call(obj) === '[object String]'; +} + +function isObject(obj) { + return Object.prototype.toString.call(obj) === '[object Object]'; +} + +function isHtmlElement(node) { + return node && node.nodeType === Node.ELEMENT_NODE; +} + +/** + * - Inspired: + * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js + */ +var isFunction = function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +}; + +if (typeof /./ !== 'function' && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (_vue2.default.prototype.$isServer || typeof document.childNodes !== 'function')) { + exports.isFunction = isFunction = function isFunction(obj) { + return typeof obj === 'function' || false; + }; +} + +exports.isFunction = isFunction; +var isUndefined = exports.isUndefined = function isUndefined(val) { + return val === void 0; +}; + +var isDefined = exports.isDefined = function isDefined(val) { + return val !== undefined && val !== null; +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/util.js b/PAMapp/local_modules/element-ui/lib/utils/util.js new file mode 100644 index 0000000..6156d0a --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/util.js @@ -0,0 +1,272 @@ +'use strict'; + +exports.__esModule = true; +exports.isMac = exports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.noop = noop; +exports.hasOwn = hasOwn; +exports.toObject = toObject; +exports.getPropByPath = getPropByPath; +exports.rafThrottle = rafThrottle; +exports.objToArray = objToArray; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _types = require('element-ui/lib/utils/types'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var hasOwnProperty = Object.prototype.hasOwnProperty; + +function noop() {}; + +function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key); +}; + +function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to; +}; + +function toObject(arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res; +}; + +var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) { + prop = prop || ''; + var paths = prop.split('.'); + var current = object; + var result = null; + for (var i = 0, j = paths.length; i < j; i++) { + var path = paths[i]; + if (!current) break; + + if (i === j - 1) { + result = current[path]; + break; + } + current = current[path]; + } + return result; +}; + +function getPropByPath(obj, path, strict) { + var tempObj = obj; + path = path.replace(/\[(\w+)\]/g, '.$1'); + path = path.replace(/^\./, ''); + + var keyArr = path.split('.'); + var i = 0; + for (var len = keyArr.length; i < len - 1; ++i) { + if (!tempObj && !strict) break; + var key = keyArr[i]; + if (key in tempObj) { + tempObj = tempObj[key]; + } else { + if (strict) { + throw new Error('please transfer a valid prop path to form item!'); + } + break; + } + } + return { + o: tempObj, + k: keyArr[i], + v: tempObj ? tempObj[keyArr[i]] : null + }; +}; + +var generateId = exports.generateId = function generateId() { + return Math.floor(Math.random() * 10000); +}; + +var valueEquals = exports.valueEquals = function valueEquals(a, b) { + // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript + if (a === b) return true; + if (!(a instanceof Array)) return false; + if (!(b instanceof Array)) return false; + if (a.length !== b.length) return false; + for (var i = 0; i !== a.length; ++i) { + if (a[i] !== b[i]) return false; + } + return true; +}; + +var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() { + var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; + return String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); +}; + +// TODO: use native Array.find, Array.findIndex when IE support is dropped +var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) { + for (var i = 0; i !== arr.length; ++i) { + if (pred(arr[i])) { + return i; + } + } + return -1; +}; + +var arrayFind = exports.arrayFind = function arrayFind(arr, pred) { + var idx = arrayFindIndex(arr, pred); + return idx !== -1 ? arr[idx] : undefined; +}; + +// coerce truthy value to array +var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) { + if (Array.isArray(val)) { + return val; + } else if (val) { + return [val]; + } else { + return []; + } +}; + +var isIE = exports.isIE = function isIE() { + return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode)); +}; + +var isEdge = exports.isEdge = function isEdge() { + return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1; +}; + +var isFirefox = exports.isFirefox = function isFirefox() { + return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i); +}; + +var autoprefixer = exports.autoprefixer = function autoprefixer(style) { + if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style; + var rules = ['transform', 'transition', 'animation']; + var prefixes = ['ms-', 'webkit-']; + rules.forEach(function (rule) { + var value = style[rule]; + if (rule && value) { + prefixes.forEach(function (prefix) { + style[prefix + rule] = value; + }); + } + }); + return style; +}; + +var kebabCase = exports.kebabCase = function kebabCase(str) { + var hyphenateRE = /([^-])([A-Z])/g; + return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase(); +}; + +var capitalize = exports.capitalize = function capitalize(str) { + if (!(0, _types.isString)(str)) return str; + return str.charAt(0).toUpperCase() + str.slice(1); +}; + +var looseEqual = exports.looseEqual = function looseEqual(a, b) { + var isObjectA = (0, _types.isObject)(a); + var isObjectB = (0, _types.isObject)(b); + if (isObjectA && isObjectB) { + return JSON.stringify(a) === JSON.stringify(b); + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b); + } else { + return false; + } +}; + +var arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) { + arrayA = arrayA || []; + arrayB = arrayB || []; + + if (arrayA.length !== arrayB.length) { + return false; + } + + for (var i = 0; i < arrayA.length; i++) { + if (!looseEqual(arrayA[i], arrayB[i])) { + return false; + } + } + + return true; +}; + +var isEqual = exports.isEqual = function isEqual(value1, value2) { + if (Array.isArray(value1) && Array.isArray(value2)) { + return arrayEquals(value1, value2); + } + return looseEqual(value1, value2); +}; + +var isEmpty = exports.isEmpty = function isEmpty(val) { + // null or undefined + if (val == null) return true; + + if (typeof val === 'boolean') return false; + + if (typeof val === 'number') return !val; + + if (val instanceof Error) return val.message === ''; + + switch (Object.prototype.toString.call(val)) { + // String or Array + case '[object String]': + case '[object Array]': + return !val.length; + + // Map or Set or File + case '[object File]': + case '[object Map]': + case '[object Set]': + { + return !val.size; + } + // Plain Object + case '[object Object]': + { + return !Object.keys(val).length; + } + } + + return false; +}; + +function rafThrottle(fn) { + var locked = false; + return function () { + var _this = this; + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + if (locked) return; + locked = true; + window.requestAnimationFrame(function (_) { + fn.apply(_this, args); + locked = false; + }); + }; +} + +function objToArray(obj) { + if (Array.isArray(obj)) { + return obj; + } + return isEmpty(obj) ? [] : [obj]; +} + +var isMac = exports.isMac = function isMac() { + return !_vue2.default.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent); +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/vdom.js b/PAMapp/local_modules/element-ui/lib/utils/vdom.js new file mode 100644 index 0000000..3ef08b9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/vdom.js @@ -0,0 +1,13 @@ +'use strict'; + +exports.__esModule = true; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.isVNode = isVNode; + +var _util = require('element-ui/lib/utils/util'); + +function isVNode(node) { + return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions'); +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/lib/utils/vue-popper.js b/PAMapp/local_modules/element-ui/lib/utils/vue-popper.js new file mode 100644 index 0000000..16dc4f9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/lib/utils/vue-popper.js @@ -0,0 +1,202 @@ +'use strict'; + +exports.__esModule = true; + +var _vue = require('vue'); + +var _vue2 = _interopRequireDefault(_vue); + +var _popup = require('element-ui/lib/utils/popup'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var PopperJS = _vue2.default.prototype.$isServer ? function () {} : require('./popper'); +var stop = function stop(e) { + return e.stopPropagation(); +}; + +/** + * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper. + * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper. + * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end) + * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative). + * @param {Boolean} [visible=false] Visibility of the popup element. + * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style. + */ +exports.default = { + props: { + transformOrigin: { + type: [Boolean, String], + default: true + }, + placement: { + type: String, + default: 'bottom' + }, + boundariesPadding: { + type: Number, + default: 5 + }, + reference: {}, + popper: {}, + offset: { + default: 0 + }, + value: Boolean, + visibleArrow: Boolean, + arrowOffset: { + type: Number, + default: 35 + }, + appendToBody: { + type: Boolean, + default: true + }, + popperOptions: { + type: Object, + default: function _default() { + return { + gpuAcceleration: false + }; + } + } + }, + + data: function data() { + return { + showPopper: false, + currentPlacement: '' + }; + }, + + + watch: { + value: { + immediate: true, + handler: function handler(val) { + this.showPopper = val; + this.$emit('input', val); + } + }, + + showPopper: function showPopper(val) { + if (this.disabled) return; + val ? this.updatePopper() : this.destroyPopper(); + this.$emit('input', val); + } + }, + + methods: { + createPopper: function createPopper() { + var _this = this; + + if (this.$isServer) return; + this.currentPlacement = this.currentPlacement || this.placement; + if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) { + return; + } + + var options = this.popperOptions; + var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper; + var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference; + + if (!reference && this.$slots.reference && this.$slots.reference[0]) { + reference = this.referenceElm = this.$slots.reference[0].elm; + } + + if (!popper || !reference) return; + if (this.visibleArrow) this.appendArrow(popper); + if (this.appendToBody) document.body.appendChild(this.popperElm); + if (this.popperJS && this.popperJS.destroy) { + this.popperJS.destroy(); + } + + options.placement = this.currentPlacement; + options.offset = this.offset; + options.arrowOffset = this.arrowOffset; + this.popperJS = new PopperJS(reference, popper, options); + this.popperJS.onCreate(function (_) { + _this.$emit('created', _this); + _this.resetTransformOrigin(); + _this.$nextTick(_this.updatePopper); + }); + if (typeof options.onUpdate === 'function') { + this.popperJS.onUpdate(options.onUpdate); + } + this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex(); + this.popperElm.addEventListener('click', stop); + }, + updatePopper: function updatePopper() { + var popperJS = this.popperJS; + if (popperJS) { + popperJS.update(); + if (popperJS._popper) { + popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex(); + } + } else { + this.createPopper(); + } + }, + doDestroy: function doDestroy(forceDestroy) { + /* istanbul ignore if */ + if (!this.popperJS || this.showPopper && !forceDestroy) return; + this.popperJS.destroy(); + this.popperJS = null; + }, + destroyPopper: function destroyPopper() { + if (this.popperJS) { + this.resetTransformOrigin(); + } + }, + resetTransformOrigin: function resetTransformOrigin() { + if (!this.transformOrigin) return; + var placementMap = { + top: 'bottom', + bottom: 'top', + left: 'right', + right: 'left' + }; + var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0]; + var origin = placementMap[placement]; + this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center'; + }, + appendArrow: function appendArrow(element) { + var hash = void 0; + if (this.appended) { + return; + } + + this.appended = true; + + for (var item in element.attributes) { + if (/^_v-/.test(element.attributes[item].name)) { + hash = element.attributes[item].name; + break; + } + } + + var arrow = document.createElement('div'); + + if (hash) { + arrow.setAttribute(hash, ''); + } + arrow.setAttribute('x-arrow', ''); + arrow.className = 'popper__arrow'; + element.appendChild(arrow); + } + }, + + beforeDestroy: function beforeDestroy() { + this.doDestroy(true); + if (this.popperElm && this.popperElm.parentNode === document.body) { + this.popperElm.removeEventListener('click', stop); + document.body.removeChild(this.popperElm); + } + }, + + + // call destroy in keep-alive mode + deactivated: function deactivated() { + this.$options.beforeDestroy[0].call(this); + } +}; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/package.json b/PAMapp/local_modules/element-ui/package.json new file mode 100644 index 0000000..3372854 --- /dev/null +++ b/PAMapp/local_modules/element-ui/package.json @@ -0,0 +1,179 @@ +{ + "_args": [ + [ + "element-ui@2.15.13", + "/Users/tomas/PAM/PAMapp" + ] + ], + "_from": "element-ui@2.15.13", + "_id": "element-ui@2.15.13", + "_inBundle": false, + "_integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==", + "_location": "/element-ui", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "element-ui@2.15.13", + "name": "element-ui", + "escapedName": "element-ui", + "rawSpec": "2.15.13", + "saveSpec": null, + "fetchSpec": "2.15.13" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz", + "_spec": "2.15.13", + "_where": "/Users/tomas/PAM/PAMapp", + "bugs": { + "url": "https://github.com/ElemeFE/element/issues" + }, + "dependencies": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "description": "A Component Library for Vue.js.", + "devDependencies": { + "@vue/component-compiler-utils": "^2.6.0", + "algoliasearch": "^3.24.5", + "babel-cli": "^6.26.0", + "babel-core": "^6.26.3", + "babel-loader": "^7.1.5", + "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-istanbul": "^4.1.1", + "babel-plugin-module-resolver": "^2.2.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "babel-plugin-transform-vue-jsx": "^3.7.0", + "babel-preset-env": "^1.7.0", + "babel-preset-stage-2": "^6.24.1", + "babel-regenerator-runtime": "^6.5.0", + "chai": "^4.2.0", + "chokidar": "^1.7.0", + "copy-webpack-plugin": "^5.0.0", + "coveralls": "^3.0.3", + "cp-cli": "^1.0.2", + "cross-env": "^3.1.3", + "css-loader": "^2.1.0", + "es6-promise": "^4.0.5", + "eslint": "4.18.2", + "eslint-config-elemefe": "0.1.1", + "eslint-loader": "^2.0.0", + "eslint-plugin-html": "^4.0.1", + "eslint-plugin-json": "^1.2.0", + "file-loader": "^1.1.11", + "file-save": "^0.2.0", + "gulp": "^4.0.0", + "gulp-autoprefixer": "^6.0.0", + "gulp-cssmin": "^0.2.0", + "gulp-sass": "^4.0.2", + "highlight.js": "^9.3.0", + "html-webpack-plugin": "^3.2.0", + "json-loader": "^0.5.7", + "json-templater": "^1.0.4", + "karma": "^4.0.1", + "karma-chrome-launcher": "^2.2.0", + "karma-coverage": "^1.1.2", + "karma-mocha": "^1.3.0", + "karma-sinon-chai": "^2.0.2", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "^0.0.32", + "karma-webpack": "^3.0.5", + "launch-editor-middleware": "^2.3.0", + "markdown-it": "^8.4.1", + "markdown-it-anchor": "^5.0.2", + "markdown-it-chain": "^1.3.0", + "markdown-it-container": "^2.0.0", + "mini-css-extract-plugin": "^0.4.1", + "mocha": "^6.0.2", + "node-sass": "^4.11.0", + "optimize-css-assets-webpack-plugin": "^5.0.1", + "postcss": "^7.0.14", + "progress-bar-webpack-plugin": "^1.11.0", + "rimraf": "^2.5.4", + "sass-loader": "^7.1.0", + "select-version-cli": "^0.0.2", + "sinon": "^7.2.7", + "sinon-chai": "^3.3.0", + "style-loader": "^0.23.1", + "transliteration": "^1.1.11", + "uglifyjs-webpack-plugin": "^2.1.1", + "uppercamelcase": "^1.1.0", + "url-loader": "^1.0.1", + "vue": "2.5.21", + "vue-loader": "^15.7.0", + "vue-router": "^3.0.1", + "vue-template-compiler": "2.5.21", + "vue-template-es2015-compiler": "^1.6.0", + "webpack": "^4.14.0", + "webpack-cli": "^3.0.8", + "webpack-dev-server": "^3.1.11", + "webpack-node-externals": "^1.7.2" + }, + "faas": [ + { + "domain": "element", + "public": "temp_web/element" + }, + { + "domain": "element-theme", + "public": "examples/element-ui", + "build": [ + "yarn", + "npm run deploy:build" + ] + } + ], + "files": [ + "lib", + "src", + "packages", + "types", + "web-types.json" + ], + "homepage": "http://element.eleme.io", + "keywords": [ + "eleme", + "vue", + "components" + ], + "license": "MIT", + "main": "lib/element-ui.common.js", + "name": "element-ui", + "peerDependencies": { + "vue": "^2.5.17" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/ElemeFE/element.git" + }, + "scripts": { + "bootstrap": "yarn || npm i", + "build:file": "node build/bin/iconInit.js & node build/bin/build-entry.js & node build/bin/i18n.js & node build/bin/version.js", + "build:theme": "node build/bin/gen-cssfile && gulp build --gulpfile packages/theme-chalk/gulpfile.js && cp-cli packages/theme-chalk/lib lib/theme-chalk", + "build:umd": "node build/bin/build-locale.js", + "build:utils": "cross-env BABEL_ENV=utils babel src --out-dir lib --ignore src/index.js", + "clean": "rimraf lib && rimraf packages/*/lib && rimraf test/**/coverage", + "deploy:build": "npm run build:file && cross-env NODE_ENV=production webpack --config build/webpack.demo.js && echo element.eleme.io>>examples/element-ui/CNAME", + "deploy:extension": "cross-env NODE_ENV=production webpack --config build/webpack.extension.js", + "dev": "npm run bootstrap && npm run build:file && cross-env NODE_ENV=development webpack-dev-server --config build/webpack.demo.js & node build/bin/template.js", + "dev:extension": "rimraf examples/extension/dist && cross-env NODE_ENV=development webpack --watch --config build/webpack.extension.js", + "dev:play": "npm run build:file && cross-env NODE_ENV=development PLAY_ENV=true webpack-dev-server --config build/webpack.demo.js", + "dist": "npm run clean && npm run build:file && npm run lint && webpack --config build/webpack.conf.js && webpack --config build/webpack.common.js && webpack --config build/webpack.component.js && npm run build:utils && npm run build:umd && npm run build:theme", + "i18n": "node build/bin/i18n.js", + "lint": "eslint src/**/* test/**/* packages/**/* build/**/* --quiet", + "pub": "npm run bootstrap && sh build/git-release.sh && sh build/release.sh && node build/bin/gen-indices.js", + "test": "npm run lint && npm run build:theme && cross-env CI_ENV=/dev/ BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", + "test:watch": "npm run build:theme && cross-env BABEL_ENV=test karma start test/unit/karma.conf.js" + }, + "style": "lib/theme-chalk/index.css", + "typings": "types/index.d.ts", + "unpkg": "lib/index.js", + "version": "2.15.13", + "web-types": "./web-types.json" +} diff --git a/PAMapp/local_modules/element-ui/packages/alert/index.js b/PAMapp/local_modules/element-ui/packages/alert/index.js new file mode 100644 index 0000000..6c585ba --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/alert/index.js @@ -0,0 +1,8 @@ +import Alert from './src/main'; + +/* istanbul ignore next */ +Alert.install = function(Vue) { + Vue.component(Alert.name, Alert); +}; + +export default Alert; diff --git a/PAMapp/local_modules/element-ui/packages/alert/src/main.vue b/PAMapp/local_modules/element-ui/packages/alert/src/main.vue new file mode 100644 index 0000000..f4bcb47 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/alert/src/main.vue @@ -0,0 +1,94 @@ +<template> + <transition name="el-alert-fade"> + <div + class="el-alert" + :class="[typeClass, center ? 'is-center' : '', 'is-' + effect]" + v-show="visible" + role="alert" + > + <i class="el-alert__icon" :class="[ iconClass, isBigIcon ]" v-if="showIcon"></i> + <div class="el-alert__content"> + <span class="el-alert__title" :class="[ isBoldTitle ]" v-if="title || $slots.title"> + <slot name="title">{{ title }}</slot> + </span> + <p class="el-alert__description" v-if="$slots.default && !description"><slot></slot></p> + <p class="el-alert__description" v-if="description && !$slots.default">{{ description }}</p> + <i class="el-alert__closebtn" :class="{ 'is-customed': closeText !== '', 'el-icon-close': closeText === '' }" v-show="closable" @click="close()">{{closeText}}</i> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + const TYPE_CLASSES_MAP = { + 'success': 'el-icon-success', + 'warning': 'el-icon-warning', + 'error': 'el-icon-error' + }; + export default { + name: 'ElAlert', + + props: { + title: { + type: String, + default: '' + }, + description: { + type: String, + default: '' + }, + type: { + type: String, + default: 'info' + }, + closable: { + type: Boolean, + default: true + }, + closeText: { + type: String, + default: '' + }, + showIcon: Boolean, + center: Boolean, + effect: { + type: String, + default: 'light', + validator: function(value) { + return ['light', 'dark'].indexOf(value) !== -1; + } + } + }, + + data() { + return { + visible: true + }; + }, + + methods: { + close() { + this.visible = false; + this.$emit('close'); + } + }, + + computed: { + typeClass() { + return `el-alert--${ this.type }`; + }, + + iconClass() { + return TYPE_CLASSES_MAP[this.type] || 'el-icon-info'; + }, + + isBigIcon() { + return this.description || this.$slots.default ? 'is-big' : ''; + }, + + isBoldTitle() { + return this.description || this.$slots.default ? 'is-bold' : ''; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/aside/index.js b/PAMapp/local_modules/element-ui/packages/aside/index.js new file mode 100644 index 0000000..530b4f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/aside/index.js @@ -0,0 +1,8 @@ +import Aside from './src/main'; + +/* istanbul ignore next */ +Aside.install = function(Vue) { + Vue.component(Aside.name, Aside); +}; + +export default Aside; diff --git a/PAMapp/local_modules/element-ui/packages/aside/src/main.vue b/PAMapp/local_modules/element-ui/packages/aside/src/main.vue new file mode 100644 index 0000000..3ecb24e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/aside/src/main.vue @@ -0,0 +1,20 @@ +<template> + <aside class="el-aside" :style="{ width }"> + <slot></slot> + </aside> +</template> + +<script> + export default { + name: 'ElAside', + + componentName: 'ElAside', + + props: { + width: { + type: String, + default: '300px' + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/autocomplete/index.js b/PAMapp/local_modules/element-ui/packages/autocomplete/index.js new file mode 100644 index 0000000..20c16ce --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/autocomplete/index.js @@ -0,0 +1,8 @@ +import ElAutocomplete from './src/autocomplete'; + +/* istanbul ignore next */ +ElAutocomplete.install = function(Vue) { + Vue.component(ElAutocomplete.name, ElAutocomplete); +}; + +export default ElAutocomplete; diff --git a/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete-suggestions.vue b/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete-suggestions.vue new file mode 100644 index 0000000..26a1bda --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete-suggestions.vue @@ -0,0 +1,76 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="doDestroy"> + <div + v-show="showPopper" + class="el-autocomplete-suggestion el-popper" + :class="{ 'is-loading': !parent.hideLoading && parent.loading }" + :style="{ width: dropdownWidth }" + role="region"> + <el-scrollbar + tag="ul" + wrap-class="el-autocomplete-suggestion__wrap" + view-class="el-autocomplete-suggestion__list"> + <li v-if="!parent.hideLoading && parent.loading"><i class="el-icon-loading"></i></li> + <slot v-else> + </slot> + </el-scrollbar> + </div> + </transition> +</template> +<script> + import Popper from 'element-ui/src/utils/vue-popper'; + import Emitter from 'element-ui/src/mixins/emitter'; + import ElScrollbar from 'element-ui/packages/scrollbar'; + + export default { + components: { ElScrollbar }, + mixins: [Popper, Emitter], + + componentName: 'ElAutocompleteSuggestions', + + data() { + return { + parent: this.$parent, + dropdownWidth: '' + }; + }, + + props: { + options: { + default() { + return { + gpuAcceleration: false + }; + } + }, + id: String + }, + + methods: { + select(item) { + this.dispatch('ElAutocomplete', 'item-click', item); + } + }, + + updated() { + this.$nextTick(_ => { + this.popperJS && this.updatePopper(); + }); + }, + + mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$refs.input.$refs.input || this.$parent.$refs.input.$refs.textarea; + this.referenceList = this.$el.querySelector('.el-autocomplete-suggestion__list'); + this.referenceList.setAttribute('role', 'listbox'); + this.referenceList.setAttribute('id', this.id); + }, + + created() { + this.$on('visible', (val, inputWidth) => { + this.dropdownWidth = inputWidth + 'px'; + this.showPopper = val; + }); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete.vue b/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete.vue new file mode 100644 index 0000000..af8d119 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/autocomplete/src/autocomplete.vue @@ -0,0 +1,285 @@ +<template> + <div + class="el-autocomplete" + v-clickoutside="close" + aria-haspopup="listbox" + role="combobox" + :aria-expanded="suggestionVisible" + :aria-owns="id" + > + <el-input + ref="input" + v-bind="[$props, $attrs]" + @input="handleInput" + @change="handleChange" + @focus="handleFocus" + @blur="handleBlur" + @clear="handleClear" + @keydown.up.native.prevent="highlight(highlightedIndex - 1)" + @keydown.down.native.prevent="highlight(highlightedIndex + 1)" + @keydown.enter.native="handleKeyEnter" + @keydown.native.tab="close" + > + <template slot="prepend" v-if="$slots.prepend"> + <slot name="prepend"></slot> + </template> + <template slot="append" v-if="$slots.append"> + <slot name="append"></slot> + </template> + <template slot="prefix" v-if="$slots.prefix"> + <slot name="prefix"></slot> + </template> + <template slot="suffix" v-if="$slots.suffix"> + <slot name="suffix"></slot> + </template> + </el-input> + <el-autocomplete-suggestions + visible-arrow + :class="[popperClass ? popperClass : '']" + :popper-options="popperOptions" + :append-to-body="popperAppendToBody" + ref="suggestions" + :placement="placement" + :id="id"> + <li + v-for="(item, index) in suggestions" + :key="index" + :class="{'highlighted': highlightedIndex === index}" + @click="select(item)" + :id="`${id}-item-${index}`" + role="option" + :aria-selected="highlightedIndex === index" + > + <slot :item="item"> + {{ item[valueKey] }} + </slot> + </li> + </el-autocomplete-suggestions> + </div> +</template> +<script> + import debounce from 'throttle-debounce/debounce'; + import ElInput from 'element-ui/packages/input'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import ElAutocompleteSuggestions from './autocomplete-suggestions.vue'; + import Emitter from 'element-ui/src/mixins/emitter'; + import Migrating from 'element-ui/src/mixins/migrating'; + import { generateId } from 'element-ui/src/utils/util'; + import Focus from 'element-ui/src/mixins/focus'; + + export default { + name: 'ElAutocomplete', + + mixins: [Emitter, Focus('input'), Migrating], + + inheritAttrs: false, + + componentName: 'ElAutocomplete', + + components: { + ElInput, + ElAutocompleteSuggestions + }, + + directives: { Clickoutside }, + + props: { + valueKey: { + type: String, + default: 'value' + }, + popperClass: String, + popperOptions: Object, + placeholder: String, + clearable: { + type: Boolean, + default: false + }, + disabled: Boolean, + name: String, + size: String, + value: String, + maxlength: Number, + minlength: Number, + autofocus: Boolean, + fetchSuggestions: Function, + triggerOnFocus: { + type: Boolean, + default: true + }, + customItem: String, + selectWhenUnmatched: { + type: Boolean, + default: false + }, + prefixIcon: String, + suffixIcon: String, + label: String, + debounce: { + type: Number, + default: 300 + }, + placement: { + type: String, + default: 'bottom-start' + }, + hideLoading: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + }, + highlightFirstItem: { + type: Boolean, + default: false + } + }, + data() { + return { + activated: false, + suggestions: [], + loading: false, + highlightedIndex: -1, + suggestionDisabled: false + }; + }, + computed: { + suggestionVisible() { + const suggestions = this.suggestions; + let isValidData = Array.isArray(suggestions) && suggestions.length > 0; + return (isValidData || this.loading) && this.activated; + }, + id() { + return `el-autocomplete-${generateId()}`; + } + }, + watch: { + suggestionVisible(val) { + let $input = this.getInput(); + if ($input) { + this.broadcast('ElAutocompleteSuggestions', 'visible', [val, $input.offsetWidth]); + } + } + }, + methods: { + getMigratingConfig() { + return { + props: { + 'custom-item': 'custom-item is removed, use scoped slot instead.', + 'props': 'props is removed, use value-key instead.' + } + }; + }, + getData(queryString) { + if (this.suggestionDisabled) { + return; + } + this.loading = true; + this.fetchSuggestions(queryString, (suggestions) => { + this.loading = false; + if (this.suggestionDisabled) { + return; + } + if (Array.isArray(suggestions)) { + this.suggestions = suggestions; + this.highlightedIndex = this.highlightFirstItem ? 0 : -1; + } else { + console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array'); + } + }); + }, + handleInput(value) { + this.$emit('input', value); + this.suggestionDisabled = false; + if (!this.triggerOnFocus && !value) { + this.suggestionDisabled = true; + this.suggestions = []; + return; + } + this.debouncedGetData(value); + }, + handleChange(value) { + this.$emit('change', value); + }, + handleFocus(event) { + this.activated = true; + this.$emit('focus', event); + if (this.triggerOnFocus) { + this.debouncedGetData(this.value); + } + }, + handleBlur(event) { + this.$emit('blur', event); + }, + handleClear() { + this.activated = false; + this.$emit('clear'); + }, + close(e) { + this.activated = false; + }, + handleKeyEnter(e) { + if (this.suggestionVisible && this.highlightedIndex >= 0 && this.highlightedIndex < this.suggestions.length) { + e.preventDefault(); + this.select(this.suggestions[this.highlightedIndex]); + } else if (this.selectWhenUnmatched) { + this.$emit('select', {value: this.value}); + this.$nextTick(_ => { + this.suggestions = []; + this.highlightedIndex = -1; + }); + } + }, + select(item) { + this.$emit('input', item[this.valueKey]); + this.$emit('select', item); + this.$nextTick(_ => { + this.suggestions = []; + this.highlightedIndex = -1; + }); + }, + highlight(index) { + if (!this.suggestionVisible || this.loading) { return; } + if (index < 0) { + this.highlightedIndex = -1; + return; + } + if (index >= this.suggestions.length) { + index = this.suggestions.length - 1; + } + const suggestion = this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap'); + const suggestionList = suggestion.querySelectorAll('.el-autocomplete-suggestion__list li'); + + let highlightItem = suggestionList[index]; + let scrollTop = suggestion.scrollTop; + let offsetTop = highlightItem.offsetTop; + + if (offsetTop + highlightItem.scrollHeight > (scrollTop + suggestion.clientHeight)) { + suggestion.scrollTop += highlightItem.scrollHeight; + } + if (offsetTop < scrollTop) { + suggestion.scrollTop -= highlightItem.scrollHeight; + } + this.highlightedIndex = index; + let $input = this.getInput(); + $input.setAttribute('aria-activedescendant', `${this.id}-item-${this.highlightedIndex}`); + }, + getInput() { + return this.$refs.input.getInput(); + } + }, + mounted() { + this.debouncedGetData = debounce(this.debounce, this.getData); + this.$on('item-click', item => { + this.select(item); + }); + let $input = this.getInput(); + $input.setAttribute('role', 'textbox'); + $input.setAttribute('aria-autocomplete', 'list'); + $input.setAttribute('aria-controls', 'id'); + $input.setAttribute('aria-activedescendant', `${this.id}-item-${this.highlightedIndex}`); + }, + beforeDestroy() { + this.$refs.suggestions.$destroy(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/avatar/index.js b/PAMapp/local_modules/element-ui/packages/avatar/index.js new file mode 100644 index 0000000..36589e3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/avatar/index.js @@ -0,0 +1,8 @@ +import Avatar from './src/main'; + +/* istanbul ignore next */ +Avatar.install = function(Vue) { + Vue.component(Avatar.name, Avatar); +}; + +export default Avatar; diff --git a/PAMapp/local_modules/element-ui/packages/avatar/src/main.vue b/PAMapp/local_modules/element-ui/packages/avatar/src/main.vue new file mode 100644 index 0000000..3c30628 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/avatar/src/main.vue @@ -0,0 +1,107 @@ +<script> +export default { + name: 'ElAvatar', + + props: { + size: { + type: [Number, String], + validator(val) { + if (typeof val === 'string') { + return ['large', 'medium', 'small'].includes(val); + } + return typeof val === 'number'; + } + }, + shape: { + type: String, + default: 'circle', + validator(val) { + return ['circle', 'square'].includes(val); + } + }, + icon: String, + src: String, + alt: String, + srcSet: String, + error: Function, + fit: { + type: String, + default: 'cover' + } + }, + + data() { + return { + isImageExist: true + }; + }, + + computed: { + avatarClass() { + const { size, icon, shape } = this; + let classList = ['el-avatar']; + + if (size && typeof size === 'string') { + classList.push(`el-avatar--${size}`); + } + + if (icon) { + classList.push('el-avatar--icon'); + } + + if (shape) { + classList.push(`el-avatar--${shape}`); + } + + return classList.join(' '); + } + }, + + methods: { + handleError() { + const { error } = this; + const errorFlag = error ? error() : undefined; + if (errorFlag !== false) { + this.isImageExist = false; + } + }, + renderAvatar() { + const { icon, src, alt, isImageExist, srcSet, fit } = this; + + if (isImageExist && src) { + return <img + src={src} + onError={this.handleError} + alt={alt} + srcSet={srcSet} + style={{ 'object-fit': fit }}/>; + } + + if (icon) { + return (<i class={icon} />); + } + + return this.$slots.default; + } + }, + + render() { + const { avatarClass, size } = this; + + const sizeStyle = typeof size === 'number' ? { + height: `${size}px`, + width: `${size}px`, + lineHeight: `${size}px` + } : {}; + + return ( + <span class={ avatarClass } style={ sizeStyle }> + { + this.renderAvatar() + } + </span> + ); + } + +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/backtop/index.js b/PAMapp/local_modules/element-ui/packages/backtop/index.js new file mode 100644 index 0000000..21433c5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/backtop/index.js @@ -0,0 +1,8 @@ +import Backtop from './src/main'; + +/* istanbul ignore next */ +Backtop.install = function(Vue) { + Vue.component(Backtop.name, Backtop); +}; + +export default Backtop; diff --git a/PAMapp/local_modules/element-ui/packages/backtop/src/main.vue b/PAMapp/local_modules/element-ui/packages/backtop/src/main.vue new file mode 100644 index 0000000..806f43e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/backtop/src/main.vue @@ -0,0 +1,110 @@ +<template> + <transition name="el-fade-in"> + <div + v-if="visible" + @click.stop="handleClick" + :style="{ + 'right': styleRight, + 'bottom': styleBottom + }" + class="el-backtop"> + <slot> + <el-icon name="caret-top"></el-icon> + </slot> + </div> + </transition> +</template> + +<script> +import throttle from 'throttle-debounce/throttle'; + +const cubic = value => Math.pow(value, 3); +const easeInOutCubic = value => value < 0.5 + ? cubic(value * 2) / 2 + : 1 - cubic((1 - value) * 2) / 2; + +export default { + name: 'ElBacktop', + + props: { + visibilityHeight: { + type: Number, + default: 200 + }, + target: [String], + right: { + type: Number, + default: 40 + }, + bottom: { + type: Number, + default: 40 + } + }, + + data() { + return { + el: null, + container: null, + visible: false + }; + }, + + computed: { + styleBottom() { + return `${this.bottom}px`; + }, + styleRight() { + return `${this.right}px`; + } + }, + + mounted() { + this.init(); + this.throttledScrollHandler = throttle(300, this.onScroll); + this.container.addEventListener('scroll', this.throttledScrollHandler); + }, + + methods: { + init() { + this.container = document; + this.el = document.documentElement; + if (this.target) { + this.el = document.querySelector(this.target); + if (!this.el) { + throw new Error(`target is not existed: ${this.target}`); + } + this.container = this.el; + } + }, + onScroll() { + const scrollTop = this.el.scrollTop; + this.visible = scrollTop >= this.visibilityHeight; + }, + handleClick(e) { + this.scrollToTop(); + this.$emit('click', e); + }, + scrollToTop() { + const el = this.el; + const beginTime = Date.now(); + const beginValue = el.scrollTop; + const rAF = window.requestAnimationFrame || (func => setTimeout(func, 16)); + const frameFunc = () => { + const progress = (Date.now() - beginTime) / 500; + if (progress < 1) { + el.scrollTop = beginValue * (1 - easeInOutCubic(progress)); + rAF(frameFunc); + } else { + el.scrollTop = 0; + } + }; + rAF(frameFunc); + } + }, + + beforeDestroy() { + this.container.removeEventListener('scroll', this.throttledScrollHandler); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/badge/index.js b/PAMapp/local_modules/element-ui/packages/badge/index.js new file mode 100644 index 0000000..3d5c724 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/badge/index.js @@ -0,0 +1,8 @@ +import Badge from './src/main'; + +/* istanbul ignore next */ +Badge.install = function(Vue) { + Vue.component(Badge.name, Badge); +}; + +export default Badge; diff --git a/PAMapp/local_modules/element-ui/packages/badge/src/main.vue b/PAMapp/local_modules/element-ui/packages/badge/src/main.vue new file mode 100644 index 0000000..fb3051d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/badge/src/main.vue @@ -0,0 +1,53 @@ +<template> + <div class="el-badge"> + <slot></slot> + <transition name="el-zoom-in-center"> + <sup + v-show="!hidden && (content || content === 0 || isDot)" + v-text="content" + class="el-badge__content" + :class="[ + type ? 'el-badge__content--' + type : null, + { + 'is-fixed': $slots.default, + 'is-dot': isDot + } + ]"> + </sup> + </transition> + </div> +</template> + +<script> +export default { + name: 'ElBadge', + + props: { + value: [String, Number], + max: Number, + isDot: Boolean, + hidden: Boolean, + type: { + type: String, + validator(val) { + return ['primary', 'success', 'warning', 'info', 'danger'].indexOf(val) > -1; + } + } + }, + + computed: { + content() { + if (this.isDot) return; + + const value = this.value; + const max = this.max; + + if (typeof value === 'number' && typeof max === 'number') { + return max < value ? `${max}+` : value; + } + + return value; + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/breadcrumb-item/index.js b/PAMapp/local_modules/element-ui/packages/breadcrumb-item/index.js new file mode 100644 index 0000000..0fa8bd7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/breadcrumb-item/index.js @@ -0,0 +1,8 @@ +import ElBreadcrumbItem from '../breadcrumb/src/breadcrumb-item'; + +/* istanbul ignore next */ +ElBreadcrumbItem.install = function(Vue) { + Vue.component(ElBreadcrumbItem.name, ElBreadcrumbItem); +}; + +export default ElBreadcrumbItem; diff --git a/PAMapp/local_modules/element-ui/packages/breadcrumb/index.js b/PAMapp/local_modules/element-ui/packages/breadcrumb/index.js new file mode 100644 index 0000000..e964011 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/breadcrumb/index.js @@ -0,0 +1,8 @@ +import ElBreadcrumb from './src/breadcrumb'; + +/* istanbul ignore next */ +ElBreadcrumb.install = function(Vue) { + Vue.component(ElBreadcrumb.name, ElBreadcrumb); +}; + +export default ElBreadcrumb; diff --git a/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb-item.vue b/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb-item.vue new file mode 100644 index 0000000..6053da0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb-item.vue @@ -0,0 +1,41 @@ +<template> + <span class="el-breadcrumb__item"> + <span + :class="['el-breadcrumb__inner', to ? 'is-link' : '']" + ref="link" + role="link"> + <slot></slot> + </span> + <i v-if="separatorClass" class="el-breadcrumb__separator" :class="separatorClass"></i> + <span v-else class="el-breadcrumb__separator" role="presentation">{{separator}}</span> + </span> +</template> +<script> + export default { + name: 'ElBreadcrumbItem', + props: { + to: {}, + replace: Boolean + }, + data() { + return { + separator: '', + separatorClass: '' + }; + }, + + inject: ['elBreadcrumb'], + + mounted() { + this.separator = this.elBreadcrumb.separator; + this.separatorClass = this.elBreadcrumb.separatorClass; + const link = this.$refs.link; + link.setAttribute('role', 'link'); + link.addEventListener('click', _ => { + const { to, $router } = this; + if (!to || !$router) return; + this.replace ? $router.replace(to) : $router.push(to); + }); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb.vue b/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb.vue new file mode 100644 index 0000000..c5d0f02 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/breadcrumb/src/breadcrumb.vue @@ -0,0 +1,34 @@ +<template> + <div class="el-breadcrumb" aria-label="Breadcrumb" role="navigation"> + <slot></slot> + </div> +</template> +<script> + export default { + name: 'ElBreadcrumb', + + props: { + separator: { + type: String, + default: '/' + }, + separatorClass: { + type: String, + default: '' + } + }, + + provide() { + return { + elBreadcrumb: this + }; + }, + + mounted() { + const items = this.$el.querySelectorAll('.el-breadcrumb__item'); + if (items.length) { + items[items.length - 1].setAttribute('aria-current', 'page'); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/button-group/index.js b/PAMapp/local_modules/element-ui/packages/button-group/index.js new file mode 100644 index 0000000..79a6012 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/button-group/index.js @@ -0,0 +1,8 @@ +import ElButtonGroup from '../button/src/button-group'; + +/* istanbul ignore next */ +ElButtonGroup.install = function(Vue) { + Vue.component(ElButtonGroup.name, ElButtonGroup); +}; + +export default ElButtonGroup; diff --git a/PAMapp/local_modules/element-ui/packages/button/index.js b/PAMapp/local_modules/element-ui/packages/button/index.js new file mode 100644 index 0000000..3b70ce4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/button/index.js @@ -0,0 +1,8 @@ +import ElButton from './src/button'; + +/* istanbul ignore next */ +ElButton.install = function(Vue) { + Vue.component(ElButton.name, ElButton); +}; + +export default ElButton; diff --git a/PAMapp/local_modules/element-ui/packages/button/src/button-group.vue b/PAMapp/local_modules/element-ui/packages/button/src/button-group.vue new file mode 100644 index 0000000..5aace90 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/button/src/button-group.vue @@ -0,0 +1,10 @@ +<template> + <div class="el-button-group"> + <slot></slot> + </div> +</template> +<script> + export default { + name: 'ElButtonGroup' + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/button/src/button.vue b/PAMapp/local_modules/element-ui/packages/button/src/button.vue new file mode 100644 index 0000000..6ed8d23 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/button/src/button.vue @@ -0,0 +1,78 @@ +<template> + <button + class="el-button" + @click="handleClick" + :disabled="buttonDisabled || loading" + :autofocus="autofocus" + :type="nativeType" + :class="[ + type ? 'el-button--' + type : '', + buttonSize ? 'el-button--' + buttonSize : '', + { + 'is-disabled': buttonDisabled, + 'is-loading': loading, + 'is-plain': plain, + 'is-round': round, + 'is-circle': circle + } + ]" + > + <i class="el-icon-loading" v-if="loading"></i> + <i :class="icon" v-if="icon && !loading"></i> + <span v-if="$slots.default"><slot></slot></span> + </button> +</template> +<script> + export default { + name: 'ElButton', + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + type: { + type: String, + default: 'default' + }, + size: String, + icon: { + type: String, + default: '' + }, + nativeType: { + type: String, + default: 'button' + }, + loading: Boolean, + disabled: Boolean, + plain: Boolean, + autofocus: Boolean, + round: Boolean, + circle: Boolean + }, + + computed: { + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + buttonSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + buttonDisabled() { + return this.$options.propsData.hasOwnProperty('disabled') ? this.disabled : (this.elForm || {}).disabled; + } + }, + + methods: { + handleClick(evt) { + this.$emit('click', evt); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/calendar/index.js b/PAMapp/local_modules/element-ui/packages/calendar/index.js new file mode 100644 index 0000000..ec79cd9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/calendar/index.js @@ -0,0 +1,8 @@ +import Calendar from './src/main'; + +/* istanbul ignore next */ +Calendar.install = function(Vue) { + Vue.component(Calendar.name, Calendar); +}; + +export default Calendar; diff --git a/PAMapp/local_modules/element-ui/packages/calendar/src/date-table.vue b/PAMapp/local_modules/element-ui/packages/calendar/src/date-table.vue new file mode 100644 index 0000000..aea24e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/calendar/src/date-table.vue @@ -0,0 +1,200 @@ +<script> +import fecha from 'element-ui/src/utils/date'; +import { range as rangeArr, getFirstDayOfMonth, getPrevMonthLastDays, getMonthDays, getI18nSettings, validateRangeInOneMonth } from 'element-ui/src/utils/date-util'; + +export default { + props: { + selectedDay: String, // formated date yyyy-MM-dd + range: { + type: Array, + validator(val) { + if (!(val && val.length)) return true; + const [start, end] = val; + return validateRangeInOneMonth(start, end); + } + }, + date: Date, + hideHeader: Boolean, + firstDayOfWeek: Number + }, + + inject: ['elCalendar'], + + methods: { + toNestedArr(days) { + return rangeArr(days.length / 7).map((_, index) => { + const start = index * 7; + return days.slice(start, start + 7); + }); + }, + + getFormateDate(day, type) { + if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) { + throw new Error('invalid day or type'); + } + let prefix = this.curMonthDatePrefix; + if (type === 'prev') { + prefix = this.prevMonthDatePrefix; + } else if (type === 'next') { + prefix = this.nextMonthDatePrefix; + } + day = `00${day}`.slice(-2); + return `${prefix}-${day}`; + }, + + getCellClass({ text, type}) { + const classes = [type]; + if (type === 'current') { + const date = this.getFormateDate(text, type); + if (date === this.selectedDay) { + classes.push('is-selected'); + } + if (date === this.formatedToday) { + classes.push('is-today'); + } + } + return classes; + }, + + pickDay({ text, type }) { + const date = this.getFormateDate(text, type); + this.$emit('pick', date); + }, + + cellRenderProxy({ text, type }) { + let render = this.elCalendar.$scopedSlots.dateCell; + if (!render) return <span>{ text }</span>; + + const day = this.getFormateDate(text, type); + const date = new Date(day); + const data = { + isSelected: this.selectedDay === day, + type: `${type}-month`, + day + }; + return render({ date, data }); + } + }, + + computed: { + WEEK_DAYS() { + return getI18nSettings().dayNames; + }, + prevMonthDatePrefix() { + const temp = new Date(this.date.getTime()); + temp.setDate(0); + return fecha.format(temp, 'yyyy-MM'); + }, + + curMonthDatePrefix() { + return fecha.format(this.date, 'yyyy-MM'); + }, + + nextMonthDatePrefix() { + const temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return fecha.format(temp, 'yyyy-MM'); + }, + + formatedToday() { + return this.elCalendar.formatedToday; + }, + + isInRange() { + return this.range && this.range.length; + }, + + rows() { + let days = []; + // if range exists, should render days in range. + if (this.isInRange) { + const [start, end] = this.range; + const currentMonthRange = rangeArr(end.getDate() - start.getDate() + 1).map((_, index) => ({ + text: start.getDate() + index, + type: 'current' + })); + let remaining = currentMonthRange.length % 7; + remaining = remaining === 0 ? 0 : 7 - remaining; + const nextMonthRange = rangeArr(remaining).map((_, index) => ({ + text: index + 1, + type: 'next' + })); + days = currentMonthRange.concat(nextMonthRange); + } else { + const date = this.date; + let firstDay = getFirstDayOfMonth(date); + firstDay = firstDay === 0 ? 7 : firstDay; + const firstDayOfWeek = typeof this.firstDayOfWeek === 'number' ? this.firstDayOfWeek : 1; + const offset = (7 + firstDay - firstDayOfWeek) % 7; + const prevMonthDays = getPrevMonthLastDays(date, offset).map(day => ({ + text: day, + type: 'prev' + })); + const currentMonthDays = getMonthDays(date).map(day => ({ + text: day, + type: 'current' + })); + days = [...prevMonthDays, ...currentMonthDays]; + const nextMonthDays = rangeArr(42 - days.length).map((_, index) => ({ + text: index + 1, + type: 'next' + })); + days = days.concat(nextMonthDays); + } + return this.toNestedArr(days); + }, + + weekDays() { + const start = this.firstDayOfWeek; + const { WEEK_DAYS } = this; + + if (typeof start !== 'number' || start === 0) { + return WEEK_DAYS.slice(); + } else { + return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0, start)); + } + } + }, + + render() { + const thead = this.hideHeader ? null : (<thead> + { + this.weekDays.map(day => <th key={day}>{ day }</th>) + } + </thead>); + return ( + <table + class={{ + 'el-calendar-table': true, + 'is-range': this.isInRange + }} + cellspacing="0" + cellpadding="0"> + { + thead + } + <tbody> + { + this.rows.map((row, index) => <tr + class={{ + 'el-calendar-table__row': true, + 'el-calendar-table__row--hide-border': index === 0 && this.hideHeader + }} + key={index}> + { + row.map((cell, key) => <td key={key} + class={ this.getCellClass(cell) } + onClick={this.pickDay.bind(this, cell)}> + <div class="el-calendar-day"> + { + this.cellRenderProxy(cell) + } + </div> + </td>) + } + </tr>) + } + </tbody> + </table>); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/calendar/src/main.vue b/PAMapp/local_modules/element-ui/packages/calendar/src/main.vue new file mode 100644 index 0000000..268b167 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/calendar/src/main.vue @@ -0,0 +1,280 @@ +<template> + <div class="el-calendar"> + <div class="el-calendar__header"> + <div class="el-calendar__title"> + {{ i18nDate }} + </div> + <div + class="el-calendar__button-group" + v-if="validatedRange.length === 0"> + <el-button-group> + <el-button + type="plain" + size="mini" + @click="selectDate('prev-month')"> + {{ t('el.datepicker.prevMonth') }} + </el-button> + <el-button + type="plain" + size="mini" + @click="selectDate('today')"> + {{ t('el.datepicker.today') }} + </el-button> + <el-button + type="plain" + size="mini" + @click="selectDate('next-month')"> + {{ t('el.datepicker.nextMonth') }} + </el-button> + </el-button-group> + </div> + </div> + <div + class="el-calendar__body" + v-if="validatedRange.length === 0" + key="no-range"> + <date-table + :date="date" + :selected-day="realSelectedDay" + :first-day-of-week="realFirstDayOfWeek" + @pick="pickDay" /> + </div> + <div + v-else + class="el-calendar__body" + key="has-range"> + <date-table + v-for="(range, index) in validatedRange" + :key="index" + :date="range[0]" + :selected-day="realSelectedDay" + :range="range" + :hide-header="index !== 0" + :first-day-of-week="realFirstDayOfWeek" + @pick="pickDay" /> + </div> + </div> +</template> + +<script> +import Locale from 'element-ui/src/mixins/locale'; +import fecha from 'element-ui/src/utils/date'; +import ElButton from 'element-ui/packages/button'; +import ElButtonGroup from 'element-ui/packages/button-group'; +import DateTable from './date-table'; +import { validateRangeInOneMonth } from 'element-ui/src/utils/date-util'; + +const validTypes = ['prev-month', 'today', 'next-month']; +const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; +const oneDay = 86400000; + +export default { + name: 'ElCalendar', + + mixins: [Locale], + + components: { + DateTable, + ElButton, + ElButtonGroup + }, + + props: { + value: [Date, String, Number], + range: { + type: Array, + validator(range) { + if (Array.isArray(range)) { + return range.length === 2 && range.every( + item => typeof item === 'string' || + typeof item === 'number' || + item instanceof Date); + } else { + return true; + } + } + }, + firstDayOfWeek: { + type: Number, + default: 1 + } + }, + + provide() { + return { + elCalendar: this + }; + }, + + methods: { + pickDay(day) { + this.realSelectedDay = day; + }, + + selectDate(type) { + if (validTypes.indexOf(type) === -1) { + throw new Error(`invalid type ${type}`); + } + let day = ''; + if (type === 'prev-month') { + day = `${this.prevMonthDatePrefix}-01`; + } else if (type === 'next-month') { + day = `${this.nextMonthDatePrefix}-01`; + } else { + day = this.formatedToday; + } + + if (day === this.formatedDate) return; + this.pickDay(day); + }, + + toDate(val) { + if (!val) { + throw new Error('invalid val'); + } + return val instanceof Date ? val : new Date(val); + }, + + rangeValidator(date, isStart) { + const firstDayOfWeek = this.realFirstDayOfWeek; + const expected = isStart ? firstDayOfWeek : (firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1); + const message = `${isStart ? 'start' : 'end'} of range should be ${weekDays[expected]}.`; + if (date.getDay() !== expected) { + console.warn('[ElementCalendar]', message, 'Invalid range will be ignored.'); + return false; + } + return true; + } + }, + + computed: { + prevMonthDatePrefix() { + const temp = new Date(this.date.getTime()); + temp.setDate(0); + return fecha.format(temp, 'yyyy-MM'); + }, + + curMonthDatePrefix() { + return fecha.format(this.date, 'yyyy-MM'); + }, + + nextMonthDatePrefix() { + const temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1); + return fecha.format(temp, 'yyyy-MM'); + }, + + formatedDate() { + return fecha.format(this.date, 'yyyy-MM-dd'); + }, + + i18nDate() { + const year = this.date.getFullYear(); + const month = this.date.getMonth() + 1; + return `${year} ${this.t('el.datepicker.year')} ${this.t('el.datepicker.month' + month)}`; + }, + + formatedToday() { + return fecha.format(this.now, 'yyyy-MM-dd'); + }, + + realSelectedDay: { + get() { + if (!this.value) return this.selectedDay; + return this.formatedDate; + }, + set(val) { + this.selectedDay = val; + const date = new Date(val); + this.$emit('input', date); + } + }, + + date() { + if (!this.value) { + if (this.realSelectedDay) { + const d = this.selectedDay.split('-'); + return new Date(d[0], d[1] - 1, d[2]); + } else if (this.validatedRange.length) { + return this.validatedRange[0][0]; + } + return this.now; + } else { + return this.toDate(this.value); + } + }, + + // if range is valid, we get a two-digit array + validatedRange() { + let range = this.range; + if (!range) return []; + range = range.reduce((prev, val, index) => { + const date = this.toDate(val); + if (this.rangeValidator(date, index === 0)) { + prev = prev.concat(date); + } + return prev; + }, []); + if (range.length === 2) { + const [start, end] = range; + if (start > end) { + console.warn('[ElementCalendar]end time should be greater than start time'); + return []; + } + // start time and end time in one month + if (validateRangeInOneMonth(start, end)) { + return [ + [start, end] + ]; + } + const data = []; + let startDay = new Date(start.getFullYear(), start.getMonth() + 1, 1); + const lastDay = this.toDate(startDay.getTime() - oneDay); + if (!validateRangeInOneMonth(startDay, end)) { + console.warn('[ElementCalendar]start time and end time interval must not exceed two months'); + return []; + } + // 蝚砌�銝芣����� + data.push([ + start, + lastDay + ]); + // 銝�������嚗�閬恣蝞�銝砲���洵銝�銝芸韏瑕� + const firstDayOfWeek = this.realFirstDayOfWeek; + const nextMontFirstDay = startDay.getDay(); + let interval = 0; + if (nextMontFirstDay !== firstDayOfWeek) { + if (firstDayOfWeek === 0) { + interval = 7 - nextMontFirstDay; + } else { + interval = firstDayOfWeek - nextMontFirstDay; + interval = interval > 0 ? interval : 7 + interval; + } + } + startDay = this.toDate(startDay.getTime() + interval * oneDay); + if (startDay.getDate() < end.getDate()) { + data.push([ + startDay, + end + ]); + } + return data; + } + return []; + }, + + realFirstDayOfWeek() { + if (this.firstDayOfWeek < 1 || this.firstDayOfWeek > 6) { + return 0; + } + return Math.floor(this.firstDayOfWeek); + } + }, + + data() { + return { + selectedDay: '', + now: new Date() + }; + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/card/index.js b/PAMapp/local_modules/element-ui/packages/card/index.js new file mode 100644 index 0000000..afd277b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/card/index.js @@ -0,0 +1,8 @@ +import Card from './src/main'; + +/* istanbul ignore next */ +Card.install = function(Vue) { + Vue.component(Card.name, Card); +}; + +export default Card; diff --git a/PAMapp/local_modules/element-ui/packages/card/src/main.vue b/PAMapp/local_modules/element-ui/packages/card/src/main.vue new file mode 100644 index 0000000..81e27c1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/card/src/main.vue @@ -0,0 +1,23 @@ +<template> + <div class="el-card" :class="shadow ? 'is-' + shadow + '-shadow' : 'is-always-shadow'"> + <div class="el-card__header" v-if="$slots.header || header"> + <slot name="header">{{ header }}</slot> + </div> + <div class="el-card__body" :style="bodyStyle"> + <slot></slot> + </div> + </div> +</template> + +<script> + export default { + name: 'ElCard', + props: { + header: {}, + bodyStyle: {}, + shadow: { + type: String + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/carousel-item/index.js b/PAMapp/local_modules/element-ui/packages/carousel-item/index.js new file mode 100644 index 0000000..dd6a659 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/carousel-item/index.js @@ -0,0 +1,8 @@ +import ElCarouselItem from '../carousel/src/item'; + +/* istanbul ignore next */ +ElCarouselItem.install = function(Vue) { + Vue.component(ElCarouselItem.name, ElCarouselItem); +}; + +export default ElCarouselItem; diff --git a/PAMapp/local_modules/element-ui/packages/carousel/index.js b/PAMapp/local_modules/element-ui/packages/carousel/index.js new file mode 100644 index 0000000..4987e33 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/carousel/index.js @@ -0,0 +1,8 @@ +import Carousel from './src/main'; + +/* istanbul ignore next */ +Carousel.install = function(Vue) { + Vue.component(Carousel.name, Carousel); +}; + +export default Carousel; diff --git a/PAMapp/local_modules/element-ui/packages/carousel/src/item.vue b/PAMapp/local_modules/element-ui/packages/carousel/src/item.vue new file mode 100644 index 0000000..88b5a8e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/carousel/src/item.vue @@ -0,0 +1,138 @@ +<template> + <div + v-show="ready" + class="el-carousel__item" + :class="{ + 'is-active': active, + 'el-carousel__item--card': $parent.type === 'card', + 'is-in-stage': inStage, + 'is-hover': hover, + 'is-animating': animating + }" + @click="handleItemClick" + :style="itemStyle"> + <div + v-if="$parent.type === 'card'" + v-show="!active" + class="el-carousel__mask"> + </div> + <slot></slot> + </div> +</template> + +<script> + import { autoprefixer } from 'element-ui/src/utils/util'; + const CARD_SCALE = 0.83; + export default { + name: 'ElCarouselItem', + + props: { + name: String, + label: { + type: [String, Number], + default: '' + } + }, + + data() { + return { + hover: false, + translate: 0, + scale: 1, + active: false, + ready: false, + inStage: false, + animating: false + }; + }, + + methods: { + processIndex(index, activeIndex, length) { + if (activeIndex === 0 && index === length - 1) { + return -1; + } else if (activeIndex === length - 1 && index === 0) { + return length; + } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) { + return length + 1; + } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) { + return -2; + } + return index; + }, + + calcCardTranslate(index, activeIndex) { + const parentWidth = this.$parent.$el.offsetWidth; + if (this.inStage) { + return parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1) / 4; + } else if (index < activeIndex) { + return -(1 + CARD_SCALE) * parentWidth / 4; + } else { + return (3 + CARD_SCALE) * parentWidth / 4; + } + }, + + calcTranslate(index, activeIndex, isVertical) { + const distance = this.$parent.$el[isVertical ? 'offsetHeight' : 'offsetWidth']; + return distance * (index - activeIndex); + }, + + translateItem(index, activeIndex, oldIndex) { + const parentType = this.$parent.type; + const parentDirection = this.parentDirection; + const length = this.$parent.items.length; + if (parentType !== 'card' && oldIndex !== undefined) { + this.animating = index === activeIndex || index === oldIndex; + } + if (index !== activeIndex && length > 2 && this.$parent.loop) { + index = this.processIndex(index, activeIndex, length); + } + if (parentType === 'card') { + if (parentDirection === 'vertical') { + console.warn('[Element Warn][Carousel]vertical direction is not supported in card mode'); + } + this.inStage = Math.round(Math.abs(index - activeIndex)) <= 1; + this.active = index === activeIndex; + this.translate = this.calcCardTranslate(index, activeIndex); + this.scale = this.active ? 1 : CARD_SCALE; + } else { + this.active = index === activeIndex; + const isVertical = parentDirection === 'vertical'; + this.translate = this.calcTranslate(index, activeIndex, isVertical); + this.scale = 1; + } + this.ready = true; + }, + + handleItemClick() { + const parent = this.$parent; + if (parent && parent.type === 'card') { + const index = parent.items.indexOf(this); + parent.setActiveItem(index); + } + } + }, + + computed: { + parentDirection() { + return this.$parent.direction; + }, + + itemStyle() { + const translateType = this.parentDirection === 'vertical' ? 'translateY' : 'translateX'; + const value = `${translateType}(${ this.translate }px) scale(${ this.scale })`; + const style = { + transform: value + }; + return autoprefixer(style); + } + }, + + created() { + this.$parent && this.$parent.updateItems(); + }, + + destroyed() { + this.$parent && this.$parent.updateItems(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/carousel/src/main.vue b/PAMapp/local_modules/element-ui/packages/carousel/src/main.vue new file mode 100644 index 0000000..197cb83 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/carousel/src/main.vue @@ -0,0 +1,315 @@ +<template> + <div + :class="carouselClasses" + @mouseenter.stop="handleMouseEnter" + @mouseleave.stop="handleMouseLeave"> + <div + class="el-carousel__container" + :style="{ height: height }"> + <transition + v-if="arrowDisplay" + name="carousel-arrow-left"> + <button + type="button" + v-show="(arrow === 'always' || hover) && (loop || activeIndex > 0)" + @mouseenter="handleButtonEnter('left')" + @mouseleave="handleButtonLeave" + @click.stop="throttledArrowClick(activeIndex - 1)" + class="el-carousel__arrow el-carousel__arrow--left"> + <i class="el-icon-arrow-left"></i> + </button> + </transition> + <transition + v-if="arrowDisplay" + name="carousel-arrow-right"> + <button + type="button" + v-show="(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)" + @mouseenter="handleButtonEnter('right')" + @mouseleave="handleButtonLeave" + @click.stop="throttledArrowClick(activeIndex + 1)" + class="el-carousel__arrow el-carousel__arrow--right"> + <i class="el-icon-arrow-right"></i> + </button> + </transition> + <slot></slot> + </div> + <ul + v-if="indicatorPosition !== 'none'" + :class="indicatorsClasses"> + <li + v-for="(item, index) in items" + :key="index" + :class="[ + 'el-carousel__indicator', + 'el-carousel__indicator--' + direction, + { 'is-active': index === activeIndex }]" + @mouseenter="throttledIndicatorHover(index)" + @click.stop="handleIndicatorClick(index)"> + <button class="el-carousel__button"> + <span v-if="hasLabel">{{ item.label }}</span> + </button> + </li> + </ul> + </div> +</template> + +<script> +import throttle from 'throttle-debounce/throttle'; +import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; + +export default { + name: 'ElCarousel', + + props: { + initialIndex: { + type: Number, + default: 0 + }, + height: String, + trigger: { + type: String, + default: 'hover' + }, + autoplay: { + type: Boolean, + default: true + }, + interval: { + type: Number, + default: 3000 + }, + indicatorPosition: String, + indicator: { + type: Boolean, + default: true + }, + arrow: { + type: String, + default: 'hover' + }, + type: String, + loop: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'horizontal', + validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + } + }, + + data() { + return { + items: [], + activeIndex: -1, + containerWidth: 0, + timer: null, + hover: false + }; + }, + + computed: { + arrowDisplay() { + return this.arrow !== 'never' && this.direction !== 'vertical'; + }, + + hasLabel() { + return this.items.some(item => item.label.toString().length > 0); + }, + + carouselClasses() { + const classes = ['el-carousel', 'el-carousel--' + this.direction]; + if (this.type === 'card') { + classes.push('el-carousel--card'); + } + return classes; + }, + + indicatorsClasses() { + const classes = ['el-carousel__indicators', 'el-carousel__indicators--' + this.direction]; + if (this.hasLabel) { + classes.push('el-carousel__indicators--labels'); + } + if (this.indicatorPosition === 'outside' || this.type === 'card') { + classes.push('el-carousel__indicators--outside'); + } + return classes; + } + }, + + watch: { + items(val) { + if (val.length > 0) this.setActiveItem(this.initialIndex); + }, + + activeIndex(val, oldVal) { + this.resetItemPosition(oldVal); + if (oldVal > -1) { + this.$emit('change', val, oldVal); + } + }, + + autoplay(val) { + val ? this.startTimer() : this.pauseTimer(); + }, + + loop() { + this.setActiveItem(this.activeIndex); + }, + + interval() { + this.pauseTimer(); + this.startTimer(); + } + }, + + methods: { + handleMouseEnter() { + this.hover = true; + this.pauseTimer(); + }, + + handleMouseLeave() { + this.hover = false; + this.startTimer(); + }, + + itemInStage(item, index) { + const length = this.items.length; + if (index === length - 1 && item.inStage && this.items[0].active || + (item.inStage && this.items[index + 1] && this.items[index + 1].active)) { + return 'left'; + } else if (index === 0 && item.inStage && this.items[length - 1].active || + (item.inStage && this.items[index - 1] && this.items[index - 1].active)) { + return 'right'; + } + return false; + }, + + handleButtonEnter(arrow) { + if (this.direction === 'vertical') return; + this.items.forEach((item, index) => { + if (arrow === this.itemInStage(item, index)) { + item.hover = true; + } + }); + }, + + handleButtonLeave() { + if (this.direction === 'vertical') return; + this.items.forEach(item => { + item.hover = false; + }); + }, + + updateItems() { + this.items = this.$children.filter(child => child.$options.name === 'ElCarouselItem'); + }, + + resetItemPosition(oldIndex) { + this.items.forEach((item, index) => { + item.translateItem(index, this.activeIndex, oldIndex); + }); + }, + + playSlides() { + if (this.activeIndex < this.items.length - 1) { + this.activeIndex++; + } else if (this.loop) { + this.activeIndex = 0; + } + }, + + pauseTimer() { + if (this.timer) { + clearInterval(this.timer); + this.timer = null; + } + }, + + startTimer() { + if (this.interval <= 0 || !this.autoplay || this.timer) return; + this.timer = setInterval(this.playSlides, this.interval); + }, + + resetTimer() { + this.pauseTimer(); + this.startTimer(); + }, + + setActiveItem(index) { + if (typeof index === 'string') { + const filteredItems = this.items.filter(item => item.name === index); + if (filteredItems.length > 0) { + index = this.items.indexOf(filteredItems[0]); + } + } + index = Number(index); + if (isNaN(index) || index !== Math.floor(index)) { + console.warn('[Element Warn][Carousel]index must be an integer.'); + return; + } + let length = this.items.length; + const oldIndex = this.activeIndex; + if (index < 0) { + this.activeIndex = this.loop ? length - 1 : 0; + } else if (index >= length) { + this.activeIndex = this.loop ? 0 : length - 1; + } else { + this.activeIndex = index; + } + if (oldIndex === this.activeIndex) { + this.resetItemPosition(oldIndex); + } + this.resetTimer(); + }, + + prev() { + this.setActiveItem(this.activeIndex - 1); + }, + + next() { + this.setActiveItem(this.activeIndex + 1); + }, + + handleIndicatorClick(index) { + this.activeIndex = index; + }, + + handleIndicatorHover(index) { + if (this.trigger === 'hover' && index !== this.activeIndex) { + this.activeIndex = index; + } + } + }, + + created() { + this.throttledArrowClick = throttle(300, true, index => { + this.setActiveItem(index); + }); + this.throttledIndicatorHover = throttle(300, index => { + this.handleIndicatorHover(index); + }); + }, + + mounted() { + this.updateItems(); + this.$nextTick(() => { + addResizeListener(this.$el, this.resetItemPosition); + if (this.initialIndex < this.items.length && this.initialIndex >= 0) { + this.activeIndex = this.initialIndex; + } + this.startTimer(); + }); + }, + + beforeDestroy() { + if (this.$el) removeResizeListener(this.$el, this.resetItemPosition); + this.pauseTimer(); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/index.js b/PAMapp/local_modules/element-ui/packages/cascader-panel/index.js new file mode 100644 index 0000000..ceade94 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/index.js @@ -0,0 +1,8 @@ +import CascaderPanel from './src/cascader-panel'; + +/* istanbul ignore next */ +CascaderPanel.install = function(Vue) { + Vue.component(CascaderPanel.name, CascaderPanel); +}; + +export default CascaderPanel; diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-menu.vue b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-menu.vue new file mode 100644 index 0000000..c7977e0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-menu.vue @@ -0,0 +1,138 @@ +<script> +import ElScrollbar from 'element-ui/packages/scrollbar'; +import CascaderNode from './cascader-node.vue'; +import Locale from 'element-ui/src/mixins/locale'; +import { generateId } from 'element-ui/src/utils/util'; + +export default { + name: 'ElCascaderMenu', + + mixins: [Locale], + + inject: ['panel'], + + components: { + ElScrollbar, + CascaderNode + }, + + props: { + nodes: { + type: Array, + required: true + }, + index: Number + }, + + data() { + return { + activeNode: null, + hoverTimer: null, + id: generateId() + }; + }, + + computed: { + isEmpty() { + return !this.nodes.length; + }, + menuId() { + return `cascader-menu-${this.id}-${this.index}`; + } + }, + + methods: { + handleExpand(e) { + this.activeNode = e.target; + }, + handleMouseMove(e) { + const { activeNode, hoverTimer } = this; + const { hoverZone } = this.$refs; + + if (!activeNode || !hoverZone) return; + + if (activeNode.contains(e.target)) { + clearTimeout(hoverTimer); + + const { left } = this.$el.getBoundingClientRect(); + const startX = e.clientX - left; + const { offsetWidth, offsetHeight } = this.$el; + const top = activeNode.offsetTop; + const bottom = top + activeNode.offsetHeight; + + hoverZone.innerHTML = ` + <path style="pointer-events: auto;" fill="transparent" d="M${startX} ${top} L${offsetWidth} 0 V${top} Z" /> + <path style="pointer-events: auto;" fill="transparent" d="M${startX} ${bottom} L${offsetWidth} ${offsetHeight} V${bottom} Z" /> + `; + } else if (!hoverTimer) { + this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold); + } + }, + clearHoverZone() { + const { hoverZone } = this.$refs; + if (!hoverZone) return; + hoverZone.innerHTML = ''; + }, + + renderEmptyText(h) { + return ( + <div class="el-cascader-menu__empty-text">{ this.t('el.cascader.noData') }</div> + ); + }, + renderNodeList(h) { + const { menuId } = this; + const { isHoverMenu } = this.panel; + const events = { on: {} }; + + if (isHoverMenu) { + events.on.expand = this.handleExpand; + } + + const nodes = this.nodes.map((node, index) => { + const { hasChildren } = node; + return ( + <cascader-node + key={ node.uid } + node={ node } + node-id={ `${menuId}-${index}` } + aria-haspopup={ hasChildren } + aria-owns = { hasChildren ? menuId : null } + { ...events }></cascader-node> + ); + }); + + return [ + ...nodes, + isHoverMenu ? <svg ref='hoverZone' class='el-cascader-menu__hover-zone'></svg> : null + ]; + } + }, + + render(h) { + const { isEmpty, menuId } = this; + const events = { nativeOn: {} }; + + // optimize hover to expand experience (#8010) + if (this.panel.isHoverMenu) { + events.nativeOn.mousemove = this.handleMouseMove; + // events.nativeOn.mouseleave = this.clearHoverZone; + } + + return ( + <el-scrollbar + tag="ul" + role="menu" + id={ menuId } + class="el-cascader-menu" + wrap-class="el-cascader-menu__wrap" + view-class={{ + 'el-cascader-menu__list': true, + 'is-empty': isEmpty + }} + { ...events }> + { isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h) } + </el-scrollbar> + ); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-node.vue b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-node.vue new file mode 100644 index 0000000..360f588 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-node.vue @@ -0,0 +1,246 @@ +<script> + import ElCheckbox from 'element-ui/packages/checkbox'; + import ElRadio from 'element-ui/packages/radio'; + import { isEqual } from 'element-ui/src/utils/util'; + + const stopPropagation = e => e.stopPropagation(); + + export default { + inject: ['panel'], + + components: { + ElCheckbox, + ElRadio + }, + + props: { + node: { + required: true + }, + nodeId: String + }, + + computed: { + config() { + return this.panel.config; + }, + isLeaf() { + return this.node.isLeaf; + }, + isDisabled() { + return this.node.isDisabled; + }, + checkedValue() { + return this.panel.checkedValue; + }, + isChecked() { + return this.node.isSameNode(this.checkedValue); + }, + inActivePath() { + return this.isInPath(this.panel.activePath); + }, + inCheckedPath() { + if (!this.config.checkStrictly) return false; + + return this.panel.checkedNodePaths + .some(checkedPath => this.isInPath(checkedPath)); + }, + value() { + return this.node.getValueByOption(); + } + }, + + methods: { + handleExpand() { + const { panel, node, isDisabled, config } = this; + const { multiple, checkStrictly } = config; + + if (!checkStrictly && isDisabled || node.loading) return; + + if (config.lazy && !node.loaded) { + panel.lazyLoad(node, () => { + // do not use cached leaf value here, invoke this.isLeaf to get new value. + const { isLeaf } = this; + + if (!isLeaf) this.handleExpand(); + if (multiple) { + // if leaf sync checked state, else clear checked state + const checked = isLeaf ? node.checked : false; + this.handleMultiCheckChange(checked); + } + }); + } else { + panel.handleExpand(node); + } + }, + + handleCheckChange() { + const { panel, value, node } = this; + panel.handleCheckChange(value); + panel.handleExpand(node); + }, + + handleMultiCheckChange(checked) { + this.node.doCheck(checked); + this.panel.calculateMultiCheckedValue(); + }, + + isInPath(pathNodes) { + const { node } = this; + const selectedPathNode = pathNodes[node.level - 1] || {}; + return selectedPathNode.uid === node.uid; + }, + + renderPrefix(h) { + const { isLeaf, isChecked, config } = this; + const { checkStrictly, multiple } = config; + + if (multiple) { + return this.renderCheckbox(h); + } else if (checkStrictly) { + return this.renderRadio(h); + } else if (isLeaf && isChecked) { + return this.renderCheckIcon(h); + } + + return null; + }, + + renderPostfix(h) { + const { node, isLeaf } = this; + + if (node.loading) { + return this.renderLoadingIcon(h); + } else if (!isLeaf) { + return this.renderExpandIcon(h); + } + + return null; + }, + + renderCheckbox(h) { + const { node, config, isDisabled } = this; + const events = { + on: { change: this.handleMultiCheckChange }, + nativeOn: {} + }; + + if (config.checkStrictly) { // when every node is selectable, click event should not trigger expand event. + events.nativeOn.click = stopPropagation; + } + + return ( + <el-checkbox + value={ node.checked } + indeterminate={ node.indeterminate } + disabled={ isDisabled } + { ...events } + ></el-checkbox> + ); + }, + + renderRadio(h) { + let { checkedValue, value, isDisabled } = this; + + // to keep same reference if value cause radio's checked state is calculated by reference comparision; + if (isEqual(value, checkedValue)) { + value = checkedValue; + } + + return ( + <el-radio + value={ checkedValue } + label={ value } + disabled={ isDisabled } + onChange={ this.handleCheckChange } + nativeOnClick={ stopPropagation }> + {/* add an empty element to avoid render label */} + <span></span> + </el-radio> + ); + }, + + renderCheckIcon(h) { + return ( + <i class="el-icon-check el-cascader-node__prefix"></i> + ); + }, + + renderLoadingIcon(h) { + return ( + <i class="el-icon-loading el-cascader-node__postfix"></i> + ); + }, + + renderExpandIcon(h) { + return ( + <i class="el-icon-arrow-right el-cascader-node__postfix"></i> + ); + }, + + renderContent(h) { + const { panel, node } = this; + const render = panel.renderLabelFn; + const vnode = render + ? render({ node, data: node.data }) + : null; + + return ( + <span class="el-cascader-node__label">{ vnode || node.label }</span> + ); + } + }, + + render(h) { + const { + inActivePath, + inCheckedPath, + isChecked, + isLeaf, + isDisabled, + config, + nodeId + } = this; + const { expandTrigger, checkStrictly, multiple } = config; + const disabled = !checkStrictly && isDisabled; + const events = { on: {} }; + + if (expandTrigger === 'click') { + events.on.click = this.handleExpand; + } else { + events.on.mouseenter = e => { + this.handleExpand(); + this.$emit('expand', e); + }; + events.on.focus = e => { + this.handleExpand(); + this.$emit('expand', e); + }; + } + if (isLeaf && !isDisabled && !checkStrictly && !multiple) { + events.on.click = this.handleCheckChange; + } + + return ( + <li + role="menuitem" + id={ nodeId } + aria-expanded={ inActivePath } + tabindex={ disabled ? null : -1 } + class={{ + 'el-cascader-node': true, + 'is-selectable': checkStrictly, + 'in-active-path': inActivePath, + 'in-checked-path': inCheckedPath, + 'is-active': isChecked, + 'is-disabled': disabled + }} + {...events}> + { this.renderPrefix(h) } + { this.renderContent(h) } + { this.renderPostfix(h) } + </li> + ); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-panel.vue b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-panel.vue new file mode 100644 index 0000000..436b006 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/cascader-panel.vue @@ -0,0 +1,391 @@ +<template> + <div + :class="[ + 'el-cascader-panel', + border && 'is-bordered' + ]" + @keydown="handleKeyDown"> + <cascader-menu + ref="menu" + v-for="(menu, index) in menus" + :index="index" + :key="index" + :nodes="menu"></cascader-menu> + </div> +</template> + +<script> +import CascaderMenu from './cascader-menu'; +import Store from './store'; +import merge from 'element-ui/src/utils/merge'; +import AriaUtils from 'element-ui/src/utils/aria-utils'; +import scrollIntoView from 'element-ui/src/utils/scroll-into-view'; +import { + noop, + coerceTruthyValueToArray, + isEqual, + isEmpty, + valueEquals +} from 'element-ui/src/utils/util'; + +const { keys: KeyCode } = AriaUtils; +const DefaultProps = { + expandTrigger: 'click', // or hover + multiple: false, + checkStrictly: false, // whether all nodes can be selected + emitPath: true, // wether to emit an array of all levels value in which node is located + lazy: false, + lazyLoad: noop, + value: 'value', + label: 'label', + children: 'children', + leaf: 'leaf', + disabled: 'disabled', + hoverThreshold: 500 +}; + +const isLeaf = el => !el.getAttribute('aria-owns'); + +const getSibling = (el, distance) => { + const { parentNode } = el; + if (parentNode) { + const siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex="-1"]'); + const index = Array.prototype.indexOf.call(siblings, el); + return siblings[index + distance] || null; + } + return null; +}; + +const getMenuIndex = (el, distance) => { + if (!el) return; + const pieces = el.id.split('-'); + return Number(pieces[pieces.length - 2]); +}; + +const focusNode = el => { + if (!el) return; + el.focus(); + !isLeaf(el) && el.click(); +}; + +const checkNode = el => { + if (!el) return; + + const input = el.querySelector('input'); + if (input) { + input.click(); + } else if (isLeaf(el)) { + el.click(); + } +}; + +export default { + name: 'ElCascaderPanel', + + components: { + CascaderMenu + }, + + props: { + value: {}, + options: Array, + props: Object, + border: { + type: Boolean, + default: true + }, + renderLabel: Function + }, + + provide() { + return { + panel: this + }; + }, + + data() { + return { + checkedValue: null, + checkedNodePaths: [], + store: [], + menus: [], + activePath: [], + loadCount: 0 + }; + }, + + computed: { + config() { + return merge({ ...DefaultProps }, this.props || {}); + }, + multiple() { + return this.config.multiple; + }, + checkStrictly() { + return this.config.checkStrictly; + }, + leafOnly() { + return !this.checkStrictly; + }, + isHoverMenu() { + return this.config.expandTrigger === 'hover'; + }, + renderLabelFn() { + return this.renderLabel || this.$scopedSlots.default; + } + }, + + watch: { + value() { + this.syncCheckedValue(); + this.checkStrictly && this.calculateCheckedNodePaths(); + }, + options: { + handler: function() { + this.initStore(); + }, + immediate: true, + deep: true + }, + checkedValue(val) { + if (!isEqual(val, this.value)) { + this.checkStrictly && this.calculateCheckedNodePaths(); + this.$emit('input', val); + this.$emit('change', val); + } + } + }, + + mounted() { + if (!this.isEmptyValue(this.value)) { + this.syncCheckedValue(); + } + }, + + methods: { + initStore() { + const { config, options } = this; + if (config.lazy && isEmpty(options)) { + this.lazyLoad(); + } else { + this.store = new Store(options, config); + this.menus = [this.store.getNodes()]; + this.syncMenuState(); + } + }, + syncCheckedValue() { + const { value, checkedValue } = this; + if (!isEqual(value, checkedValue)) { + this.activePath = []; + this.checkedValue = value; + this.syncMenuState(); + } + }, + syncMenuState() { + const { multiple, checkStrictly } = this; + this.syncActivePath(); + multiple && this.syncMultiCheckState(); + checkStrictly && this.calculateCheckedNodePaths(); + this.$nextTick(this.scrollIntoView); + }, + syncMultiCheckState() { + const nodes = this.getFlattedNodes(this.leafOnly); + + nodes.forEach(node => { + node.syncCheckState(this.checkedValue); + }); + }, + isEmptyValue(val) { + const { multiple, config } = this; + const { emitPath } = config; + if (multiple || emitPath) { + return isEmpty(val); + } + return false; + }, + syncActivePath() { + const { store, multiple, activePath, checkedValue } = this; + + if (!isEmpty(activePath)) { + const nodes = activePath.map(node => this.getNodeByValue(node.getValue())); + this.expandNodes(nodes); + } else if (!this.isEmptyValue(checkedValue)) { + const value = multiple ? checkedValue[0] : checkedValue; + const checkedNode = this.getNodeByValue(value) || {}; + const nodes = (checkedNode.pathNodes || []).slice(0, -1); + this.expandNodes(nodes); + } else { + this.activePath = []; + this.menus = [store.getNodes()]; + } + }, + expandNodes(nodes) { + nodes.forEach(node => this.handleExpand(node, true /* silent */)); + }, + calculateCheckedNodePaths() { + const { checkedValue, multiple } = this; + const checkedValues = multiple + ? coerceTruthyValueToArray(checkedValue) + : [ checkedValue ]; + this.checkedNodePaths = checkedValues.map(v => { + const checkedNode = this.getNodeByValue(v); + return checkedNode ? checkedNode.pathNodes : []; + }); + }, + handleKeyDown(e) { + const { target, keyCode } = e; + + switch (keyCode) { + case KeyCode.up: + const prev = getSibling(target, -1); + focusNode(prev); + break; + case KeyCode.down: + const next = getSibling(target, 1); + focusNode(next); + break; + case KeyCode.left: + const preMenu = this.$refs.menu[getMenuIndex(target) - 1]; + if (preMenu) { + const expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded="true"]'); + focusNode(expandedNode); + } + break; + case KeyCode.right: + const nextMenu = this.$refs.menu[getMenuIndex(target) + 1]; + if (nextMenu) { + const firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex="-1"]'); + focusNode(firstNode); + } + break; + case KeyCode.enter: + checkNode(target); + break; + case KeyCode.esc: + case KeyCode.tab: + this.$emit('close'); + break; + default: + return; + } + }, + handleExpand(node, silent) { + const { activePath } = this; + const { level } = node; + const path = activePath.slice(0, level - 1); + const menus = this.menus.slice(0, level); + + if (!node.isLeaf) { + path.push(node); + menus.push(node.children); + } + + this.activePath = path; + this.menus = menus; + + if (!silent) { + const pathValues = path.map(node => node.getValue()); + const activePathValues = activePath.map(node => node.getValue()); + if (!valueEquals(pathValues, activePathValues)) { + this.$emit('active-item-change', pathValues); // Deprecated + this.$emit('expand-change', pathValues); + } + } + }, + handleCheckChange(value) { + this.checkedValue = value; + }, + lazyLoad(node, onFullfiled) { + const { config } = this; + if (!node) { + node = node || { root: true, level: 0 }; + this.store = new Store([], config); + this.menus = [this.store.getNodes()]; + } + node.loading = true; + const resolve = dataList => { + const parent = node.root ? null : node; + dataList && dataList.length && this.store.appendNodes(dataList, parent); + node.loading = false; + node.loaded = true; + + // dispose default value on lazy load mode + if (Array.isArray(this.checkedValue)) { + const nodeValue = this.checkedValue[this.loadCount++]; + const valueKey = this.config.value; + const leafKey = this.config.leaf; + + if (Array.isArray(dataList) && dataList.filter(item => item[valueKey] === nodeValue).length > 0) { + const checkedNode = this.store.getNodeByValue(nodeValue); + + if (!checkedNode.data[leafKey]) { + this.lazyLoad(checkedNode, () => { + this.handleExpand(checkedNode); + }); + } + + if (this.loadCount === this.checkedValue.length) { + this.$parent.computePresentText(); + } + } + } + + onFullfiled && onFullfiled(dataList); + }; + config.lazyLoad(node, resolve); + }, + + /** + * public methods + */ + calculateMultiCheckedValue() { + this.checkedValue = this.getCheckedNodes(this.leafOnly) + .map(node => node.getValueByOption()); + }, + scrollIntoView() { + if (this.$isServer) return; + + const menus = this.$refs.menu || []; + menus.forEach(menu => { + const menuElement = menu.$el; + if (menuElement) { + const container = menuElement.querySelector('.el-scrollbar__wrap'); + const activeNode = menuElement.querySelector('.el-cascader-node.is-active') || + menuElement.querySelector('.el-cascader-node.in-active-path'); + scrollIntoView(container, activeNode); + } + }); + }, + getNodeByValue(val) { + return this.store.getNodeByValue(val); + }, + getFlattedNodes(leafOnly) { + const cached = !this.config.lazy; + return this.store.getFlattedNodes(leafOnly, cached); + }, + getCheckedNodes(leafOnly) { + const { checkedValue, multiple } = this; + if (multiple) { + const nodes = this.getFlattedNodes(leafOnly); + return nodes.filter(node => node.checked); + } else { + return this.isEmptyValue(checkedValue) + ? [] + : [this.getNodeByValue(checkedValue)]; + } + }, + clearCheckedNodes() { + const { config, leafOnly } = this; + const { multiple, emitPath } = config; + if (multiple) { + this.getCheckedNodes(leafOnly) + .filter(node => !node.isDisabled) + .forEach(node => node.doCheck(false)); + this.calculateMultiCheckedValue(); + } else { + this.checkedValue = emitPath ? [] : null; + } + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/src/node.js b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/node.js new file mode 100644 index 0000000..1efd4f7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/node.js @@ -0,0 +1,166 @@ +import { isEqual, capitalize } from 'element-ui/src/utils/util'; +import { isDef } from 'element-ui/src/utils/shared'; + +let uid = 0; + +export default class Node { + + constructor(data, config, parentNode) { + this.data = data; + this.config = config; + this.parent = parentNode || null; + this.level = !this.parent ? 1 : this.parent.level + 1; + this.uid = uid++; + + this.initState(); + this.initChildren(); + } + + initState() { + const { value: valueKey, label: labelKey } = this.config; + + this.value = this.data[valueKey]; + this.label = this.data[labelKey]; + this.pathNodes = this.calculatePathNodes(); + this.path = this.pathNodes.map(node => node.value); + this.pathLabels = this.pathNodes.map(node => node.label); + + // lazy load + this.loading = false; + this.loaded = false; + } + + initChildren() { + const { config } = this; + const childrenKey = config.children; + const childrenData = this.data[childrenKey]; + this.hasChildren = Array.isArray(childrenData); + this.children = (childrenData || []).map(child => new Node(child, config, this)); + } + + get isDisabled() { + const { data, parent, config } = this; + const disabledKey = config.disabled; + const { checkStrictly } = config; + return data[disabledKey] || + !checkStrictly && parent && parent.isDisabled; + } + + get isLeaf() { + const { data, loaded, hasChildren, children } = this; + const { lazy, leaf: leafKey } = this.config; + if (lazy) { + const isLeaf = isDef(data[leafKey]) + ? data[leafKey] + : (loaded ? !children.length : false); + this.hasChildren = !isLeaf; + return isLeaf; + } + return !hasChildren; + } + + calculatePathNodes() { + const nodes = [this]; + let parent = this.parent; + + while (parent) { + nodes.unshift(parent); + parent = parent.parent; + } + + return nodes; + } + + getPath() { + return this.path; + } + + getValue() { + return this.value; + } + + getValueByOption() { + return this.config.emitPath + ? this.getPath() + : this.getValue(); + } + + getText(allLevels, separator) { + return allLevels ? this.pathLabels.join(separator) : this.label; + } + + isSameNode(checkedValue) { + const value = this.getValueByOption(); + return this.config.multiple && Array.isArray(checkedValue) + ? checkedValue.some(val => isEqual(val, value)) + : isEqual(checkedValue, value); + } + + broadcast(event, ...args) { + const handlerName = `onParent${capitalize(event)}`; + + this.children.forEach(child => { + if (child) { + // bottom up + child.broadcast(event, ...args); + child[handlerName] && child[handlerName](...args); + } + }); + } + + emit(event, ...args) { + const { parent } = this; + const handlerName = `onChild${capitalize(event)}`; + if (parent) { + parent[handlerName] && parent[handlerName](...args); + parent.emit(event, ...args); + } + } + + onParentCheck(checked) { + if (!this.isDisabled) { + this.setCheckState(checked); + } + } + + onChildCheck() { + const { children } = this; + const validChildren = children.filter(child => !child.isDisabled); + const checked = validChildren.length + ? validChildren.every(child => child.checked) + : false; + + this.setCheckState(checked); + } + + setCheckState(checked) { + const totalNum = this.children.length; + const checkedNum = this.children.reduce((c, p) => { + const num = p.checked ? 1 : (p.indeterminate ? 0.5 : 0); + return c + num; + }, 0); + + this.checked = checked; + this.indeterminate = checkedNum !== totalNum && checkedNum > 0; + } + + syncCheckState(checkedValue) { + const value = this.getValueByOption(); + const checked = this.isSameNode(checkedValue, value); + + this.doCheck(checked); + } + + doCheck(checked) { + if (this.checked !== checked) { + if (this.config.checkStrictly) { + this.checked = checked; + } else { + // bottom up to unify the calculation of the indeterminate state + this.broadcast('check', checked); + this.setCheckState(checked); + this.emit('check'); + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/cascader-panel/src/store.js b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/store.js new file mode 100644 index 0000000..9a0ede2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader-panel/src/store.js @@ -0,0 +1,58 @@ +import Node from './node'; +import { coerceTruthyValueToArray, valueEquals } from 'element-ui/src/utils/util'; + +const flatNodes = (data, leafOnly) => { + return data.reduce((res, node) => { + if (node.isLeaf) { + res.push(node); + } else { + !leafOnly && res.push(node); + res = res.concat(flatNodes(node.children, leafOnly)); + } + return res; + }, []); +}; + +export default class Store { + + constructor(data, config) { + this.config = config; + this.initNodes(data); + } + + initNodes(data) { + data = coerceTruthyValueToArray(data); + this.nodes = data.map(nodeData => new Node(nodeData, this.config)); + this.flattedNodes = this.getFlattedNodes(false, false); + this.leafNodes = this.getFlattedNodes(true, false); + } + + appendNode(nodeData, parentNode) { + const node = new Node(nodeData, this.config, parentNode); + const children = parentNode ? parentNode.children : this.nodes; + + children.push(node); + } + + appendNodes(nodeDataList, parentNode) { + nodeDataList = coerceTruthyValueToArray(nodeDataList); + nodeDataList.forEach(nodeData => this.appendNode(nodeData, parentNode)); + } + + getNodes() { + return this.nodes; + } + + getFlattedNodes(leafOnly, cached = true) { + const cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes; + return cached + ? cachedNodes + : flatNodes(this.nodes, leafOnly); + } + + getNodeByValue(value) { + const nodes = this.getFlattedNodes(false, !this.config.lazy) + .filter(node => (valueEquals(node.path, value) || node.value === value)); + return nodes && nodes.length ? nodes[0] : null; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/cascader/index.js b/PAMapp/local_modules/element-ui/packages/cascader/index.js new file mode 100644 index 0000000..b3d860f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader/index.js @@ -0,0 +1,8 @@ +import Cascader from './src/cascader'; + +/* istanbul ignore next */ +Cascader.install = function(Vue) { + Vue.component(Cascader.name, Cascader); +}; + +export default Cascader; diff --git a/PAMapp/local_modules/element-ui/packages/cascader/src/cascader.vue b/PAMapp/local_modules/element-ui/packages/cascader/src/cascader.vue new file mode 100644 index 0000000..0aad54b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/cascader/src/cascader.vue @@ -0,0 +1,663 @@ +<template> + <div + ref="reference" + :class="[ + 'el-cascader', + realSize && `el-cascader--${realSize}`, + { 'is-disabled': isDisabled } + ]" + v-clickoutside="() => toggleDropDownVisible(false)" + @mouseenter="inputHover = true" + @mouseleave="inputHover = false" + @click="() => toggleDropDownVisible(readonly ? undefined : true)" + @keydown="handleKeyDown"> + + <el-input + ref="input" + v-model="multiple ? presentText : inputValue" + :size="realSize" + :placeholder="placeholder" + :readonly="readonly" + :disabled="isDisabled" + :validate-event="false" + :class="{ 'is-focus': dropDownVisible }" + @focus="handleFocus" + @blur="handleBlur" + @input="handleInput"> + <template slot="suffix"> + <i + v-if="clearBtnVisible" + key="clear" + class="el-input__icon el-icon-circle-close" + @click.stop="handleClear"></i> + <i + v-else + key="arrow-down" + :class="[ + 'el-input__icon', + 'el-icon-arrow-down', + dropDownVisible && 'is-reverse' + ]" + @click.stop="toggleDropDownVisible()"></i> + </template> + </el-input> + + <div v-if="multiple" class="el-cascader__tags"> + <el-tag + v-for="tag in presentTags" + :key="tag.key" + type="info" + :size="tagSize" + :hit="tag.hitState" + :closable="tag.closable" + disable-transitions + @close="deleteTag(tag)"> + <span>{{ tag.text }}</span> + </el-tag> + <input + v-if="filterable && !isDisabled" + v-model.trim="inputValue" + type="text" + class="el-cascader__search-input" + :placeholder="presentTags.length ? '' : placeholder" + @input="e => handleInput(inputValue, e)" + @click.stop="toggleDropDownVisible(true)" + @keydown.delete="handleDelete"> + </div> + + <transition name="el-zoom-in-top" @after-leave="handleDropdownLeave"> + <div + v-show="dropDownVisible" + ref="popper" + :class="['el-popper', 'el-cascader__dropdown', popperClass]"> + <el-cascader-panel + ref="panel" + v-show="!filtering" + v-model="checkedValue" + :options="options" + :props="config" + :border="false" + :render-label="$scopedSlots.default" + @expand-change="handleExpandChange" + @close="toggleDropDownVisible(false)"></el-cascader-panel> + <el-scrollbar + ref="suggestionPanel" + v-if="filterable" + v-show="filtering" + tag="ul" + class="el-cascader__suggestion-panel" + view-class="el-cascader__suggestion-list" + @keydown.native="handleSuggestionKeyDown"> + <template v-if="suggestions.length"> + <li + v-for="(item, index) in suggestions" + :key="item.uid" + :class="[ + 'el-cascader__suggestion-item', + item.checked && 'is-checked' + ]" + :tabindex="-1" + @click="handleSuggestionClick(index)"> + <span>{{ item.text }}</span> + <i v-if="item.checked" class="el-icon-check"></i> + </li> + </template> + <slot v-else name="empty"> + <li class="el-cascader__empty-text">{{ t('el.cascader.noMatch') }}</li> + </slot> + </el-scrollbar> + </div> + </transition> + </div> +</template> + +<script> +import Popper from 'element-ui/src/utils/vue-popper'; +import Clickoutside from 'element-ui/src/utils/clickoutside'; +import Emitter from 'element-ui/src/mixins/emitter'; +import Locale from 'element-ui/src/mixins/locale'; +import Migrating from 'element-ui/src/mixins/migrating'; +import ElInput from 'element-ui/packages/input'; +import ElTag from 'element-ui/packages/tag'; +import ElScrollbar from 'element-ui/packages/scrollbar'; +import ElCascaderPanel from 'element-ui/packages/cascader-panel'; +import AriaUtils from 'element-ui/src/utils/aria-utils'; +import { t } from 'element-ui/src/locale'; +import { isEqual, isEmpty, kebabCase } from 'element-ui/src/utils/util'; +import { isUndefined, isFunction } from 'element-ui/src/utils/types'; +import { isDef } from 'element-ui/src/utils/shared'; +import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; +import debounce from 'throttle-debounce/debounce'; + +const { keys: KeyCode } = AriaUtils; +const MigratingProps = { + expandTrigger: { + newProp: 'expandTrigger', + type: String + }, + changeOnSelect: { + newProp: 'checkStrictly', + type: Boolean + }, + hoverThreshold: { + newProp: 'hoverThreshold', + type: Number + } +}; + +const PopperMixin = { + props: { + placement: { + type: String, + default: 'bottom-start' + }, + appendToBody: Popper.props.appendToBody, + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: Popper.props.arrowOffset, + offset: Popper.props.offset, + boundariesPadding: Popper.props.boundariesPadding, + popperOptions: Popper.props.popperOptions, + transformOrigin: Popper.props.transformOrigin + }, + methods: Popper.methods, + data: Popper.data, + beforeDestroy: Popper.beforeDestroy +}; + +const InputSizeMap = { + medium: 36, + small: 32, + mini: 28 +}; + +export default { + name: 'ElCascader', + + directives: { Clickoutside }, + + mixins: [PopperMixin, Emitter, Locale, Migrating], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + components: { + ElInput, + ElTag, + ElScrollbar, + ElCascaderPanel + }, + + props: { + value: {}, + options: Array, + props: Object, + size: String, + placeholder: { + type: String, + default: () => t('el.cascader.placeholder') + }, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + filterMethod: Function, + separator: { + type: String, + default: ' / ' + }, + showAllLevels: { + type: Boolean, + default: true + }, + collapseTags: Boolean, + debounce: { + type: Number, + default: 300 + }, + beforeFilter: { + type: Function, + default: () => (() => {}) + }, + popperClass: String + }, + + data() { + return { + dropDownVisible: false, + checkedValue: this.value, + inputHover: false, + inputValue: null, + presentText: null, + presentTags: [], + checkedNodes: [], + filtering: false, + suggestions: [], + inputInitialHeight: 0, + pressDeleteCount: 0 + }; + }, + + computed: { + realSize() { + const _elFormItemSize = (this.elFormItem || {}).elFormItemSize; + return this.size || _elFormItemSize || (this.$ELEMENT || {}).size; + }, + tagSize() { + return ['small', 'mini'].indexOf(this.realSize) > -1 + ? 'mini' + : 'small'; + }, + isDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + config() { + const config = this.props || {}; + const { $attrs } = this; + + Object + .keys(MigratingProps) + .forEach(oldProp => { + const { newProp, type } = MigratingProps[oldProp]; + let oldValue = $attrs[oldProp] || $attrs[kebabCase(oldProp)]; + if (isDef(oldProp) && !isDef(config[newProp])) { + if (type === Boolean && oldValue === '') { + oldValue = true; + } + config[newProp] = oldValue; + } + }); + + return config; + }, + multiple() { + return this.config.multiple; + }, + leafOnly() { + return !this.config.checkStrictly; + }, + readonly() { + return !this.filterable || this.multiple; + }, + clearBtnVisible() { + if (!this.clearable || this.isDisabled || this.filtering || !this.inputHover) { + return false; + } + + return this.multiple + ? !!this.checkedNodes.filter(node => !node.isDisabled).length + : !!this.presentText; + }, + panel() { + return this.$refs.panel; + } + }, + + watch: { + disabled() { + this.computePresentContent(); + }, + value(val) { + if (!isEqual(val, this.checkedValue)) { + this.checkedValue = val; + this.computePresentContent(); + } + }, + checkedValue(val) { + const { value, dropDownVisible } = this; + const { checkStrictly, multiple } = this.config; + + if (!isEqual(val, value) || isUndefined(value)) { + this.computePresentContent(); + // hide dropdown when single mode + if (!multiple && !checkStrictly && dropDownVisible) { + this.toggleDropDownVisible(false); + } + + this.$emit('input', val); + this.$emit('change', val); + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + options: { + handler: function() { + this.$nextTick(this.computePresentContent); + }, + deep: true + }, + presentText(val) { + this.inputValue = val; + }, + presentTags(val, oldVal) { + if (this.multiple && (val.length || oldVal.length)) { + this.$nextTick(this.updateStyle); + } + }, + filtering(val) { + this.$nextTick(this.updatePopper); + } + }, + + mounted() { + const { input } = this.$refs; + if (input && input.$el) { + this.inputInitialHeight = input.$el.offsetHeight || InputSizeMap[this.realSize] || 40; + } + + if (!this.isEmptyValue(this.value)) { + this.computePresentContent(); + } + + this.filterHandler = debounce(this.debounce, () => { + const { inputValue } = this; + + if (!inputValue) { + this.filtering = false; + return; + } + + const before = this.beforeFilter(inputValue); + if (before && before.then) { + before.then(this.getSuggestions); + } else if (before !== false) { + this.getSuggestions(); + } else { + this.filtering = false; + } + }); + + addResizeListener(this.$el, this.updateStyle); + }, + + beforeDestroy() { + removeResizeListener(this.$el, this.updateStyle); + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'expand-trigger': 'expand-trigger is removed, use `props.expandTrigger` instead.', + 'change-on-select': 'change-on-select is removed, use `props.checkStrictly` instead.', + 'hover-threshold': 'hover-threshold is removed, use `props.hoverThreshold` instead' + }, + events: { + 'active-item-change': 'active-item-change is renamed to expand-change' + } + }; + }, + toggleDropDownVisible(visible) { + if (this.isDisabled) return; + + const { dropDownVisible } = this; + const { input } = this.$refs; + visible = isDef(visible) ? visible : !dropDownVisible; + if (visible !== dropDownVisible) { + this.dropDownVisible = visible; + if (visible) { + this.$nextTick(() => { + this.updatePopper(); + this.panel.scrollIntoView(); + }); + } + input.$refs.input.setAttribute('aria-expanded', visible); + this.$emit('visible-change', visible); + } + }, + handleDropdownLeave() { + this.filtering = false; + this.inputValue = this.presentText; + this.doDestroy(); + }, + handleKeyDown(event) { + switch (event.keyCode) { + case KeyCode.enter: + this.toggleDropDownVisible(); + break; + case KeyCode.down: + this.toggleDropDownVisible(true); + this.focusFirstNode(); + event.preventDefault(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleFocus(e) { + this.$emit('focus', e); + }, + handleBlur(e) { + this.$emit('blur', e); + }, + handleInput(val, event) { + !this.dropDownVisible && this.toggleDropDownVisible(true); + + if (event && event.isComposing) return; + if (val) { + this.filterHandler(); + } else { + this.filtering = false; + } + }, + handleClear() { + this.presentText = ''; + this.panel.clearCheckedNodes(); + }, + handleExpandChange(value) { + this.$nextTick(this.updatePopper.bind(this)); + this.$emit('expand-change', value); + this.$emit('active-item-change', value); // Deprecated + }, + focusFirstNode() { + this.$nextTick(() => { + const { filtering } = this; + const { popper, suggestionPanel } = this.$refs; + let firstNode = null; + + if (filtering && suggestionPanel) { + firstNode = suggestionPanel.$el.querySelector('.el-cascader__suggestion-item'); + } else { + const firstMenu = popper.querySelector('.el-cascader-menu'); + firstNode = firstMenu.querySelector('.el-cascader-node[tabindex="-1"]'); + } + + if (firstNode) { + firstNode.focus(); + !filtering && firstNode.click(); + } + }); + }, + computePresentContent() { + // nextTick is required, because checked nodes may not change right now + this.$nextTick(() => { + if (this.config.multiple) { + this.computePresentTags(); + this.presentText = this.presentTags.length ? ' ' : null; + } else { + this.computePresentText(); + } + }); + }, + isEmptyValue(val) { + const { multiple } = this; + const { emitPath } = this.panel.config; + if (multiple || emitPath) { + return isEmpty(val); + } + return false; + }, + computePresentText() { + const { checkedValue, config } = this; + if (!this.isEmptyValue(checkedValue)) { + const node = this.panel.getNodeByValue(checkedValue); + if (node && (config.checkStrictly || node.isLeaf)) { + this.presentText = node.getText(this.showAllLevels, this.separator); + return; + } + } + this.presentText = null; + }, + computePresentTags() { + const { isDisabled, leafOnly, showAllLevels, separator, collapseTags } = this; + const checkedNodes = this.getCheckedNodes(leafOnly); + const tags = []; + + const genTag = node => ({ + node, + key: node.uid, + text: node.getText(showAllLevels, separator), + hitState: false, + closable: !isDisabled && !node.isDisabled + }); + + if (checkedNodes.length) { + const [first, ...rest] = checkedNodes; + const restCount = rest.length; + tags.push(genTag(first)); + + if (restCount) { + if (collapseTags) { + tags.push({ + key: -1, + text: `+ ${restCount}`, + closable: false + }); + } else { + rest.forEach(node => tags.push(genTag(node))); + } + } + } + + this.checkedNodes = checkedNodes; + this.presentTags = tags; + }, + getSuggestions() { + let { filterMethod } = this; + + if (!isFunction(filterMethod)) { + filterMethod = (node, keyword) => node.text.includes(keyword); + } + + const suggestions = this.panel.getFlattedNodes(this.leafOnly) + .filter(node => { + if (node.isDisabled) return false; + node.text = node.getText(this.showAllLevels, this.separator) || ''; + return filterMethod(node, this.inputValue); + }); + + if (this.multiple) { + this.presentTags.forEach(tag => { + tag.hitState = false; + }); + } else { + suggestions.forEach(node => { + node.checked = isEqual(this.checkedValue, node.getValueByOption()); + }); + } + + this.filtering = true; + this.suggestions = suggestions; + this.$nextTick(this.updatePopper); + }, + handleSuggestionKeyDown(event) { + const { keyCode, target } = event; + switch (keyCode) { + case KeyCode.enter: + target.click(); + break; + case KeyCode.up: + const prev = target.previousElementSibling; + prev && prev.focus(); + break; + case KeyCode.down: + const next = target.nextElementSibling; + next && next.focus(); + break; + case KeyCode.esc: + case KeyCode.tab: + this.toggleDropDownVisible(false); + break; + } + }, + handleDelete() { + const { inputValue, pressDeleteCount, presentTags } = this; + const lastIndex = presentTags.length - 1; + const lastTag = presentTags[lastIndex]; + this.pressDeleteCount = inputValue ? 0 : pressDeleteCount + 1; + + if (!lastTag) return; + + if (this.pressDeleteCount) { + if (lastTag.hitState) { + this.deleteTag(lastTag); + } else { + lastTag.hitState = true; + } + } + }, + handleSuggestionClick(index) { + const { multiple } = this; + const targetNode = this.suggestions[index]; + + if (multiple) { + const { checked } = targetNode; + targetNode.doCheck(!checked); + this.panel.calculateMultiCheckedValue(); + } else { + this.checkedValue = targetNode.getValueByOption(); + this.toggleDropDownVisible(false); + } + }, + deleteTag(tag) { + const { checkedValue } = this; + const current = tag.node.getValueByOption(); + const val = checkedValue.find(n => isEqual(n, current)); + this.checkedValue = checkedValue.filter(n => !isEqual(n, current)); + this.$emit('remove-tag', val); + }, + updateStyle() { + const { $el, inputInitialHeight } = this; + if (this.$isServer || !$el) return; + + const { suggestionPanel } = this.$refs; + const inputInner = $el.querySelector('.el-input__inner'); + + if (!inputInner) return; + + const tags = $el.querySelector('.el-cascader__tags'); + let suggestionPanelEl = null; + + if (suggestionPanel && (suggestionPanelEl = suggestionPanel.$el)) { + const suggestionList = suggestionPanelEl.querySelector('.el-cascader__suggestion-list'); + suggestionList.style.minWidth = inputInner.offsetWidth + 'px'; + } + + if (tags) { + const offsetHeight = Math.round(tags.getBoundingClientRect().height); + const height = Math.max(offsetHeight + 6, inputInitialHeight) + 'px'; + inputInner.style.height = height; + if (this.dropDownVisible) { + this.updatePopper(); + } + } + }, + + /** + * public methods + */ + getCheckedNodes(leafOnly) { + return this.panel.getCheckedNodes(leafOnly); + } + } +}; +</script> + diff --git a/PAMapp/local_modules/element-ui/packages/checkbox-button/index.js b/PAMapp/local_modules/element-ui/packages/checkbox-button/index.js new file mode 100644 index 0000000..e878f64 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox-button/index.js @@ -0,0 +1,8 @@ +import ElCheckboxButton from '../checkbox/src/checkbox-button.vue'; + +/* istanbul ignore next */ +ElCheckboxButton.install = function(Vue) { + Vue.component(ElCheckboxButton.name, ElCheckboxButton); +}; + +export default ElCheckboxButton; diff --git a/PAMapp/local_modules/element-ui/packages/checkbox-group/index.js b/PAMapp/local_modules/element-ui/packages/checkbox-group/index.js new file mode 100644 index 0000000..d83bac8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox-group/index.js @@ -0,0 +1,8 @@ +import ElCheckboxGroup from '../checkbox/src/checkbox-group.vue'; + +/* istanbul ignore next */ +ElCheckboxGroup.install = function(Vue) { + Vue.component(ElCheckboxGroup.name, ElCheckboxGroup); +}; + +export default ElCheckboxGroup; diff --git a/PAMapp/local_modules/element-ui/packages/checkbox/index.js b/PAMapp/local_modules/element-ui/packages/checkbox/index.js new file mode 100644 index 0000000..eada935 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox/index.js @@ -0,0 +1,8 @@ +import ElCheckbox from './src/checkbox'; + +/* istanbul ignore next */ +ElCheckbox.install = function(Vue) { + Vue.component(ElCheckbox.name, ElCheckbox); +}; + +export default ElCheckbox; diff --git a/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-button.vue b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-button.vue new file mode 100644 index 0000000..446a071 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-button.vue @@ -0,0 +1,199 @@ +<template> + <label + class="el-checkbox-button" + :class="[ + size ? 'el-checkbox-button--' + size : '', + { 'is-disabled': isDisabled }, + { 'is-checked': isChecked }, + { 'is-focus': focus }, + ]" + role="checkbox" + :aria-checked="isChecked" + :aria-disabled="isDisabled" + > + <input + v-if="trueLabel || falseLabel" + class="el-checkbox-button__original" + type="checkbox" + :name="name" + :disabled="isDisabled" + :true-value="trueLabel" + :false-value="falseLabel" + v-model="model" + @change="handleChange" + @focus="focus = true" + @blur="focus = false"> + <input + v-else + class="el-checkbox-button__original" + type="checkbox" + :name="name" + :disabled="isDisabled" + :value="label" + v-model="model" + @change="handleChange" + @focus="focus = true" + @blur="focus = false"> + + <span class="el-checkbox-button__inner" + v-if="$slots.default || label" + :style="isChecked ? activeStyle : null"> + <slot>{{label}}</slot> + </span> + + </label> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElCheckboxButton', + + mixins: [Emitter], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + props: { + value: {}, + label: {}, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number] + }, + computed: { + model: { + get() { + return this._checkboxGroup + ? this.store : this.value !== undefined + ? this.value : this.selfModel; + }, + + set(val) { + if (this._checkboxGroup) { + this.isLimitExceeded = false; + (this._checkboxGroup.min !== undefined && + val.length < this._checkboxGroup.min && + (this.isLimitExceeded = true)); + + (this._checkboxGroup.max !== undefined && + val.length > this._checkboxGroup.max && + (this.isLimitExceeded = true)); + + this.isLimitExceeded === false && + this.dispatch('ElCheckboxGroup', 'input', [val]); + } else if (this.value !== undefined) { + this.$emit('input', val); + } else { + this.selfModel = val; + } + } + }, + + isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + + _checkboxGroup() { + let parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + + store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + + activeStyle() { + return { + backgroundColor: this._checkboxGroup.fill || '', + borderColor: this._checkboxGroup.fill || '', + color: this._checkboxGroup.textColor || '', + 'box-shadow': '-1px 0 0 0 ' + this._checkboxGroup.fill + + }; + }, + + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + + size() { + return this._checkboxGroup.checkboxGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled() { + const { max, min } = this._checkboxGroup; + return !!(max || min) && + (this.model.length >= max && !this.isChecked) || + (this.model.length <= min && this.isChecked); + }, + + isDisabled() { + return this._checkboxGroup + ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled + : this.disabled || (this.elForm || {}).disabled; + } + }, + methods: { + addToStore() { + if ( + Array.isArray(this.model) && + this.model.indexOf(this.label) === -1 + ) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange(ev) { + if (this.isLimitExceeded) return; + let value; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(() => { + if (this._checkboxGroup) { + this.dispatch('ElCheckboxGroup', 'change', [this._checkboxGroup.value]); + } + }); + } + }, + + created() { + this.checked && this.addToStore(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-group.vue b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-group.vue new file mode 100644 index 0000000..9585e98 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox-group.vue @@ -0,0 +1,48 @@ +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElCheckboxGroup', + + componentName: 'ElCheckboxGroup', + + mixins: [Emitter], + + inject: { + elFormItem: { + default: '' + } + }, + + props: { + value: {}, + disabled: Boolean, + min: Number, + max: Number, + size: String, + fill: String, + textColor: String + }, + + computed: { + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + checkboxGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + watch: { + value(value) { + this.dispatch('ElFormItem', 'el.form.change', [value]); + } + } + }; +</script> + +<template> + <div class="el-checkbox-group" role="group" aria-label="checkbox-group"> + <slot></slot> + </div> +</template> diff --git a/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox.vue b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox.vue new file mode 100644 index 0000000..00df69e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/checkbox/src/checkbox.vue @@ -0,0 +1,222 @@ +<template> + <label + class="el-checkbox" + :class="[ + border && checkboxSize ? 'el-checkbox--' + checkboxSize : '', + { 'is-disabled': isDisabled }, + { 'is-bordered': border }, + { 'is-checked': isChecked } + ]" + :id="id" + > + <span class="el-checkbox__input" + :class="{ + 'is-disabled': isDisabled, + 'is-checked': isChecked, + 'is-indeterminate': indeterminate, + 'is-focus': focus + }" + :tabindex="indeterminate ? 0 : false" + :role="indeterminate ? 'checkbox' : false" + :aria-checked="indeterminate ? 'mixed' : false" + > + <span class="el-checkbox__inner"></span> + <input + v-if="trueLabel || falseLabel" + class="el-checkbox__original" + type="checkbox" + :aria-hidden="indeterminate ? 'true' : 'false'" + :name="name" + :disabled="isDisabled" + :true-value="trueLabel" + :false-value="falseLabel" + v-model="model" + @change="handleChange" + @focus="focus = true" + @blur="focus = false"> + <input + v-else + class="el-checkbox__original" + type="checkbox" + :aria-hidden="indeterminate ? 'true' : 'false'" + :disabled="isDisabled" + :value="label" + :name="name" + v-model="model" + @change="handleChange" + @focus="focus = true" + @blur="focus = false"> + </span> + <span class="el-checkbox__label" v-if="$slots.default || label"> + <slot></slot> + <template v-if="!$slots.default">{{label}}</template> + </span> + </label> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElCheckbox', + + mixins: [Emitter], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + componentName: 'ElCheckbox', + + data() { + return { + selfModel: false, + focus: false, + isLimitExceeded: false + }; + }, + + computed: { + model: { + get() { + return this.isGroup + ? this.store : this.value !== undefined + ? this.value : this.selfModel; + }, + + set(val) { + if (this.isGroup) { + this.isLimitExceeded = false; + (this._checkboxGroup.min !== undefined && + val.length < this._checkboxGroup.min && + (this.isLimitExceeded = true)); + + (this._checkboxGroup.max !== undefined && + val.length > this._checkboxGroup.max && + (this.isLimitExceeded = true)); + + this.isLimitExceeded === false && + this.dispatch('ElCheckboxGroup', 'input', [val]); + } else { + this.$emit('input', val); + this.selfModel = val; + } + } + }, + + isChecked() { + if ({}.toString.call(this.model) === '[object Boolean]') { + return this.model; + } else if (Array.isArray(this.model)) { + return this.model.indexOf(this.label) > -1; + } else if (this.model !== null && this.model !== undefined) { + return this.model === this.trueLabel; + } + }, + + isGroup() { + let parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElCheckboxGroup') { + parent = parent.$parent; + } else { + this._checkboxGroup = parent; + return true; + } + } + return false; + }, + + store() { + return this._checkboxGroup ? this._checkboxGroup.value : this.value; + }, + + /* used to make the isDisabled judgment under max/min props */ + isLimitDisabled() { + const { max, min } = this._checkboxGroup; + return !!(max || min) && + (this.model.length >= max && !this.isChecked) || + (this.model.length <= min && this.isChecked); + }, + + isDisabled() { + return this.isGroup + ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled + : this.disabled || (this.elForm || {}).disabled; + }, + + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + + checkboxSize() { + const temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup + ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize + : temCheckboxSize; + } + }, + + props: { + value: {}, + label: {}, + indeterminate: Boolean, + disabled: Boolean, + checked: Boolean, + name: String, + trueLabel: [String, Number], + falseLabel: [String, Number], + id: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + controls: String, /* 敶ndeterminate銝箇�嚗蛹controls����餈�heckbox��d嚗”��������蝟�*/ + border: Boolean, + size: String + }, + + methods: { + addToStore() { + if ( + Array.isArray(this.model) && + this.model.indexOf(this.label) === -1 + ) { + this.model.push(this.label); + } else { + this.model = this.trueLabel || true; + } + }, + handleChange(ev) { + if (this.isLimitExceeded) return; + let value; + if (ev.target.checked) { + value = this.trueLabel === undefined ? true : this.trueLabel; + } else { + value = this.falseLabel === undefined ? false : this.falseLabel; + } + this.$emit('change', value, ev); + this.$nextTick(() => { + if (this.isGroup) { + this.dispatch('ElCheckboxGroup', 'change', [this._checkboxGroup.value]); + } + }); + } + }, + + created() { + this.checked && this.addToStore(); + }, + mounted() { // 銝槐ndeterminate���� 瘛餃�ria-controls 撅�� + if (this.indeterminate) { + this.$el.setAttribute('aria-controls', this.controls); + } + }, + + watch: { + value(value) { + this.dispatch('ElFormItem', 'el.form.change', value); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/col/index.js b/PAMapp/local_modules/element-ui/packages/col/index.js new file mode 100644 index 0000000..93bf345 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/col/index.js @@ -0,0 +1,9 @@ +import ElCol from './src/col'; + +/* istanbul ignore next */ +ElCol.install = function(Vue) { + Vue.component(ElCol.name, ElCol); +}; + +export default ElCol; + diff --git a/PAMapp/local_modules/element-ui/packages/col/src/col.js b/PAMapp/local_modules/element-ui/packages/col/src/col.js new file mode 100644 index 0000000..0fb75eb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/col/src/col.js @@ -0,0 +1,71 @@ +export default { + name: 'ElCol', + + props: { + span: { + type: Number, + default: 24 + }, + tag: { + type: String, + default: 'div' + }, + offset: Number, + pull: Number, + push: Number, + xs: [Number, Object], + sm: [Number, Object], + md: [Number, Object], + lg: [Number, Object], + xl: [Number, Object] + }, + + computed: { + gutter() { + let parent = this.$parent; + while (parent && parent.$options.componentName !== 'ElRow') { + parent = parent.$parent; + } + return parent ? parent.gutter : 0; + } + }, + render(h) { + let classList = []; + let style = {}; + + if (this.gutter) { + style.paddingLeft = this.gutter / 2 + 'px'; + style.paddingRight = style.paddingLeft; + } + + ['span', 'offset', 'pull', 'push'].forEach(prop => { + if (this[prop] || this[prop] === 0) { + classList.push( + prop !== 'span' + ? `el-col-${prop}-${this[prop]}` + : `el-col-${this[prop]}` + ); + } + }); + + ['xs', 'sm', 'md', 'lg', 'xl'].forEach(size => { + if (typeof this[size] === 'number') { + classList.push(`el-col-${size}-${this[size]}`); + } else if (typeof this[size] === 'object') { + let props = this[size]; + Object.keys(props).forEach(prop => { + classList.push( + prop !== 'span' + ? `el-col-${size}-${prop}-${props[prop]}` + : `el-col-${size}-${props[prop]}` + ); + }); + } + }); + + return h(this.tag, { + class: ['el-col', classList], + style + }, this.$slots.default); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/collapse-item/index.js b/PAMapp/local_modules/element-ui/packages/collapse-item/index.js new file mode 100644 index 0000000..e944500 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/collapse-item/index.js @@ -0,0 +1,8 @@ +import ElCollapseItem from '../collapse/src/collapse-item.vue'; + +/* istanbul ignore next */ +ElCollapseItem.install = function(Vue) { + Vue.component(ElCollapseItem.name, ElCollapseItem); +}; + +export default ElCollapseItem; diff --git a/PAMapp/local_modules/element-ui/packages/collapse/index.js b/PAMapp/local_modules/element-ui/packages/collapse/index.js new file mode 100644 index 0000000..be490f8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/collapse/index.js @@ -0,0 +1,9 @@ +import ElCollapse from './src/collapse'; + +/* istanbul ignore next */ +ElCollapse.install = function(Vue) { + Vue.component(ElCollapse.name, ElCollapse); +}; + +export default ElCollapse; + diff --git a/PAMapp/local_modules/element-ui/packages/collapse/src/collapse-item.vue b/PAMapp/local_modules/element-ui/packages/collapse/src/collapse-item.vue new file mode 100644 index 0000000..2a25810 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/collapse/src/collapse-item.vue @@ -0,0 +1,114 @@ +<template> + <div class="el-collapse-item" + :class="{'is-active': isActive, 'is-disabled': disabled }"> + <div + role="tab" + :aria-expanded="isActive" + :aria-controls="`el-collapse-content-${id}`" + :aria-describedby ="`el-collapse-content-${id}`" + > + <div + class="el-collapse-item__header" + @click="handleHeaderClick" + role="button" + :id="`el-collapse-head-${id}`" + :tabindex="disabled ? undefined : 0" + @keyup.space.enter.stop="handleEnterClick" + :class="{ + 'focusing': focusing, + 'is-active': isActive + }" + @focus="handleFocus" + @blur="focusing = false" + > + <slot name="title">{{title}}</slot> + <i + class="el-collapse-item__arrow el-icon-arrow-right" + :class="{'is-active': isActive}"> + </i> + </div> + </div> + <el-collapse-transition> + <div + class="el-collapse-item__wrap" + v-show="isActive" + role="tabpanel" + :aria-hidden="!isActive" + :aria-labelledby="`el-collapse-head-${id}`" + :id="`el-collapse-content-${id}`" + > + <div class="el-collapse-item__content"> + <slot></slot> + </div> + </div> + </el-collapse-transition> + </div> +</template> +<script> + import ElCollapseTransition from 'element-ui/src/transitions/collapse-transition'; + import Emitter from 'element-ui/src/mixins/emitter'; + import { generateId } from 'element-ui/src/utils/util'; + + export default { + name: 'ElCollapseItem', + + componentName: 'ElCollapseItem', + + mixins: [Emitter], + + components: { ElCollapseTransition }, + + data() { + return { + contentWrapStyle: { + height: 'auto', + display: 'block' + }, + contentHeight: 0, + focusing: false, + isClick: false, + id: generateId() + }; + }, + + inject: ['collapse'], + + props: { + title: String, + name: { + type: [String, Number], + default() { + return this._uid; + } + }, + disabled: Boolean + }, + + computed: { + isActive() { + return this.collapse.activeNames.indexOf(this.name) > -1; + } + }, + + methods: { + handleFocus() { + setTimeout(() => { + if (!this.isClick) { + this.focusing = true; + } else { + this.isClick = false; + } + }, 50); + }, + handleHeaderClick() { + if (this.disabled) return; + this.dispatch('ElCollapse', 'item-click', this); + this.focusing = false; + this.isClick = true; + }, + handleEnterClick() { + this.dispatch('ElCollapse', 'item-click', this); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/collapse/src/collapse.vue b/PAMapp/local_modules/element-ui/packages/collapse/src/collapse.vue new file mode 100644 index 0000000..c87e525 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/collapse/src/collapse.vue @@ -0,0 +1,73 @@ +<template> + <div class="el-collapse" role="tablist" aria-multiselectable="true"> + <slot></slot> + </div> +</template> +<script> + export default { + name: 'ElCollapse', + + componentName: 'ElCollapse', + + props: { + accordion: Boolean, + value: { + type: [Array, String, Number], + default() { + return []; + } + } + }, + + data() { + return { + activeNames: [].concat(this.value) + }; + }, + + provide() { + return { + collapse: this + }; + }, + + watch: { + value(value) { + this.activeNames = [].concat(value); + } + }, + + methods: { + setActiveNames(activeNames) { + activeNames = [].concat(activeNames); + let value = this.accordion ? activeNames[0] : activeNames; + this.activeNames = activeNames; + this.$emit('input', value); + this.$emit('change', value); + }, + handleItemClick(item) { + if (this.accordion) { + this.setActiveNames( + (this.activeNames[0] || this.activeNames[0] === 0) && + this.activeNames[0] === item.name + ? '' : item.name + ); + } else { + let activeNames = this.activeNames.slice(0); + let index = activeNames.indexOf(item.name); + + if (index > -1) { + activeNames.splice(index, 1); + } else { + activeNames.push(item.name); + } + this.setActiveNames(activeNames); + } + } + }, + + created() { + this.$on('item-click', this.handleItemClick); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/index.js b/PAMapp/local_modules/element-ui/packages/color-picker/index.js new file mode 100644 index 0000000..d79e21e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/index.js @@ -0,0 +1,8 @@ +import ColorPicker from './src/main'; + +/* istanbul ignore next */ +ColorPicker.install = function(Vue) { + Vue.component(ColorPicker.name, ColorPicker); +}; + +export default ColorPicker; diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/color.js b/PAMapp/local_modules/element-ui/packages/color-picker/src/color.js new file mode 100644 index 0000000..a392eeb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/color.js @@ -0,0 +1,317 @@ +const hsv2hsl = function(hue, sat, val) { + return [ + hue, + (sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue)) || 0, + hue / 2 + ]; +}; + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> +const isOnePointZero = function(n) { + return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1; +}; + +const isPercentage = function(n) { + return typeof n === 'string' && n.indexOf('%') !== -1; +}; + +// Take input from [0, n] and return it as [0, 1] +const bound01 = function(value, max) { + if (isOnePointZero(value)) value = '100%'; + + const processPercent = isPercentage(value); + value = Math.min(max, Math.max(0, parseFloat(value))); + + // Automatically convert percentage into number + if (processPercent) { + value = parseInt(value * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((Math.abs(value - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (value % max) / parseFloat(max); +}; + +const INT_HEX_MAP = { 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' }; + +const toHex = function({ r, g, b }) { + const hexOne = function(value) { + value = Math.min(Math.round(value), 255); + const high = Math.floor(value / 16); + const low = value % 16; + return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low); + }; + + if (isNaN(r) || isNaN(g) || isNaN(b)) return ''; + + return '#' + hexOne(r) + hexOne(g) + hexOne(b); +}; + +const HEX_INT_MAP = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15 }; + +const parseHexChannel = function(hex) { + if (hex.length === 2) { + return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]); + } + + return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]; +}; + +const hsl2hsv = function(hue, sat, light) { + sat = sat / 100; + light = light / 100; + let smin = sat; + const lmin = Math.max(light, 0.01); + let sv; + let v; + + light *= 2; + sat *= (light <= 1) ? light : 2 - light; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (light + sat) / 2; + sv = light === 0 ? (2 * smin) / (lmin + smin) : (2 * sat) / (light + sat); + + return { + h: hue, + s: sv * 100, + v: v * 100 + }; +}; + +// `rgbToHsv` +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +const rgb2hsv = function(r, g, b) { + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + let h, s; + let v = max; + + const d = max - min; + s = max === 0 ? 0 : d / max; + + if (max === min) { + h = 0; // achromatic + } else { + switch (max) { + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; + } + h /= 6; + } + + return { h: h * 360, s: s * 100, v: v * 100 }; +}; + +// `hsvToRgb` +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +const hsv2rgb = function(h, s, v) { + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + const i = Math.floor(h); + const f = h - i; + const p = v * (1 - s); + const q = v * (1 - f * s); + const t = v * (1 - (1 - f) * s); + const mod = i % 6; + const r = [v, q, p, p, t, v][mod]; + const g = [t, v, v, q, p, p][mod]; + const b = [p, p, t, v, v, q][mod]; + + return { + r: Math.round(r * 255), + g: Math.round(g * 255), + b: Math.round(b * 255) + }; +}; + +export default class Color { + constructor(options) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + this._alpha = 100; + + this.enableAlpha = false; + this.format = 'hex'; + this.value = ''; + + options = options || {}; + + for (let option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.doOnChange(); + } + + set(prop, value) { + if (arguments.length === 1 && typeof prop === 'object') { + for (let p in prop) { + if (prop.hasOwnProperty(p)) { + this.set(p, prop[p]); + } + } + + return; + } + + this['_' + prop] = value; + this.doOnChange(); + } + + get(prop) { + return this['_' + prop]; + } + + toRgb() { + return hsv2rgb(this._hue, this._saturation, this._value); + } + + fromString(value) { + if (!value) { + this._hue = 0; + this._saturation = 100; + this._value = 100; + + this.doOnChange(); + return; + } + + const fromHSV = (h, s, v) => { + this._hue = Math.max(0, Math.min(360, h)); + this._saturation = Math.max(0, Math.min(100, s)); + this._value = Math.max(0, Math.min(100, v)); + + this.doOnChange(); + }; + + if (value.indexOf('hsl') !== -1) { + const parts = value.replace(/hsla|hsl|\(|\)/gm, '') + .split(/\s|,/g).filter((val) => val !== '').map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + const { h, s, v } = hsl2hsv(parts[0], parts[1], parts[2]); + fromHSV(h, s, v); + } + } else if (value.indexOf('hsv') !== -1) { + const parts = value.replace(/hsva|hsv|\(|\)/gm, '') + .split(/\s|,/g).filter((val) => val !== '').map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + fromHSV(parts[0], parts[1], parts[2]); + } + } else if (value.indexOf('rgb') !== -1) { + const parts = value.replace(/rgba|rgb|\(|\)/gm, '') + .split(/\s|,/g).filter((val) => val !== '').map((val, index) => index > 2 ? parseFloat(val) : parseInt(val, 10)); + + if (parts.length === 4) { + this._alpha = Math.floor(parseFloat(parts[3]) * 100); + } else if (parts.length === 3) { + this._alpha = 100; + } + if (parts.length >= 3) { + const { h, s, v } = rgb2hsv(parts[0], parts[1], parts[2]); + fromHSV(h, s, v); + } + } else if (value.indexOf('#') !== -1) { + const hex = value.replace('#', '').trim(); + if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) return; + let r, g, b; + + if (hex.length === 3) { + r = parseHexChannel(hex[0] + hex[0]); + g = parseHexChannel(hex[1] + hex[1]); + b = parseHexChannel(hex[2] + hex[2]); + } else if (hex.length === 6 || hex.length === 8) { + r = parseHexChannel(hex.substring(0, 2)); + g = parseHexChannel(hex.substring(2, 4)); + b = parseHexChannel(hex.substring(4, 6)); + } + + if (hex.length === 8) { + this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100); + } else if (hex.length === 3 || hex.length === 6) { + this._alpha = 100; + } + + const { h, s, v } = rgb2hsv(r, g, b); + fromHSV(h, s, v); + } + } + + compare(color) { + return Math.abs(color._hue - this._hue) < 2 && + Math.abs(color._saturation - this._saturation) < 1 && + Math.abs(color._value - this._value) < 1 && + Math.abs(color._alpha - this._alpha) < 1; + } + + doOnChange() { + const { _hue, _saturation, _value, _alpha, format } = this; + + if (this.enableAlpha) { + switch (format) { + case 'hsl': + const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = `hsla(${ _hue }, ${ Math.round(hsl[1] * 100) }%, ${ Math.round(hsl[2] * 100) }%, ${ _alpha / 100})`; + break; + case 'hsv': + this.value = `hsva(${ _hue }, ${ Math.round(_saturation) }%, ${ Math.round(_value) }%, ${ _alpha / 100})`; + break; + default: + const { r, g, b } = hsv2rgb(_hue, _saturation, _value); + this.value = `rgba(${r}, ${g}, ${b}, ${ _alpha / 100 })`; + } + } else { + switch (format) { + case 'hsl': + const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100); + this.value = `hsl(${ _hue }, ${ Math.round(hsl[1] * 100) }%, ${ Math.round(hsl[2] * 100) }%)`; + break; + case 'hsv': + this.value = `hsv(${ _hue }, ${ Math.round(_saturation) }%, ${ Math.round(_value) }%)`; + break; + case 'rgb': + const { r, g, b } = hsv2rgb(_hue, _saturation, _value); + this.value = `rgb(${r}, ${g}, ${b})`; + break; + default: + this.value = toHex(hsv2rgb(_hue, _saturation, _value)); + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/components/alpha-slider.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/alpha-slider.vue new file mode 100644 index 0000000..efeb87f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/alpha-slider.vue @@ -0,0 +1,132 @@ +<template> + <div class="el-color-alpha-slider" :class="{ 'is-vertical': vertical }"> + <div class="el-color-alpha-slider__bar" + @click="handleClick" + ref="bar" + :style="{ + background: background + }"> + </div> + <div class="el-color-alpha-slider__thumb" + ref="thumb" + :style="{ + left: thumbLeft + 'px', + top: thumbTop + 'px' + }"> + </div> + </div> +</template> + +<script> + import draggable from '../draggable'; + + export default { + name: 'el-color-alpha-slider', + + props: { + color: { + required: true + }, + vertical: Boolean + }, + + watch: { + 'color._alpha'() { + this.update(); + }, + + 'color.value'() { + this.update(); + } + }, + + methods: { + handleClick(event) { + const thumb = this.$refs.thumb; + const target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + + handleDrag(event) { + const rect = this.$el.getBoundingClientRect(); + const { thumb } = this.$refs; + + if (!this.vertical) { + let left = event.clientX - rect.left; + left = Math.max(thumb.offsetWidth / 2, left); + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + + this.color.set('alpha', Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 100)); + } else { + let top = event.clientY - rect.top; + top = Math.max(thumb.offsetHeight / 2, top); + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + + this.color.set('alpha', Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 100)); + } + }, + + getThumbLeft() { + if (this.vertical) return 0; + const el = this.$el; + const alpha = this.color._alpha; + + if (!el) return 0; + const thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetWidth - thumb.offsetWidth / 2) / 100); + }, + + getThumbTop() { + if (!this.vertical) return 0; + const el = this.$el; + const alpha = this.color._alpha; + + if (!el) return 0; + const thumb = this.$refs.thumb; + return Math.round(alpha * (el.offsetHeight - thumb.offsetHeight / 2) / 100); + }, + + getBackground() { + if (this.color && this.color.value) { + const { r, g, b } = this.color.toRgb(); + return `linear-gradient(to right, rgba(${r}, ${g}, ${b}, 0) 0%, rgba(${r}, ${g}, ${b}, 1) 100%)`; + } + return null; + }, + + update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + this.background = this.getBackground(); + } + }, + + data() { + return { + thumbLeft: 0, + thumbTop: 0, + background: null + }; + }, + + mounted() { + const { bar, thumb } = this.$refs; + + const dragConfig = { + drag: (event) => { + this.handleDrag(event); + }, + end: (event) => { + this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/components/hue-slider.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/hue-slider.vue new file mode 100644 index 0000000..c93e42c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/hue-slider.vue @@ -0,0 +1,123 @@ +<template> + <div class="el-color-hue-slider" :class="{ 'is-vertical': vertical }"> + <div class="el-color-hue-slider__bar" @click="handleClick" ref="bar"></div> + <div class="el-color-hue-slider__thumb" + :style="{ + left: thumbLeft + 'px', + top: thumbTop + 'px' + }" + ref="thumb"> + </div> + </div> +</template> + +<script> + import draggable from '../draggable'; + + export default { + name: 'el-color-hue-slider', + + props: { + color: { + required: true + }, + + vertical: Boolean + }, + + data() { + return { + thumbLeft: 0, + thumbTop: 0 + }; + }, + + computed: { + hueValue() { + const hue = this.color.get('hue'); + return hue; + } + }, + + watch: { + hueValue() { + this.update(); + } + }, + + methods: { + handleClick(event) { + const thumb = this.$refs.thumb; + const target = event.target; + + if (target !== thumb) { + this.handleDrag(event); + } + }, + + handleDrag(event) { + const rect = this.$el.getBoundingClientRect(); + const { thumb } = this.$refs; + let hue; + + if (!this.vertical) { + let left = event.clientX - rect.left; + left = Math.min(left, rect.width - thumb.offsetWidth / 2); + left = Math.max(thumb.offsetWidth / 2, left); + + hue = Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 360); + } else { + let top = event.clientY - rect.top; + top = Math.min(top, rect.height - thumb.offsetHeight / 2); + top = Math.max(thumb.offsetHeight / 2, top); + + hue = Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 360); + } + + this.color.set('hue', hue); + }, + + getThumbLeft() { + if (this.vertical) return 0; + const el = this.$el; + const hue = this.color.get('hue'); + + if (!el) return 0; + const thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetWidth - thumb.offsetWidth / 2) / 360); + }, + + getThumbTop() { + if (!this.vertical) return 0; + const el = this.$el; + const hue = this.color.get('hue'); + + if (!el) return 0; + const thumb = this.$refs.thumb; + return Math.round(hue * (el.offsetHeight - thumb.offsetHeight / 2) / 360); + }, + + update() { + this.thumbLeft = this.getThumbLeft(); + this.thumbTop = this.getThumbTop(); + } + }, + + mounted() { + const { bar, thumb } = this.$refs; + + const dragConfig = { + drag: (event) => { + this.handleDrag(event); + }, + end: (event) => { + this.handleDrag(event); + } + }; + + draggable(bar, dragConfig); + draggable(thumb, dragConfig); + this.update(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/components/picker-dropdown.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/picker-dropdown.vue new file mode 100644 index 0000000..374b7aa --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/picker-dropdown.vue @@ -0,0 +1,121 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="doDestroy"> + <div + class="el-color-dropdown" + v-show="showPopper"> + <div class="el-color-dropdown__main-wrapper"> + <hue-slider ref="hue" :color="color" vertical style="float: right;"></hue-slider> + <sv-panel ref="sl" :color="color"></sv-panel> + </div> + <alpha-slider v-if="showAlpha" ref="alpha" :color="color"></alpha-slider> + <predefine v-if="predefine" :color="color" :colors="predefine"></predefine> + <div class="el-color-dropdown__btns"> + <span class="el-color-dropdown__value"> + <el-input + v-model="customInput" + @keyup.native.enter="handleConfirm" + @blur="handleConfirm" + :validate-event="false" + size="mini"> + </el-input> + </span> + <el-button + size="mini" + type="text" + class="el-color-dropdown__link-btn" + @click="$emit('clear')"> + {{ t('el.colorpicker.clear') }} + </el-button> + <el-button + plain + size="mini" + class="el-color-dropdown__btn" + @click="confirmValue"> + {{ t('el.colorpicker.confirm') }} + </el-button> + </div> + </div> + </transition> +</template> + +<script> + import SvPanel from './sv-panel'; + import HueSlider from './hue-slider'; + import AlphaSlider from './alpha-slider'; + import Predefine from './predefine'; + import Popper from 'element-ui/src/utils/vue-popper'; + import Locale from 'element-ui/src/mixins/locale'; + import ElInput from 'element-ui/packages/input'; + import ElButton from 'element-ui/packages/button'; + + export default { + name: 'el-color-picker-dropdown', + + mixins: [Popper, Locale], + + components: { + SvPanel, + HueSlider, + AlphaSlider, + ElInput, + ElButton, + Predefine + }, + + props: { + color: { + required: true + }, + showAlpha: Boolean, + predefine: Array + }, + + data() { + return { + customInput: '' + }; + }, + + computed: { + currentColor() { + const parent = this.$parent; + return !parent.value && !parent.showPanelColor ? '' : parent.color.value; + } + }, + + methods: { + confirmValue() { + this.$emit('pick'); + }, + + handleConfirm() { + this.color.fromString(this.customInput); + } + }, + + mounted() { + this.$parent.popperElm = this.popperElm = this.$el; + this.referenceElm = this.$parent.$el; + }, + + watch: { + showPopper(val) { + if (val === true) { + this.$nextTick(() => { + const { sl, hue, alpha } = this.$refs; + sl && sl.update(); + hue && hue.update(); + alpha && alpha.update(); + }); + } + }, + + currentColor: { + immediate: true, + handler(val) { + this.customInput = val; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/components/predefine.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/predefine.vue new file mode 100644 index 0000000..1387c48 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/predefine.vue @@ -0,0 +1,61 @@ +<template> + <div class="el-color-predefine"> + <div class="el-color-predefine__colors"> + <div class="el-color-predefine__color-selector" + :class="{selected: item.selected, 'is-alpha': item._alpha < 100}" + v-for="(item, index) in rgbaColors" + :key="colors[index]" + @click="handleSelect(index)"> + <div :style="{'background-color': item.value}"> + </div> + </div> + </div> + </div> +</template> + +<script> + import Color from '../color'; + + export default { + props: { + colors: { type: Array, required: true }, + color: { required: true } + }, + data() { + return { + rgbaColors: this.parseColors(this.colors, this.color) + }; + }, + methods: { + handleSelect(index) { + this.color.fromString(this.colors[index]); + }, + parseColors(colors, color) { + return colors.map(value => { + const c = new Color(); + c.enableAlpha = true; + c.format = 'rgba'; + c.fromString(value); + c.selected = c.value === color.value; + return c; + }); + } + }, + watch: { + '$parent.currentColor'(val) { + const color = new Color(); + color.fromString(val); + + this.rgbaColors.forEach(item => { + item.selected = color.compare(item); + }); + }, + colors(newVal) { + this.rgbaColors = this.parseColors(newVal, this.color); + }, + color(newVal) { + this.rgbaColors = this.parseColors(this.colors, newVal); + } + } + }; +</script> \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/components/sv-panel.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/sv-panel.vue new file mode 100644 index 0000000..66676a6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/components/sv-panel.vue @@ -0,0 +1,100 @@ +<template> + <div class="el-color-svpanel" + :style="{ + backgroundColor: background + }"> + <div class="el-color-svpanel__white"></div> + <div class="el-color-svpanel__black"></div> + <div class="el-color-svpanel__cursor" + :style="{ + top: cursorTop + 'px', + left: cursorLeft + 'px' + }"> + <div></div> + </div> + </div> +</template> + +<script> + import draggable from '../draggable'; + + export default { + name: 'el-sl-panel', + + props: { + color: { + required: true + } + }, + + computed: { + colorValue() { + const hue = this.color.get('hue'); + const value = this.color.get('value'); + return { hue, value }; + } + }, + + watch: { + colorValue() { + this.update(); + } + }, + + methods: { + update() { + const saturation = this.color.get('saturation'); + const value = this.color.get('value'); + + const el = this.$el; + let { clientWidth: width, clientHeight: height } = el; + + this.cursorLeft = saturation * width / 100; + this.cursorTop = (100 - value) * height / 100; + + this.background = 'hsl(' + this.color.get('hue') + ', 100%, 50%)'; + }, + + handleDrag(event) { + const el = this.$el; + const rect = el.getBoundingClientRect(); + + let left = event.clientX - rect.left; + let top = event.clientY - rect.top; + left = Math.max(0, left); + left = Math.min(left, rect.width); + + top = Math.max(0, top); + top = Math.min(top, rect.height); + + this.cursorLeft = left; + this.cursorTop = top; + this.color.set({ + saturation: left / rect.width * 100, + value: 100 - top / rect.height * 100 + }); + } + }, + + mounted() { + draggable(this.$el, { + drag: (event) => { + this.handleDrag(event); + }, + end: (event) => { + this.handleDrag(event); + } + }); + + this.update(); + }, + + data() { + return { + cursorTop: 0, + cursorLeft: 0, + background: 'hsl(0, 100%, 50%)' + }; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/draggable.js b/PAMapp/local_modules/element-ui/packages/color-picker/src/draggable.js new file mode 100644 index 0000000..339a485 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/draggable.js @@ -0,0 +1,36 @@ +import Vue from 'vue'; +let isDragging = false; + +export default function(element, options) { + if (Vue.prototype.$isServer) return; + const moveFn = function(event) { + if (options.drag) { + options.drag(event); + } + }; + const upFn = function(event) { + document.removeEventListener('mousemove', moveFn); + document.removeEventListener('mouseup', upFn); + document.onselectstart = null; + document.ondragstart = null; + + isDragging = false; + + if (options.end) { + options.end(event); + } + }; + element.addEventListener('mousedown', function(event) { + if (isDragging) return; + document.onselectstart = function() { return false; }; + document.ondragstart = function() { return false; }; + + document.addEventListener('mousemove', moveFn); + document.addEventListener('mouseup', upFn); + isDragging = true; + + if (options.start) { + options.start(event); + } + }); +} diff --git a/PAMapp/local_modules/element-ui/packages/color-picker/src/main.vue b/PAMapp/local_modules/element-ui/packages/color-picker/src/main.vue new file mode 100644 index 0000000..048dd6f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/color-picker/src/main.vue @@ -0,0 +1,188 @@ +<template> + <div + :class="[ + 'el-color-picker', + colorDisabled ? 'is-disabled' : '', + colorSize ? `el-color-picker--${ colorSize }` : '' + ]" + v-clickoutside="hide"> + <div class="el-color-picker__mask" v-if="colorDisabled"></div> + <div class="el-color-picker__trigger" @click="handleTrigger"> + <span class="el-color-picker__color" :class="{ 'is-alpha': showAlpha }"> + <span class="el-color-picker__color-inner" + :style="{ + backgroundColor: displayedColor + }"></span> + <span class="el-color-picker__empty el-icon-close" v-if="!value && !showPanelColor"></span> + </span> + <span class="el-color-picker__icon el-icon-arrow-down" v-show="value || showPanelColor"></span> + </div> + <picker-dropdown + ref="dropdown" + :class="['el-color-picker__panel', popperClass || '']" + v-model="showPicker" + @pick="confirmValue" + @clear="clearValue" + :color="color" + :show-alpha="showAlpha" + :predefine="predefine"> + </picker-dropdown> + </div> +</template> + +<script> + import Color from './color'; + import PickerDropdown from './components/picker-dropdown.vue'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElColorPicker', + + mixins: [Emitter], + + props: { + value: String, + showAlpha: Boolean, + colorFormat: String, + disabled: Boolean, + size: String, + popperClass: String, + predefine: Array + }, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + directives: { Clickoutside }, + + computed: { + displayedColor() { + if (!this.value && !this.showPanelColor) { + return 'transparent'; + } + + return this.displayedRgb(this.color, this.showAlpha); + }, + + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + + colorSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + colorDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value(val) { + if (!val) { + this.showPanelColor = false; + } else if (val && val !== this.color.value) { + this.color.fromString(val); + } + }, + color: { + deep: true, + handler() { + this.showPanelColor = true; + } + }, + displayedColor(val) { + if (!this.showPicker) return; + const currentValueColor = new Color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + currentValueColor.fromString(this.value); + + const currentValueColorRgb = this.displayedRgb(currentValueColor, this.showAlpha); + if (val !== currentValueColorRgb) { + this.$emit('active-change', val); + } + } + }, + + methods: { + handleTrigger() { + if (this.colorDisabled) return; + this.showPicker = !this.showPicker; + }, + confirmValue() { + const value = this.color.value; + this.$emit('input', value); + this.$emit('change', value); + this.dispatch('ElFormItem', 'el.form.change', value); + this.showPicker = false; + }, + clearValue() { + this.$emit('input', null); + this.$emit('change', null); + if (this.value !== null) { + this.dispatch('ElFormItem', 'el.form.change', null); + } + this.showPanelColor = false; + this.showPicker = false; + this.resetColor(); + }, + hide() { + this.showPicker = false; + this.resetColor(); + }, + resetColor() { + this.$nextTick(_ => { + if (this.value) { + this.color.fromString(this.value); + } else { + this.showPanelColor = false; + } + }); + }, + displayedRgb(color, showAlpha) { + if (!(color instanceof Color)) { + throw Error('color should be instance of Color Class'); + } + + const { r, g, b } = color.toRgb(); + return showAlpha + ? `rgba(${ r }, ${ g }, ${ b }, ${ color.get('alpha') / 100 })` + : `rgb(${ r }, ${ g }, ${ b })`; + } + }, + + mounted() { + const value = this.value; + if (value) { + this.color.fromString(value); + } + this.popperElm = this.$refs.dropdown.$el; + }, + + data() { + const color = new Color({ + enableAlpha: this.showAlpha, + format: this.colorFormat + }); + + return { + color, + showPicker: false, + showPanelColor: false + }; + }, + + components: { + PickerDropdown + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/container/index.js b/PAMapp/local_modules/element-ui/packages/container/index.js new file mode 100644 index 0000000..1fe67ce --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/container/index.js @@ -0,0 +1,8 @@ +import Container from './src/main'; + +/* istanbul ignore next */ +Container.install = function(Vue) { + Vue.component(Container.name, Container); +}; + +export default Container; diff --git a/PAMapp/local_modules/element-ui/packages/container/src/main.vue b/PAMapp/local_modules/element-ui/packages/container/src/main.vue new file mode 100644 index 0000000..4cabbc7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/container/src/main.vue @@ -0,0 +1,33 @@ +<template> + <section class="el-container" :class="{ 'is-vertical': isVertical }"> + <slot></slot> + </section> +</template> + +<script> + export default { + name: 'ElContainer', + + componentName: 'ElContainer', + + props: { + direction: String + }, + + computed: { + isVertical() { + if (this.direction === 'vertical') { + return true; + } else if (this.direction === 'horizontal') { + return false; + } + return this.$slots && this.$slots.default + ? this.$slots.default.some(vnode => { + const tag = vnode.componentOptions && vnode.componentOptions.tag; + return tag === 'el-header' || tag === 'el-footer'; + }) + : false; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/index.js b/PAMapp/local_modules/element-ui/packages/date-picker/index.js new file mode 100644 index 0000000..f400927 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/index.js @@ -0,0 +1,8 @@ +import DatePicker from './src/picker/date-picker'; + +/* istanbul ignore next */ +DatePicker.install = function install(Vue) { + Vue.component(DatePicker.name, DatePicker); +}; + +export default DatePicker; diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/date-table.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/date-table.vue new file mode 100644 index 0000000..e77ab07 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/date-table.vue @@ -0,0 +1,441 @@ +<template> + <table + cellspacing="0" + cellpadding="0" + class="el-date-table" + @click="handleClick" + @mousemove="handleMouseMove" + :class="{ 'is-week-mode': selectionMode === 'week' }"> + <tbody> + <tr> + <th v-if="showWeekNumber">{{ t('el.datepicker.week') }}</th> + <th v-for="(week, key) in WEEKS" :key="key">{{ t('el.datepicker.weeks.' + week) }}</th> + </tr> + <tr + class="el-date-table__row" + v-for="(row, key) in rows" + :class="{ current: isWeekActive(row[1]) }" + :key="key"> + <td + v-for="(cell, key) in row" + :class="getCellClasses(cell)" + :key="key"> + <div> + <span> + {{ cell.text }} + </span> + </div> + </td> + </tr> + </tbody> + </table> +</template> + +<script> + import { getFirstDayOfMonth, getDayCountOfMonth, getWeekNumber, getStartDateOfMonth, prevDate, nextDate, isDate, clearTime as _clearTime} from 'element-ui/src/utils/date-util'; + import Locale from 'element-ui/src/mixins/locale'; + import { arrayFindIndex, arrayFind, coerceTruthyValueToArray } from 'element-ui/src/utils/util'; + + const WEEKS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; + const getDateTimestamp = function(time) { + if (typeof time === 'number' || typeof time === 'string') { + return _clearTime(new Date(time)).getTime(); + } else if (time instanceof Date) { + return _clearTime(time).getTime(); + } else { + return NaN; + } + }; + + // remove the first element that satisfies `pred` from arr + // return a new array if modification occurs + // return the original array otherwise + const removeFromArray = function(arr, pred) { + const idx = typeof pred === 'function' ? arrayFindIndex(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [...arr.slice(0, idx), ...arr.slice(idx + 1)] : arr; + }; + + export default { + mixins: [Locale], + + props: { + firstDayOfWeek: { + default: 7, + type: Number, + validator: val => val >= 1 && val <= 7 + }, + + value: {}, + + defaultValue: { + validator(val) { + // either: null, valid Date object, Array of valid Date objects + return val === null || isDate(val) || (Array.isArray(val) && val.every(isDate)); + } + }, + + date: {}, + + selectionMode: { + default: 'day' + }, + + showWeekNumber: { + type: Boolean, + default: false + }, + + disabledDate: {}, + + cellClassName: {}, + + minDate: {}, + + maxDate: {}, + + rangeState: { + default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + computed: { + offsetDay() { + const week = this.firstDayOfWeek; + // ��銝箇���椰���宏��予�嚗�3217654 靘�銝�撠望 -1嚗��靚��舅銵����蔭 + return week > 3 ? 7 - week : -week; + }, + + WEEKS() { + const week = this.firstDayOfWeek; + return WEEKS.concat(WEEKS).slice(week, week + 7); + }, + + year() { + return this.date.getFullYear(); + }, + + month() { + return this.date.getMonth(); + }, + + startDate() { + return getStartDateOfMonth(this.year, this.month); + }, + + rows() { + // TODO: refactory rows / getCellClasses + const date = new Date(this.year, this.month, 1); + let day = getFirstDayOfMonth(date); // day of first day + const dateCountOfMonth = getDayCountOfMonth(date.getFullYear(), date.getMonth()); + const dateCountOfLastMonth = getDayCountOfMonth(date.getFullYear(), (date.getMonth() === 0 ? 11 : date.getMonth() - 1)); + + day = (day === 0 ? 7 : day); + + const offset = this.offsetDay; + const rows = this.tableRows; + let count = 1; + + const startDate = this.startDate; + const disabledDate = this.disabledDate; + const cellClassName = this.cellClassName; + const selectedDate = this.selectionMode === 'dates' ? coerceTruthyValueToArray(this.value) : []; + const now = getDateTimestamp(new Date()); + + for (let i = 0; i < 6; i++) { + const row = rows[i]; + + if (this.showWeekNumber) { + if (!row[0]) { + row[0] = { type: 'week', text: getWeekNumber(nextDate(startDate, i * 7 + 1)) }; + } + } + + for (let j = 0; j < 7; j++) { + let cell = row[this.showWeekNumber ? j + 1 : j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + const index = i * 7 + j; + const time = nextDate(startDate, index - offset).getTime(); + cell.inRange = time >= getDateTimestamp(this.minDate) && time <= getDateTimestamp(this.maxDate); + cell.start = this.minDate && time === getDateTimestamp(this.minDate); + cell.end = this.maxDate && time === getDateTimestamp(this.maxDate); + const isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + + if (i >= 0 && i <= 1) { + const numberOfDaysFromPreviousMonth = day + offset < 0 ? 7 + day + offset : day + offset; + + if (j + i * 7 >= numberOfDaysFromPreviousMonth) { + cell.text = count++; + } else { + cell.text = dateCountOfLastMonth - (numberOfDaysFromPreviousMonth - j % 7) + 1 + i * 7; + cell.type = 'prev-month'; + } + } else { + if (count <= dateCountOfMonth) { + cell.text = count++; + } else { + cell.text = count++ - dateCountOfMonth; + cell.type = 'next-month'; + } + } + + let cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = arrayFind(selectedDate, date => date.getTime() === cellDate.getTime()); + cell.customClass = typeof cellClassName === 'function' && cellClassName(cellDate); + this.$set(row, this.showWeekNumber ? j + 1 : j, cell); + } + + if (this.selectionMode === 'week') { + const start = this.showWeekNumber ? 1 : 0; + const end = this.showWeekNumber ? 7 : 6; + const isWeekActive = this.isWeekActive(row[start + 1]); + + row[start].inRange = isWeekActive; + row[start].start = isWeekActive; + row[end].inRange = isWeekActive; + row[end].end = isWeekActive; + } + } + + return rows; + } + }, + + watch: { + 'rangeState.endDate'(newVal) { + this.markRange(this.minDate, newVal); + }, + + minDate(newVal, oldVal) { + if (getDateTimestamp(newVal) !== getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + + maxDate(newVal, oldVal) { + if (getDateTimestamp(newVal) !== getDateTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data() { + return { + tableRows: [ [], [], [], [], [], [] ], + lastRow: null, + lastColumn: null + }; + }, + + methods: { + cellMatchesDate(cell, date) { + const value = new Date(date); + return this.year === value.getFullYear() && + this.month === value.getMonth() && + Number(cell.text) === value.getDate(); + }, + + getCellClasses(cell) { + const selectionMode = this.selectionMode; + const defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + + let classes = []; + if ((cell.type === 'normal' || cell.type === 'today') && !cell.disabled) { + classes.push('available'); + if (cell.type === 'today') { + classes.push('today'); + } + } else { + classes.push(cell.type); + } + + if (cell.type === 'normal' && defaultValue.some(date => this.cellMatchesDate(cell, date))) { + classes.push('default'); + } + + if (selectionMode === 'day' && (cell.type === 'normal' || cell.type === 'today') && this.cellMatchesDate(cell, this.value)) { + classes.push('current'); + } + + if (cell.inRange && ((cell.type === 'normal' || cell.type === 'today') || this.selectionMode === 'week')) { + classes.push('in-range'); + + if (cell.start) { + classes.push('start-date'); + } + + if (cell.end) { + classes.push('end-date'); + } + } + + if (cell.disabled) { + classes.push('disabled'); + } + + if (cell.selected) { + classes.push('selected'); + } + + if (cell.customClass) { + classes.push(cell.customClass); + } + + return classes.join(' '); + }, + + getDateOfCell(row, column) { + const offsetFromStart = row * 7 + (column - (this.showWeekNumber ? 1 : 0)) - this.offsetDay; + return nextDate(this.startDate, offsetFromStart); + }, + + isWeekActive(cell) { + if (this.selectionMode !== 'week') return false; + const newDate = new Date(this.year, this.month, 1); + const year = newDate.getFullYear(); + const month = newDate.getMonth(); + + if (cell.type === 'prev-month') { + newDate.setMonth(month === 0 ? 11 : month - 1); + newDate.setFullYear(month === 0 ? year - 1 : year); + } + + if (cell.type === 'next-month') { + newDate.setMonth(month === 11 ? 0 : month + 1); + newDate.setFullYear(month === 11 ? year + 1 : year); + } + + newDate.setDate(parseInt(cell.text, 10)); + + if (isDate(this.value)) { + const dayOffset = (this.value.getDay() - this.firstDayOfWeek + 7) % 7 - 1; + const weekDate = prevDate(this.value, dayOffset); + return weekDate.getTime() === newDate.getTime(); + } + return false; + }, + + markRange(minDate, maxDate) { + minDate = getDateTimestamp(minDate); + maxDate = getDateTimestamp(maxDate) || minDate; + [minDate, maxDate] = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + + const startDate = this.startDate; + const rows = this.rows; + for (let i = 0, k = rows.length; i < k; i++) { + const row = rows[i]; + for (let j = 0, l = row.length; j < l; j++) { + if (this.showWeekNumber && j === 0) continue; + + const cell = row[j]; + const index = i * 7 + j + (this.showWeekNumber ? -1 : 0); + const time = nextDate(startDate, index - this.offsetDay).getTime(); + + cell.inRange = minDate && time >= minDate && time <= maxDate; + cell.start = minDate && time === minDate; + cell.end = maxDate && time === maxDate; + } + } + }, + + handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + let target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + const row = target.parentNode.rowIndex - 1; + const column = target.cellIndex; + + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getDateOfCell(row, column) + } + }); + } + }, + + handleClick(event) { + let target = event.target; + if (target.tagName === 'SPAN') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + + if (target.tagName !== 'TD') return; + + const row = target.parentNode.rowIndex - 1; + const column = this.selectionMode === 'week' ? 1 : target.cellIndex; + const cell = this.rows[row][column]; + + if (cell.disabled || cell.type === 'week') return; + + const newDate = this.getDateOfCell(row, column); + + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', {minDate: newDate, maxDate: null}); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', {minDate: this.minDate, maxDate: newDate}); + } else { + this.$emit('pick', {minDate: newDate, maxDate: this.minDate}); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'day') { + this.$emit('pick', newDate); + } else if (this.selectionMode === 'week') { + const weekNumber = getWeekNumber(newDate); + const value = newDate.getFullYear() + 'w' + weekNumber; + this.$emit('pick', { + year: newDate.getFullYear(), + week: weekNumber, + value: value, + date: newDate + }); + } else if (this.selectionMode === 'dates') { + const value = this.value || []; + const newValue = cell.selected + ? removeFromArray(value, date => date.getTime() === newDate.getTime()) + : [...value, newDate]; + this.$emit('pick', newValue); + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/month-table.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/month-table.vue new file mode 100644 index 0000000..1808307 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/month-table.vue @@ -0,0 +1,269 @@ +<template> + <table @click="handleMonthTableClick" @mousemove="handleMouseMove" class="el-month-table"> + <tbody> + <tr v-for="(row, key) in rows" :key="key"> + <td :class="getCellStyle(cell)" v-for="(cell, key) in row" :key="key"> + <div> + <a class="cell">{{ t('el.datepicker.months.' + months[cell.text]) }}</a> + </div> + </td> + </tr> + </tbody> + </table> +</template> + +<script type="text/babel"> + import Locale from 'element-ui/src/mixins/locale'; + import { isDate, range, getDayCountOfMonth, nextDate } from 'element-ui/src/utils/date-util'; + import { hasClass } from 'element-ui/src/utils/dom'; + import { arrayFindIndex, coerceTruthyValueToArray, arrayFind } from 'element-ui/src/utils/util'; + + const datesInMonth = (year, month) => { + const numOfDays = getDayCountOfMonth(year, month); + const firstDay = new Date(year, month, 1); + return range(numOfDays).map(n => nextDate(firstDay, n)); + }; + + const clearDate = (date) => { + return new Date(date.getFullYear(), date.getMonth()); + }; + + const getMonthTimestamp = function(time) { + if (typeof time === 'number' || typeof time === 'string') { + return clearDate(new Date(time)).getTime(); + } else if (time instanceof Date) { + return clearDate(time).getTime(); + } else { + return NaN; + } + }; + + // remove the first element that satisfies `pred` from arr + // return a new array if modification occurs + // return the original array otherwise + const removeFromArray = function(arr, pred) { + const idx = typeof pred === 'function' ? arrayFindIndex(arr, pred) : arr.indexOf(pred); + return idx >= 0 ? [...arr.slice(0, idx), ...arr.slice(idx + 1)] : arr; + }; + export default { + props: { + disabledDate: {}, + value: {}, + selectionMode: { + default: 'month' + }, + minDate: {}, + + maxDate: {}, + defaultValue: { + validator(val) { + // null or valid Date Object + return val === null || isDate(val) || (Array.isArray(val) && val.every(isDate)); + } + }, + date: {}, + rangeState: { + default() { + return { + endDate: null, + selecting: false + }; + } + } + }, + + mixins: [Locale], + + watch: { + 'rangeState.endDate'(newVal) { + this.markRange(this.minDate, newVal); + }, + + minDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + }, + + maxDate(newVal, oldVal) { + if (getMonthTimestamp(newVal) !== getMonthTimestamp(oldVal)) { + this.markRange(this.minDate, this.maxDate); + } + } + }, + + data() { + return { + months: ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'], + tableRows: [ [], [], [] ], + lastRow: null, + lastColumn: null + }; + }, + + methods: { + cellMatchesDate(cell, date) { + const value = new Date(date); + return this.date.getFullYear() === value.getFullYear() && Number(cell.text) === value.getMonth(); + }, + getCellStyle(cell) { + const style = {}; + const year = this.date.getFullYear(); + const today = new Date(); + const month = cell.text; + const defaultValue = this.defaultValue ? Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue] : []; + style.disabled = typeof this.disabledDate === 'function' + ? datesInMonth(year, month).every(this.disabledDate) + : false; + style.current = arrayFindIndex(coerceTruthyValueToArray(this.value), date => date.getFullYear() === year && date.getMonth() === month) >= 0; + style.today = today.getFullYear() === year && today.getMonth() === month; + style.default = defaultValue.some(date => this.cellMatchesDate(cell, date)); + + if (cell.inRange) { + style['in-range'] = true; + + if (cell.start) { + style['start-date'] = true; + } + + if (cell.end) { + style['end-date'] = true; + } + } + return style; + }, + getMonthOfCell(month) { + const year = this.date.getFullYear(); + return new Date(year, month, 1); + }, + markRange(minDate, maxDate) { + minDate = getMonthTimestamp(minDate); + maxDate = getMonthTimestamp(maxDate) || minDate; + [minDate, maxDate] = [Math.min(minDate, maxDate), Math.max(minDate, maxDate)]; + const rows = this.rows; + for (let i = 0, k = rows.length; i < k; i++) { + const row = rows[i]; + for (let j = 0, l = row.length; j < l; j++) { + + const cell = row[j]; + const index = i * 4 + j; + const time = new Date(this.date.getFullYear(), index).getTime(); + + cell.inRange = minDate && time >= minDate && time <= maxDate; + cell.start = minDate && time === minDate; + cell.end = maxDate && time === maxDate; + } + } + }, + handleMouseMove(event) { + if (!this.rangeState.selecting) return; + + let target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + + const row = target.parentNode.rowIndex; + const column = target.cellIndex; + // can not select disabled date + if (this.rows[row][column].disabled) return; + + // only update rangeState when mouse moves to a new cell + // this avoids frequent Date object creation and improves performance + if (row !== this.lastRow || column !== this.lastColumn) { + this.lastRow = row; + this.lastColumn = column; + this.$emit('changerange', { + minDate: this.minDate, + maxDate: this.maxDate, + rangeState: { + selecting: true, + endDate: this.getMonthOfCell(row * 4 + column) + } + }); + } + }, + handleMonthTableClick(event) { + let target = event.target; + if (target.tagName === 'A') { + target = target.parentNode.parentNode; + } + if (target.tagName === 'DIV') { + target = target.parentNode; + } + if (target.tagName !== 'TD') return; + if (hasClass(target, 'disabled')) return; + const column = target.cellIndex; + const row = target.parentNode.rowIndex; + const month = row * 4 + column; + const newDate = this.getMonthOfCell(month); + if (this.selectionMode === 'range') { + if (!this.rangeState.selecting) { + this.$emit('pick', {minDate: newDate, maxDate: null}); + this.rangeState.selecting = true; + } else { + if (newDate >= this.minDate) { + this.$emit('pick', {minDate: this.minDate, maxDate: newDate}); + } else { + this.$emit('pick', {minDate: newDate, maxDate: this.minDate}); + } + this.rangeState.selecting = false; + } + } else if (this.selectionMode === 'months') { + const value = this.value || []; + const year = this.date.getFullYear(); + const newValue = arrayFindIndex(value, date => date.getFullYear() === year && date.getMonth() === month) >= 0 + ? removeFromArray(value, date => date.getTime() === newDate.getTime()) + : [...value, newDate]; + this.$emit('pick', newValue); + } else { + this.$emit('pick', month); + } + } + }, + + computed: { + rows() { + // TODO: refactory rows / getCellClasses + const rows = this.tableRows; + const disabledDate = this.disabledDate; + const selectedDate = []; + const now = getMonthTimestamp(new Date()); + + for (let i = 0; i < 3; i++) { + const row = rows[i]; + for (let j = 0; j < 4; j++) { + let cell = row[j]; + if (!cell) { + cell = { row: i, column: j, type: 'normal', inRange: false, start: false, end: false }; + } + + cell.type = 'normal'; + + const index = i * 4 + j; + const time = new Date(this.date.getFullYear(), index).getTime(); + cell.inRange = time >= getMonthTimestamp(this.minDate) && time <= getMonthTimestamp(this.maxDate); + cell.start = this.minDate && time === getMonthTimestamp(this.minDate); + cell.end = this.maxDate && time === getMonthTimestamp(this.maxDate); + const isToday = time === now; + + if (isToday) { + cell.type = 'today'; + } + cell.text = index; + let cellDate = new Date(time); + cell.disabled = typeof disabledDate === 'function' && disabledDate(cellDate); + cell.selected = arrayFind(selectedDate, date => date.getTime() === cellDate.getTime()); + + this.$set(row, j, cell); + } + } + return rows; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/time-spinner.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/time-spinner.vue new file mode 100644 index 0000000..d73c539 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/time-spinner.vue @@ -0,0 +1,304 @@ +<template> + <div class="el-time-spinner" :class="{ 'has-seconds': showSeconds }"> + <template v-if="!arrowControl"> + <el-scrollbar + @mouseenter.native="emitSelectRange('hours')" + @mousemove.native="adjustCurrentSpinner('hours')" + class="el-time-spinner__wrapper" + wrap-style="max-height: inherit;" + view-class="el-time-spinner__list" + noresize + tag="ul" + ref="hours"> + <li + @click="handleClick('hours', { value: hour, disabled: disabled })" + v-for="(disabled, hour) in hoursList" + class="el-time-spinner__item" + :key="hour" + :class="{ 'active': hour === hours, 'disabled': disabled }">{{ ('0' + (amPmMode ? (hour % 12 || 12) : hour )).slice(-2) }}{{ amPm(hour) }}</li> + </el-scrollbar> + <el-scrollbar + @mouseenter.native="emitSelectRange('minutes')" + @mousemove.native="adjustCurrentSpinner('minutes')" + class="el-time-spinner__wrapper" + wrap-style="max-height: inherit;" + view-class="el-time-spinner__list" + noresize + tag="ul" + ref="minutes"> + <li + @click="handleClick('minutes', { value: key, disabled: false })" + v-for="(enabled, key) in minutesList" + :key="key" + class="el-time-spinner__item" + :class="{ 'active': key === minutes, disabled: !enabled }">{{ ('0' + key).slice(-2) }}</li> + </el-scrollbar> + <el-scrollbar + v-show="showSeconds" + @mouseenter.native="emitSelectRange('seconds')" + @mousemove.native="adjustCurrentSpinner('seconds')" + class="el-time-spinner__wrapper" + wrap-style="max-height: inherit;" + view-class="el-time-spinner__list" + noresize + tag="ul" + ref="seconds"> + <li + @click="handleClick('seconds', { value: key, disabled: false })" + v-for="(second, key) in 60" + class="el-time-spinner__item" + :class="{ 'active': key === seconds }" + :key="key">{{ ('0' + key).slice(-2) }}</li> + </el-scrollbar> + </template> + <template v-if="arrowControl"> + <div + @mouseenter="emitSelectRange('hours')" + class="el-time-spinner__wrapper is-arrow"> + <i v-repeat-click="decrease" class="el-time-spinner__arrow el-icon-arrow-up"></i> + <i v-repeat-click="increase" class="el-time-spinner__arrow el-icon-arrow-down"></i> + <ul class="el-time-spinner__list" ref="hours"> + <li + class="el-time-spinner__item" + :class="{ 'active': hour === hours, 'disabled': hoursList[hour] }" + v-for="(hour, key) in arrowHourList" + :key="key">{{ hour === undefined ? '' : ('0' + (amPmMode ? (hour % 12 || 12) : hour )).slice(-2) + amPm(hour) }}</li> + </ul> + </div> + <div + @mouseenter="emitSelectRange('minutes')" + class="el-time-spinner__wrapper is-arrow"> + <i v-repeat-click="decrease" class="el-time-spinner__arrow el-icon-arrow-up"></i> + <i v-repeat-click="increase" class="el-time-spinner__arrow el-icon-arrow-down"></i> + <ul class="el-time-spinner__list" ref="minutes"> + <li + class="el-time-spinner__item" + :class="{ 'active': minute === minutes }" + v-for="(minute, key) in arrowMinuteList" + :key="key"> + {{ minute === undefined ? '' : ('0' + minute).slice(-2) }} + </li> + </ul> + </div> + <div + @mouseenter="emitSelectRange('seconds')" + class="el-time-spinner__wrapper is-arrow" + v-if="showSeconds"> + <i v-repeat-click="decrease" class="el-time-spinner__arrow el-icon-arrow-up"></i> + <i v-repeat-click="increase" class="el-time-spinner__arrow el-icon-arrow-down"></i> + <ul class="el-time-spinner__list" ref="seconds"> + <li + v-for="(second, key) in arrowSecondList" + class="el-time-spinner__item" + :class="{ 'active': second === seconds }" + :key="key"> + {{ second === undefined ? '' : ('0' + second).slice(-2) }} + </li> + </ul> + </div> + </template> + </div> +</template> + +<script type="text/babel"> + import { getRangeHours, getRangeMinutes, modifyTime } from 'element-ui/src/utils/date-util'; + import ElScrollbar from 'element-ui/packages/scrollbar'; + import RepeatClick from 'element-ui/src/directives/repeat-click'; + + export default { + components: { ElScrollbar }, + + directives: { + repeatClick: RepeatClick + }, + + props: { + date: {}, + defaultValue: {}, // reserved for future use + showSeconds: { + type: Boolean, + default: true + }, + arrowControl: Boolean, + amPmMode: { + type: String, + default: '' // 'a': am/pm; 'A': AM/PM + } + }, + + computed: { + hours() { + return this.date.getHours(); + }, + minutes() { + return this.date.getMinutes(); + }, + seconds() { + return this.date.getSeconds(); + }, + hoursList() { + return getRangeHours(this.selectableRange); + }, + minutesList() { + return getRangeMinutes(this.selectableRange, this.hours); + }, + arrowHourList() { + const hours = this.hours; + return [ + hours > 0 ? hours - 1 : undefined, + hours, + hours < 23 ? hours + 1 : undefined + ]; + }, + arrowMinuteList() { + const minutes = this.minutes; + return [ + minutes > 0 ? minutes - 1 : undefined, + minutes, + minutes < 59 ? minutes + 1 : undefined + ]; + }, + arrowSecondList() { + const seconds = this.seconds; + return [ + seconds > 0 ? seconds - 1 : undefined, + seconds, + seconds < 59 ? seconds + 1 : undefined + ]; + } + }, + + data() { + return { + selectableRange: [], + currentScrollbar: null + }; + }, + + mounted() { + this.$nextTick(() => { + !this.arrowControl && this.bindScrollEvent(); + }); + }, + + methods: { + increase() { + this.scrollDown(1); + }, + + decrease() { + this.scrollDown(-1); + }, + + modifyDateField(type, value) { + switch (type) { + case 'hours': this.$emit('change', modifyTime(this.date, value, this.minutes, this.seconds)); break; + case 'minutes': this.$emit('change', modifyTime(this.date, this.hours, value, this.seconds)); break; + case 'seconds': this.$emit('change', modifyTime(this.date, this.hours, this.minutes, value)); break; + } + }, + + handleClick(type, {value, disabled}) { + if (!disabled) { + this.modifyDateField(type, value); + this.emitSelectRange(type); + this.adjustSpinner(type, value); + } + }, + + emitSelectRange(type) { + if (type === 'hours') { + this.$emit('select-range', 0, 2); + } else if (type === 'minutes') { + this.$emit('select-range', 3, 5); + } else if (type === 'seconds') { + this.$emit('select-range', 6, 8); + } + this.currentScrollbar = type; + }, + + bindScrollEvent() { + const bindFunction = (type) => { + this.$refs[type].wrap.onscroll = (e) => { + // TODO: scroll is emitted when set scrollTop programatically + // should find better solutions in the future! + this.handleScroll(type, e); + }; + }; + bindFunction('hours'); + bindFunction('minutes'); + bindFunction('seconds'); + }, + + handleScroll(type) { + const value = Math.min(Math.round((this.$refs[type].wrap.scrollTop - (this.scrollBarHeight(type) * 0.5 - 10) / this.typeItemHeight(type) + 3) / this.typeItemHeight(type)), (type === 'hours' ? 23 : 59)); + this.modifyDateField(type, value); + }, + + // NOTE: used by datetime / date-range panel + // renamed from adjustScrollTop + // should try to refactory it + adjustSpinners() { + this.adjustSpinner('hours', this.hours); + this.adjustSpinner('minutes', this.minutes); + this.adjustSpinner('seconds', this.seconds); + }, + + adjustCurrentSpinner(type) { + this.adjustSpinner(type, this[type]); + }, + + adjustSpinner(type, value) { + if (this.arrowControl) return; + const el = this.$refs[type].wrap; + if (el) { + el.scrollTop = Math.max(0, value * this.typeItemHeight(type)); + } + }, + + scrollDown(step) { + if (!this.currentScrollbar) { + this.emitSelectRange('hours'); + } + + const label = this.currentScrollbar; + const hoursList = this.hoursList; + let now = this[label]; + + if (this.currentScrollbar === 'hours') { + let total = Math.abs(step); + step = step > 0 ? 1 : -1; + let length = hoursList.length; + while (length-- && total) { + now = (now + step + hoursList.length) % hoursList.length; + if (hoursList[now]) { + continue; + } + total--; + } + if (hoursList[now]) return; + } else { + now = (now + step + 60) % 60; + } + + this.modifyDateField(label, now); + this.adjustSpinner(label, now); + this.$nextTick(() => this.emitSelectRange(this.currentScrollbar)); + }, + amPm(hour) { + let shouldShowAmPm = this.amPmMode.toLowerCase() === 'a'; + if (!shouldShowAmPm) return ''; + let isCapital = this.amPmMode === 'A'; + let content = (hour < 12) ? ' am' : ' pm'; + if (isCapital) content = content.toUpperCase(); + return content; + }, + typeItemHeight(type) { + return this.$refs[type].$el.querySelector('li').offsetHeight; + }, + scrollBarHeight(type) { + return this.$refs[type].$el.offsetHeight; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/year-table.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/year-table.vue new file mode 100644 index 0000000..74eb59a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/basic/year-table.vue @@ -0,0 +1,111 @@ +<template> + <table @click="handleYearTableClick" class="el-year-table"> + <tbody> + <tr> + <td class="available" :class="getCellStyle(startYear + 0)"> + <a class="cell">{{ startYear }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 1)"> + <a class="cell">{{ startYear + 1 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 2)"> + <a class="cell">{{ startYear + 2 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 3)"> + <a class="cell">{{ startYear + 3 }}</a> + </td> + </tr> + <tr> + <td class="available" :class="getCellStyle(startYear + 4)"> + <a class="cell">{{ startYear + 4 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 5)"> + <a class="cell">{{ startYear + 5 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 6)"> + <a class="cell">{{ startYear + 6 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 7)"> + <a class="cell">{{ startYear + 7 }}</a> + </td> + </tr> + <tr> + <td class="available" :class="getCellStyle(startYear + 8)"> + <a class="cell">{{ startYear + 8 }}</a> + </td> + <td class="available" :class="getCellStyle(startYear + 9)"> + <a class="cell">{{ startYear + 9 }}</a> + </td> + <td></td> + <td></td> + </tr> + </tbody> + </table> +</template> + +<script type="text/babel"> + import { hasClass } from 'element-ui/src/utils/dom'; + import { isDate, range, nextDate, getDayCountOfYear } from 'element-ui/src/utils/date-util'; + import { arrayFindIndex, coerceTruthyValueToArray } from 'element-ui/src/utils/util'; + + const datesInYear = year => { + const numOfDays = getDayCountOfYear(year); + const firstDay = new Date(year, 0, 1); + return range(numOfDays).map(n => nextDate(firstDay, n)); + }; + + export default { + props: { + disabledDate: {}, + value: {}, + defaultValue: { + validator(val) { + // null or valid Date Object + return val === null || (val instanceof Date && isDate(val)); + } + }, + date: {}, + selectionMode: {} + }, + + computed: { + startYear() { + return Math.floor(this.date.getFullYear() / 10) * 10; + } + }, + + methods: { + getCellStyle(year) { + const style = {}; + const today = new Date(); + + style.disabled = typeof this.disabledDate === 'function' + ? datesInYear(year).every(this.disabledDate) + : false; + style.current = arrayFindIndex(coerceTruthyValueToArray(this.value), date => date.getFullYear() === year) >= 0; + style.today = today.getFullYear() === year; + style.default = this.defaultValue && this.defaultValue.getFullYear() === year; + + return style; + }, + + handleYearTableClick(event) { + const target = event.target; + if (target.tagName === 'A') { + if (hasClass(target.parentNode, 'disabled')) return; + const year = target.textContent || target.innerText; + if (this.selectionMode === 'years') { + const value = this.value || []; + const idx = arrayFindIndex(value, date => date.getFullYear() === Number(year)); + const newValue = idx > -1 + ? [...value.slice(0, idx), ...value.slice(idx + 1)] + : [...value, new Date(year)]; + this.$emit('pick', newValue); + } else { + this.$emit('pick', Number(year)); + } + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date-range.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date-range.vue new file mode 100644 index 0000000..7423bb4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date-range.vue @@ -0,0 +1,680 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="$emit('dodestroy')"> + <div + v-show="visible" + class="el-picker-panel el-date-range-picker el-popper" + :class="[{ + 'has-sidebar': $slots.sidebar || shortcuts, + 'has-time': showTime + }, popperClass]"> + <div class="el-picker-panel__body-wrapper"> + <slot name="sidebar" class="el-picker-panel__sidebar"></slot> + <div class="el-picker-panel__sidebar" v-if="shortcuts"> + <button + type="button" + class="el-picker-panel__shortcut" + v-for="(shortcut, key) in shortcuts" + :key="key" + @click="handleShortcutClick(shortcut)">{{shortcut.text}}</button> + </div> + <div class="el-picker-panel__body"> + <div class="el-date-range-picker__time-header" v-if="showTime"> + <span class="el-date-range-picker__editors-wrap"> + <span class="el-date-range-picker__time-picker-wrap"> + <el-input + size="small" + :disabled="rangeState.selecting" + ref="minInput" + :placeholder="t('el.datepicker.startDate')" + class="el-date-range-picker__editor" + :value="minVisibleDate" + @input="val => handleDateInput(val, 'min')" + @change="val => handleDateChange(val, 'min')" /> + </span> + <span class="el-date-range-picker__time-picker-wrap" v-clickoutside="handleMinTimeClose"> + <el-input + size="small" + class="el-date-range-picker__editor" + :disabled="rangeState.selecting" + :placeholder="t('el.datepicker.startTime')" + :value="minVisibleTime" + @focus="minTimePickerVisible = true" + @input="val => handleTimeInput(val, 'min')" + @change="val => handleTimeChange(val, 'min')" /> + <time-picker + ref="minTimePicker" + @pick="handleMinTimePick" + :time-arrow-control="arrowControl" + :visible="minTimePickerVisible" + @mounted="$refs.minTimePicker.format=timeFormat"> + </time-picker> + </span> + </span> + <span class="el-icon-arrow-right"></span> + <span class="el-date-range-picker__editors-wrap is-right"> + <span class="el-date-range-picker__time-picker-wrap"> + <el-input + size="small" + class="el-date-range-picker__editor" + :disabled="rangeState.selecting" + :placeholder="t('el.datepicker.endDate')" + :value="maxVisibleDate" + :readonly="!minDate" + @input="val => handleDateInput(val, 'max')" + @change="val => handleDateChange(val, 'max')" /> + </span> + <span class="el-date-range-picker__time-picker-wrap" v-clickoutside="handleMaxTimeClose"> + <el-input + size="small" + class="el-date-range-picker__editor" + :disabled="rangeState.selecting" + :placeholder="t('el.datepicker.endTime')" + :value="maxVisibleTime" + :readonly="!minDate" + @focus="minDate && (maxTimePickerVisible = true)" + @input="val => handleTimeInput(val, 'max')" + @change="val => handleTimeChange(val, 'max')" /> + <time-picker + ref="maxTimePicker" + @pick="handleMaxTimePick" + :time-arrow-control="arrowControl" + :visible="maxTimePickerVisible" + @mounted="$refs.maxTimePicker.format=timeFormat"> + </time-picker> + </span> + </span> + </div> + <div class="el-picker-panel__content el-date-range-picker__content is-left"> + <div class="el-date-range-picker__header"> + <button + type="button" + @click="leftPrevYear" + class="el-picker-panel__icon-btn el-icon-d-arrow-left"></button> + <button + type="button" + @click="leftPrevMonth" + class="el-picker-panel__icon-btn el-icon-arrow-left"></button> + <button + type="button" + @click="leftNextYear" + v-if="unlinkPanels" + :disabled="!enableYearArrow" + :class="{ 'is-disabled': !enableYearArrow }" + class="el-picker-panel__icon-btn el-icon-d-arrow-right"></button> + <button + type="button" + @click="leftNextMonth" + v-if="unlinkPanels" + :disabled="!enableMonthArrow" + :class="{ 'is-disabled': !enableMonthArrow }" + class="el-picker-panel__icon-btn el-icon-arrow-right"></button> + <div>{{ leftLabel }}</div> + </div> + <date-table + selection-mode="range" + :date="leftDate" + :default-value="defaultValue" + :min-date="minDate" + :max-date="maxDate" + :range-state="rangeState" + :disabled-date="disabledDate" + :cell-class-name="cellClassName" + @changerange="handleChangeRange" + :first-day-of-week="firstDayOfWeek" + @pick="handleRangePick"> + </date-table> + </div> + <div class="el-picker-panel__content el-date-range-picker__content is-right"> + <div class="el-date-range-picker__header"> + <button + type="button" + @click="rightPrevYear" + v-if="unlinkPanels" + :disabled="!enableYearArrow" + :class="{ 'is-disabled': !enableYearArrow }" + class="el-picker-panel__icon-btn el-icon-d-arrow-left"></button> + <button + type="button" + @click="rightPrevMonth" + v-if="unlinkPanels" + :disabled="!enableMonthArrow" + :class="{ 'is-disabled': !enableMonthArrow }" + class="el-picker-panel__icon-btn el-icon-arrow-left"></button> + <button + type="button" + @click="rightNextYear" + class="el-picker-panel__icon-btn el-icon-d-arrow-right"></button> + <button + type="button" + @click="rightNextMonth" + class="el-picker-panel__icon-btn el-icon-arrow-right"></button> + <div>{{ rightLabel }}</div> + </div> + <date-table + selection-mode="range" + :date="rightDate" + :default-value="defaultValue" + :min-date="minDate" + :max-date="maxDate" + :range-state="rangeState" + :disabled-date="disabledDate" + :cell-class-name="cellClassName" + @changerange="handleChangeRange" + :first-day-of-week="firstDayOfWeek" + @pick="handleRangePick"> + </date-table> + </div> + </div> + </div> + <div class="el-picker-panel__footer" v-if="showTime"> + <el-button + size="mini" + type="text" + class="el-picker-panel__link-btn" + @click="handleClear"> + {{ t('el.datepicker.clear') }} + </el-button> + <el-button + plain + size="mini" + class="el-picker-panel__link-btn" + :disabled="btnDisabled" + @click="handleConfirm(false)"> + {{ t('el.datepicker.confirm') }} + </el-button> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import { + formatDate, + parseDate, + isDate, + modifyDate, + modifyTime, + modifyWithTimeString, + prevYear, + nextYear, + prevMonth, + nextMonth, + nextDate, + extractDateFormat, + extractTimeFormat + } from 'element-ui/src/utils/date-util'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Locale from 'element-ui/src/mixins/locale'; + import TimePicker from './time'; + import DateTable from '../basic/date-table'; + import ElInput from 'element-ui/packages/input'; + import ElButton from 'element-ui/packages/button'; + + const calcDefaultValue = (defaultValue) => { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), nextDate(new Date(defaultValue), 1)]; + } else { + return [new Date(), nextDate(new Date(), 1)]; + } + }; + + export default { + mixins: [Locale], + + directives: { Clickoutside }, + + computed: { + btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + + leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t(`el.datepicker.month${ this.leftDate.getMonth() + 1 }`); + }, + + rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year') + ' ' + this.t(`el.datepicker.month${ this.rightDate.getMonth() + 1 }`); + }, + + leftYear() { + return this.leftDate.getFullYear(); + }, + + leftMonth() { + return this.leftDate.getMonth(); + }, + + leftMonthDate() { + return this.leftDate.getDate(); + }, + + rightYear() { + return this.rightDate.getFullYear(); + }, + + rightMonth() { + return this.rightDate.getMonth(); + }, + + rightMonthDate() { + return this.rightDate.getDate(); + }, + + minVisibleDate() { + if (this.dateUserInput.min !== null) return this.dateUserInput.min; + if (this.minDate) return formatDate(this.minDate, this.dateFormat); + return ''; + }, + + maxVisibleDate() { + if (this.dateUserInput.max !== null) return this.dateUserInput.max; + if (this.maxDate || this.minDate) return formatDate(this.maxDate || this.minDate, this.dateFormat); + return ''; + }, + + minVisibleTime() { + if (this.timeUserInput.min !== null) return this.timeUserInput.min; + if (this.minDate) return formatDate(this.minDate, this.timeFormat); + return ''; + }, + + maxVisibleTime() { + if (this.timeUserInput.max !== null) return this.timeUserInput.max; + if (this.maxDate || this.minDate) return formatDate(this.maxDate || this.minDate, this.timeFormat); + return ''; + }, + + timeFormat() { + if (this.format) { + return extractTimeFormat(this.format); + } else { + return 'HH:mm:ss'; + } + }, + + dateFormat() { + if (this.format) { + return extractDateFormat(this.format); + } else { + return 'yyyy-MM-dd'; + } + }, + + enableMonthArrow() { + const nextMonth = (this.leftMonth + 1) % 12; + const yearOffset = this.leftMonth + 1 >= 12 ? 1 : 0; + return this.unlinkPanels && new Date(this.leftYear + yearOffset, nextMonth) < new Date(this.rightYear, this.rightMonth); + }, + + enableYearArrow() { + return this.unlinkPanels && this.rightYear * 12 + this.rightMonth - (this.leftYear * 12 + this.leftMonth + 1) >= 12; + } + }, + + data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: nextMonth(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + showTime: false, + shortcuts: '', + visible: '', + disabledDate: '', + cellClassName: '', + firstDayOfWeek: 7, + minTimePickerVisible: false, + maxTimePickerVisible: false, + format: '', + arrowControl: false, + unlinkPanels: false, + dateUserInput: { + min: null, + max: null + }, + timeUserInput: { + min: null, + max: null + } + }; + }, + + watch: { + minDate(val) { + this.dateUserInput.min = null; + this.timeUserInput.min = null; + this.$nextTick(() => { + if (this.$refs.maxTimePicker && this.maxDate && this.maxDate < this.minDate) { + const format = 'HH:mm:ss'; + this.$refs.maxTimePicker.selectableRange = [ + [ + parseDate(formatDate(this.minDate, format), format), + parseDate('23:59:59', format) + ] + ]; + } + }); + if (val && this.$refs.minTimePicker) { + this.$refs.minTimePicker.date = val; + this.$refs.minTimePicker.value = val; + } + }, + + maxDate(val) { + this.dateUserInput.max = null; + this.timeUserInput.max = null; + if (val && this.$refs.maxTimePicker) { + this.$refs.maxTimePicker.date = val; + this.$refs.maxTimePicker.value = val; + } + }, + + minTimePickerVisible(val) { + if (val) { + this.$nextTick(() => { + this.$refs.minTimePicker.date = this.minDate; + this.$refs.minTimePicker.value = this.minDate; + this.$refs.minTimePicker.adjustSpinners(); + }); + } + }, + + maxTimePickerVisible(val) { + if (val) { + this.$nextTick(() => { + this.$refs.maxTimePicker.date = this.maxDate; + this.$refs.maxTimePicker.value = this.maxDate; + this.$refs.maxTimePicker.adjustSpinners(); + }); + } + }, + + value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = isDate(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = isDate(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + const minDateYear = this.minDate.getFullYear(); + const minDateMonth = this.minDate.getMonth(); + const maxDateYear = this.maxDate.getFullYear(); + const maxDateMonth = this.maxDate.getMonth(); + this.rightDate = minDateYear === maxDateYear && minDateMonth === maxDateMonth + ? nextMonth(this.maxDate) + : this.maxDate; + } else { + this.rightDate = nextMonth(this.leftDate); + } + } else { + this.leftDate = calcDefaultValue(this.defaultValue)[0]; + this.rightDate = nextMonth(this.leftDate); + } + } + }, + + defaultValue(val) { + if (!Array.isArray(this.value)) { + const [left, right] = calcDefaultValue(val); + this.leftDate = left; + this.rightDate = val && val[1] && this.unlinkPanels + ? right + : nextMonth(this.leftDate); + } + } + }, + + methods: { + handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = calcDefaultValue(this.defaultValue)[0]; + this.rightDate = nextMonth(this.leftDate); + this.$emit('pick', null); + }, + + handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + + handleDateInput(value, type) { + this.dateUserInput[type] = value; + if (value.length !== this.dateFormat.length) return; + const parsedValue = parseDate(value, this.dateFormat); + + if (parsedValue) { + if (typeof this.disabledDate === 'function' && + this.disabledDate(new Date(parsedValue))) { + return; + } + if (type === 'min') { + this.minDate = modifyDate(this.minDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.leftDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.rightDate = nextMonth(this.leftDate); + } + } else { + this.maxDate = modifyDate(this.maxDate || new Date(), parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + this.rightDate = new Date(parsedValue); + if (!this.unlinkPanels) { + this.leftDate = prevMonth(parsedValue); + } + } + } + }, + + handleDateChange(value, type) { + const parsedValue = parseDate(value, this.dateFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = modifyDate(this.minDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + } else { + this.maxDate = modifyDate(this.maxDate, parsedValue.getFullYear(), parsedValue.getMonth(), parsedValue.getDate()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + } + } + }, + + handleTimeInput(value, type) { + this.timeUserInput[type] = value; + if (value.length !== this.timeFormat.length) return; + const parsedValue = parseDate(value, this.timeFormat); + + if (parsedValue) { + if (type === 'min') { + this.minDate = modifyTime(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(_ => this.$refs.minTimePicker.adjustSpinners()); + } else { + this.maxDate = modifyTime(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + this.$nextTick(_ => this.$refs.maxTimePicker.adjustSpinners()); + } + } + }, + + handleTimeChange(value, type) { + const parsedValue = parseDate(value, this.timeFormat); + if (parsedValue) { + if (type === 'min') { + this.minDate = modifyTime(this.minDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.minDate > this.maxDate) { + this.maxDate = this.minDate; + } + this.$refs.minTimePicker.value = this.minDate; + this.minTimePickerVisible = false; + } else { + this.maxDate = modifyTime(this.maxDate, parsedValue.getHours(), parsedValue.getMinutes(), parsedValue.getSeconds()); + if (this.maxDate < this.minDate) { + this.minDate = this.maxDate; + } + this.$refs.maxTimePicker.value = this.minDate; + this.maxTimePickerVisible = false; + } + } + }, + + handleRangePick(val, close = true) { + const defaultTime = this.defaultTime || []; + const minDate = modifyWithTimeString(val.minDate, defaultTime[0]); + const maxDate = modifyWithTimeString(val.maxDate, defaultTime[1]); + + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(() => { + this.maxDate = maxDate; + this.minDate = minDate; + }, 10); + if (!close || this.showTime) return; + this.handleConfirm(); + }, + + handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + + handleMinTimePick(value, visible, first) { + this.minDate = this.minDate || new Date(); + if (value) { + this.minDate = modifyTime(this.minDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.minTimePickerVisible = visible; + } + + if (!this.maxDate || this.maxDate && this.maxDate.getTime() < this.minDate.getTime()) { + this.maxDate = new Date(this.minDate); + } + }, + + handleMinTimeClose() { + this.minTimePickerVisible = false; + }, + + handleMaxTimePick(value, visible, first) { + if (this.maxDate && value) { + this.maxDate = modifyTime(this.maxDate, value.getHours(), value.getMinutes(), value.getSeconds()); + } + + if (!first) { + this.maxTimePickerVisible = visible; + } + + if (this.maxDate && this.minDate && this.minDate.getTime() > this.maxDate.getTime()) { + this.minDate = new Date(this.maxDate); + } + }, + + handleMaxTimeClose() { + this.maxTimePickerVisible = false; + }, + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear() { + this.leftDate = prevYear(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = nextMonth(this.leftDate); + } + }, + + leftPrevMonth() { + this.leftDate = prevMonth(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = nextMonth(this.leftDate); + } + }, + + rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = nextYear(this.leftDate); + this.rightDate = nextMonth(this.leftDate); + } else { + this.rightDate = nextYear(this.rightDate); + } + }, + + rightNextMonth() { + if (!this.unlinkPanels) { + this.leftDate = nextMonth(this.leftDate); + this.rightDate = nextMonth(this.leftDate); + } else { + this.rightDate = nextMonth(this.rightDate); + } + }, + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear() { + this.leftDate = nextYear(this.leftDate); + }, + + leftNextMonth() { + this.leftDate = nextMonth(this.leftDate); + }, + + rightPrevYear() { + this.rightDate = prevYear(this.rightDate); + }, + + rightPrevMonth() { + this.rightDate = prevMonth(this.rightDate); + }, + + handleConfirm(visible = false) { + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + + isValidValue(value) { + return Array.isArray(value) && + value && value[0] && value[1] && + isDate(value[0]) && isDate(value[1]) && + value[0].getTime() <= value[1].getTime() && ( + typeof this.disabledDate === 'function' + ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) + : true + ); + }, + + resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + if (this.minDate && this.maxDate == null) this.rangeState.selecting = false; + this.minDate = this.value && isDate(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && isDate(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { TimePicker, DateTable, ElInput, ElButton } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date.vue new file mode 100644 index 0000000..a0fa95b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/date.vue @@ -0,0 +1,609 @@ +<template> + <transition name="el-zoom-in-top" @after-enter="handleEnter" @after-leave="handleLeave"> + <div + v-show="visible" + class="el-picker-panel el-date-picker el-popper" + :class="[{ + 'has-sidebar': $slots.sidebar || shortcuts, + 'has-time': showTime + }, popperClass]"> + <div class="el-picker-panel__body-wrapper"> + <slot name="sidebar" class="el-picker-panel__sidebar"></slot> + <div class="el-picker-panel__sidebar" v-if="shortcuts"> + <button + type="button" + class="el-picker-panel__shortcut" + v-for="(shortcut, key) in shortcuts" + :key="key" + @click="handleShortcutClick(shortcut)">{{ shortcut.text }}</button> + </div> + <div class="el-picker-panel__body"> + <div class="el-date-picker__time-header" v-if="showTime"> + <span class="el-date-picker__editor-wrap"> + <el-input + :placeholder="t('el.datepicker.selectDate')" + :value="visibleDate" + size="small" + @input="val => userInputDate = val" + @change="handleVisibleDateChange" /> + </span> + <span class="el-date-picker__editor-wrap" v-clickoutside="handleTimePickClose"> + <el-input + ref="input" + @focus="timePickerVisible = true" + :placeholder="t('el.datepicker.selectTime')" + :value="visibleTime" + size="small" + @input="val => userInputTime = val" + @change="handleVisibleTimeChange" /> + <time-picker + ref="timepicker" + :time-arrow-control="arrowControl" + @pick="handleTimePick" + :visible="timePickerVisible" + @mounted="proxyTimePickerDataProperties"> + </time-picker> + </span> + </div> + <div + class="el-date-picker__header" + :class="{ 'el-date-picker__header--bordered': currentView === 'year' || currentView === 'month' }" + v-show="currentView !== 'time'"> + <button + type="button" + @click="prevYear" + :aria-label="t(`el.datepicker.prevYear`)" + class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left"> + </button> + <button + type="button" + @click="prevMonth" + v-show="currentView === 'date'" + :aria-label="t(`el.datepicker.prevMonth`)" + class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left"> + </button> + <span + @click="showYearPicker" + role="button" + class="el-date-picker__header-label">{{ yearLabel }}</span> + <span + @click="showMonthPicker" + v-show="currentView === 'date'" + role="button" + class="el-date-picker__header-label" + :class="{ active: currentView === 'month' }">{{t(`el.datepicker.month${ month + 1 }`)}}</span> + <button + type="button" + @click="nextYear" + :aria-label="t(`el.datepicker.nextYear`)" + class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"> + </button> + <button + type="button" + @click="nextMonth" + v-show="currentView === 'date'" + :aria-label="t(`el.datepicker.nextMonth`)" + class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right"> + </button> + </div> + + <div class="el-picker-panel__content"> + <date-table + v-show="currentView === 'date'" + @pick="handleDatePick" + :selection-mode="selectionMode" + :first-day-of-week="firstDayOfWeek" + :value="value" + :default-value="defaultValue ? new Date(defaultValue) : null" + :date="date" + :cell-class-name="cellClassName" + :disabled-date="disabledDate"> + </date-table> + <year-table + v-show="currentView === 'year'" + @pick="handleYearPick" + :selection-mode="selectionMode" + :value="value" + :default-value="defaultValue ? new Date(defaultValue) : null" + :date="date" + :disabled-date="disabledDate"> + </year-table> + <month-table + v-show="currentView === 'month'" + @pick="handleMonthPick" + :selection-mode="selectionMode" + :value="value" + :default-value="defaultValue ? new Date(defaultValue) : null" + :date="date" + :disabled-date="disabledDate"> + </month-table> + </div> + </div> + </div> + + <div + class="el-picker-panel__footer" + v-show="footerVisible && (currentView === 'date' || currentView === 'month' || currentView === 'year')"> + <el-button + size="mini" + type="text" + class="el-picker-panel__link-btn" + @click="changeToNow" + v-show="selectionMode !== 'dates' && selectionMode !== 'months' && selectionMode !== 'years'"> + {{ t('el.datepicker.now') }} + </el-button> + <el-button + plain + size="mini" + class="el-picker-panel__link-btn" + @click="confirm"> + {{ t('el.datepicker.confirm') }} + </el-button> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import { + formatDate, + parseDate, + getWeekNumber, + isDate, + modifyDate, + modifyTime, + modifyWithTimeString, + clearMilliseconds, + clearTime, + prevYear, + nextYear, + prevMonth, + nextMonth, + changeYearMonthAndClampDate, + extractDateFormat, + extractTimeFormat, + timeWithinRange + } from 'element-ui/src/utils/date-util'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Locale from 'element-ui/src/mixins/locale'; + import ElInput from 'element-ui/packages/input'; + import ElButton from 'element-ui/packages/button'; + import TimePicker from './time'; + import YearTable from '../basic/year-table'; + import MonthTable from '../basic/month-table'; + import DateTable from '../basic/date-table'; + + export default { + mixins: [Locale], + + directives: { Clickoutside }, + + watch: { + showTime(val) { + /* istanbul ignore if */ + if (!val) return; + this.$nextTick(_ => { + const inputElm = this.$refs.input.$el; + if (inputElm) { + this.pickerWidth = inputElm.getBoundingClientRect().width + 10; + } + }); + }, + + value(val) { + if (this.selectionMode === 'dates' && this.value) return; + if (this.selectionMode === 'months' && this.value) return; + if (this.selectionMode === 'years' && this.value) return; + if (isDate(val)) { + this.date = new Date(val); + } else { + this.date = this.getDefaultValue(); + } + }, + + defaultValue(val) { + if (!isDate(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + }, + + timePickerVisible(val) { + if (val) this.$nextTick(() => this.$refs.timepicker.adjustSpinners()); + }, + + selectionMode(newVal) { + if (newVal === 'month') { + /* istanbul ignore next */ + if (this.currentView !== 'year' || this.currentView !== 'month') { + this.currentView = 'month'; + } + } else if (newVal === 'dates') { + this.currentView = 'date'; + } else if (newVal === 'years') { + this.currentView = 'year'; + } else if (newVal === 'months') { + this.currentView = 'month'; + } + } + }, + + methods: { + proxyTimePickerDataProperties() { + const format = timeFormat => {this.$refs.timepicker.format = timeFormat;}; + const value = value => {this.$refs.timepicker.value = value;}; + const date = date => {this.$refs.timepicker.date = date;}; + const selectableRange = selectableRange => {this.$refs.timepicker.selectableRange = selectableRange;}; + + this.$watch('value', value); + this.$watch('date', date); + this.$watch('selectableRange', selectableRange); + + format(this.timeFormat); + value(this.value); + date(this.date); + selectableRange(this.selectableRange); + }, + + handleClear() { + this.date = this.getDefaultValue(); + this.$emit('pick', null); + }, + + emit(value, ...args) { + if (!value) { + this.$emit('pick', value, ...args); + } else if (Array.isArray(value)) { + const dates = value.map(date => this.showTime ? clearMilliseconds(date) : clearTime(date)); + this.$emit('pick', dates, ...args); + } else { + this.$emit('pick', this.showTime ? clearMilliseconds(value) : clearTime(value), ...args); + } + this.userInputDate = null; + this.userInputTime = null; + }, + + // resetDate() { + // this.date = new Date(this.date); + // }, + + showMonthPicker() { + this.currentView = 'month'; + }, + + showYearPicker() { + this.currentView = 'year'; + }, + + // XXX: 瘝∠� + // handleLabelClick() { + // if (this.currentView === 'date') { + // this.showMonthPicker(); + // } else if (this.currentView === 'month') { + // this.showYearPicker(); + // } + // }, + + prevMonth() { + this.date = prevMonth(this.date); + }, + + nextMonth() { + this.date = nextMonth(this.date); + }, + + prevYear() { + if (this.currentView === 'year') { + this.date = prevYear(this.date, 10); + } else { + this.date = prevYear(this.date); + } + }, + + nextYear() { + if (this.currentView === 'year') { + this.date = nextYear(this.date, 10); + } else { + this.date = nextYear(this.date); + } + }, + + handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + + handleTimePick(value, visible, first) { + if (isDate(value)) { + const newDate = this.value + ? modifyTime(this.value, value.getHours(), value.getMinutes(), value.getSeconds()) + : modifyWithTimeString(this.getDefaultValue(), this.defaultTime); + this.date = newDate; + this.emit(this.date, true); + } else { + this.emit(value, true); + } + if (!first) { + this.timePickerVisible = visible; + } + }, + + handleTimePickClose() { + this.timePickerVisible = false; + }, + + handleMonthPick(month) { + if (this.selectionMode === 'month') { + this.date = modifyDate(this.date, this.year, month, 1); + this.emit(this.date); + } else if (this.selectionMode === 'months') { + this.emit(month, true); + } else { + this.date = changeYearMonthAndClampDate(this.date, this.year, month); + // TODO: should emit intermediate value ?? + // this.emit(this.date); + this.currentView = 'date'; + } + }, + + handleDatePick(value) { + if (this.selectionMode === 'day') { + let newDate = this.value + ? modifyDate(this.value, value.getFullYear(), value.getMonth(), value.getDate()) + : modifyWithTimeString(value, this.defaultTime); + // change default time while out of selectableRange + if (!this.checkDateWithinRange(newDate)) { + newDate = modifyDate(this.selectableRange[0][0], value.getFullYear(), value.getMonth(), value.getDate()); + } + this.date = newDate; + this.emit(this.date, this.showTime); + } else if (this.selectionMode === 'week') { + this.emit(value.date); + } else if (this.selectionMode === 'dates') { + this.emit(value, true); // set false to keep panel open + } + }, + + handleYearPick(year) { + if (this.selectionMode === 'year') { + this.date = modifyDate(this.date, year, 0, 1); + this.emit(this.date); + } else if (this.selectionMode === 'years') { + this.emit(year, true); + } else { + this.date = changeYearMonthAndClampDate(this.date, year, this.month); + // TODO: should emit intermediate value ?? + // this.emit(this.date, true); + this.currentView = 'month'; + } + }, + + changeToNow() { + // NOTE: not a permanent solution + // consider disable "now" button in the future + if ((!this.disabledDate || !this.disabledDate(new Date())) && this.checkDateWithinRange(new Date())) { + this.date = new Date(); + this.emit(this.date); + } + }, + + confirm() { + if (this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years') { + this.emit(this.value); + } else { + // value were emitted in handle{Date,Time}Pick, nothing to update here + // deal with the scenario where: user opens the picker, then confirm without doing anything + const value = this.value + ? this.value + : modifyWithTimeString(this.getDefaultValue(), this.defaultTime); + this.date = new Date(value); // refresh date + this.emit(value); + } + }, + + resetView() { + if (this.selectionMode === 'month' || this.selectionMode === 'months') { + this.currentView = 'month'; + } else if (this.selectionMode === 'year' || this.selectionMode === 'years') { + this.currentView = 'year'; + } else { + this.currentView = 'date'; + } + }, + + handleEnter() { + document.body.addEventListener('keydown', this.handleKeydown); + }, + + handleLeave() { + this.$emit('dodestroy'); + document.body.removeEventListener('keydown', this.handleKeydown); + }, + + handleKeydown(event) { + const keyCode = event.keyCode; + const list = [38, 40, 37, 39]; + if (this.visible && !this.timePickerVisible) { + if (list.indexOf(keyCode) !== -1) { + this.handleKeyControl(keyCode); + event.stopPropagation(); + event.preventDefault(); + } + if (keyCode === 13 && this.userInputDate === null && this.userInputTime === null) { // Enter + this.emit(this.date, false); + } + } + }, + + handleKeyControl(keyCode) { + const mapping = { + 'year': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: (date, step) => date.setFullYear(date.getFullYear() + step) + }, + 'month': { + 38: -4, 40: 4, 37: -1, 39: 1, offset: (date, step) => date.setMonth(date.getMonth() + step) + }, + 'week': { + 38: -1, 40: 1, 37: -1, 39: 1, offset: (date, step) => date.setDate(date.getDate() + step * 7) + }, + 'day': { + 38: -7, 40: 7, 37: -1, 39: 1, offset: (date, step) => date.setDate(date.getDate() + step) + } + }; + const mode = this.selectionMode; + const year = 3.1536e10; + const now = this.date.getTime(); + const newDate = new Date(this.date.getTime()); + while (Math.abs(now - newDate.getTime()) <= year) { + const map = mapping[mode]; + map.offset(newDate, map[keyCode]); + if (typeof this.disabledDate === 'function' && this.disabledDate(newDate)) { + continue; + } + this.date = newDate; + this.$emit('pick', newDate, true); + break; + } + }, + + handleVisibleTimeChange(value) { + const time = parseDate(value, this.timeFormat); + if (time && this.checkDateWithinRange(time)) { + this.date = modifyDate(time, this.year, this.month, this.monthDate); + this.userInputTime = null; + this.$refs.timepicker.value = this.date; + this.timePickerVisible = false; + this.emit(this.date, true); + } + }, + + handleVisibleDateChange(value) { + const date = parseDate(value, this.dateFormat); + if (date) { + if (typeof this.disabledDate === 'function' && this.disabledDate(date)) { + return; + } + this.date = modifyTime(date, this.date.getHours(), this.date.getMinutes(), this.date.getSeconds()); + this.userInputDate = null; + this.resetView(); + this.emit(this.date, true); + } + }, + + isValidValue(value) { + return value && !isNaN(value) && ( + typeof this.disabledDate === 'function' + ? !this.disabledDate(value) + : true + ) && this.checkDateWithinRange(value); + }, + + getDefaultValue() { + // if default-value is set, return it + // otherwise, return now (the moment this method gets called) + return this.defaultValue ? new Date(this.defaultValue) : new Date(); + }, + + checkDateWithinRange(date) { + return this.selectableRange.length > 0 + ? timeWithinRange(date, this.selectableRange, this.format || 'HH:mm:ss') + : true; + } + }, + + components: { + TimePicker, YearTable, MonthTable, DateTable, ElInput, ElButton + }, + + data() { + return { + popperClass: '', + date: new Date(), + value: '', + defaultValue: null, // use getDefaultValue() for time computation + defaultTime: null, + showTime: false, + selectionMode: 'day', + shortcuts: '', + visible: false, + currentView: 'date', + disabledDate: '', + cellClassName: '', + selectableRange: [], + firstDayOfWeek: 7, + showWeekNumber: false, + timePickerVisible: false, + format: '', + arrowControl: false, + userInputDate: null, + userInputTime: null + }; + }, + + computed: { + year() { + return this.date.getFullYear(); + }, + + month() { + return this.date.getMonth(); + }, + + week() { + return getWeekNumber(this.date); + }, + + monthDate() { + return this.date.getDate(); + }, + + footerVisible() { + return this.showTime || this.selectionMode === 'dates' || this.selectionMode === 'months' || this.selectionMode === 'years'; + }, + + visibleTime() { + if (this.userInputTime !== null) { + return this.userInputTime; + } else { + return formatDate(this.value || this.defaultValue, this.timeFormat); + } + }, + + visibleDate() { + if (this.userInputDate !== null) { + return this.userInputDate; + } else { + return formatDate(this.value || this.defaultValue, this.dateFormat); + } + }, + + yearLabel() { + const yearTranslation = this.t('el.datepicker.year'); + if (this.currentView === 'year') { + const startYear = Math.floor(this.year / 10) * 10; + if (yearTranslation) { + return startYear + ' ' + yearTranslation + ' - ' + (startYear + 9) + ' ' + yearTranslation; + } + return startYear + ' - ' + (startYear + 9); + } + return this.year + ' ' + yearTranslation; + }, + + timeFormat() { + if (this.format) { + return extractTimeFormat(this.format); + } else { + return 'HH:mm:ss'; + } + }, + + dateFormat() { + if (this.format) { + return extractDateFormat(this.format); + } else { + return 'yyyy-MM-dd'; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/month-range.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/month-range.vue new file mode 100644 index 0000000..d491e31 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/month-range.vue @@ -0,0 +1,289 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="$emit('dodestroy')"> + <div + v-show="visible" + class="el-picker-panel el-date-range-picker el-popper" + :class="[{ + 'has-sidebar': $slots.sidebar || shortcuts + }, popperClass]"> + <div class="el-picker-panel__body-wrapper"> + <slot name="sidebar" class="el-picker-panel__sidebar"></slot> + <div class="el-picker-panel__sidebar" v-if="shortcuts"> + <button + type="button" + class="el-picker-panel__shortcut" + v-for="(shortcut, key) in shortcuts" + :key="key" + @click="handleShortcutClick(shortcut)">{{shortcut.text}}</button> + </div> + <div class="el-picker-panel__body"> + <div class="el-picker-panel__content el-date-range-picker__content is-left"> + <div class="el-date-range-picker__header"> + <button + type="button" + @click="leftPrevYear" + class="el-picker-panel__icon-btn el-icon-d-arrow-left"></button> + <button + type="button" + v-if="unlinkPanels" + @click="leftNextYear" + :disabled="!enableYearArrow" + :class="{ 'is-disabled': !enableYearArrow }" + class="el-picker-panel__icon-btn el-icon-d-arrow-right"></button> + <div>{{ leftLabel }}</div> + </div> + <month-table + selection-mode="range" + :date="leftDate" + :default-value="defaultValue" + :min-date="minDate" + :max-date="maxDate" + :range-state="rangeState" + :disabled-date="disabledDate" + @changerange="handleChangeRange" + @pick="handleRangePick"> + </month-table> + </div> + <div class="el-picker-panel__content el-date-range-picker__content is-right"> + <div class="el-date-range-picker__header"> + <button + type="button" + v-if="unlinkPanels" + @click="rightPrevYear" + :disabled="!enableYearArrow" + :class="{ 'is-disabled': !enableYearArrow }" + class="el-picker-panel__icon-btn el-icon-d-arrow-left"></button> + <button + type="button" + @click="rightNextYear" + class="el-picker-panel__icon-btn el-icon-d-arrow-right"></button> + <div>{{ rightLabel }}</div> + </div> + <month-table + selection-mode="range" + :date="rightDate" + :default-value="defaultValue" + :min-date="minDate" + :max-date="maxDate" + :range-state="rangeState" + :disabled-date="disabledDate" + @changerange="handleChangeRange" + @pick="handleRangePick"> + </month-table> + </div> + </div> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import { + isDate, + modifyWithTimeString, + prevYear, + nextYear, + nextMonth + } from 'element-ui/src/utils/date-util'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Locale from 'element-ui/src/mixins/locale'; + import MonthTable from '../basic/month-table'; + import ElInput from 'element-ui/packages/input'; + import ElButton from 'element-ui/packages/button'; + + const calcDefaultValue = (defaultValue) => { + if (Array.isArray(defaultValue)) { + return [new Date(defaultValue[0]), new Date(defaultValue[1])]; + } else if (defaultValue) { + return [new Date(defaultValue), nextMonth(new Date(defaultValue))]; + } else { + return [new Date(), nextMonth(new Date())]; + } + }; + export default { + mixins: [Locale], + + directives: { Clickoutside }, + + computed: { + btnDisabled() { + return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate])); + }, + + leftLabel() { + return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + + rightLabel() { + return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year'); + }, + + leftYear() { + return this.leftDate.getFullYear(); + }, + + rightYear() { + return this.rightDate.getFullYear() === this.leftDate.getFullYear() ? this.leftDate.getFullYear() + 1 : this.rightDate.getFullYear(); + }, + + enableYearArrow() { + return this.unlinkPanels && this.rightYear > this.leftYear + 1; + } + }, + + data() { + return { + popperClass: '', + value: [], + defaultValue: null, + defaultTime: null, + minDate: '', + maxDate: '', + leftDate: new Date(), + rightDate: nextYear(new Date()), + rangeState: { + endDate: null, + selecting: false, + row: null, + column: null + }, + shortcuts: '', + visible: '', + disabledDate: '', + format: '', + arrowControl: false, + unlinkPanels: false + }; + }, + + watch: { + value(newVal) { + if (!newVal) { + this.minDate = null; + this.maxDate = null; + } else if (Array.isArray(newVal)) { + this.minDate = isDate(newVal[0]) ? new Date(newVal[0]) : null; + this.maxDate = isDate(newVal[1]) ? new Date(newVal[1]) : null; + if (this.minDate) { + this.leftDate = this.minDate; + if (this.unlinkPanels && this.maxDate) { + const minDateYear = this.minDate.getFullYear(); + const maxDateYear = this.maxDate.getFullYear(); + this.rightDate = minDateYear === maxDateYear + ? nextYear(this.maxDate) + : this.maxDate; + } else { + this.rightDate = nextYear(this.leftDate); + } + } else { + this.leftDate = calcDefaultValue(this.defaultValue)[0]; + this.rightDate = nextYear(this.leftDate); + } + } + }, + + defaultValue(val) { + if (!Array.isArray(this.value)) { + const [left, right] = calcDefaultValue(val); + this.leftDate = left; + this.rightDate = val && val[1] && left.getFullYear() !== right.getFullYear() && this.unlinkPanels + ? right + : nextYear(this.leftDate); + } + } + }, + + methods: { + handleClear() { + this.minDate = null; + this.maxDate = null; + this.leftDate = calcDefaultValue(this.defaultValue)[0]; + this.rightDate = nextYear(this.leftDate); + this.$emit('pick', null); + }, + + handleChangeRange(val) { + this.minDate = val.minDate; + this.maxDate = val.maxDate; + this.rangeState = val.rangeState; + }, + + handleRangePick(val, close = true) { + const defaultTime = this.defaultTime || []; + const minDate = modifyWithTimeString(val.minDate, defaultTime[0]); + const maxDate = modifyWithTimeString(val.maxDate, defaultTime[1]); + if (this.maxDate === maxDate && this.minDate === minDate) { + return; + } + this.onPick && this.onPick(val); + this.maxDate = maxDate; + this.minDate = minDate; + + // workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57 + setTimeout(() => { + this.maxDate = maxDate; + this.minDate = minDate; + }, 10); + if (!close) return; + this.handleConfirm(); + }, + + handleShortcutClick(shortcut) { + if (shortcut.onClick) { + shortcut.onClick(this); + } + }, + + // leftPrev*, rightNext* need to take care of `unlinkPanels` + leftPrevYear() { + this.leftDate = prevYear(this.leftDate); + if (!this.unlinkPanels) { + this.rightDate = prevYear(this.rightDate); + } + }, + + rightNextYear() { + if (!this.unlinkPanels) { + this.leftDate = nextYear(this.leftDate); + } + this.rightDate = nextYear(this.rightDate); + }, + + // leftNext*, rightPrev* are called when `unlinkPanels` is true + leftNextYear() { + this.leftDate = nextYear(this.leftDate); + }, + + rightPrevYear() { + this.rightDate = prevYear(this.rightDate); + }, + + handleConfirm(visible = false) { + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$emit('pick', [this.minDate, this.maxDate], visible); + } + }, + + isValidValue(value) { + return Array.isArray(value) && + value && value[0] && value[1] && + isDate(value[0]) && isDate(value[1]) && + value[0].getTime() <= value[1].getTime() && ( + typeof this.disabledDate === 'function' + ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) + : true + ); + }, + + resetView() { + // NOTE: this is a hack to reset {min, max}Date on picker open. + // TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state + // an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView + this.minDate = this.value && isDate(this.value[0]) ? new Date(this.value[0]) : null; + this.maxDate = this.value && isDate(this.value[0]) ? new Date(this.value[1]) : null; + } + }, + + components: { MonthTable, ElInput, ElButton } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-range.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-range.vue new file mode 100644 index 0000000..f6ce539 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-range.vue @@ -0,0 +1,248 @@ +<template> + <transition + name="el-zoom-in-top" + @after-leave="$emit('dodestroy')"> + <div + v-show="visible" + class="el-time-range-picker el-picker-panel el-popper" + :class="popperClass"> + <div class="el-time-range-picker__content"> + <div class="el-time-range-picker__cell"> + <div class="el-time-range-picker__header">{{ t('el.datepicker.startTime') }}</div> + <div + :class="{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }" + class="el-time-range-picker__body el-time-panel__content"> + <time-spinner + ref="minSpinner" + :show-seconds="showSeconds" + :am-pm-mode="amPmMode" + @change="handleMinChange" + :arrow-control="arrowControl" + @select-range="setMinSelectionRange" + :date="minDate"> + </time-spinner> + </div> + </div> + <div class="el-time-range-picker__cell"> + <div class="el-time-range-picker__header">{{ t('el.datepicker.endTime') }}</div> + <div + :class="{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }" + class="el-time-range-picker__body el-time-panel__content"> + <time-spinner + ref="maxSpinner" + :show-seconds="showSeconds" + :am-pm-mode="amPmMode" + @change="handleMaxChange" + :arrow-control="arrowControl" + @select-range="setMaxSelectionRange" + :date="maxDate"> + </time-spinner> + </div> + </div> + </div> + <div class="el-time-panel__footer"> + <button + type="button" + class="el-time-panel__btn cancel" + @click="handleCancel()">{{ t('el.datepicker.cancel') }}</button> + <button + type="button" + class="el-time-panel__btn confirm" + @click="handleConfirm()" + :disabled="btnDisabled">{{ t('el.datepicker.confirm') }}</button> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import { + parseDate, + limitTimeRange, + modifyDate, + clearMilliseconds, + timeWithinRange + } from 'element-ui/src/utils/date-util'; + import Locale from 'element-ui/src/mixins/locale'; + import TimeSpinner from '../basic/time-spinner'; + + const MIN_TIME = parseDate('00:00:00', 'HH:mm:ss'); + const MAX_TIME = parseDate('23:59:59', 'HH:mm:ss'); + + const minTimeOfDay = function(date) { + return modifyDate(MIN_TIME, date.getFullYear(), date.getMonth(), date.getDate()); + }; + + const maxTimeOfDay = function(date) { + return modifyDate(MAX_TIME, date.getFullYear(), date.getMonth(), date.getDate()); + }; + + // increase time by amount of milliseconds, but within the range of day + const advanceTime = function(date, amount) { + return new Date(Math.min(date.getTime() + amount, maxTimeOfDay(date).getTime())); + }; + + export default { + mixins: [Locale], + + components: { TimeSpinner }, + + computed: { + showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + + offset() { + return this.showSeconds ? 11 : 8; + }, + + spinner() { + return this.selectionRange[0] < this.offset ? this.$refs.minSpinner : this.$refs.maxSpinner; + }, + + btnDisabled() { + return this.minDate.getTime() > this.maxDate.getTime(); + }, + amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + data() { + return { + popperClass: '', + minDate: new Date(), + maxDate: new Date(), + value: [], + oldValue: [new Date(), new Date()], + defaultValue: null, + format: 'HH:mm:ss', + visible: false, + selectionRange: [0, 2], + arrowControl: false + }; + }, + + watch: { + value(value) { + if (Array.isArray(value)) { + this.minDate = new Date(value[0]); + this.maxDate = new Date(value[1]); + } else { + if (Array.isArray(this.defaultValue)) { + this.minDate = new Date(this.defaultValue[0]); + this.maxDate = new Date(this.defaultValue[1]); + } else if (this.defaultValue) { + this.minDate = new Date(this.defaultValue); + this.maxDate = advanceTime(new Date(this.defaultValue), 60 * 60 * 1000); + } else { + this.minDate = new Date(); + this.maxDate = advanceTime(new Date(), 60 * 60 * 1000); + } + } + }, + + visible(val) { + if (val) { + this.oldValue = this.value; + this.$nextTick(() => this.$refs.minSpinner.emitSelectRange('hours')); + } + } + }, + + methods: { + handleClear() { + this.$emit('pick', null); + }, + + handleCancel() { + this.$emit('pick', this.oldValue); + }, + + handleMinChange(date) { + this.minDate = clearMilliseconds(date); + this.handleChange(); + }, + + handleMaxChange(date) { + this.maxDate = clearMilliseconds(date); + this.handleChange(); + }, + + handleChange() { + if (this.isValidValue([this.minDate, this.maxDate])) { + this.$refs.minSpinner.selectableRange = [[minTimeOfDay(this.minDate), this.maxDate]]; + this.$refs.maxSpinner.selectableRange = [[this.minDate, maxTimeOfDay(this.maxDate)]]; + this.$emit('pick', [this.minDate, this.maxDate], true); + } + }, + + setMinSelectionRange(start, end) { + this.$emit('select-range', start, end, 'min'); + this.selectionRange = [start, end]; + }, + + setMaxSelectionRange(start, end) { + this.$emit('select-range', start, end, 'max'); + this.selectionRange = [start + this.offset, end + this.offset]; + }, + + handleConfirm(visible = false) { + const minSelectableRange = this.$refs.minSpinner.selectableRange; + const maxSelectableRange = this.$refs.maxSpinner.selectableRange; + + this.minDate = limitTimeRange(this.minDate, minSelectableRange, this.format); + this.maxDate = limitTimeRange(this.maxDate, maxSelectableRange, this.format); + + this.$emit('pick', [this.minDate, this.maxDate], visible); + }, + + adjustSpinners() { + this.$refs.minSpinner.adjustSpinners(); + this.$refs.maxSpinner.adjustSpinners(); + }, + + changeSelectionRange(step) { + const list = this.showSeconds ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]; + const mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + const index = list.indexOf(this.selectionRange[0]); + const next = (index + step + list.length) % list.length; + const half = list.length / 2; + if (next < half) { + this.$refs.minSpinner.emitSelectRange(mapping[next]); + } else { + this.$refs.maxSpinner.emitSelectRange(mapping[next - half]); + } + }, + + isValidValue(date) { + return Array.isArray(date) && + timeWithinRange(this.minDate, this.$refs.minSpinner.selectableRange) && + timeWithinRange(this.maxDate, this.$refs.maxSpinner.selectableRange); + }, + + handleKeydown(event) { + const keyCode = event.keyCode; + const mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + const step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + const step = mapping[keyCode]; + this.spinner.scrollDown(step); + event.preventDefault(); + return; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-select.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-select.vue new file mode 100644 index 0000000..4eb0898 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time-select.vue @@ -0,0 +1,178 @@ +<template> + <transition name="el-zoom-in-top" @before-enter="handleMenuEnter" @after-leave="$emit('dodestroy')"> + <div + ref="popper" + v-show="visible" + :style="{ width: width + 'px' }" + :class="popperClass" + class="el-picker-panel time-select el-popper"> + <el-scrollbar noresize wrap-class="el-picker-panel__content"> + <div class="time-select-item" + v-for="item in items" + :class="{ selected: value === item.value, disabled: item.disabled, default: item.value === defaultValue }" + :disabled="item.disabled" + :key="item.value" + @click="handleClick(item)">{{ item.value }}</div> + </el-scrollbar> + </div> + </transition> +</template> + +<script type="text/babel"> + import ElScrollbar from 'element-ui/packages/scrollbar'; + import scrollIntoView from 'element-ui/src/utils/scroll-into-view'; + + const parseTime = function(time) { + const values = (time || '').split(':'); + if (values.length >= 2) { + const hours = parseInt(values[0], 10); + const minutes = parseInt(values[1], 10); + + return { + hours, + minutes + }; + } + /* istanbul ignore next */ + return null; + }; + + const compareTime = function(time1, time2) { + const value1 = parseTime(time1); + const value2 = parseTime(time2); + + const minutes1 = value1.minutes + value1.hours * 60; + const minutes2 = value2.minutes + value2.hours * 60; + + if (minutes1 === minutes2) { + return 0; + } + + return minutes1 > minutes2 ? 1 : -1; + }; + + const formatTime = function(time) { + return (time.hours < 10 ? '0' + time.hours : time.hours) + ':' + (time.minutes < 10 ? '0' + time.minutes : time.minutes); + }; + + const nextTime = function(time, step) { + const timeValue = parseTime(time); + const stepValue = parseTime(step); + + const next = { + hours: timeValue.hours, + minutes: timeValue.minutes + }; + + next.minutes += stepValue.minutes; + next.hours += stepValue.hours; + + next.hours += Math.floor(next.minutes / 60); + next.minutes = next.minutes % 60; + + return formatTime(next); + }; + + export default { + components: { ElScrollbar }, + + watch: { + value(val) { + if (!val) return; + this.$nextTick(() => this.scrollToOption()); + } + }, + + methods: { + handleClick(item) { + if (!item.disabled) { + this.$emit('pick', item.value); + } + }, + + handleClear() { + this.$emit('pick', null); + }, + + scrollToOption(selector = '.selected') { + const menu = this.$refs.popper.querySelector('.el-picker-panel__content'); + scrollIntoView(menu, menu.querySelector(selector)); + }, + + handleMenuEnter() { + const selected = this.items.map(item => item.value).indexOf(this.value) !== -1; + const hasDefault = this.items.map(item => item.value).indexOf(this.defaultValue) !== -1; + const option = (selected && '.selected') || (hasDefault && '.default') || '.time-select-item:not(.disabled)'; + this.$nextTick(() => this.scrollToOption(option)); + }, + + scrollDown(step) { + const items = this.items; + const length = items.length; + let total = items.length; + let index = items.map(item => item.value).indexOf(this.value); + while (total--) { + index = (index + step + length) % length; + if (!items[index].disabled) { + this.$emit('pick', items[index].value, true); + return; + } + } + }, + + isValidValue(date) { + return this.items.filter(item => !item.disabled).map(item => item.value).indexOf(date) !== -1; + }, + + handleKeydown(event) { + const keyCode = event.keyCode; + if (keyCode === 38 || keyCode === 40) { + const mapping = { 40: 1, 38: -1 }; + const offset = mapping[keyCode.toString()]; + this.scrollDown(offset); + event.stopPropagation(); + return; + } + } + }, + + data() { + return { + popperClass: '', + start: '09:00', + end: '18:00', + step: '00:30', + value: '', + defaultValue: '', + visible: false, + minTime: '', + maxTime: '', + width: 0 + }; + }, + + computed: { + items() { + const start = this.start; + const end = this.end; + const step = this.step; + + const result = []; + + if (start && end && step) { + let current = start; + while (compareTime(current, end) <= 0) { + result.push({ + value: current, + disabled: compareTime(current, this.minTime || '-1:-1') <= 0 || + compareTime(current, this.maxTime || '100:100') >= 0 + }); + current = nextTime(current, step); + } + } + + return result; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time.vue new file mode 100644 index 0000000..b2f97e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/panel/time.vue @@ -0,0 +1,186 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="$emit('dodestroy')"> + <div + v-show="visible" + class="el-time-panel el-popper" + :class="popperClass"> + <div class="el-time-panel__content" :class="{ 'has-seconds': showSeconds }"> + <time-spinner + ref="spinner" + @change="handleChange" + :arrow-control="useArrow" + :show-seconds="showSeconds" + :am-pm-mode="amPmMode" + @select-range="setSelectionRange" + :date="date"> + </time-spinner> + </div> + <div class="el-time-panel__footer"> + <button + type="button" + class="el-time-panel__btn cancel" + @click="handleCancel">{{ t('el.datepicker.cancel') }}</button> + <button + type="button" + class="el-time-panel__btn" + :class="{confirm: !disabled}" + @click="handleConfirm()">{{ t('el.datepicker.confirm') }}</button> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import { limitTimeRange, isDate, clearMilliseconds, timeWithinRange } from 'element-ui/src/utils/date-util'; + import Locale from 'element-ui/src/mixins/locale'; + import TimeSpinner from '../basic/time-spinner'; + + export default { + mixins: [Locale], + + components: { + TimeSpinner + }, + + props: { + visible: Boolean, + timeArrowControl: Boolean + }, + + watch: { + visible(val) { + if (val) { + this.oldValue = this.value; + this.$nextTick(() => this.$refs.spinner.emitSelectRange('hours')); + } else { + this.needInitAdjust = true; + } + }, + + value(newVal) { + let date; + if (newVal instanceof Date) { + date = limitTimeRange(newVal, this.selectableRange, this.format); + } else if (!newVal) { + date = this.defaultValue ? new Date(this.defaultValue) : new Date(); + } + + this.date = date; + if (this.visible && this.needInitAdjust) { + this.$nextTick(_ => this.adjustSpinners()); + this.needInitAdjust = false; + } + }, + + selectableRange(val) { + this.$refs.spinner.selectableRange = val; + }, + + defaultValue(val) { + if (!isDate(this.value)) { + this.date = val ? new Date(val) : new Date(); + } + } + }, + + data() { + return { + popperClass: '', + format: 'HH:mm:ss', + value: '', + defaultValue: null, + date: new Date(), + oldValue: new Date(), + selectableRange: [], + selectionRange: [0, 2], + disabled: false, + arrowControl: false, + needInitAdjust: true + }; + }, + + computed: { + showSeconds() { + return (this.format || '').indexOf('ss') !== -1; + }, + useArrow() { + return this.arrowControl || this.timeArrowControl || false; + }, + amPmMode() { + if ((this.format || '').indexOf('A') !== -1) return 'A'; + if ((this.format || '').indexOf('a') !== -1) return 'a'; + return ''; + } + }, + + methods: { + handleCancel() { + this.$emit('pick', this.oldValue, false); + }, + + handleChange(date) { + // this.visible avoids edge cases, when use scrolls during panel closing animation + if (this.visible) { + this.date = clearMilliseconds(date); + // if date is out of range, do not emit + if (this.isValidValue(this.date)) { + this.$emit('pick', this.date, true); + } + } + }, + + setSelectionRange(start, end) { + this.$emit('select-range', start, end); + this.selectionRange = [start, end]; + }, + + handleConfirm(visible = false, first) { + if (first) return; + const date = clearMilliseconds(limitTimeRange(this.date, this.selectableRange, this.format)); + this.$emit('pick', date, visible, first); + }, + + handleKeydown(event) { + const keyCode = event.keyCode; + const mapping = { 38: -1, 40: 1, 37: -1, 39: 1 }; + + // Left or Right + if (keyCode === 37 || keyCode === 39) { + const step = mapping[keyCode]; + this.changeSelectionRange(step); + event.preventDefault(); + return; + } + + // Up or Down + if (keyCode === 38 || keyCode === 40) { + const step = mapping[keyCode]; + this.$refs.spinner.scrollDown(step); + event.preventDefault(); + return; + } + }, + + isValidValue(date) { + return timeWithinRange(date, this.selectableRange, this.format); + }, + + adjustSpinners() { + return this.$refs.spinner.adjustSpinners(); + }, + + changeSelectionRange(step) { + const list = [0, 3].concat(this.showSeconds ? [6] : []); + const mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []); + const index = list.indexOf(this.selectionRange[0]); + const next = (index + step + list.length) % list.length; + this.$refs.spinner.emitSelectRange(mapping[next]); + } + }, + + mounted() { + this.$nextTick(() => this.handleConfirm(true, true)); + this.$emit('mounted'); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/picker.vue b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker.vue new file mode 100644 index 0000000..36b7ebf --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker.vue @@ -0,0 +1,956 @@ +<template> + <el-input + class="el-date-editor" + :class="'el-date-editor--' + type" + :readonly="!editable || readonly || type === 'dates' || type === 'week' || type === 'years' || type === 'months'" + :disabled="pickerDisabled" + :size="pickerSize" + :name="name" + v-bind="firstInputId" + v-if="!ranged" + v-clickoutside="handleClose" + :placeholder="placeholder" + @focus="handleFocus" + @keydown.native="handleKeydown" + :value="displayValue" + @input="value => userInput = value" + @change="handleChange" + @mouseenter.native="handleMouseEnter" + @mouseleave.native="showClose = false" + :validateEvent="false" + ref="reference"> + <i slot="prefix" + class="el-input__icon" + :class="triggerClass" + @click="handleFocus"> + </i> + <i slot="suffix" + class="el-input__icon" + @click="handleClickIcon" + :class="[showClose ? '' + clearIcon : '']" + v-if="haveTrigger"> + </i> + </el-input> + <div + class="el-date-editor el-range-editor el-input__inner" + :class="[ + 'el-date-editor--' + type, + pickerSize ? `el-range-editor--${ pickerSize }` : '', + pickerDisabled ? 'is-disabled' : '', + pickerVisible ? 'is-active' : '' + ]" + @click="handleRangeClick" + @mouseenter="handleMouseEnter" + @mouseleave="showClose = false" + @keydown="handleKeydown" + ref="reference" + v-clickoutside="handleClose" + v-else> + <i :class="['el-input__icon', 'el-range__icon', triggerClass]"></i> + <input + autocomplete="off" + :placeholder="startPlaceholder" + :value="displayValue && displayValue[0]" + :disabled="pickerDisabled" + v-bind="firstInputId" + :readonly="!editable || readonly" + :name="name && name[0]" + @input="handleStartInput" + @change="handleStartChange" + @focus="handleFocus" + class="el-range-input"> + <slot name="range-separator"> + <span class="el-range-separator">{{ rangeSeparator }}</span> + </slot> + <input + autocomplete="off" + :placeholder="endPlaceholder" + :value="displayValue && displayValue[1]" + :disabled="pickerDisabled" + v-bind="secondInputId" + :readonly="!editable || readonly" + :name="name && name[1]" + @input="handleEndInput" + @change="handleEndChange" + @focus="handleFocus" + class="el-range-input"> + <i + @click="handleClickIcon" + v-if="haveTrigger" + :class="[showClose ? '' + clearIcon : '']" + class="el-input__icon el-range__close-icon"> + </i> + </div> +</template> + +<script> +import Vue from 'vue'; +import Clickoutside from 'element-ui/src/utils/clickoutside'; +import { formatDate, parseDate, isDateObject, getWeekNumber } from 'element-ui/src/utils/date-util'; +import Popper from 'element-ui/src/utils/vue-popper'; +import Emitter from 'element-ui/src/mixins/emitter'; +import ElInput from 'element-ui/packages/input'; +import merge from 'element-ui/src/utils/merge'; + +const NewPopper = { + props: { + appendToBody: Popper.props.appendToBody, + offset: Popper.props.offset, + boundariesPadding: Popper.props.boundariesPadding, + arrowOffset: Popper.props.arrowOffset, + transformOrigin: Popper.props.transformOrigin + }, + methods: Popper.methods, + data() { + return merge({ visibleArrow: true }, Popper.data); + }, + beforeDestroy: Popper.beforeDestroy +}; + +const DEFAULT_FORMATS = { + date: 'yyyy-MM-dd', + month: 'yyyy-MM', + months: 'yyyy-MM', + datetime: 'yyyy-MM-dd HH:mm:ss', + time: 'HH:mm:ss', + week: 'yyyywWW', + timerange: 'HH:mm:ss', + daterange: 'yyyy-MM-dd', + monthrange: 'yyyy-MM', + datetimerange: 'yyyy-MM-dd HH:mm:ss', + year: 'yyyy', + years: 'yyyy' +}; +const HAVE_TRIGGER_TYPES = [ + 'date', + 'datetime', + 'time', + 'time-select', + 'week', + 'month', + 'year', + 'daterange', + 'monthrange', + 'timerange', + 'datetimerange', + 'dates', + 'months', + 'years' +]; +const DATE_FORMATTER = function(value, format) { + if (format === 'timestamp') return value.getTime(); + return formatDate(value, format); +}; +const DATE_PARSER = function(text, format) { + if (format === 'timestamp') return new Date(Number(text)); + return parseDate(text, format); +}; +const RANGE_FORMATTER = function(value, format) { + if (Array.isArray(value) && value.length === 2) { + const start = value[0]; + const end = value[1]; + + if (start && end) { + return [DATE_FORMATTER(start, format), DATE_FORMATTER(end, format)]; + } + } + return ''; +}; +const RANGE_PARSER = function(array, format, separator) { + if (!Array.isArray(array)) { + array = array.split(separator); + } + if (array.length === 2) { + const range1 = array[0]; + const range2 = array[1]; + + return [DATE_PARSER(range1, format), DATE_PARSER(range2, format)]; + } + return []; +}; +const TYPE_VALUE_RESOLVER_MAP = { + default: { + formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser(text) { + if (text === undefined || text === '') return null; + return text; + } + }, + week: { + formatter(value, format) { + let week = getWeekNumber(value); + let month = value.getMonth(); + const trueDate = new Date(value); + if (week === 1 && month === 11) { + trueDate.setHours(0, 0, 0, 0); + trueDate.setDate(trueDate.getDate() + 3 - (trueDate.getDay() + 6) % 7); + } + let date = formatDate(trueDate, format); + + date = /WW/.test(date) + ? date.replace(/WW/, week < 10 ? '0' + week : week) + : date.replace(/W/, week); + return date; + }, + parser(text, format) { + // parse as if a normal date + return TYPE_VALUE_RESOLVER_MAP.date.parser(text, format); + } + }, + date: { + formatter: DATE_FORMATTER, + parser: DATE_PARSER + }, + datetime: { + formatter: DATE_FORMATTER, + parser: DATE_PARSER + }, + daterange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + monthrange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + datetimerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + timerange: { + formatter: RANGE_FORMATTER, + parser: RANGE_PARSER + }, + time: { + formatter: DATE_FORMATTER, + parser: DATE_PARSER + }, + month: { + formatter: DATE_FORMATTER, + parser: DATE_PARSER + }, + year: { + formatter: DATE_FORMATTER, + parser: DATE_PARSER + }, + number: { + formatter(value) { + if (!value) return ''; + return '' + value; + }, + parser(text) { + let result = Number(text); + + if (!isNaN(text)) { + return result; + } else { + return null; + } + } + }, + dates: { + formatter(value, format) { + return value.map(date => DATE_FORMATTER(date, format)); + }, + parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value) + .map(date => date instanceof Date ? date : DATE_PARSER(date, format)); + } + }, + months: { + formatter(value, format) { + return value.map(date => DATE_FORMATTER(date, format)); + }, + parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value) + .map(date => date instanceof Date ? date : DATE_PARSER(date, format)); + } + }, + years: { + formatter(value, format) { + return value.map(date => DATE_FORMATTER(date, format)); + }, + parser(value, format) { + return (typeof value === 'string' ? value.split(', ') : value) + .map(date => date instanceof Date ? date : DATE_PARSER(date, format)); + } + } +}; +const PLACEMENT_MAP = { + left: 'bottom-start', + center: 'bottom', + right: 'bottom-end' +}; + +const parseAsFormatAndType = (value, customFormat, type, rangeSeparator = '-') => { + if (!value) return null; + const parser = ( + TYPE_VALUE_RESOLVER_MAP[type] || + TYPE_VALUE_RESOLVER_MAP['default'] + ).parser; + const format = customFormat || DEFAULT_FORMATS[type]; + return parser(value, format, rangeSeparator); +}; + +const formatAsFormatAndType = (value, customFormat, type) => { + if (!value) return null; + const formatter = ( + TYPE_VALUE_RESOLVER_MAP[type] || + TYPE_VALUE_RESOLVER_MAP['default'] + ).formatter; + const format = customFormat || DEFAULT_FORMATS[type]; + return formatter(value, format); +}; + +/* + * Considers: + * 1. Date object + * 2. date string + * 3. array of 1 or 2 + */ +const valueEquals = function(a, b) { + // considers Date object and string + const dateEquals = function(a, b) { + const aIsDate = a instanceof Date; + const bIsDate = b instanceof Date; + if (aIsDate && bIsDate) { + return a.getTime() === b.getTime(); + } + if (!aIsDate && !bIsDate) { + return a === b; + } + return false; + }; + + const aIsArray = a instanceof Array; + const bIsArray = b instanceof Array; + if (aIsArray && bIsArray) { + if (a.length !== b.length) { + return false; + } + return a.every((item, index) => dateEquals(item, b[index])); + } + if (!aIsArray && !bIsArray) { + return dateEquals(a, b); + } + return false; +}; + +const isString = function(val) { + return typeof val === 'string' || val instanceof String; +}; + +const validator = function(val) { + // either: String, Array of String, null / undefined + return ( + val === null || + val === undefined || + isString(val) || + (Array.isArray(val) && val.length === 2 && val.every(isString)) + ); +}; + +export default { + mixins: [Emitter, NewPopper], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + size: String, + format: String, + valueFormat: String, + readonly: Boolean, + placeholder: String, + startPlaceholder: String, + endPlaceholder: String, + prefixIcon: String, + clearIcon: { + type: String, + default: 'el-icon-circle-close' + }, + name: { + default: '', + validator + }, + disabled: Boolean, + clearable: { + type: Boolean, + default: true + }, + id: { + default: '', + validator + }, + popperClass: String, + editable: { + type: Boolean, + default: true + }, + align: { + type: String, + default: 'left' + }, + value: {}, + defaultValue: {}, + defaultTime: {}, + rangeSeparator: { + default: '-' + }, + pickerOptions: {}, + unlinkPanels: Boolean, + validateEvent: { + type: Boolean, + default: true + } + }, + + components: { ElInput }, + + directives: { Clickoutside }, + + data() { + return { + pickerVisible: false, + showClose: false, + userInput: null, + valueOnOpen: null, // value when picker opens, used to determine whether to emit change + unwatchPickerOptions: null + }; + }, + + watch: { + pickerVisible(val) { + if (this.readonly || this.pickerDisabled) return; + if (val) { + this.showPicker(); + this.valueOnOpen = Array.isArray(this.value) ? [...this.value] : this.value; + } else { + this.hidePicker(); + this.emitChange(this.value); + this.userInput = null; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur'); + } + this.$emit('blur', this); + this.blur(); + } + }, + parsedValue: { + immediate: true, + handler(val) { + if (this.picker) { + this.picker.value = val; + } + } + }, + defaultValue(val) { + // NOTE: should eventually move to jsx style picker + panel ? + if (this.picker) { + this.picker.defaultValue = val; + } + }, + value(val, oldVal) { + if (!valueEquals(val, oldVal) && !this.pickerVisible && this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + computed: { + ranged() { + return this.type.indexOf('range') > -1; + }, + + reference() { + const reference = this.$refs.reference; + return reference.$el || reference; + }, + + refInput() { + if (this.reference) { + return [].slice.call(this.reference.querySelectorAll('input')); + } + return []; + }, + + valueIsEmpty() { + const val = this.value; + if (Array.isArray(val)) { + for (let i = 0, len = val.length; i < len; i++) { + if (val[i]) { + return false; + } + } + } else { + if (val) { + return false; + } + } + return true; + }, + + triggerClass() { + return this.prefixIcon || (this.type.indexOf('time') !== -1 ? 'el-icon-time' : 'el-icon-date'); + }, + + selectionMode() { + if (this.type === 'week') { + return 'week'; + } else if (this.type === 'month') { + return 'month'; + } else if (this.type === 'year') { + return 'year'; + } else if (this.type === 'dates') { + return 'dates'; + } else if (this.type === 'months') { + return 'months'; + } else if (this.type === 'years') { + return 'years'; + } + + return 'day'; + }, + + haveTrigger() { + if (typeof this.showTrigger !== 'undefined') { + return this.showTrigger; + } + return HAVE_TRIGGER_TYPES.indexOf(this.type) !== -1; + }, + + displayValue() { + const formattedValue = formatAsFormatAndType(this.parsedValue, this.format, this.type, this.rangeSeparator); + if (Array.isArray(this.userInput)) { + return [ + this.userInput[0] || (formattedValue && formattedValue[0]) || '', + this.userInput[1] || (formattedValue && formattedValue[1]) || '' + ]; + } else if (this.userInput !== null) { + return this.userInput; + } else if (formattedValue) { + return (this.type === 'dates' || this.type === 'years' || this.type === 'months') + ? formattedValue.join(', ') + : formattedValue; + } else { + return ''; + } + }, + + parsedValue() { + if (!this.value) return this.value; // component value is not set + if (this.type === 'time-select') return this.value; // time-select does not require parsing, this might change in next major version + + const valueIsDateObject = isDateObject(this.value) || (Array.isArray(this.value) && this.value.every(isDateObject)); + if (valueIsDateObject) { + return this.value; + } + + if (this.valueFormat) { + return parseAsFormatAndType(this.value, this.valueFormat, this.type, this.rangeSeparator) || this.value; + } + + // NOTE: deal with common but incorrect usage, should remove in next major version + // user might provide string / timestamp without value-format, coerce them into date (or array of date) + return Array.isArray(this.value) ? this.value.map(val => new Date(val)) : new Date(this.value); + }, + + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + + pickerSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + pickerDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + + firstInputId() { + const obj = {}; + let id; + if (this.ranged) { + id = this.id && this.id[0]; + } else { + id = this.id; + } + if (id) obj.id = id; + return obj; + }, + + secondInputId() { + const obj = {}; + let id; + if (this.ranged) { + id = this.id && this.id[1]; + } + if (id) obj.id = id; + return obj; + } + }, + + created() { + // vue-popper + this.popperOptions = { + boundariesPadding: 0, + gpuAcceleration: false + }; + this.placement = PLACEMENT_MAP[this.align] || PLACEMENT_MAP.left; + + this.$on('fieldReset', this.handleFieldReset); + }, + + methods: { + focus() { + if (!this.ranged) { + this.$refs.reference.focus(); + } else { + this.handleFocus(); + } + }, + + blur() { + this.refInput.forEach(input => input.blur()); + }, + + // {parse, formatTo} Value deals maps component value with internal Date + parseValue(value) { + const isParsed = isDateObject(value) || (Array.isArray(value) && value.every(isDateObject)); + if (this.valueFormat && !isParsed) { + return parseAsFormatAndType(value, this.valueFormat, this.type, this.rangeSeparator) || value; + } else { + return value; + } + }, + + formatToValue(date) { + const isFormattable = isDateObject(date) || (Array.isArray(date) && date.every(isDateObject)); + if (this.valueFormat && isFormattable) { + return formatAsFormatAndType(date, this.valueFormat, this.type, this.rangeSeparator); + } else { + return date; + } + }, + + // {parse, formatTo} String deals with user input + parseString(value) { + const type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return parseAsFormatAndType(value, this.format, type); + }, + + formatToString(value) { + const type = Array.isArray(value) ? this.type : this.type.replace('range', ''); + return formatAsFormatAndType(value, this.format, type); + }, + + handleMouseEnter() { + if (this.readonly || this.pickerDisabled) return; + if (!this.valueIsEmpty && this.clearable) { + this.showClose = true; + } + }, + + handleChange() { + if (this.userInput) { + const value = this.parseString(this.displayValue); + if (value) { + this.picker.value = value; + if (this.isValidValue(value)) { + this.emitInput(value); + this.userInput = null; + } + } + } + if (this.userInput === '') { + this.emitInput(null); + this.emitChange(null); + this.userInput = null; + } + }, + + handleStartInput(event) { + if (this.userInput) { + this.userInput = [event.target.value, this.userInput[1]]; + } else { + this.userInput = [event.target.value, null]; + } + }, + + handleEndInput(event) { + if (this.userInput) { + this.userInput = [this.userInput[0], event.target.value]; + } else { + this.userInput = [null, event.target.value]; + } + }, + + handleStartChange(event) { + const value = this.parseString(this.userInput && this.userInput[0]); + if (value) { + this.userInput = [this.formatToString(value), this.displayValue[1]]; + const newValue = [value, this.picker.value && this.picker.value[1]]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + + handleEndChange(event) { + const value = this.parseString(this.userInput && this.userInput[1]); + if (value) { + this.userInput = [this.displayValue[0], this.formatToString(value)]; + const newValue = [this.picker.value && this.picker.value[0], value]; + this.picker.value = newValue; + if (this.isValidValue(newValue)) { + this.emitInput(newValue); + this.userInput = null; + } + } + }, + + handleClickIcon(event) { + if (this.readonly || this.pickerDisabled) return; + if (this.showClose) { + this.valueOnOpen = this.value; + event.stopPropagation(); + this.emitInput(null); + this.emitChange(null); + this.showClose = false; + if (this.picker && typeof this.picker.handleClear === 'function') { + this.picker.handleClear(); + } + } else { + this.pickerVisible = !this.pickerVisible; + } + }, + + handleClose() { + if (!this.pickerVisible) return; + this.pickerVisible = false; + + if (this.type === 'dates' || this.type === 'years' || this.type === 'months') { + // restore to former value + const oldValue = parseAsFormatAndType(this.valueOnOpen, this.valueFormat, this.type, this.rangeSeparator) || this.valueOnOpen; + this.emitInput(oldValue); + } + }, + + handleFieldReset(initialValue) { + this.userInput = initialValue === '' ? null : initialValue; + }, + + handleFocus() { + const type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + + handleKeydown(event) { + const keyCode = event.keyCode; + + // ESC + if (keyCode === 27) { + this.pickerVisible = false; + event.stopPropagation(); + return; + } + + // Tab + if (keyCode === 9) { + if (!this.ranged) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + event.stopPropagation(); + } else { + // user may change focus between two input + setTimeout(() => { + if (this.refInput.indexOf(document.activeElement) === -1) { + this.pickerVisible = false; + this.blur(); + event.stopPropagation(); + } + }, 0); + } + return; + } + + // Enter + if (keyCode === 13) { + if (this.userInput === '' || this.isValidValue(this.parseString(this.displayValue))) { + this.handleChange(); + this.pickerVisible = this.picker.visible = false; + this.blur(); + } + event.stopPropagation(); + return; + } + + // if user is typing, do not let picker handle key input + if (this.userInput) { + event.stopPropagation(); + return; + } + + // delegate other keys to panel + if (this.picker && this.picker.handleKeydown) { + this.picker.handleKeydown(event); + } + }, + + handleRangeClick() { + const type = this.type; + + if (HAVE_TRIGGER_TYPES.indexOf(type) !== -1 && !this.pickerVisible) { + this.pickerVisible = true; + } + this.$emit('focus', this); + }, + + hidePicker() { + if (this.picker) { + this.picker.resetView && this.picker.resetView(); + this.pickerVisible = this.picker.visible = false; + this.destroyPopper(); + } + }, + + showPicker() { + if (this.$isServer) return; + if (!this.picker) { + this.mountPicker(); + } + this.pickerVisible = this.picker.visible = true; + + this.updatePopper(); + + this.picker.value = this.parsedValue; + this.picker.resetView && this.picker.resetView(); + + this.$nextTick(() => { + this.picker.adjustSpinners && this.picker.adjustSpinners(); + }); + }, + + mountPicker() { + this.picker = new Vue(this.panel).$mount(); + this.picker.defaultValue = this.defaultValue; + this.picker.defaultTime = this.defaultTime; + this.picker.popperClass = this.popperClass; + this.popperElm = this.picker.$el; + this.picker.width = this.reference.getBoundingClientRect().width; + this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'; + this.picker.selectionMode = this.selectionMode; + this.picker.unlinkPanels = this.unlinkPanels; + this.picker.arrowControl = this.arrowControl || this.timeArrowControl || false; + this.$watch('format', (format) => { + this.picker.format = format; + }); + + const updateOptions = () => { + const options = this.pickerOptions; + + if (options && options.selectableRange) { + let ranges = options.selectableRange; + const parser = TYPE_VALUE_RESOLVER_MAP.datetimerange.parser; + const format = DEFAULT_FORMATS.timerange; + + ranges = Array.isArray(ranges) ? ranges : [ranges]; + this.picker.selectableRange = ranges.map(range => parser(range, format, this.rangeSeparator)); + } + + for (const option in options) { + if (options.hasOwnProperty(option) && + // 敹賜 time-picker ��砲��蔭憿� + option !== 'selectableRange') { + this.picker[option] = options[option]; + } + } + + // main format must prevail over undocumented pickerOptions.format + if (this.format) { + this.picker.format = this.format; + } + }; + updateOptions(); + this.unwatchPickerOptions = this.$watch('pickerOptions', () => updateOptions(), { deep: true }); + this.$el.appendChild(this.picker.$el); + this.picker.resetView && this.picker.resetView(); + + this.picker.$on('dodestroy', this.doDestroy); + this.picker.$on('pick', (date = '', visible = false) => { + this.userInput = null; + this.pickerVisible = this.picker.visible = visible; + this.emitInput(date); + this.picker.resetView && this.picker.resetView(); + }); + + this.picker.$on('select-range', (start, end, pos) => { + if (this.refInput.length === 0) return; + if (!pos || pos === 'min') { + this.refInput[0].setSelectionRange(start, end); + this.refInput[0].focus(); + } else if (pos === 'max') { + this.refInput[1].setSelectionRange(start, end); + this.refInput[1].focus(); + } + }); + }, + + unmountPicker() { + if (this.picker) { + this.picker.$destroy(); + this.picker.$off(); + if (typeof this.unwatchPickerOptions === 'function') { + this.unwatchPickerOptions(); + } + this.picker.$el.parentNode.removeChild(this.picker.$el); + } + }, + + emitChange(val) { + // determine user real change only + if (!valueEquals(val, this.valueOnOpen)) { + this.$emit('change', val); + this.valueOnOpen = val; + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + } + }, + + emitInput(val) { + const formatted = this.formatToValue(val); + if (!valueEquals(this.value, formatted)) { + this.$emit('input', formatted); + } + }, + + isValidValue(value) { + if (!this.picker) { + this.mountPicker(); + } + if (this.picker.isValidValue) { + return value && this.picker.isValidValue(value); + } else { + return true; + } + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/date-picker.js b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/date-picker.js new file mode 100644 index 0000000..6efc0ed --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/date-picker.js @@ -0,0 +1,43 @@ +import Picker from '../picker'; +import DatePanel from '../panel/date'; +import DateRangePanel from '../panel/date-range'; +import MonthRangePanel from '../panel/month-range'; + +const getPanel = function(type) { + if (type === 'daterange' || type === 'datetimerange') { + return DateRangePanel; + } else if (type === 'monthrange') { + return MonthRangePanel; + } + return DatePanel; +}; + +export default { + mixins: [Picker], + + name: 'ElDatePicker', + + props: { + type: { + type: String, + default: 'date' + }, + timeArrowControl: Boolean + }, + + watch: { + type(type) { + if (this.picker) { + this.unmountPicker(); + this.panel = getPanel(type); + this.mountPicker(); + } else { + this.panel = getPanel(type); + } + } + }, + + created() { + this.panel = getPanel(this.type); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-picker.js b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-picker.js new file mode 100644 index 0000000..7cb3d9c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-picker.js @@ -0,0 +1,39 @@ +import Picker from '../picker'; +import TimePanel from '../panel/time'; +import TimeRangePanel from '../panel/time-range'; + +export default { + mixins: [Picker], + + name: 'ElTimePicker', + + props: { + isRange: Boolean, + arrowControl: Boolean + }, + + data() { + return { + type: '' + }; + }, + + watch: { + isRange(isRange) { + if (this.picker) { + this.unmountPicker(); + this.type = isRange ? 'timerange' : 'time'; + this.panel = isRange ? TimeRangePanel : TimePanel; + this.mountPicker(); + } else { + this.type = isRange ? 'timerange' : 'time'; + this.panel = isRange ? TimeRangePanel : TimePanel; + } + } + }, + + created() { + this.type = this.isRange ? 'timerange' : 'time'; + this.panel = this.isRange ? TimeRangePanel : TimePanel; + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-select.js b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-select.js new file mode 100644 index 0000000..7fba4d0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/date-picker/src/picker/time-select.js @@ -0,0 +1,21 @@ +import Picker from '../picker'; +import Panel from '../panel/time-select'; + +export default { + mixins: [Picker], + + name: 'ElTimeSelect', + + componentName: 'ElTimeSelect', + + props: { + type: { + type: String, + default: 'time-select' + } + }, + + beforeCreate() { + this.panel = Panel; + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/descriptions-item/index.js b/PAMapp/local_modules/element-ui/packages/descriptions-item/index.js new file mode 100644 index 0000000..b14a8b8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/descriptions-item/index.js @@ -0,0 +1,8 @@ +import DescriptionsItem from '../descriptions/src/descriptions-item'; + +/* istanbul ignore next */ +DescriptionsItem.install = function install(Vue) { + Vue.component(DescriptionsItem.name, DescriptionsItem); +}; + +export default DescriptionsItem; diff --git a/PAMapp/local_modules/element-ui/packages/descriptions/index.js b/PAMapp/local_modules/element-ui/packages/descriptions/index.js new file mode 100644 index 0000000..ccee18c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/descriptions/index.js @@ -0,0 +1,8 @@ +import Descriptions from './src/index'; + +/* istanbul ignore next */ +Descriptions.install = function install(Vue) { + Vue.component(Descriptions.name, Descriptions); +}; + +export default Descriptions; diff --git a/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-item.js b/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-item.js new file mode 100644 index 0000000..d764543 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-item.js @@ -0,0 +1,30 @@ +export default { + name: 'ElDescriptionsItem', + props: { + label: { + type: String, + default: '' + }, + span: { + type: Number, + default: 1 + }, + contentClassName: { + type: String, + default: '' + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + labelStyle: { + type: Object + } + }, + render() { + return null; + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-row.js b/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-row.js new file mode 100644 index 0000000..d75dd28 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/descriptions/src/descriptions-row.js @@ -0,0 +1,116 @@ +export default { + name: 'ElDescriptionsRow', + props: { + row: { + type: Array + } + }, + inject: ['elDescriptions'], + render(h) { + const { elDescriptions } = this; + const row = (this.row || []).map(item => { + return { + ...item, + label: item.slots.label || item.props.label, + ...['labelClassName', 'contentClassName', 'labelStyle', 'contentStyle'].reduce((res, key) => { + res[key] = item.props[key] || elDescriptions[key]; + return res; + }, {}) + }; + }); + if (elDescriptions.direction === 'vertical') { + return ( + <tbody> + <tr class="el-descriptions-row"> + { + row.map(item => { + return ( + <th + class={{ + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.border ? false : elDescriptions.colon, + 'is-bordered-label': elDescriptions.border, + [item.labelClassName]: true + }} + style={item.labelStyle} + colSpan={item.props.span} + >{item.label}</th> + ); + }) + } + </tr> + <tr class="el-descriptions-row"> + { + row.map(item =>{ + return ( + <td + class={['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName]} + style={item.contentStyle} + colSpan={item.props.span} + >{item.slots.default}</td> + ); + }) + } + </tr> + </tbody> + ); + } + if (elDescriptions.border) { + return ( + <tbody> + <tr class="el-descriptions-row"> + { + row.map(item=> { + return ([ + <th + class={{ + 'el-descriptions-item__cell': true, + 'el-descriptions-item__label': true, + 'is-bordered-label': elDescriptions.border, + [item.labelClassName]: true + }} + style={item.labelStyle} + colSpan="1" + >{item.label}</th>, + <td + class={['el-descriptions-item__cell', 'el-descriptions-item__content', item.contentClassName]} + style={item.contentStyle} + colSpan={item.props.span * 2 - 1} + >{item.slots.default}</td> + ]); + }) + } + </tr> + </tbody> + ); + } + return ( + <tbody> + <tr class="el-descriptions-row"> + { + row.map(item=> { + return ( + <td class="el-descriptions-item el-descriptions-item__cell" colSpan={item.props.span}> + <div class="el-descriptions-item__container"> + <span + class={{ + 'el-descriptions-item__label': true, + 'has-colon': elDescriptions.colon, + [item.labelClassName]: true + }} + style={item.labelStyle} + >{item.label}</span> + <span + class={['el-descriptions-item__content', item.contentClassName]} + style={item.contentStyle} + >{item.slots.default}</span> + </div> + </td>); + }) + } + </tr> + </tbody> + ); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/descriptions/src/index.js b/PAMapp/local_modules/element-ui/packages/descriptions/src/index.js new file mode 100644 index 0000000..43c8c3d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/descriptions/src/index.js @@ -0,0 +1,180 @@ +import DescriptionsRow from './descriptions-row'; +import { isFunction } from 'element-ui/src/utils/types'; + +export default { + name: 'ElDescriptions', + components: { + [DescriptionsRow.name]: DescriptionsRow + }, + props: { + border: { + type: Boolean, + default: false + }, + column: { + type: Number, + default: 3 + }, + direction: { + type: String, + default: 'horizontal' + }, + size: { + type: String + // validator: isValidComponentSize, + }, + title: { + type: String, + default: '' + }, + extra: { + type: String, + default: '' + }, + labelStyle: { + type: Object + }, + contentStyle: { + type: Object + }, + labelClassName: { + type: String, + default: '' + }, + contentClassName: { + type: String, + default: '' + }, + colon: { + type: Boolean, + default: true + } + }, + computed: { + descriptionsSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + provide() { + return { + elDescriptions: this + }; + }, + methods: { + getOptionProps(vnode) { + if (vnode.componentOptions) { + const componentOptions = vnode.componentOptions; + const { propsData = {}, Ctor = {} } = componentOptions; + const props = (Ctor.options || {}).props || {}; + const res = {}; + for (const k in props) { + const v = props[k]; + const defaultValue = v.default; + if (defaultValue !== undefined) { + res[k] = isFunction(defaultValue) ? defaultValue.call(vnode) : defaultValue; + } + } + return { ...res, ...propsData }; + } + return {}; + }, + getSlots(vnode) { + let componentOptions = vnode.componentOptions || {}; + const children = vnode.children || componentOptions.children || []; + const slots = {}; + children.forEach(child => { + if (!this.isEmptyElement(child)) { + const name = (child.data && child.data.slot) || 'default'; + slots[name] = slots[name] || []; + if (child.tag === 'template') { + slots[name].push(child.children); + } else { + slots[name].push(child); + } + } + }); + return { ...slots }; + }, + isEmptyElement(c) { + return !(c.tag || (c.text && c.text.trim() !== '')); + }, + filledNode(node, span, count, isLast = false) { + if (!node.props) { + node.props = {}; + } + if (span > count) { + node.props.span = count; + } + if (isLast) { + // set the max span, cause of the last td + node.props.span = count; + } + return node; + }, + getRows() { + const children = ((this.$slots.default || []).filter(vnode => vnode.tag && + vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElDescriptionsItem')); + const nodes = children.map(vnode => { + return { + props: this.getOptionProps(vnode), + slots: this.getSlots(vnode), + vnode + }; + }); + const rows = []; + let temp = []; + let count = this.column; + + nodes.forEach((node, index) => { + const span = node.props.span || 1; + + if (index === children.length - 1) { + temp.push(this.filledNode(node, span, count, true)); + rows.push(temp); + return; + } + + if (span < count) { + count -= span; + temp.push(node); + } else { + temp.push(this.filledNode(node, span, count)); + rows.push(temp); + count = this.column; + temp = []; + } + }); + + return rows; + } + }, + render() { + const { title, extra, border, descriptionsSize, $slots } = this; + const rows = this.getRows(); + + return ( + <div class="el-descriptions"> + { + (title || extra || $slots.title || $slots.extra) + ? <div class="el-descriptions__header"> + <div class="el-descriptions__title"> + { $slots.title ? $slots.title : title} + </div> + <div class="el-descriptions__extra"> + { $slots.extra ? $slots.extra : extra } + </div> + </div> + : null + } + + <div class="el-descriptions__body"> + <table class={['el-descriptions__table', {'is-bordered': border}, descriptionsSize ? `el-descriptions--${descriptionsSize}` : '']}> + {rows.map(row => ( + <DescriptionsRow row={row}></DescriptionsRow> + ))} + </table> + </div> + </div> + ); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/dialog/index.js b/PAMapp/local_modules/element-ui/packages/dialog/index.js new file mode 100644 index 0000000..5ac0be7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dialog/index.js @@ -0,0 +1,8 @@ +import ElDialog from './src/component'; + +/* istanbul ignore next */ +ElDialog.install = function(Vue) { + Vue.component(ElDialog.name, ElDialog); +}; + +export default ElDialog; diff --git a/PAMapp/local_modules/element-ui/packages/dialog/src/component.vue b/PAMapp/local_modules/element-ui/packages/dialog/src/component.vue new file mode 100644 index 0000000..4450dfd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dialog/src/component.vue @@ -0,0 +1,212 @@ +<template> + <transition + name="dialog-fade" + @after-enter="afterEnter" + @after-leave="afterLeave"> + <div + v-show="visible" + class="el-dialog__wrapper" + @click.self="handleWrapperClick"> + <div + role="dialog" + :key="key" + aria-modal="true" + :aria-label="title || 'dialog'" + :class="['el-dialog', { 'is-fullscreen': fullscreen, 'el-dialog--center': center }, customClass]" + ref="dialog" + :style="style"> + <div class="el-dialog__header"> + <slot name="title"> + <span class="el-dialog__title">{{ title }}</span> + </slot> + <button + type="button" + class="el-dialog__headerbtn" + aria-label="Close" + v-if="showClose" + @click="handleClose"> + <i class="el-dialog__close el-icon el-icon-close"></i> + </button> + </div> + <div class="el-dialog__body" v-if="rendered"><slot></slot></div> + <div class="el-dialog__footer" v-if="$slots.footer"> + <slot name="footer"></slot> + </div> + </div> + </div> + </transition> +</template> + +<script> + import Popup from 'element-ui/src/utils/popup'; + import Migrating from 'element-ui/src/mixins/migrating'; + import emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElDialog', + + mixins: [Popup, emitter, Migrating], + + props: { + title: { + type: String, + default: '' + }, + + modal: { + type: Boolean, + default: true + }, + + modalAppendToBody: { + type: Boolean, + default: true + }, + + appendToBody: { + type: Boolean, + default: false + }, + + lockScroll: { + type: Boolean, + default: true + }, + + closeOnClickModal: { + type: Boolean, + default: true + }, + + closeOnPressEscape: { + type: Boolean, + default: true + }, + + showClose: { + type: Boolean, + default: true + }, + + width: String, + + fullscreen: Boolean, + + customClass: { + type: String, + default: '' + }, + + top: { + type: String, + default: '15vh' + }, + beforeClose: Function, + center: { + type: Boolean, + default: false + }, + + destroyOnClose: Boolean + }, + + data() { + return { + closed: false, + key: 0 + }; + }, + + watch: { + visible(val) { + if (val) { + this.closed = false; + this.$emit('open'); + this.$el.addEventListener('scroll', this.updatePopper); + this.$nextTick(() => { + this.$refs.dialog.scrollTop = 0; + }); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } else { + this.$el.removeEventListener('scroll', this.updatePopper); + if (!this.closed) this.$emit('close'); + if (this.destroyOnClose) { + this.$nextTick(() => { + this.key++; + }); + } + } + } + }, + + computed: { + style() { + let style = {}; + if (!this.fullscreen) { + style.marginTop = this.top; + if (this.width) { + style.width = this.width; + } + } + return style; + } + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'size': 'size is removed.' + } + }; + }, + handleWrapperClick() { + if (!this.closeOnClickModal) return; + this.handleClose(); + }, + handleClose() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + this.closed = true; + } + }, + updatePopper() { + this.broadcast('ElSelectDropdown', 'updatePopper'); + this.broadcast('ElDropdownMenu', 'updatePopper'); + }, + afterEnter() { + this.$emit('opened'); + }, + afterLeave() { + this.$emit('closed'); + } + }, + + mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + + destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/divider/index.js b/PAMapp/local_modules/element-ui/packages/divider/index.js new file mode 100644 index 0000000..b49f9d0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/divider/index.js @@ -0,0 +1,8 @@ +import Divider from './src/main'; + +/* istanbul ignore next */ +Divider.install = function(Vue) { + Vue.component(Divider.name, Divider); +}; + +export default Divider; diff --git a/PAMapp/local_modules/element-ui/packages/divider/src/main.vue b/PAMapp/local_modules/element-ui/packages/divider/src/main.vue new file mode 100644 index 0000000..fa71298 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/divider/src/main.vue @@ -0,0 +1,37 @@ +<template functional> + <div + v-bind="data.attrs" + v-on="listeners" + :class="[data.staticClass, 'el-divider', `el-divider--${props.direction}`]" + > + <div + v-if="slots().default && props.direction !== 'vertical'" + :class="['el-divider__text', `is-${props.contentPosition}`]" + > + <slot /> + </div> + </div> +</template> + +<script> +export default { + name: 'ElDivider', + props: { + direction: { + type: String, + default: 'horizontal', + validator(val) { + return ['horizontal', 'vertical'].indexOf(val) !== -1; + } + }, + contentPosition: { + type: String, + default: 'center', + validator(val) { + return ['left', 'center', 'right'].indexOf(val) !== -1; + } + } + } +}; + +</script> diff --git a/PAMapp/local_modules/element-ui/packages/drawer/index.js b/PAMapp/local_modules/element-ui/packages/drawer/index.js new file mode 100644 index 0000000..803e071 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/drawer/index.js @@ -0,0 +1,8 @@ +import Drawer from './src/main'; + +/* istanbul ignore next */ +Drawer.install = function(Vue) { + Vue.component(Drawer.name, Drawer); +}; + +export default Drawer; diff --git a/PAMapp/local_modules/element-ui/packages/drawer/src/main.vue b/PAMapp/local_modules/element-ui/packages/drawer/src/main.vue new file mode 100644 index 0000000..d963c69 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/drawer/src/main.vue @@ -0,0 +1,205 @@ +<template> + <transition + name="el-drawer-fade" + @after-enter="afterEnter" + @after-leave="afterLeave"> + <div + class="el-drawer__wrapper" + tabindex="-1" + v-show="visible"> + <div + class="el-drawer__container" + :class="visible && 'el-drawer__open'" + @click.self="handleWrapperClick" + role="document" + tabindex="-1"> + <div + aria-modal="true" + aria-labelledby="el-drawer__title" + :aria-label="title" + class="el-drawer" + :class="[direction, customClass]" + :style="isHorizontal ? `width: ${drawerSize}` : `height: ${drawerSize}`" + ref="drawer" + role="dialog" + tabindex="-1" + > + <header class="el-drawer__header" id="el-drawer__title" v-if="withHeader"> + <slot name="title"> + <span role="heading" :title="title">{{ title }}</span> + </slot> + <button + :aria-label="`close ${title || 'drawer'}`" + class="el-drawer__close-btn" + type="button" + v-if="showClose" + @click="closeDrawer"> + <i class="el-dialog__close el-icon el-icon-close"></i> + </button> + </header> + <section class="el-drawer__body" v-if="rendered"> + <slot></slot> + </section> + </div> + </div> + </div> + </transition> +</template> + +<script> +import Popup from 'element-ui/src/utils/popup'; +import emitter from 'element-ui/src/mixins/emitter'; + +export default { + name: 'ElDrawer', + mixins: [Popup, emitter], + props: { + appendToBody: { + type: Boolean, + default: false + }, + beforeClose: { + type: Function + }, + customClass: { + type: String, + default: '' + }, + closeOnPressEscape: { + type: Boolean, + default: true + }, + destroyOnClose: { + type: Boolean, + default: false + }, + modal: { + type: Boolean, + default: true + }, + direction: { + type: String, + default: 'rtl', + validator(val) { + return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1; + } + }, + modalAppendToBody: { + type: Boolean, + default: true + }, + showClose: { + type: Boolean, + default: true + }, + size: { + type: [Number, String], + default: '30%' + }, + title: { + type: String, + default: '' + }, + visible: { + type: Boolean + }, + wrapperClosable: { + type: Boolean, + default: true + }, + withHeader: { + type: Boolean, + default: true + } + }, + computed: { + isHorizontal() { + return this.direction === 'rtl' || this.direction === 'ltr'; + }, + drawerSize() { + return typeof this.size === 'number' ? `${this.size}px` : this.size; + } + }, + data() { + return { + closed: false, + prevActiveElement: null + }; + }, + watch: { + visible(val) { + if (val) { + this.closed = false; + this.$emit('open'); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + this.prevActiveElement = document.activeElement; + } else { + if (!this.closed) { + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + } + this.$nextTick(() => { + if (this.prevActiveElement) { + this.prevActiveElement.focus(); + } + }); + } + } + }, + methods: { + afterEnter() { + this.$emit('opened'); + }, + afterLeave() { + this.$emit('closed'); + }, + hide(cancel) { + if (cancel !== false) { + this.$emit('update:visible', false); + this.$emit('close'); + if (this.destroyOnClose === true) { + this.rendered = false; + } + this.closed = true; + } + }, + handleWrapperClick() { + if (this.wrapperClosable) { + this.closeDrawer(); + } + }, + closeDrawer() { + if (typeof this.beforeClose === 'function') { + this.beforeClose(this.hide); + } else { + this.hide(); + } + }, + handleClose() { + // This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true + // pressing `ESC` will call this method, and also close the drawer. + // This method also calls `beforeClose` if there was one. + this.closeDrawer(); + } + }, + mounted() { + if (this.visible) { + this.rendered = true; + this.open(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + } + }, + destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/dropdown-item/index.js b/PAMapp/local_modules/element-ui/packages/dropdown-item/index.js new file mode 100644 index 0000000..8edcb81 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown-item/index.js @@ -0,0 +1,8 @@ +import ElDropdownItem from '../dropdown/src/dropdown-item'; + +/* istanbul ignore next */ +ElDropdownItem.install = function(Vue) { + Vue.component(ElDropdownItem.name, ElDropdownItem); +}; + +export default ElDropdownItem; diff --git a/PAMapp/local_modules/element-ui/packages/dropdown-menu/index.js b/PAMapp/local_modules/element-ui/packages/dropdown-menu/index.js new file mode 100644 index 0000000..b7149e7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown-menu/index.js @@ -0,0 +1,8 @@ +import ElDropdownMenu from '../dropdown/src/dropdown-menu'; + +/* istanbul ignore next */ +ElDropdownMenu.install = function(Vue) { + Vue.component(ElDropdownMenu.name, ElDropdownMenu); +}; + +export default ElDropdownMenu; diff --git a/PAMapp/local_modules/element-ui/packages/dropdown/index.js b/PAMapp/local_modules/element-ui/packages/dropdown/index.js new file mode 100644 index 0000000..ef73667 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown/index.js @@ -0,0 +1,8 @@ +import ElDropdown from './src/dropdown'; + +/* istanbul ignore next */ +ElDropdown.install = function(Vue) { + Vue.component(ElDropdown.name, ElDropdown); +}; + +export default ElDropdown; diff --git a/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-item.vue b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-item.vue new file mode 100644 index 0000000..9fc33d8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-item.vue @@ -0,0 +1,37 @@ +<template> + <li + class="el-dropdown-menu__item" + :class="{ + 'is-disabled': disabled, + 'el-dropdown-menu__item--divided': divided + }" + @click="handleClick" + :aria-disabled="disabled" + :tabindex="disabled ? null : -1" + > + <i :class="icon" v-if="icon"></i> + <slot></slot> + </li> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElDropdownItem', + + mixins: [Emitter], + + props: { + command: {}, + disabled: Boolean, + divided: Boolean, + icon: String + }, + + methods: { + handleClick(e) { + this.dispatch('ElDropdown', 'menu-item-click', [this.command, this]); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-menu.vue b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-menu.vue new file mode 100644 index 0000000..1766467 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown-menu.vue @@ -0,0 +1,63 @@ +<template> + <transition name="el-zoom-in-top" @after-leave="doDestroy"> + <ul class="el-dropdown-menu el-popper" :class="[size && `el-dropdown-menu--${size}`]" v-show="showPopper"> + <slot></slot> + </ul> + </transition> +</template> +<script> + import Popper from 'element-ui/src/utils/vue-popper'; + + export default { + name: 'ElDropdownMenu', + + componentName: 'ElDropdownMenu', + + mixins: [Popper], + + props: { + visibleArrow: { + type: Boolean, + default: true + }, + arrowOffset: { + type: Number, + default: 0 + } + }, + + data() { + return { + size: this.dropdown.dropdownSize + }; + }, + + inject: ['dropdown'], + + created() { + this.$on('updatePopper', () => { + if (this.showPopper) this.updatePopper(); + }); + this.$on('visible', val => { + this.showPopper = val; + }); + }, + + mounted() { + this.dropdown.popperElm = this.popperElm = this.$el; + this.referenceElm = this.dropdown.$el; + // compatible with 2.6 new v-slot syntax + // issue link https://github.com/ElemeFE/element/issues/14345 + this.dropdown.initDomOperation(); + }, + + watch: { + 'dropdown.placement': { + immediate: true, + handler(val) { + this.currentPlacement = val; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown.vue b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown.vue new file mode 100644 index 0000000..6694469 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/dropdown/src/dropdown.vue @@ -0,0 +1,293 @@ +<script> + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Emitter from 'element-ui/src/mixins/emitter'; + import Migrating from 'element-ui/src/mixins/migrating'; + import ElButton from 'element-ui/packages/button'; + import ElButtonGroup from 'element-ui/packages/button-group'; + import { generateId } from 'element-ui/src/utils/util'; + + export default { + name: 'ElDropdown', + + componentName: 'ElDropdown', + + mixins: [Emitter, Migrating], + + directives: { Clickoutside }, + + components: { + ElButton, + ElButtonGroup + }, + + provide() { + return { + dropdown: this + }; + }, + + props: { + trigger: { + type: String, + default: 'hover' + }, + type: String, + size: { + type: String, + default: '' + }, + splitButton: Boolean, + hideOnClick: { + type: Boolean, + default: true + }, + placement: { + type: String, + default: 'bottom-end' + }, + visibleArrow: { + default: true + }, + showTimeout: { + type: Number, + default: 250 + }, + hideTimeout: { + type: Number, + default: 150 + }, + tabindex: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + } + }, + + data() { + return { + timeout: null, + visible: false, + triggerElm: null, + menuItems: null, + menuItemsArray: null, + dropdownElm: null, + focusing: false, + listId: `dropdown-menu-${generateId()}` + }; + }, + + computed: { + dropdownSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + + mounted() { + this.$on('menu-item-click', this.handleMenuItemClick); + }, + + watch: { + visible(val) { + this.broadcast('ElDropdownMenu', 'visible', val); + this.$emit('visible-change', val); + }, + focusing(val) { + const selfDefine = this.$el.querySelector('.el-dropdown-selfdefine'); + if (selfDefine) { // �摰�� + if (val) { + selfDefine.className += ' focusing'; + } else { + selfDefine.className = selfDefine.className.replace('focusing', ''); + } + } + } + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'menu-align': 'menu-align is renamed to placement.' + } + }; + }, + show() { + if (this.disabled) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + this.visible = true; + }, this.trigger === 'click' ? 0 : this.showTimeout); + }, + hide() { + if (this.disabled) return; + this.removeTabindex(); + if (this.tabindex >= 0) { + this.resetTabindex(this.triggerElm); + } + clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + this.visible = false; + }, this.trigger === 'click' ? 0 : this.hideTimeout); + }, + handleClick() { + if (this.disabled) return; + if (this.visible) { + this.hide(); + } else { + this.show(); + } + }, + handleTriggerKeyDown(ev) { + const keyCode = ev.keyCode; + if ([38, 40].indexOf(keyCode) > -1) { // up/down + this.removeTabindex(); + this.resetTabindex(this.menuItems[0]); + this.menuItems[0].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { // space enter�葉 + this.handleClick(); + } else if ([9, 27].indexOf(keyCode) > -1) { // tab || esc + this.hide(); + } + }, + handleItemKeyDown(ev) { + const keyCode = ev.keyCode; + const target = ev.target; + const currentIndex = this.menuItemsArray.indexOf(target); + const max = this.menuItemsArray.length - 1; + let nextIndex; + if ([38, 40].indexOf(keyCode) > -1) { // up/down + if (keyCode === 38) { // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { // down + nextIndex = currentIndex < max ? currentIndex + 1 : max; + } + this.removeTabindex(); + this.resetTabindex(this.menuItems[nextIndex]); + this.menuItems[nextIndex].focus(); + ev.preventDefault(); + ev.stopPropagation(); + } else if (keyCode === 13) { // enter�葉 + this.triggerElmFocus(); + target.click(); + if (this.hideOnClick) { // click�� + this.visible = false; + } + } else if ([9, 27].indexOf(keyCode) > -1) { // tab // esc + this.hide(); + this.triggerElmFocus(); + } + }, + resetTabindex(ele) { // 銝活tab�蝏辣������ + this.removeTabindex(); + ele.setAttribute('tabindex', '0'); // 銝活��������� + }, + removeTabindex() { + this.triggerElm.setAttribute('tabindex', '-1'); + this.menuItemsArray.forEach((item) => { + item.setAttribute('tabindex', '-1'); + }); + }, + initAria() { + this.dropdownElm.setAttribute('id', this.listId); + this.triggerElm.setAttribute('aria-haspopup', 'list'); + this.triggerElm.setAttribute('aria-controls', this.listId); + + if (!this.splitButton) { // �摰�� + this.triggerElm.setAttribute('role', 'button'); + this.triggerElm.setAttribute('tabindex', this.tabindex); + this.triggerElm.setAttribute('class', (this.triggerElm.getAttribute('class') || '') + ' el-dropdown-selfdefine'); // �� + } + }, + initEvent() { + let { trigger, show, hide, handleClick, splitButton, handleTriggerKeyDown, handleItemKeyDown } = this; + this.triggerElm = splitButton + ? this.$refs.trigger.$el + : this.$slots.default[0].elm; + + let dropdownElm = this.dropdownElm; + + this.triggerElm.addEventListener('keydown', handleTriggerKeyDown); // triggerElm keydown + dropdownElm.addEventListener('keydown', handleItemKeyDown, true); // item keydown + // ���摰����撘� + if (!splitButton) { + this.triggerElm.addEventListener('focus', () => { + this.focusing = true; + }); + this.triggerElm.addEventListener('blur', () => { + this.focusing = false; + }); + this.triggerElm.addEventListener('click', () => { + this.focusing = false; + }); + } + if (trigger === 'hover') { + this.triggerElm.addEventListener('mouseenter', show); + this.triggerElm.addEventListener('mouseleave', hide); + dropdownElm.addEventListener('mouseenter', show); + dropdownElm.addEventListener('mouseleave', hide); + } else if (trigger === 'click') { + this.triggerElm.addEventListener('click', handleClick); + } + }, + handleMenuItemClick(command, instance) { + if (this.hideOnClick) { + this.visible = false; + } + this.$emit('command', command, instance); + }, + triggerElmFocus() { + this.triggerElm.focus && this.triggerElm.focus(); + }, + initDomOperation() { + this.dropdownElm = this.popperElm; + this.menuItems = this.dropdownElm.querySelectorAll("[tabindex='-1']"); + this.menuItemsArray = [].slice.call(this.menuItems); + + this.initEvent(); + this.initAria(); + } + }, + + render(h) { + let { hide, splitButton, type, dropdownSize, disabled } = this; + + const handleMainButtonClick = (event) => { + this.$emit('click', event); + hide(); + }; + + let triggerElm = null; + if (splitButton) { + triggerElm = <el-button-group> + <el-button type={type} size={dropdownSize} nativeOn-click={handleMainButtonClick} disabled={disabled}> + {this.$slots.default} + </el-button> + <el-button ref="trigger" type={type} size={dropdownSize} class="el-dropdown__caret-button" disabled={disabled}> + <i class="el-dropdown__icon el-icon-arrow-down"></i> + </el-button> + </el-button-group>; + } else { + triggerElm = this.$slots.default; + const vnodeData = triggerElm[0].data || {}; + let { attrs = {} } = vnodeData; + if (disabled && !attrs.disabled) { + attrs.disabled = true; + vnodeData.attrs = attrs; + } + } + const menuElm = disabled ? null : this.$slots.dropdown; + + return ( + <div class="el-dropdown" v-clickoutside={hide} aria-disabled={disabled}> + {triggerElm} + {menuElm} + </div> + ); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/empty/index.js b/PAMapp/local_modules/element-ui/packages/empty/index.js new file mode 100644 index 0000000..c675514 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/empty/index.js @@ -0,0 +1,7 @@ +import Empty from './src/index.vue'; + +Empty.install = (Vue) => { + Vue.component(Empty.name, Empty); +}; + +export default Empty; diff --git a/PAMapp/local_modules/element-ui/packages/empty/src/img-empty.vue b/PAMapp/local_modules/element-ui/packages/empty/src/img-empty.vue new file mode 100644 index 0000000..f730d0f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/empty/src/img-empty.vue @@ -0,0 +1,132 @@ +<template> + <svg + viewBox="0 0 79 86" + version="1.1" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + > + <defs> + <linearGradient + :id="`linearGradient-1-${id}`" + x1="38.8503086%" + y1="0%" + x2="61.1496914%" + y2="100%" + > + <stop stop-color="#FCFCFD" offset="0%" /> + <stop stop-color="#EEEFF3" offset="100%" /> + </linearGradient> + <linearGradient + :id="`linearGradient-2-${id}`" + x1="0%" + y1="9.5%" + x2="100%" + y2="90.5%" + > + <stop stop-color="#FCFCFD" offset="0%" /> + <stop stop-color="#E9EBEF" offset="100%" /> + </linearGradient> + <rect + :id="`path-3-${id}`" + x="0" + y="0" + width="17" + height="36" + /> + </defs> + <g + id="Illustrations" + stroke="none" + stroke-width="1" + fill="none" + fill-rule="evenodd" + > + <g id="B-type" transform="translate(-1268.000000, -535.000000)"> + <g id="Group-2" transform="translate(1268.000000, 535.000000)"> + <path + id="Oval-Copy-2" + d="M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z" + fill="#F7F8FC" + /> + <polygon + id="Rectangle-Copy-14" + fill="#E5E7E9" + transform="translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) " + points="13 58 53 58 42 45 2 45" + /> + <g + id="Group-Copy" + transform="translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)" + > + <polygon + id="Rectangle-Copy-10" + fill="#E5E7E9" + transform="translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) " + points="2.84078316e-14 3 18 3 23 7 5 7" + /> + <polygon id="Rectangle-Copy-11" fill="#EDEEF2" points="-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43" /> + <rect + id="Rectangle-Copy-12" + :fill="`url(#linearGradient-1-${id})`" + transform="translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) " + x="38" + y="7" + width="17" + height="36" + /> + <polygon + id="Rectangle-Copy-13" + fill="#F8F9FB" + transform="translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) " + points="24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12" + /> + </g> + <rect + id="Rectangle-Copy-15" + :fill="`url(#linearGradient-2-${id})`" + x="13" + y="45" + width="40" + height="36" + /> + <g id="Rectangle-Copy-17" transform="translate(53.000000, 45.000000)"> + <mask :id="`mask-4-${id}`" fill="white"> + <use :xlink:href="`#path-3-${id}`" /> + </mask> + <use + id="Mask" + fill="#E0E3E9" + transform="translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) " + :xlink:href="`#path-3-${id}`" + /> + <polygon + id="Rectangle-Copy" + fill="#D5D7DE" + :mask="`url(#mask-4-${id})`" + transform="translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) " + points="7 0 24 0 20 18 -1.70530257e-13 16" + /> + </g> + <polygon + id="Rectangle-Copy-18" + fill="#F8F9FB" + transform="translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) " + points="62 45 79 45 70 58 53 58" + /> + </g> + </g> + </g> + </svg> +</template> + +<script> +let id = 0; +export default { + name: 'ImgEmpty', + data() { + return { + id: ++id + }; + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/empty/src/index.vue b/PAMapp/local_modules/element-ui/packages/empty/src/index.vue new file mode 100644 index 0000000..3ace09c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/empty/src/index.vue @@ -0,0 +1,50 @@ +<template> + <div class="el-empty"> + <div class="el-empty__image" :style="imageStyle"> + <img v-if="image" :src="image" ondragstart="return false"> + <slot v-else name="image"> + <img-empty /> + </slot> + </div> + <div class="el-empty__description"> + <slot v-if="$slots.description" name="description"></slot> + <p v-else>{{ emptyDescription }}</p> + </div> + <div v-if="$slots.default" class="el-empty__bottom"> + <slot></slot> + </div> + </div> +</template> + +<script> +import ImgEmpty from './img-empty.vue'; +import { t } from 'element-ui/src/locale'; + +export default { + name: 'ElEmpty', + components: { + [ImgEmpty.name]: ImgEmpty + }, + props: { + image: { + type: String, + default: '' + }, + imageSize: Number, + description: { + type: String, + default: '' + } + }, + computed: { + emptyDescription() { + return this.description || t('el.empty.description'); + }, + imageStyle() { + return { + width: this.imageSize ? `${this.imageSize}px` : '' + }; + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/footer/index.js b/PAMapp/local_modules/element-ui/packages/footer/index.js new file mode 100644 index 0000000..5e991b0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/footer/index.js @@ -0,0 +1,8 @@ +import Footer from './src/main'; + +/* istanbul ignore next */ +Footer.install = function(Vue) { + Vue.component(Footer.name, Footer); +}; + +export default Footer; diff --git a/PAMapp/local_modules/element-ui/packages/footer/src/main.vue b/PAMapp/local_modules/element-ui/packages/footer/src/main.vue new file mode 100644 index 0000000..ff02ca6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/footer/src/main.vue @@ -0,0 +1,20 @@ +<template> + <footer class="el-footer" :style="{ height }"> + <slot></slot> + </footer> +</template> + +<script> + export default { + name: 'ElFooter', + + componentName: 'ElFooter', + + props: { + height: { + type: String, + default: '60px' + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/form-item/index.js b/PAMapp/local_modules/element-ui/packages/form-item/index.js new file mode 100644 index 0000000..b7cbdc9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/form-item/index.js @@ -0,0 +1,8 @@ +import ElFormItem from '../form/src/form-item'; + +/* istanbul ignore next */ +ElFormItem.install = function(Vue) { + Vue.component(ElFormItem.name, ElFormItem); +}; + +export default ElFormItem; diff --git a/PAMapp/local_modules/element-ui/packages/form/index.js b/PAMapp/local_modules/element-ui/packages/form/index.js new file mode 100644 index 0000000..dff75ad --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/form/index.js @@ -0,0 +1,8 @@ +import ElForm from './src/form'; + +/* istanbul ignore next */ +ElForm.install = function(Vue) { + Vue.component(ElForm.name, ElForm); +}; + +export default ElForm; diff --git a/PAMapp/local_modules/element-ui/packages/form/src/form-item.vue b/PAMapp/local_modules/element-ui/packages/form/src/form-item.vue new file mode 100644 index 0000000..c07df6e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/form/src/form-item.vue @@ -0,0 +1,324 @@ +<template> + <div class="el-form-item" :class="[{ + 'el-form-item--feedback': elForm && elForm.statusIcon, + 'is-error': validateState === 'error', + 'is-validating': validateState === 'validating', + 'is-success': validateState === 'success', + 'is-required': isRequired || required, + 'is-no-asterisk': elForm && elForm.hideRequiredAsterisk + }, + sizeClass ? 'el-form-item--' + sizeClass : '' + ]"> + <label-wrap + :is-auto-width="labelStyle && labelStyle.width === 'auto'" + :update-all="form.labelWidth === 'auto'"> + <label :for="labelFor" class="el-form-item__label" :style="labelStyle" v-if="label || $slots.label"> + <slot name="label">{{label + form.labelSuffix}}</slot> + </label> + </label-wrap> + <div class="el-form-item__content" :style="contentStyle"> + <slot></slot> + <transition name="el-zoom-in-top"> + <slot + v-if="validateState === 'error' && showMessage && form.showMessage" + name="error" + :error="validateMessage"> + <div + class="el-form-item__error" + :class="{ + 'el-form-item__error--inline': typeof inlineMessage === 'boolean' + ? inlineMessage + : (elForm && elForm.inlineMessage || false) + }" + > + {{validateMessage}} + </div> + </slot> + </transition> + </div> + </div> +</template> +<script> + import AsyncValidator from 'async-validator'; + import emitter from 'element-ui/src/mixins/emitter'; + import objectAssign from 'element-ui/src/utils/merge'; + import { noop, getPropByPath } from 'element-ui/src/utils/util'; + import LabelWrap from './label-wrap'; + export default { + name: 'ElFormItem', + + componentName: 'ElFormItem', + + mixins: [emitter], + + provide() { + return { + elFormItem: this + }; + }, + + inject: ['elForm'], + + props: { + label: String, + labelWidth: String, + prop: String, + required: { + type: Boolean, + default: undefined + }, + rules: [Object, Array], + error: String, + validateStatus: String, + for: String, + inlineMessage: { + type: [String, Boolean], + default: '' + }, + showMessage: { + type: Boolean, + default: true + }, + size: String + }, + components: { + // use this component to calculate auto width + LabelWrap + }, + watch: { + error: { + immediate: true, + handler(value) { + this.validateMessage = value; + this.validateState = value ? 'error' : ''; + } + }, + validateStatus(value) { + this.validateState = value; + }, + rules(value) { + if ((!value || value.length === 0) && this.required === undefined) { + this.clearValidate(); + } + } + }, + computed: { + labelFor() { + return this.for || this.prop; + }, + labelStyle() { + const ret = {}; + if (this.form.labelPosition === 'top') return ret; + const labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth) { + ret.width = labelWidth; + } + return ret; + }, + contentStyle() { + const ret = {}; + const label = this.label; + if (this.form.labelPosition === 'top' || this.form.inline) return ret; + if (!label && !this.labelWidth && this.isNested) return ret; + const labelWidth = this.labelWidth || this.form.labelWidth; + if (labelWidth === 'auto') { + if (this.labelWidth === 'auto') { + ret.marginLeft = this.computedLabelWidth; + } else if (this.form.labelWidth === 'auto') { + ret.marginLeft = this.elForm.autoLabelWidth; + } + } else { + ret.marginLeft = labelWidth; + } + return ret; + }, + form() { + let parent = this.$parent; + let parentName = parent.$options.componentName; + while (parentName !== 'ElForm') { + if (parentName === 'ElFormItem') { + this.isNested = true; + } + parent = parent.$parent; + parentName = parent.$options.componentName; + } + return parent; + }, + fieldValue() { + const model = this.form.model; + if (!model || !this.prop) { return; } + + let path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + return getPropByPath(model, path, true).v; + }, + isRequired() { + let rules = this.getRules(); + let isRequired = false; + + if (rules && rules.length) { + rules.every(rule => { + if (rule.required) { + isRequired = true; + return false; + } + return true; + }); + } + return isRequired; + }, + _formSize() { + return this.elForm.size; + }, + elFormItemSize() { + return this.size || this._formSize; + }, + sizeClass() { + return this.elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + data() { + return { + validateState: '', + validateMessage: '', + validateDisabled: false, + validator: {}, + isNested: false, + computedLabelWidth: '' + }; + }, + methods: { + validate(trigger, callback = noop) { + this.validateDisabled = false; + const rules = this.getFilteredRule(trigger); + if ((!rules || rules.length === 0) && this.required === undefined) { + callback(); + return true; + } + + this.validateState = 'validating'; + + const descriptor = {}; + if (rules && rules.length > 0) { + rules.forEach(rule => { + delete rule.trigger; + }); + } + descriptor[this.prop] = rules; + + const validator = new AsyncValidator(descriptor); + const model = {}; + + model[this.prop] = this.fieldValue; + + validator.validate(model, { firstFields: true }, (errors, invalidFields) => { + this.validateState = !errors ? 'success' : 'error'; + this.validateMessage = errors ? errors[0].message : ''; + + callback(this.validateMessage, invalidFields); + this.elForm && this.elForm.$emit('validate', this.prop, !errors, this.validateMessage || null); + }); + }, + clearValidate() { + this.validateState = ''; + this.validateMessage = ''; + this.validateDisabled = false; + }, + resetField() { + this.validateState = ''; + this.validateMessage = ''; + + let model = this.form.model; + let value = this.fieldValue; + let path = this.prop; + if (path.indexOf(':') !== -1) { + path = path.replace(/:/, '.'); + } + + let prop = getPropByPath(model, path, true); + + this.validateDisabled = true; + if (Array.isArray(value)) { + prop.o[prop.k] = [].concat(this.initialValue); + } else { + prop.o[prop.k] = this.initialValue; + } + + // reset validateDisabled after onFieldChange triggered + this.$nextTick(() => { + this.validateDisabled = false; + }); + + this.broadcast('ElTimeSelect', 'fieldReset', this.initialValue); + }, + getRules() { + let formRules = this.form.rules; + const selfRules = this.rules; + const requiredRule = this.required !== undefined ? { required: !!this.required } : []; + + const prop = getPropByPath(formRules, this.prop || ''); + formRules = formRules ? (prop.o[this.prop || ''] || prop.v) : []; + + return [].concat(selfRules || formRules || []).concat(requiredRule); + }, + getFilteredRule(trigger) { + const rules = this.getRules(); + + return rules.filter(rule => { + if (!rule.trigger || trigger === '') return true; + if (Array.isArray(rule.trigger)) { + return rule.trigger.indexOf(trigger) > -1; + } else { + return rule.trigger === trigger; + } + }).map(rule => objectAssign({}, rule)); + }, + onFieldBlur() { + this.validate('blur'); + }, + onFieldChange() { + if (this.validateDisabled) { + this.validateDisabled = false; + return; + } + + this.validate('change'); + }, + updateComputedLabelWidth(width) { + this.computedLabelWidth = width ? `${width}px` : ''; + }, + addValidateEvents() { + const rules = this.getRules(); + + if (rules.length || this.required !== undefined) { + this.$on('el.form.blur', this.onFieldBlur); + this.$on('el.form.change', this.onFieldChange); + } + }, + removeValidateEvents() { + this.$off(); + } + }, + mounted() { + if (this.prop) { + this.dispatch('ElForm', 'el.form.addField', [this]); + + let initialValue = this.fieldValue; + if (Array.isArray(initialValue)) { + initialValue = [].concat(initialValue); + } + Object.defineProperty(this, 'initialValue', { + value: initialValue + }); + + this.addValidateEvents(); + } + }, + beforeDestroy() { + this.dispatch('ElForm', 'el.form.removeField', [this]); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/form/src/form.vue b/PAMapp/local_modules/element-ui/packages/form/src/form.vue new file mode 100644 index 0000000..4864387 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/form/src/form.vue @@ -0,0 +1,182 @@ +<template> + <form class="el-form" :class="[ + labelPosition ? 'el-form--label-' + labelPosition : '', + { 'el-form--inline': inline } + ]"> + <slot></slot> + </form> +</template> +<script> + import objectAssign from 'element-ui/src/utils/merge'; + + export default { + name: 'ElForm', + + componentName: 'ElForm', + + provide() { + return { + elForm: this + }; + }, + + props: { + model: Object, + rules: Object, + labelPosition: String, + labelWidth: String, + labelSuffix: { + type: String, + default: '' + }, + inline: Boolean, + inlineMessage: Boolean, + statusIcon: Boolean, + showMessage: { + type: Boolean, + default: true + }, + size: String, + disabled: Boolean, + validateOnRuleChange: { + type: Boolean, + default: true + }, + hideRequiredAsterisk: { + type: Boolean, + default: false + } + }, + watch: { + rules() { + // remove then add event listeners on form-item after form rules change + this.fields.forEach(field => { + field.removeValidateEvents(); + field.addValidateEvents(); + }); + + if (this.validateOnRuleChange) { + this.validate(() => {}); + } + } + }, + computed: { + autoLabelWidth() { + if (!this.potentialLabelWidthArr.length) return 0; + const max = Math.max(...this.potentialLabelWidthArr); + return max ? `${max}px` : ''; + } + }, + data() { + return { + fields: [], + potentialLabelWidthArr: [] // use this array to calculate auto width + }; + }, + created() { + this.$on('el.form.addField', (field) => { + if (field) { + this.fields.push(field); + } + }); + /* istanbul ignore next */ + this.$on('el.form.removeField', (field) => { + if (field.prop) { + this.fields.splice(this.fields.indexOf(field), 1); + } + }); + }, + methods: { + resetFields() { + if (!this.model) { + console.warn('[Element Warn][Form]model is required for resetFields to work.'); + return; + } + this.fields.forEach(field => { + field.resetField(); + }); + }, + clearValidate(props = []) { + const fields = props.length + ? (typeof props === 'string' + ? this.fields.filter(field => props === field.prop) + : this.fields.filter(field => props.indexOf(field.prop) > -1) + ) : this.fields; + fields.forEach(field => { + field.clearValidate(); + }); + }, + validate(callback) { + if (!this.model) { + console.warn('[Element Warn][Form]model is required for validate to work!'); + return; + } + + let promise; + // if no callback, return promise + if (typeof callback !== 'function' && window.Promise) { + promise = new window.Promise((resolve, reject) => { + callback = function(valid, invalidFields) { + valid ? resolve(valid) : reject(invalidFields); + }; + }); + } + + let valid = true; + let count = 0; + // 憒��閬���ields銝箇征嚗�撉�蝡餈�allback + if (this.fields.length === 0 && callback) { + callback(true); + } + let invalidFields = {}; + this.fields.forEach(field => { + field.validate('', (message, field) => { + if (message) { + valid = false; + } + invalidFields = objectAssign({}, invalidFields, field); + if (typeof callback === 'function' && ++count === this.fields.length) { + callback(valid, invalidFields); + } + }); + }); + + if (promise) { + return promise; + } + }, + validateField(props, cb) { + props = [].concat(props); + const fields = this.fields.filter(field => props.indexOf(field.prop) !== -1); + if (!fields.length) { + console.warn('[Element Warn]please pass correct props!'); + return; + } + + fields.forEach(field => { + field.validate('', cb); + }); + }, + getLabelWidthIndex(width) { + const index = this.potentialLabelWidthArr.indexOf(width); + // it's impossible + if (index === -1) { + throw new Error('[ElementForm]unpected width ', width); + } + return index; + }, + registerLabelWidth(val, oldVal) { + if (val && oldVal) { + const index = this.getLabelWidthIndex(oldVal); + this.potentialLabelWidthArr.splice(index, 1, val); + } else if (val) { + this.potentialLabelWidthArr.push(val); + } + }, + deregisterLabelWidth(val) { + const index = this.getLabelWidthIndex(val); + this.potentialLabelWidthArr.splice(index, 1); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/form/src/label-wrap.vue b/PAMapp/local_modules/element-ui/packages/form/src/label-wrap.vue new file mode 100644 index 0000000..d263f7d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/form/src/label-wrap.vue @@ -0,0 +1,78 @@ +<script> + +export default { + props: { + isAutoWidth: Boolean, + updateAll: Boolean + }, + + inject: ['elForm', 'elFormItem'], + + render() { + const slots = this.$slots.default; + if (!slots) return null; + if (this.isAutoWidth) { + const autoLabelWidth = this.elForm.autoLabelWidth; + const style = {}; + if (autoLabelWidth && autoLabelWidth !== 'auto') { + const marginLeft = parseInt(autoLabelWidth, 10) - this.computedWidth; + if (marginLeft) { + style.marginLeft = marginLeft + 'px'; + } + } + return (<div class="el-form-item__label-wrap" style={style}> + { slots } + </div>); + } else { + return slots[0]; + } + }, + + methods: { + getLabelWidth() { + if (this.$el && this.$el.firstElementChild) { + const computedWidth = window.getComputedStyle(this.$el.firstElementChild).width; + return Math.ceil(parseFloat(computedWidth)); + } else { + return 0; + } + }, + updateLabelWidth(action = 'update') { + if (this.$slots.default && this.isAutoWidth && this.$el.firstElementChild) { + if (action === 'update') { + this.computedWidth = this.getLabelWidth(); + } else if (action === 'remove') { + this.elForm.deregisterLabelWidth(this.computedWidth); + } + } + } + }, + + watch: { + computedWidth(val, oldVal) { + if (this.updateAll) { + this.elForm.registerLabelWidth(val, oldVal); + this.elFormItem.updateComputedLabelWidth(val); + } + } + }, + + data() { + return { + computedWidth: 0 + }; + }, + + mounted() { + this.updateLabelWidth('update'); + }, + + updated() { + this.updateLabelWidth('update'); + }, + + beforeDestroy() { + this.updateLabelWidth('remove'); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/header/index.js b/PAMapp/local_modules/element-ui/packages/header/index.js new file mode 100644 index 0000000..a3dba89 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/header/index.js @@ -0,0 +1,8 @@ +import Header from './src/main'; + +/* istanbul ignore next */ +Header.install = function(Vue) { + Vue.component(Header.name, Header); +}; + +export default Header; diff --git a/PAMapp/local_modules/element-ui/packages/header/src/main.vue b/PAMapp/local_modules/element-ui/packages/header/src/main.vue new file mode 100644 index 0000000..304be17 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/header/src/main.vue @@ -0,0 +1,20 @@ +<template> + <header class="el-header" :style="{ height }"> + <slot></slot> + </header> +</template> + +<script> + export default { + name: 'ElHeader', + + componentName: 'ElHeader', + + props: { + height: { + type: String, + default: '60px' + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/icon/index.js b/PAMapp/local_modules/element-ui/packages/icon/index.js new file mode 100644 index 0000000..7b8db5c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/icon/index.js @@ -0,0 +1,8 @@ +import ElIcon from './src/icon.vue'; + +/* istanbul ignore next */ +ElIcon.install = function(Vue) { + Vue.component(ElIcon.name, ElIcon); +}; + +export default ElIcon; diff --git a/PAMapp/local_modules/element-ui/packages/icon/src/icon.vue b/PAMapp/local_modules/element-ui/packages/icon/src/icon.vue new file mode 100644 index 0000000..b53ac30 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/icon/src/icon.vue @@ -0,0 +1,13 @@ +<template> + <i :class="'el-icon-' + name"></i> +</template> + +<script> + export default { + name: 'ElIcon', + + props: { + name: String + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/image/index.js b/PAMapp/local_modules/element-ui/packages/image/index.js new file mode 100644 index 0000000..5e1d965 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/image/index.js @@ -0,0 +1,8 @@ +import Image from './src/main'; + +/* istanbul ignore next */ +Image.install = function(Vue) { + Vue.component(Image.name, Image); +}; + +export default Image; diff --git a/PAMapp/local_modules/element-ui/packages/image/src/image-viewer.vue b/PAMapp/local_modules/element-ui/packages/image/src/image-viewer.vue new file mode 100644 index 0000000..17433fe --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/image/src/image-viewer.vue @@ -0,0 +1,331 @@ +<template> + <transition name="viewer-fade"> + <div tabindex="-1" ref="el-image-viewer__wrapper" class="el-image-viewer__wrapper" :style="{ 'z-index': viewerZIndex }"> + <div class="el-image-viewer__mask" @click.self="handleMaskClick"></div> + <!-- CLOSE --> + <span class="el-image-viewer__btn el-image-viewer__close" @click="hide"> + <i class="el-icon-close"></i> + </span> + <!-- ARROW --> + <template v-if="!isSingle"> + <span + class="el-image-viewer__btn el-image-viewer__prev" + :class="{ 'is-disabled': !infinite && isFirst }" + @click="prev"> + <i class="el-icon-arrow-left"/> + </span> + <span + class="el-image-viewer__btn el-image-viewer__next" + :class="{ 'is-disabled': !infinite && isLast }" + @click="next"> + <i class="el-icon-arrow-right"/> + </span> + </template> + <!-- ACTIONS --> + <div class="el-image-viewer__btn el-image-viewer__actions"> + <div class="el-image-viewer__actions__inner"> + <i class="el-icon-zoom-out" @click="handleActions('zoomOut')"></i> + <i class="el-icon-zoom-in" @click="handleActions('zoomIn')"></i> + <i class="el-image-viewer__actions__divider"></i> + <i :class="mode.icon" @click="toggleMode"></i> + <i class="el-image-viewer__actions__divider"></i> + <i class="el-icon-refresh-left" @click="handleActions('anticlocelise')"></i> + <i class="el-icon-refresh-right" @click="handleActions('clocelise')"></i> + </div> + </div> + <!-- CANVAS --> + <div class="el-image-viewer__canvas"> + <img + v-for="(url, i) in urlList" + v-if="i === index" + ref="img" + class="el-image-viewer__img" + :key="url" + :src="currentImg" + :style="imgStyle" + referrerpolicy='no-referrer' + @load="handleImgLoad" + @error="handleImgError" + @mousedown="handleMouseDown"> + </div> + </div> + </transition> +</template> + +<script> +import { on, off } from 'element-ui/src/utils/dom'; +import { rafThrottle, isFirefox } from 'element-ui/src/utils/util'; +import { PopupManager } from 'element-ui/src/utils/popup'; + +const Mode = { + CONTAIN: { + name: 'contain', + icon: 'el-icon-full-screen' + }, + ORIGINAL: { + name: 'original', + icon: 'el-icon-c-scale-to-original' + } +}; + +const mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel'; + +export default { + name: 'elImageViewer', + + props: { + urlList: { + type: Array, + default: () => [] + }, + zIndex: { + type: Number, + default: 2000 + }, + onSwitch: { + type: Function, + default: () => {} + }, + onClose: { + type: Function, + default: () => {} + }, + initialIndex: { + type: Number, + default: 0 + }, + appendToBody: { + type: Boolean, + default: true + }, + maskClosable: { + type: Boolean, + default: true + } + }, + + data() { + return { + index: this.initialIndex, + isShow: false, + infinite: true, + loading: false, + mode: Mode.CONTAIN, + transform: { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + } + }; + }, + computed: { + isSingle() { + return this.urlList.length <= 1; + }, + isFirst() { + return this.index === 0; + }, + isLast() { + return this.index === this.urlList.length - 1; + }, + currentImg() { + return this.urlList[this.index]; + }, + imgStyle() { + const { scale, deg, offsetX, offsetY, enableTransition } = this.transform; + const style = { + transform: `scale(${scale}) rotate(${deg}deg)`, + transition: enableTransition ? 'transform .3s' : '', + 'margin-left': `${offsetX}px`, + 'margin-top': `${offsetY}px` + }; + if (this.mode === Mode.CONTAIN) { + style.maxWidth = style.maxHeight = '100%'; + } + return style; + }, + viewerZIndex() { + const nextZIndex = PopupManager.nextZIndex(); + return this.zIndex > nextZIndex ? this.zIndex : nextZIndex; + } + }, + watch: { + index: { + handler: function(val) { + this.reset(); + this.onSwitch(val); + } + }, + currentImg(val) { + this.$nextTick(_ => { + const $img = this.$refs.img[0]; + if (!$img.complete) { + this.loading = true; + } + }); + } + }, + methods: { + hide() { + this.deviceSupportUninstall(); + this.onClose(); + }, + deviceSupportInstall() { + this._keyDownHandler = e => { + e.stopPropagation(); + const keyCode = e.keyCode; + switch (keyCode) { + // ESC + case 27: + this.hide(); + break; + // SPACE + case 32: + this.toggleMode(); + break; + // LEFT_ARROW + case 37: + this.prev(); + break; + // UP_ARROW + case 38: + this.handleActions('zoomIn'); + break; + // RIGHT_ARROW + case 39: + this.next(); + break; + // DOWN_ARROW + case 40: + this.handleActions('zoomOut'); + break; + } + }; + this._mouseWheelHandler = rafThrottle(e => { + const delta = e.wheelDelta ? e.wheelDelta : -e.detail; + if (delta > 0) { + this.handleActions('zoomIn', { + zoomRate: 0.015, + enableTransition: false + }); + } else { + this.handleActions('zoomOut', { + zoomRate: 0.015, + enableTransition: false + }); + } + }); + on(document, 'keydown', this._keyDownHandler); + on(document, mousewheelEventName, this._mouseWheelHandler); + }, + deviceSupportUninstall() { + off(document, 'keydown', this._keyDownHandler); + off(document, mousewheelEventName, this._mouseWheelHandler); + this._keyDownHandler = null; + this._mouseWheelHandler = null; + }, + handleImgLoad(e) { + this.loading = false; + }, + handleImgError(e) { + this.loading = false; + e.target.alt = '��蝸憭梯揖'; + }, + handleMouseDown(e) { + if (this.loading || e.button !== 0) return; + + const { offsetX, offsetY } = this.transform; + const startX = e.pageX; + const startY = e.pageY; + this._dragHandler = rafThrottle(ev => { + this.transform.offsetX = offsetX + ev.pageX - startX; + this.transform.offsetY = offsetY + ev.pageY - startY; + }); + on(document, 'mousemove', this._dragHandler); + on(document, 'mouseup', ev => { + off(document, 'mousemove', this._dragHandler); + }); + + e.preventDefault(); + }, + handleMaskClick() { + if (this.maskClosable) { + this.hide(); + } + }, + reset() { + this.transform = { + scale: 1, + deg: 0, + offsetX: 0, + offsetY: 0, + enableTransition: false + }; + }, + toggleMode() { + if (this.loading) return; + + const modeNames = Object.keys(Mode); + const modeValues = Object.values(Mode); + const index = modeValues.indexOf(this.mode); + const nextIndex = (index + 1) % modeNames.length; + this.mode = Mode[modeNames[nextIndex]]; + this.reset(); + }, + prev() { + if (this.isFirst && !this.infinite) return; + const len = this.urlList.length; + this.index = (this.index - 1 + len) % len; + }, + next() { + if (this.isLast && !this.infinite) return; + const len = this.urlList.length; + this.index = (this.index + 1) % len; + }, + handleActions(action, options = {}) { + if (this.loading) return; + const { zoomRate, rotateDeg, enableTransition } = { + zoomRate: 0.2, + rotateDeg: 90, + enableTransition: true, + ...options + }; + const { transform } = this; + switch (action) { + case 'zoomOut': + if (transform.scale > 0.2) { + transform.scale = parseFloat((transform.scale - zoomRate).toFixed(3)); + } + break; + case 'zoomIn': + transform.scale = parseFloat((transform.scale + zoomRate).toFixed(3)); + break; + case 'clocelise': + transform.deg += rotateDeg; + break; + case 'anticlocelise': + transform.deg -= rotateDeg; + break; + } + transform.enableTransition = enableTransition; + } + }, + mounted() { + this.deviceSupportInstall(); + if (this.appendToBody) { + document.body.appendChild(this.$el); + } + // add tabindex then wrapper can be focusable via Javascript + // focus wrapper so arrow key can't cause inner scroll behavior underneath + this.$refs['el-image-viewer__wrapper'].focus(); + }, + destroyed() { + // if appendToBody is true, remove DOM node after destroy + if (this.appendToBody && this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/image/src/main.vue b/PAMapp/local_modules/element-ui/packages/image/src/main.vue new file mode 100644 index 0000000..c6786b8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/image/src/main.vue @@ -0,0 +1,249 @@ +<template> + <div class="el-image"> + <slot v-if="loading" name="placeholder"> + <div class="el-image__placeholder"></div> + </slot> + <slot v-else-if="error" name="error"> + <div class="el-image__error">{{ t('el.image.error') }}</div> + </slot> + <img + v-else + class="el-image__inner" + v-bind="$attrs" + v-on="$listeners" + @click="clickHandler" + :src="src" + :style="imageStyle" + :class="{ 'el-image__inner--center': alignCenter, 'el-image__preview': preview }"> + <template v-if="preview"> + <image-viewer :z-index="zIndex" :initial-index="imageIndex" v-if="showViewer" :on-close="closeViewer" :url-list="previewSrcList"/> + </template> + </div> +</template> + +<script> + import ImageViewer from './image-viewer'; + import Locale from 'element-ui/src/mixins/locale'; + import { on, off, getScrollContainer, isInContainer } from 'element-ui/src/utils/dom'; + import { isString, isHtmlElement } from 'element-ui/src/utils/types'; + import throttle from 'throttle-debounce/throttle'; + + const isSupportObjectFit = () => document.documentElement.style.objectFit !== undefined; + + const ObjectFit = { + NONE: 'none', + CONTAIN: 'contain', + COVER: 'cover', + FILL: 'fill', + SCALE_DOWN: 'scale-down' + }; + + let prevOverflow = ''; + + export default { + name: 'ElImage', + + mixins: [Locale], + inheritAttrs: false, + + components: { + ImageViewer + }, + + props: { + src: String, + fit: String, + lazy: Boolean, + scrollContainer: {}, + previewSrcList: { + type: Array, + default: () => [] + }, + zIndex: { + type: Number, + default: 2000 + }, + initialIndex: Number + }, + + data() { + return { + loading: true, + error: false, + show: !this.lazy, + imageWidth: 0, + imageHeight: 0, + showViewer: false + }; + }, + + computed: { + imageStyle() { + const { fit } = this; + if (!this.$isServer && fit) { + return isSupportObjectFit() + ? { 'object-fit': fit } + : this.getImageStyle(fit); + } + return {}; + }, + alignCenter() { + return !this.$isServer && !isSupportObjectFit() && this.fit !== ObjectFit.FILL; + }, + preview() { + const { previewSrcList } = this; + return Array.isArray(previewSrcList) && previewSrcList.length > 0; + }, + imageIndex() { + let previewIndex = 0; + const initialIndex = this.initialIndex; + if (initialIndex >= 0) { + previewIndex = initialIndex; + return previewIndex; + } + const srcIndex = this.previewSrcList.indexOf(this.src); + if (srcIndex >= 0) { + previewIndex = srcIndex; + return previewIndex; + } + return previewIndex; + } + }, + + watch: { + src(val) { + this.show && this.loadImage(); + }, + show(val) { + val && this.loadImage(); + } + }, + + mounted() { + if (this.lazy) { + this.addLazyLoadListener(); + } else { + this.loadImage(); + } + }, + + beforeDestroy() { + this.lazy && this.removeLazyLoadListener(); + }, + + methods: { + loadImage() { + if (this.$isServer) return; + + // reset status + this.loading = true; + this.error = false; + + const img = new Image(); + img.onload = e => this.handleLoad(e, img); + img.onerror = this.handleError.bind(this); + + // bind html attrs + // so it can behave consistently + Object.keys(this.$attrs) + .forEach((key) => { + const value = this.$attrs[key]; + img.setAttribute(key, value); + }); + img.src = this.src; + }, + handleLoad(e, img) { + this.imageWidth = img.width; + this.imageHeight = img.height; + this.loading = false; + this.error = false; + }, + handleError(e) { + this.loading = false; + this.error = true; + this.$emit('error', e); + }, + handleLazyLoad() { + if (isInContainer(this.$el, this._scrollContainer)) { + this.show = true; + this.removeLazyLoadListener(); + } + }, + addLazyLoadListener() { + if (this.$isServer) return; + + const { scrollContainer } = this; + let _scrollContainer = null; + + if (isHtmlElement(scrollContainer)) { + _scrollContainer = scrollContainer; + } else if (isString(scrollContainer)) { + _scrollContainer = document.querySelector(scrollContainer); + } else { + _scrollContainer = getScrollContainer(this.$el); + } + + if (_scrollContainer) { + this._scrollContainer = _scrollContainer; + this._lazyLoadHandler = throttle(200, this.handleLazyLoad); + on(_scrollContainer, 'scroll', this._lazyLoadHandler); + this.handleLazyLoad(); + } + }, + removeLazyLoadListener() { + const { _scrollContainer, _lazyLoadHandler } = this; + + if (this.$isServer || !_scrollContainer || !_lazyLoadHandler) return; + + off(_scrollContainer, 'scroll', _lazyLoadHandler); + this._scrollContainer = null; + this._lazyLoadHandler = null; + }, + /** + * simulate object-fit behavior to compatible with IE11 and other browsers which not support object-fit + */ + getImageStyle(fit) { + const { imageWidth, imageHeight } = this; + const { + clientWidth: containerWidth, + clientHeight: containerHeight + } = this.$el; + + if (!imageWidth || !imageHeight || !containerWidth || !containerHeight) return {}; + + const imageAspectRatio = imageWidth / imageHeight; + const containerAspectRatio = containerWidth / containerHeight; + + if (fit === ObjectFit.SCALE_DOWN) { + const isSmaller = imageWidth < containerWidth && imageHeight < containerHeight; + fit = isSmaller ? ObjectFit.NONE : ObjectFit.CONTAIN; + } + + switch (fit) { + case ObjectFit.NONE: + return { width: 'auto', height: 'auto' }; + case ObjectFit.CONTAIN: + return (imageAspectRatio < containerAspectRatio) ? { width: 'auto' } : { height: 'auto' }; + case ObjectFit.COVER: + return (imageAspectRatio < containerAspectRatio) ? { height: 'auto' } : { width: 'auto' }; + default: + return {}; + } + }, + clickHandler() { + // don't show viewer when preview is false + if (!this.preview) { + return; + } + // prevent body scroll + prevOverflow = document.body.style.overflow; + document.body.style.overflow = 'hidden'; + this.showViewer = true; + }, + closeViewer() { + document.body.style.overflow = prevOverflow; + this.showViewer = false; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/infinite-scroll/index.js b/PAMapp/local_modules/element-ui/packages/infinite-scroll/index.js new file mode 100644 index 0000000..228bbba --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/infinite-scroll/index.js @@ -0,0 +1,8 @@ +import InfiniteScroll from './src/main.js'; + +/* istanbul ignore next */ +InfiniteScroll.install = function(Vue) { + Vue.directive(InfiniteScroll.name, InfiniteScroll); +}; + +export default InfiniteScroll; diff --git a/PAMapp/local_modules/element-ui/packages/infinite-scroll/src/main.js b/PAMapp/local_modules/element-ui/packages/infinite-scroll/src/main.js new file mode 100644 index 0000000..2942a22 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/infinite-scroll/src/main.js @@ -0,0 +1,150 @@ +import throttle from 'throttle-debounce/debounce'; +import { + isHtmlElement, + isFunction, + isUndefined, + isDefined +} from 'element-ui/src/utils/types'; +import { + getScrollContainer +} from 'element-ui/src/utils/dom'; + +const getStyleComputedProperty = (element, property) => { + if (element === window) { + element = document.documentElement; + } + + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + const css = window.getComputedStyle(element, null); + return property ? css[property] : css; +}; + +const entries = (obj) => { + return Object.keys(obj || {}) + .map(key => ([key, obj[key]])); +}; + +const getPositionSize = (el, prop) => { + return el === window || el === document + ? document.documentElement[prop] + : el[prop]; +}; + +const getOffsetHeight = el => { + return getPositionSize(el, 'offsetHeight'); +}; + +const getClientHeight = el => { + return getPositionSize(el, 'clientHeight'); +}; + +const scope = 'ElInfiniteScroll'; +const attributes = { + delay: { + type: Number, + default: 200 + }, + distance: { + type: Number, + default: 0 + }, + disabled: { + type: Boolean, + default: false + }, + immediate: { + type: Boolean, + default: true + } +}; + +const getScrollOptions = (el, vm) => { + if (!isHtmlElement(el)) return {}; + + return entries(attributes).reduce((map, [key, option]) => { + const { type, default: defaultValue } = option; + let value = el.getAttribute(`infinite-scroll-${key}`); + value = isUndefined(vm[value]) ? value : vm[value]; + switch (type) { + case Number: + value = Number(value); + value = Number.isNaN(value) ? defaultValue : value; + break; + case Boolean: + value = isDefined(value) ? value === 'false' ? false : Boolean(value) : defaultValue; + break; + default: + value = type(value); + } + map[key] = value; + return map; + }, {}); +}; + +const getElementTop = el => el.getBoundingClientRect().top; + +const handleScroll = function(cb) { + const { el, vm, container, observer } = this[scope]; + const { distance, disabled } = getScrollOptions(el, vm); + + if (disabled) return; + + const containerInfo = container.getBoundingClientRect(); + if (!containerInfo.width && !containerInfo.height) return; + + let shouldTrigger = false; + + if (container === el) { + // be aware of difference between clientHeight & offsetHeight & window.getComputedStyle().height + const scrollBottom = container.scrollTop + getClientHeight(container); + shouldTrigger = container.scrollHeight - scrollBottom <= distance; + } else { + const heightBelowTop = getOffsetHeight(el) + getElementTop(el) - getElementTop(container); + const offsetHeight = getOffsetHeight(container); + const borderBottom = Number.parseFloat(getStyleComputedProperty(container, 'borderBottomWidth')); + shouldTrigger = heightBelowTop - offsetHeight + borderBottom <= distance; + } + + if (shouldTrigger && isFunction(cb)) { + cb.call(vm); + } else if (observer) { + observer.disconnect(); + this[scope].observer = null; + } + +}; + +export default { + name: 'InfiniteScroll', + inserted(el, binding, vnode) { + const cb = binding.value; + + const vm = vnode.context; + // only include vertical scroll + const container = getScrollContainer(el, true); + const { delay, immediate } = getScrollOptions(el, vm); + const onScroll = throttle(delay, handleScroll.bind(el, cb)); + + el[scope] = { el, vm, container, onScroll }; + + if (container) { + container.addEventListener('scroll', onScroll); + + if (immediate) { + const observer = el[scope].observer = new MutationObserver(onScroll); + observer.observe(container, { childList: true, subtree: true }); + onScroll(); + } + } + }, + unbind(el) { + const { container, onScroll } = el[scope]; + if (container) { + container.removeEventListener('scroll', onScroll); + } + } +}; + diff --git a/PAMapp/local_modules/element-ui/packages/input-number/index.js b/PAMapp/local_modules/element-ui/packages/input-number/index.js new file mode 100644 index 0000000..a44fced --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/input-number/index.js @@ -0,0 +1,8 @@ +import ElInputNumber from './src/input-number'; + +/* istanbul ignore next */ +ElInputNumber.install = function(Vue) { + Vue.component(ElInputNumber.name, ElInputNumber); +}; + +export default ElInputNumber; diff --git a/PAMapp/local_modules/element-ui/packages/input-number/src/input-number.vue b/PAMapp/local_modules/element-ui/packages/input-number/src/input-number.vue new file mode 100644 index 0000000..71aebd7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/input-number/src/input-number.vue @@ -0,0 +1,283 @@ +<template> + <div + @dragstart.prevent + :class="[ + 'el-input-number', + inputNumberSize ? 'el-input-number--' + inputNumberSize : '', + { 'is-disabled': inputNumberDisabled }, + { 'is-without-controls': !controls }, + { 'is-controls-right': controlsAtRight } + ]"> + <span + class="el-input-number__decrease" + role="button" + v-if="controls" + v-repeat-click="decrease" + :class="{'is-disabled': minDisabled}" + @keydown.enter="decrease"> + <i :class="`el-icon-${controlsAtRight ? 'arrow-down' : 'minus'}`"></i> + </span> + <span + class="el-input-number__increase" + role="button" + v-if="controls" + v-repeat-click="increase" + :class="{'is-disabled': maxDisabled}" + @keydown.enter="increase"> + <i :class="`el-icon-${controlsAtRight ? 'arrow-up' : 'plus'}`"></i> + </span> + <el-input + ref="input" + :value="displayValue" + :placeholder="placeholder" + :disabled="inputNumberDisabled" + :size="inputNumberSize" + :max="max" + :min="min" + :name="name" + :label="label" + @keydown.up.native.prevent="increase" + @keydown.down.native.prevent="decrease" + @blur="handleBlur" + @focus="handleFocus" + @input="handleInput" + @change="handleInputChange"> + </el-input> + </div> +</template> +<script> + import ElInput from 'element-ui/packages/input'; + import Focus from 'element-ui/src/mixins/focus'; + import RepeatClick from 'element-ui/src/directives/repeat-click'; + + export default { + name: 'ElInputNumber', + mixins: [Focus('input')], + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + directives: { + repeatClick: RepeatClick + }, + components: { + ElInput + }, + props: { + step: { + type: Number, + default: 1 + }, + stepStrictly: { + type: Boolean, + default: false + }, + max: { + type: Number, + default: Infinity + }, + min: { + type: Number, + default: -Infinity + }, + value: {}, + disabled: Boolean, + size: String, + controls: { + type: Boolean, + default: true + }, + controlsPosition: { + type: String, + default: '' + }, + name: String, + label: String, + placeholder: String, + precision: { + type: Number, + validator(val) { + return val >= 0 && val === parseInt(val, 10); + } + } + }, + data() { + return { + currentValue: 0, + userInput: null + }; + }, + watch: { + value: { + immediate: true, + handler(value) { + let newVal = value === undefined ? value : Number(value); + if (newVal !== undefined) { + if (isNaN(newVal)) { + return; + } + + if (this.stepStrictly) { + const stepPrecision = this.getPrecision(this.step); + const precisionFactor = Math.pow(10, stepPrecision); + newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + this.currentValue = newVal; + this.userInput = null; + this.$emit('input', newVal); + } + } + }, + computed: { + minDisabled() { + return this._decrease(this.value, this.step) < this.min; + }, + maxDisabled() { + return this._increase(this.value, this.step) > this.max; + }, + numPrecision() { + const { value, step, getPrecision, precision } = this; + const stepPrecision = getPrecision(step); + if (precision !== undefined) { + if (stepPrecision > precision) { + console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step'); + } + return precision; + } else { + return Math.max(getPrecision(value), stepPrecision); + } + }, + controlsAtRight() { + return this.controls && this.controlsPosition === 'right'; + }, + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + inputNumberSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputNumberDisabled() { + return this.disabled || !!(this.elForm || {}).disabled; + }, + displayValue() { + if (this.userInput !== null) { + return this.userInput; + } + + let currentValue = this.currentValue; + + if (typeof currentValue === 'number') { + if (this.stepStrictly) { + const stepPrecision = this.getPrecision(this.step); + const precisionFactor = Math.pow(10, stepPrecision); + currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor; + } + + if (this.precision !== undefined) { + currentValue = currentValue.toFixed(this.precision); + } + } + + return currentValue; + } + }, + methods: { + toPrecision(num, precision) { + if (precision === undefined) precision = this.numPrecision; + return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision)); + }, + getPrecision(value) { + if (value === undefined) return 0; + const valueString = value.toString(); + const dotPosition = valueString.indexOf('.'); + let precision = 0; + if (dotPosition !== -1) { + precision = valueString.length - dotPosition - 1; + } + return precision; + }, + _increase(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + const precisionFactor = Math.pow(10, this.numPrecision); + // Solve the accuracy problem of JS decimal calculation by converting the value to integer. + return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor); + }, + _decrease(val, step) { + if (typeof val !== 'number' && val !== undefined) return this.currentValue; + + const precisionFactor = Math.pow(10, this.numPrecision); + + return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor); + }, + increase() { + if (this.inputNumberDisabled || this.maxDisabled) return; + const value = this.value || 0; + const newVal = this._increase(value, this.step); + this.setCurrentValue(newVal); + }, + decrease() { + if (this.inputNumberDisabled || this.minDisabled) return; + const value = this.value || 0; + const newVal = this._decrease(value, this.step); + this.setCurrentValue(newVal); + }, + handleBlur(event) { + this.$emit('blur', event); + }, + handleFocus(event) { + this.$emit('focus', event); + }, + setCurrentValue(newVal) { + const oldVal = this.currentValue; + if (typeof newVal === 'number' && this.precision !== undefined) { + newVal = this.toPrecision(newVal, this.precision); + } + if (newVal >= this.max) newVal = this.max; + if (newVal <= this.min) newVal = this.min; + if (oldVal === newVal) return; + this.userInput = null; + this.$emit('input', newVal); + this.$emit('change', newVal, oldVal); + this.currentValue = newVal; + }, + handleInput(value) { + this.userInput = value; + }, + handleInputChange(value) { + const newVal = value === '' ? undefined : Number(value); + if (!isNaN(newVal) || value === '') { + this.setCurrentValue(newVal); + } + this.userInput = null; + }, + select() { + this.$refs.input.select(); + } + }, + mounted() { + let innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('role', 'spinbutton'); + innerInput.setAttribute('aria-valuemax', this.max); + innerInput.setAttribute('aria-valuemin', this.min); + innerInput.setAttribute('aria-valuenow', this.currentValue); + innerInput.setAttribute('aria-disabled', this.inputNumberDisabled); + }, + updated() { + if (!this.$refs || !this.$refs.input) return; + const innerInput = this.$refs.input.$refs.input; + innerInput.setAttribute('aria-valuenow', this.currentValue); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/input/index.js b/PAMapp/local_modules/element-ui/packages/input/index.js new file mode 100644 index 0000000..6b0073e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/input/index.js @@ -0,0 +1,8 @@ +import ElInput from './src/input'; + +/* istanbul ignore next */ +ElInput.install = function(Vue) { + Vue.component(ElInput.name, ElInput); +}; + +export default ElInput; diff --git a/PAMapp/local_modules/element-ui/packages/input/src/calcTextareaHeight.js b/PAMapp/local_modules/element-ui/packages/input/src/calcTextareaHeight.js new file mode 100644 index 0000000..39f3dc2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/input/src/calcTextareaHeight.js @@ -0,0 +1,104 @@ +let hiddenTextarea; + +const HIDDEN_STYLE = ` + height:0 !important; + visibility:hidden !important; + overflow:hidden !important; + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important +`; + +const CONTEXT_STYLE = [ + 'letter-spacing', + 'line-height', + 'padding-top', + 'padding-bottom', + 'font-family', + 'font-weight', + 'font-size', + 'text-rendering', + 'text-transform', + 'width', + 'text-indent', + 'padding-left', + 'padding-right', + 'border-width', + 'box-sizing' +]; + +function calculateNodeStyling(targetElement) { + const style = window.getComputedStyle(targetElement); + + const boxSizing = style.getPropertyValue('box-sizing'); + + const paddingSize = ( + parseFloat(style.getPropertyValue('padding-bottom')) + + parseFloat(style.getPropertyValue('padding-top')) + ); + + const borderSize = ( + parseFloat(style.getPropertyValue('border-bottom-width')) + + parseFloat(style.getPropertyValue('border-top-width')) + ); + + const contextStyle = CONTEXT_STYLE + .map(name => `${name}:${style.getPropertyValue(name)}`) + .join(';'); + + return { contextStyle, paddingSize, borderSize, boxSizing }; +} + +export default function calcTextareaHeight( + targetElement, + minRows = 1, + maxRows = null +) { + if (!hiddenTextarea) { + hiddenTextarea = document.createElement('textarea'); + document.body.appendChild(hiddenTextarea); + } + + let { + paddingSize, + borderSize, + boxSizing, + contextStyle + } = calculateNodeStyling(targetElement); + + hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`); + hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''; + + let height = hiddenTextarea.scrollHeight; + const result = {}; + + if (boxSizing === 'border-box') { + height = height + borderSize; + } else if (boxSizing === 'content-box') { + height = height - paddingSize; + } + + hiddenTextarea.value = ''; + let singleRowHeight = hiddenTextarea.scrollHeight - paddingSize; + + if (minRows !== null) { + let minHeight = singleRowHeight * minRows; + if (boxSizing === 'border-box') { + minHeight = minHeight + paddingSize + borderSize; + } + height = Math.max(minHeight, height); + result.minHeight = `${ minHeight }px`; + } + if (maxRows !== null) { + let maxHeight = singleRowHeight * maxRows; + if (boxSizing === 'border-box') { + maxHeight = maxHeight + paddingSize + borderSize; + } + height = Math.min(maxHeight, height); + } + result.height = `${ height }px`; + hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea); + hiddenTextarea = null; + return result; +}; diff --git a/PAMapp/local_modules/element-ui/packages/input/src/input.vue b/PAMapp/local_modules/element-ui/packages/input/src/input.vue new file mode 100644 index 0000000..26321f1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/input/src/input.vue @@ -0,0 +1,440 @@ +<template> + <div :class="[ + type === 'textarea' ? 'el-textarea' : 'el-input', + inputSize ? 'el-input--' + inputSize : '', + { + 'is-disabled': inputDisabled, + 'is-exceed': inputExceed, + 'el-input-group': $slots.prepend || $slots.append, + 'el-input-group--append': $slots.append, + 'el-input-group--prepend': $slots.prepend, + 'el-input--prefix': $slots.prefix || prefixIcon, + 'el-input--suffix': $slots.suffix || suffixIcon || clearable || showPassword + } + ]" + @mouseenter="hovering = true" + @mouseleave="hovering = false" + > + <template v-if="type !== 'textarea'"> + <!-- ��蔭���� --> + <div class="el-input-group__prepend" v-if="$slots.prepend"> + <slot name="prepend"></slot> + </div> + <input + :tabindex="tabindex" + v-if="type !== 'textarea'" + class="el-input__inner" + v-bind="$attrs" + :type="showPassword ? (passwordVisible ? 'text': 'password') : type" + :disabled="inputDisabled" + :readonly="readonly" + :autocomplete="autoComplete || autocomplete" + ref="input" + @compositionstart="handleCompositionStart" + @compositionupdate="handleCompositionUpdate" + @compositionend="handleCompositionEnd" + @input="handleInput" + @focus="handleFocus" + @blur="handleBlur" + @change="handleChange" + :aria-label="label" + > + <!-- ��蔭��捆 --> + <span class="el-input__prefix" v-if="$slots.prefix || prefixIcon"> + <slot name="prefix"></slot> + <i class="el-input__icon" + v-if="prefixIcon" + :class="prefixIcon"> + </i> + </span> + <!-- ��蔭��捆 --> + <span + class="el-input__suffix" + v-if="getSuffixVisible()"> + <span class="el-input__suffix-inner"> + <template v-if="!showClear || !showPwdVisible || !isWordLimitVisible"> + <slot name="suffix"></slot> + <i class="el-input__icon" + v-if="suffixIcon" + :class="suffixIcon"> + </i> + </template> + <i v-if="showClear" + class="el-input__icon el-icon-circle-close el-input__clear" + @mousedown.prevent + @click="clear" + ></i> + <i v-if="showPwdVisible" + class="el-input__icon el-icon-view el-input__clear" + @click="handlePasswordVisible" + ></i> + <span v-if="isWordLimitVisible" class="el-input__count"> + <span class="el-input__count-inner"> + {{ textLength }}/{{ upperLimit }} + </span> + </span> + </span> + <i class="el-input__icon" + v-if="validateState" + :class="['el-input__validateIcon', validateIcon]"> + </i> + </span> + <!-- ��蔭���� --> + <div class="el-input-group__append" v-if="$slots.append"> + <slot name="append"></slot> + </div> + </template> + <textarea + v-else + :tabindex="tabindex" + class="el-textarea__inner" + @compositionstart="handleCompositionStart" + @compositionupdate="handleCompositionUpdate" + @compositionend="handleCompositionEnd" + @input="handleInput" + ref="textarea" + v-bind="$attrs" + :disabled="inputDisabled" + :readonly="readonly" + :autocomplete="autoComplete || autocomplete" + :style="textareaStyle" + @focus="handleFocus" + @blur="handleBlur" + @change="handleChange" + :aria-label="label" + > + </textarea> + <span v-if="isWordLimitVisible && type === 'textarea'" class="el-input__count">{{ textLength }}/{{ upperLimit }}</span> + </div> +</template> +<script> + import emitter from 'element-ui/src/mixins/emitter'; + import Migrating from 'element-ui/src/mixins/migrating'; + import calcTextareaHeight from './calcTextareaHeight'; + import merge from 'element-ui/src/utils/merge'; + import {isKorean} from 'element-ui/src/utils/shared'; + + export default { + name: 'ElInput', + + componentName: 'ElInput', + + mixins: [emitter, Migrating], + + inheritAttrs: false, + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + data() { + return { + textareaCalcStyle: {}, + hovering: false, + focused: false, + isComposing: false, + passwordVisible: false + }; + }, + + props: { + value: [String, Number], + size: String, + resize: String, + form: String, + disabled: Boolean, + readonly: Boolean, + type: { + type: String, + default: 'text' + }, + autosize: { + type: [Boolean, Object], + default: false + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator(val) { + process.env.NODE_ENV !== 'production' && + console.warn('[Element Warn][Input]\'auto-complete\' property will be deprecated in next major version. please use \'autocomplete\' instead.'); + return true; + } + }, + validateEvent: { + type: Boolean, + default: true + }, + suffixIcon: String, + prefixIcon: String, + label: String, + clearable: { + type: Boolean, + default: false + }, + showPassword: { + type: Boolean, + default: false + }, + showWordLimit: { + type: Boolean, + default: false + }, + tabindex: String + }, + + computed: { + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + validateState() { + return this.elFormItem ? this.elFormItem.validateState : ''; + }, + needStatusIcon() { + return this.elForm ? this.elForm.statusIcon : false; + }, + validateIcon() { + return { + validating: 'el-icon-loading', + success: 'el-icon-circle-check', + error: 'el-icon-circle-close' + }[this.validateState]; + }, + textareaStyle() { + return merge({}, this.textareaCalcStyle, { resize: this.resize }); + }, + inputSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + inputDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + nativeInputValue() { + return this.value === null || this.value === undefined ? '' : String(this.value); + }, + showClear() { + return this.clearable && + !this.inputDisabled && + !this.readonly && + this.nativeInputValue && + (this.focused || this.hovering); + }, + showPwdVisible() { + return this.showPassword && + !this.inputDisabled && + !this.readonly && + (!!this.nativeInputValue || this.focused); + }, + isWordLimitVisible() { + return this.showWordLimit && + this.$attrs.maxlength && + (this.type === 'text' || this.type === 'textarea') && + !this.inputDisabled && + !this.readonly && + !this.showPassword; + }, + upperLimit() { + return this.$attrs.maxlength; + }, + textLength() { + if (typeof this.value === 'number') { + return String(this.value).length; + } + + return (this.value || '').length; + }, + inputExceed() { + // show exceed style if length of initial value greater then maxlength + return this.isWordLimitVisible && + (this.textLength > this.upperLimit); + } + }, + + watch: { + value(val) { + this.$nextTick(this.resizeTextarea); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [val]); + } + }, + // native input value is set explicitly + // do not use v-model / :value in template + // see: https://github.com/ElemeFE/element/issues/14521 + nativeInputValue() { + this.setNativeInputValue(); + }, + // when change between <input> and <textarea>, + // update DOM dependent value and styles + // https://github.com/ElemeFE/element/issues/14857 + type() { + this.$nextTick(() => { + this.setNativeInputValue(); + this.resizeTextarea(); + this.updateIconOffset(); + }); + } + }, + + methods: { + focus() { + this.getInput().focus(); + }, + blur() { + this.getInput().blur(); + }, + getMigratingConfig() { + return { + props: { + 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.', + 'on-icon-click': 'on-icon-click is removed.' + }, + events: { + 'click': 'click is removed.' + } + }; + }, + handleBlur(event) { + this.focused = false; + this.$emit('blur', event); + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.blur', [this.value]); + } + }, + select() { + this.getInput().select(); + }, + resizeTextarea() { + if (this.$isServer) return; + const { autosize, type } = this; + if (type !== 'textarea') return; + if (!autosize) { + this.textareaCalcStyle = { + minHeight: calcTextareaHeight(this.$refs.textarea).minHeight + }; + return; + } + const minRows = autosize.minRows; + const maxRows = autosize.maxRows; + + this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows); + }, + setNativeInputValue() { + const input = this.getInput(); + if (!input) return; + if (input.value === this.nativeInputValue) return; + input.value = this.nativeInputValue; + }, + handleFocus(event) { + this.focused = true; + this.$emit('focus', event); + }, + handleCompositionStart(event) { + this.$emit('compositionstart', event); + this.isComposing = true; + }, + handleCompositionUpdate(event) { + this.$emit('compositionupdate', event); + const text = event.target.value; + const lastCharacter = text[text.length - 1] || ''; + this.isComposing = !isKorean(lastCharacter); + }, + handleCompositionEnd(event) { + this.$emit('compositionend', event); + if (this.isComposing) { + this.isComposing = false; + this.handleInput(event); + } + }, + handleInput(event) { + // should not emit input during composition + // see: https://github.com/ElemeFE/element/issues/10516 + if (this.isComposing) return; + + // hack for https://github.com/ElemeFE/element/issues/8548 + // should remove the following line when we don't support IE + if (event.target.value === this.nativeInputValue) return; + + this.$emit('input', event.target.value); + + // ensure native input value is controlled + // see: https://github.com/ElemeFE/element/issues/12850 + this.$nextTick(this.setNativeInputValue); + }, + handleChange(event) { + this.$emit('change', event.target.value); + }, + calcIconOffset(place) { + let elList = [].slice.call(this.$el.querySelectorAll(`.el-input__${place}`) || []); + if (!elList.length) return; + let el = null; + for (let i = 0; i < elList.length; i++) { + if (elList[i].parentNode === this.$el) { + el = elList[i]; + break; + } + } + if (!el) return; + const pendantMap = { + suffix: 'append', + prefix: 'prepend' + }; + + const pendant = pendantMap[place]; + if (this.$slots[pendant]) { + el.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${this.$el.querySelector(`.el-input-group__${pendant}`).offsetWidth}px)`; + } else { + el.removeAttribute('style'); + } + }, + updateIconOffset() { + this.calcIconOffset('prefix'); + this.calcIconOffset('suffix'); + }, + clear() { + this.$emit('input', ''); + this.$emit('change', ''); + this.$emit('clear'); + }, + handlePasswordVisible() { + this.passwordVisible = !this.passwordVisible; + this.$nextTick(() => { + this.focus(); + }); + }, + getInput() { + return this.$refs.input || this.$refs.textarea; + }, + getSuffixVisible() { + return this.$slots.suffix || + this.suffixIcon || + this.showClear || + this.showPassword || + this.isWordLimitVisible || + (this.validateState && this.needStatusIcon); + } + }, + + created() { + this.$on('inputSelect', this.select); + }, + + mounted() { + this.setNativeInputValue(); + this.resizeTextarea(); + this.updateIconOffset(); + }, + + updated() { + this.$nextTick(this.updateIconOffset); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/link/index.js b/PAMapp/local_modules/element-ui/packages/link/index.js new file mode 100644 index 0000000..7caa97c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/link/index.js @@ -0,0 +1,8 @@ +import Link from './src/main'; + +/* istanbul ignore next */ +Link.install = function(Vue) { + Vue.component(Link.name, Link); +}; + +export default Link; diff --git a/PAMapp/local_modules/element-ui/packages/link/src/main.vue b/PAMapp/local_modules/element-ui/packages/link/src/main.vue new file mode 100644 index 0000000..b5283cc --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/link/src/main.vue @@ -0,0 +1,53 @@ +<template> + <a + :class="[ + 'el-link', + type ? `el-link--${type}` : '', + disabled && 'is-disabled', + underline && !disabled && 'is-underline' + ]" + :href="disabled ? null : href" + v-bind="$attrs" + @click="handleClick" + > + + <i :class="icon" v-if="icon"></i> + + <span v-if="$slots.default" class="el-link--inner"> + <slot></slot> + </span> + + <template v-if="$slots.icon"><slot v-if="$slots.icon" name="icon"></slot></template> + </a> +</template> + +<script> + +export default { + name: 'ElLink', + + props: { + type: { + type: String, + default: 'default' + }, + underline: { + type: Boolean, + default: true + }, + disabled: Boolean, + href: String, + icon: String + }, + + methods: { + handleClick(event) { + if (!this.disabled) { + if (!this.href) { + this.$emit('click', event); + } + } + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/loading/index.js b/PAMapp/local_modules/element-ui/packages/loading/index.js new file mode 100644 index 0000000..6d28faf --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/loading/index.js @@ -0,0 +1,11 @@ +import directive from './src/directive'; +import service from './src/index'; + +export default { + install(Vue) { + Vue.use(directive); + Vue.prototype.$loading = service; + }, + directive, + service +}; diff --git a/PAMapp/local_modules/element-ui/packages/loading/src/directive.js b/PAMapp/local_modules/element-ui/packages/loading/src/directive.js new file mode 100644 index 0000000..5c11370 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/loading/src/directive.js @@ -0,0 +1,133 @@ +import Vue from 'vue'; +import Loading from './loading.vue'; +import { addClass, removeClass, getStyle } from 'element-ui/src/utils/dom'; +import { PopupManager } from 'element-ui/src/utils/popup'; +import afterLeave from 'element-ui/src/utils/after-leave'; +const Mask = Vue.extend(Loading); + +const loadingDirective = {}; +loadingDirective.install = Vue => { + if (Vue.prototype.$isServer) return; + const toggleLoading = (el, binding) => { + if (binding.value) { + Vue.nextTick(() => { + if (binding.modifiers.fullscreen) { + el.originalPosition = getStyle(document.body, 'position'); + el.originalOverflow = getStyle(document.body, 'overflow'); + el.maskStyle.zIndex = PopupManager.nextZIndex(); + + addClass(el.mask, 'is-fullscreen'); + insertDom(document.body, el, binding); + } else { + removeClass(el.mask, 'is-fullscreen'); + + if (binding.modifiers.body) { + el.originalPosition = getStyle(document.body, 'position'); + + ['top', 'left'].forEach(property => { + const scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + el.maskStyle[property] = el.getBoundingClientRect()[property] + + document.body[scroll] + + document.documentElement[scroll] - + parseInt(getStyle(document.body, `margin-${ property }`), 10) + + 'px'; + }); + ['height', 'width'].forEach(property => { + el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px'; + }); + + insertDom(document.body, el, binding); + } else { + el.originalPosition = getStyle(el, 'position'); + insertDom(el, el, binding); + } + } + }); + } else { + afterLeave(el.instance, _ => { + if (!el.instance.hiding) return; + el.domVisible = false; + const target = binding.modifiers.fullscreen || binding.modifiers.body + ? document.body + : el; + removeClass(target, 'el-loading-parent--relative'); + removeClass(target, 'el-loading-parent--hidden'); + el.instance.hiding = false; + }, 300, true); + el.instance.visible = false; + el.instance.hiding = true; + } + }; + const insertDom = (parent, el, binding) => { + if (!el.domVisible && getStyle(el, 'display') !== 'none' && getStyle(el, 'visibility') !== 'hidden') { + Object.keys(el.maskStyle).forEach(property => { + el.mask.style[property] = el.maskStyle[property]; + }); + + if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed' && el.originalPosition !== 'sticky') { + addClass(parent, 'el-loading-parent--relative'); + } + if (binding.modifiers.fullscreen && binding.modifiers.lock) { + addClass(parent, 'el-loading-parent--hidden'); + } + el.domVisible = true; + + parent.appendChild(el.mask); + Vue.nextTick(() => { + if (el.instance.hiding) { + el.instance.$emit('after-leave'); + } else { + el.instance.visible = true; + } + }); + el.domInserted = true; + } else if (el.domVisible && el.instance.hiding === true) { + el.instance.visible = true; + el.instance.hiding = false; + } + }; + + Vue.directive('loading', { + bind: function(el, binding, vnode) { + const textExr = el.getAttribute('element-loading-text'); + const spinnerExr = el.getAttribute('element-loading-spinner'); + const backgroundExr = el.getAttribute('element-loading-background'); + const customClassExr = el.getAttribute('element-loading-custom-class'); + const vm = vnode.context; + const mask = new Mask({ + el: document.createElement('div'), + data: { + text: vm && vm[textExr] || textExr, + spinner: vm && vm[spinnerExr] || spinnerExr, + background: vm && vm[backgroundExr] || backgroundExr, + customClass: vm && vm[customClassExr] || customClassExr, + fullscreen: !!binding.modifiers.fullscreen + } + }); + el.instance = mask; + el.mask = mask.$el; + el.maskStyle = {}; + + binding.value && toggleLoading(el, binding); + }, + + update: function(el, binding) { + el.instance.setText(el.getAttribute('element-loading-text')); + if (binding.oldValue !== binding.value) { + toggleLoading(el, binding); + } + }, + + unbind: function(el, binding) { + if (el.domInserted) { + el.mask && + el.mask.parentNode && + el.mask.parentNode.removeChild(el.mask); + toggleLoading(el, { value: false, modifiers: binding.modifiers }); + } + el.instance && el.instance.$destroy(); + } + }); +}; + +export default loadingDirective; diff --git a/PAMapp/local_modules/element-ui/packages/loading/src/index.js b/PAMapp/local_modules/element-ui/packages/loading/src/index.js new file mode 100644 index 0000000..c7ff6a5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/loading/src/index.js @@ -0,0 +1,106 @@ +import Vue from 'vue'; +import loadingVue from './loading.vue'; +import { addClass, removeClass, getStyle } from 'element-ui/src/utils/dom'; +import { PopupManager } from 'element-ui/src/utils/popup'; +import afterLeave from 'element-ui/src/utils/after-leave'; +import merge from 'element-ui/src/utils/merge'; + +const LoadingConstructor = Vue.extend(loadingVue); + +const defaults = { + text: null, + fullscreen: true, + body: false, + lock: false, + customClass: '' +}; + +let fullscreenLoading; + +LoadingConstructor.prototype.originalPosition = ''; +LoadingConstructor.prototype.originalOverflow = ''; + +LoadingConstructor.prototype.close = function() { + if (this.fullscreen) { + fullscreenLoading = undefined; + } + afterLeave(this, _ => { + const target = this.fullscreen || this.body + ? document.body + : this.target; + removeClass(target, 'el-loading-parent--relative'); + removeClass(target, 'el-loading-parent--hidden'); + if (this.$el && this.$el.parentNode) { + this.$el.parentNode.removeChild(this.$el); + } + this.$destroy(); + }, 300); + this.visible = false; +}; + +const addStyle = (options, parent, instance) => { + let maskStyle = {}; + if (options.fullscreen) { + instance.originalPosition = getStyle(document.body, 'position'); + instance.originalOverflow = getStyle(document.body, 'overflow'); + maskStyle.zIndex = PopupManager.nextZIndex(); + } else if (options.body) { + instance.originalPosition = getStyle(document.body, 'position'); + ['top', 'left'].forEach(property => { + let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; + maskStyle[property] = options.target.getBoundingClientRect()[property] + + document.body[scroll] + + document.documentElement[scroll] + + 'px'; + }); + ['height', 'width'].forEach(property => { + maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px'; + }); + } else { + instance.originalPosition = getStyle(parent, 'position'); + } + Object.keys(maskStyle).forEach(property => { + instance.$el.style[property] = maskStyle[property]; + }); +}; + +const Loading = (options = {}) => { + if (Vue.prototype.$isServer) return; + options = merge({}, defaults, options); + if (typeof options.target === 'string') { + options.target = document.querySelector(options.target); + } + options.target = options.target || document.body; + if (options.target !== document.body) { + options.fullscreen = false; + } else { + options.body = true; + } + if (options.fullscreen && fullscreenLoading) { + return fullscreenLoading; + } + + let parent = options.body ? document.body : options.target; + let instance = new LoadingConstructor({ + el: document.createElement('div'), + data: options + }); + + addStyle(options, parent, instance); + if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') { + addClass(parent, 'el-loading-parent--relative'); + } + if (options.fullscreen && options.lock) { + addClass(parent, 'el-loading-parent--hidden'); + } + parent.appendChild(instance.$el); + Vue.nextTick(() => { + instance.visible = true; + }); + if (options.fullscreen) { + fullscreenLoading = instance; + } + return instance; +}; + +export default Loading; diff --git a/PAMapp/local_modules/element-ui/packages/loading/src/loading.vue b/PAMapp/local_modules/element-ui/packages/loading/src/loading.vue new file mode 100644 index 0000000..59df409 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/loading/src/loading.vue @@ -0,0 +1,41 @@ +<template> + <transition name="el-loading-fade" @after-leave="handleAfterLeave"> + <div + v-show="visible" + class="el-loading-mask" + :style="{ backgroundColor: background || '' }" + :class="[customClass, { 'is-fullscreen': fullscreen }]"> + <div class="el-loading-spinner"> + <svg v-if="!spinner" class="circular" viewBox="25 25 50 50"> + <circle class="path" cx="50" cy="50" r="20" fill="none"/> + </svg> + <i v-else :class="spinner"></i> + <p v-if="text" class="el-loading-text">{{ text }}</p> + </div> + </div> + </transition> +</template> + +<script> + export default { + data() { + return { + text: null, + spinner: null, + background: null, + fullscreen: true, + visible: false, + customClass: '' + }; + }, + + methods: { + handleAfterLeave() { + this.$emit('after-leave'); + }, + setText(text) { + this.text = text; + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/main/index.js b/PAMapp/local_modules/element-ui/packages/main/index.js new file mode 100644 index 0000000..a501614 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/main/index.js @@ -0,0 +1,8 @@ +import Main from './src/main'; + +/* istanbul ignore next */ +Main.install = function(Vue) { + Vue.component(Main.name, Main); +}; + +export default Main; diff --git a/PAMapp/local_modules/element-ui/packages/main/src/main.vue b/PAMapp/local_modules/element-ui/packages/main/src/main.vue new file mode 100644 index 0000000..48fdaf6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/main/src/main.vue @@ -0,0 +1,12 @@ +<template> + <main class="el-main"> + <slot></slot> + </main> +</template> + +<script> + export default { + name: 'ElMain', + componentName: 'ElMain' + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/menu-item-group/index.js b/PAMapp/local_modules/element-ui/packages/menu-item-group/index.js new file mode 100644 index 0000000..c8e6b27 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu-item-group/index.js @@ -0,0 +1,8 @@ +import ElMenuItemGroup from '../menu/src/menu-item-group'; + +/* istanbul ignore next */ +ElMenuItemGroup.install = function(Vue) { + Vue.component(ElMenuItemGroup.name, ElMenuItemGroup); +}; + +export default ElMenuItemGroup; diff --git a/PAMapp/local_modules/element-ui/packages/menu-item/index.js b/PAMapp/local_modules/element-ui/packages/menu-item/index.js new file mode 100644 index 0000000..94ab952 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu-item/index.js @@ -0,0 +1,8 @@ +import ElMenuItem from '../menu/src/menu-item'; + +/* istanbul ignore next */ +ElMenuItem.install = function(Vue) { + Vue.component(ElMenuItem.name, ElMenuItem); +}; + +export default ElMenuItem; diff --git a/PAMapp/local_modules/element-ui/packages/menu/index.js b/PAMapp/local_modules/element-ui/packages/menu/index.js new file mode 100644 index 0000000..b5b2f5a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/index.js @@ -0,0 +1,8 @@ +import ElMenu from './src/menu'; + +/* istanbul ignore next */ +ElMenu.install = function(Vue) { + Vue.component(ElMenu.name, ElMenu); +}; + +export default ElMenu; diff --git a/PAMapp/local_modules/element-ui/packages/menu/src/menu-item-group.vue b/PAMapp/local_modules/element-ui/packages/menu/src/menu-item-group.vue new file mode 100644 index 0000000..772faea --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/src/menu-item-group.vue @@ -0,0 +1,45 @@ +<template> + <li class="el-menu-item-group"> + <div class="el-menu-item-group__title" :style="{paddingLeft: levelPadding + 'px'}"> + <template v-if="!$slots.title">{{title}}</template> + <slot v-else name="title"></slot> + </div> + <ul> + <slot></slot> + </ul> + </li> +</template> +<script> + export default { + name: 'ElMenuItemGroup', + + componentName: 'ElMenuItemGroup', + + inject: ['rootMenu'], + props: { + title: { + type: String + } + }, + data() { + return { + paddingLeft: 20 + }; + }, + computed: { + levelPadding() { + let padding = 20; + let parent = this.$parent; + if (this.rootMenu.collapse) return 20; + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + return padding; + } + } + }; +</script> + diff --git a/PAMapp/local_modules/element-ui/packages/menu/src/menu-item.vue b/PAMapp/local_modules/element-ui/packages/menu/src/menu-item.vue new file mode 100644 index 0000000..e53ec87 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/src/menu-item.vue @@ -0,0 +1,112 @@ +<template> + <li class="el-menu-item" + role="menuitem" + tabindex="-1" + :style="[paddingStyle, itemStyle, { backgroundColor }]" + :class="{ + 'is-active': active, + 'is-disabled': disabled + }" + @click="handleClick" + @mouseenter="onMouseEnter" + @focus="onMouseEnter" + @blur="onMouseLeave" + @mouseleave="onMouseLeave" + > + <el-tooltip + v-if="parentMenu.$options.componentName === 'ElMenu' && rootMenu.collapse && $slots.title" + effect="dark" + placement="right"> + <div slot="content"><slot name="title"></slot></div> + <div style="position: absolute;left: 0;top: 0;height: 100%;width: 100%;display: inline-block;box-sizing: border-box;padding: 0 20px;"> + <slot></slot> + </div> + </el-tooltip> + <template v-else> + <slot></slot> + <slot name="title"></slot> + </template> + </li> +</template> +<script> + import Menu from './menu-mixin'; + import ElTooltip from 'element-ui/packages/tooltip'; + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElMenuItem', + + componentName: 'ElMenuItem', + + mixins: [Menu, Emitter], + + components: { ElTooltip }, + + props: { + index: { + default: null, + validator: val => typeof val === 'string' || val === null + }, + route: [String, Object], + disabled: Boolean + }, + computed: { + active() { + return this.index === this.rootMenu.activeIndex; + }, + hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor() { + return this.rootMenu.textColor || ''; + }, + mode() { + return this.rootMenu.mode; + }, + itemStyle() { + const style = { + color: this.active ? this.activeTextColor : this.textColor + }; + if (this.mode === 'horizontal' && !this.isNested) { + style.borderBottomColor = this.active + ? (this.rootMenu.activeTextColor ? this.activeTextColor : '') + : 'transparent'; + } + return style; + }, + isNested() { + return this.parentMenu !== this.rootMenu; + } + }, + methods: { + onMouseEnter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.hoverBackground; + }, + onMouseLeave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + this.$el.style.backgroundColor = this.backgroundColor; + }, + handleClick() { + if (!this.disabled) { + this.dispatch('ElMenu', 'item-click', this); + this.$emit('click', this); + } + } + }, + mounted() { + this.parentMenu.addItem(this); + this.rootMenu.addItem(this); + }, + beforeDestroy() { + this.parentMenu.removeItem(this); + this.rootMenu.removeItem(this); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/menu/src/menu-mixin.js b/PAMapp/local_modules/element-ui/packages/menu/src/menu-mixin.js new file mode 100644 index 0000000..453b264 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/src/menu-mixin.js @@ -0,0 +1,44 @@ +export default { + inject: ['rootMenu'], + computed: { + indexPath() { + const path = [this.index]; + let parent = this.$parent; + while (parent.$options.componentName !== 'ElMenu') { + if (parent.index) { + path.unshift(parent.index); + } + parent = parent.$parent; + } + return path; + }, + parentMenu() { + let parent = this.$parent; + while ( + parent && + ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1 + ) { + parent = parent.$parent; + } + return parent; + }, + paddingStyle() { + if (this.rootMenu.mode !== 'vertical') return {}; + + let padding = 20; + let parent = this.$parent; + + if (this.rootMenu.collapse) { + padding = 20; + } else { + while (parent && parent.$options.componentName !== 'ElMenu') { + if (parent.$options.componentName === 'ElSubmenu') { + padding += 20; + } + parent = parent.$parent; + } + } + return {paddingLeft: padding + 'px'}; + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/menu/src/menu.vue b/PAMapp/local_modules/element-ui/packages/menu/src/menu.vue new file mode 100644 index 0000000..645e5ac --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/src/menu.vue @@ -0,0 +1,325 @@ +<script type="text/jsx"> + import emitter from 'element-ui/src/mixins/emitter'; + import Migrating from 'element-ui/src/mixins/migrating'; + import Menubar from 'element-ui/src/utils/menu/aria-menubar'; + import { addClass, removeClass, hasClass } from 'element-ui/src/utils/dom'; + + export default { + name: 'ElMenu', + + render (h) { + const component = ( + <ul + role="menubar" + key={ +this.collapse } + style={{ backgroundColor: this.backgroundColor || '' }} + class={{ + 'el-menu--horizontal': this.mode === 'horizontal', + 'el-menu--collapse': this.collapse, + "el-menu": true + }} + > + { this.$slots.default } + </ul> + ); + + if (this.collapseTransition) { + return ( + <el-menu-collapse-transition> + { component } + </el-menu-collapse-transition> + ); + } else { + return component; + } + }, + + componentName: 'ElMenu', + + mixins: [emitter, Migrating], + + provide() { + return { + rootMenu: this + }; + }, + + components: { + 'el-menu-collapse-transition': { + functional: true, + render(createElement, context) { + const data = { + props: { + mode: 'out-in' + }, + on: { + beforeEnter(el) { + el.style.opacity = 0.2; + }, + + enter(el) { + addClass(el, 'el-opacity-transition'); + el.style.opacity = 1; + }, + + afterEnter(el) { + removeClass(el, 'el-opacity-transition'); + el.style.opacity = ''; + }, + + beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + + if (hasClass(el, 'el-menu--collapse')) { + removeClass(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + addClass(el, 'el-menu--collapse'); + } else { + addClass(el, 'el-menu--collapse'); + el.dataset.oldOverflow = el.style.overflow; + el.dataset.scrollWidth = el.clientWidth; + removeClass(el, 'el-menu--collapse'); + } + + el.style.width = el.scrollWidth + 'px'; + el.style.overflow = 'hidden'; + }, + + leave(el) { + addClass(el, 'horizontal-collapse-transition'); + el.style.width = el.dataset.scrollWidth + 'px'; + } + } + }; + return createElement('transition', data, context.children); + } + } + }, + + props: { + mode: { + type: String, + default: 'vertical' + }, + defaultActive: { + type: String, + default: '' + }, + defaultOpeneds: Array, + uniqueOpened: Boolean, + router: Boolean, + menuTrigger: { + type: String, + default: 'hover' + }, + collapse: Boolean, + backgroundColor: String, + textColor: String, + activeTextColor: String, + collapseTransition: { + type: Boolean, + default: true + } + }, + data() { + return { + activeIndex: this.defaultActive, + openedMenus: (this.defaultOpeneds && !this.collapse) ? this.defaultOpeneds.slice(0) : [], + items: {}, + submenus: {} + }; + }, + computed: { + hoverBackground() { + return this.backgroundColor ? this.mixColor(this.backgroundColor, 0.2) : ''; + }, + isMenuPopup() { + return this.mode === 'horizontal' || (this.mode === 'vertical' && this.collapse); + } + }, + watch: { + defaultActive(value){ + if(!this.items[value]){ + this.activeIndex = null + } + this.updateActiveIndex(value) + }, + + defaultOpeneds(value) { + if (!this.collapse) { + this.openedMenus = value; + } + }, + + collapse(value) { + if (value) this.openedMenus = []; + this.broadcast('ElSubmenu', 'toggle-collapse', value); + } + }, + methods: { + updateActiveIndex(val) { + const item = this.items[val] || this.items[this.activeIndex] || this.items[this.defaultActive]; + if (item) { + this.activeIndex = item.index; + this.initOpenedMenu(); + } else { + this.activeIndex = null; + } + }, + + getMigratingConfig() { + return { + props: { + 'theme': 'theme is removed.' + } + }; + }, + getColorChannels(color) { + color = color.replace('#', ''); + if (/^[0-9a-fA-F]{3}$/.test(color)) { + color = color.split(''); + for (let i = 2; i >= 0; i--) { + color.splice(i, 0, color[i]); + } + color = color.join(''); + } + if (/^[0-9a-fA-F]{6}$/.test(color)) { + return { + red: parseInt(color.slice(0, 2), 16), + green: parseInt(color.slice(2, 4), 16), + blue: parseInt(color.slice(4, 6), 16) + }; + } else { + return { + red: 255, + green: 255, + blue: 255 + }; + } + }, + mixColor(color, percent) { + let { red, green, blue } = this.getColorChannels(color); + if (percent > 0) { // shade given color + red *= 1 - percent; + green *= 1 - percent; + blue *= 1 - percent; + } else { // tint given color + red += (255 - red) * percent; + green += (255 - green) * percent; + blue += (255 - blue) * percent; + } + return `rgb(${ Math.round(red) }, ${ Math.round(green) }, ${ Math.round(blue) })`; + }, + addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu(item) { + delete this.submenus[item.index]; + }, + openMenu(index, indexPath) { + let openedMenus = this.openedMenus; + if (openedMenus.indexOf(index) !== -1) return; + // 撠�霂亥��楝敺��雿��韏� + // collapse all menu that are not under current menu item + if (this.uniqueOpened) { + this.openedMenus = openedMenus.filter(index => { + return indexPath.indexOf(index) !== -1; + }); + } + this.openedMenus.push(index); + }, + closeMenu(index) { + const i = this.openedMenus.indexOf(index); + if (i !== -1) { + this.openedMenus.splice(i, 1); + } + }, + handleSubmenuClick(submenu) { + const { index, indexPath } = submenu; + let isOpened = this.openedMenus.indexOf(index) !== -1; + + if (isOpened) { + this.closeMenu(index); + this.$emit('close', index, indexPath); + } else { + this.openMenu(index, indexPath); + this.$emit('open', index, indexPath); + } + }, + handleItemClick(item) { + const { index, indexPath } = item; + const oldActiveIndex = this.activeIndex; + const hasIndex = item.index !== null; + + if (hasIndex) { + this.activeIndex = item.index; + } + + this.$emit('select', index, indexPath, item); + + if (this.mode === 'horizontal' || this.collapse) { + this.openedMenus = []; + } + + if (this.router && hasIndex) { + this.routeToItem(item, (error) => { + this.activeIndex = oldActiveIndex; + if (error) { + // vue-router 3.1.0+ push/replace cause NavigationDuplicated error + // https://github.com/ElemeFE/element/issues/17044 + if (error.name === 'NavigationDuplicated') return + console.error(error) + } + }); + } + }, + // ���������� + // initialize opened menu + initOpenedMenu() { + const index = this.activeIndex; + const activeItem = this.items[index]; + if (!activeItem || this.mode === 'horizontal' || this.collapse) return; + + let indexPath = activeItem.indexPath; + + // 撅�霂亥��★��楝敺�������� + // expand all submenus of the menu item + indexPath.forEach(index => { + let submenu = this.submenus[index]; + submenu && this.openMenu(index, submenu.indexPath); + }); + }, + routeToItem(item, onError) { + let route = item.route || item.index; + try { + this.$router.push(route, () => {}, onError); + } catch (e) { + console.error(e); + } + }, + open(index) { + const { indexPath } = this.submenus[index.toString()]; + indexPath.forEach(i => this.openMenu(i, indexPath)); + }, + close(index) { + this.closeMenu(index); + } + }, + mounted() { + this.initOpenedMenu(); + this.$on('item-click', this.handleItemClick); + this.$on('submenu-click', this.handleSubmenuClick); + if (this.mode === 'horizontal') { + new Menubar(this.$el); // eslint-disable-line + } + this.$watch('items', this.updateActiveIndex); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/menu/src/submenu.vue b/PAMapp/local_modules/element-ui/packages/menu/src/submenu.vue new file mode 100644 index 0000000..342e6c0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/menu/src/submenu.vue @@ -0,0 +1,349 @@ +<script> + import ElCollapseTransition from 'element-ui/src/transitions/collapse-transition'; + import menuMixin from './menu-mixin'; + import Emitter from 'element-ui/src/mixins/emitter'; + import Popper from 'element-ui/src/utils/vue-popper'; + + const poperMixins = { + props: { + transformOrigin: { + type: [Boolean, String], + default: false + }, + offset: Popper.props.offset, + boundariesPadding: Popper.props.boundariesPadding, + popperOptions: Popper.props.popperOptions + }, + data: Popper.data, + methods: Popper.methods, + beforeDestroy: Popper.beforeDestroy, + deactivated: Popper.deactivated + }; + + export default { + name: 'ElSubmenu', + + componentName: 'ElSubmenu', + + mixins: [menuMixin, Emitter, poperMixins], + + components: { ElCollapseTransition }, + + props: { + index: { + type: String, + required: true + }, + showTimeout: { + type: Number, + default: 300 + }, + hideTimeout: { + type: Number, + default: 300 + }, + popperClass: String, + disabled: Boolean, + popperAppendToBody: { + type: Boolean, + default: undefined + } + }, + + data() { + return { + popperJS: null, + timeout: null, + items: {}, + submenus: {}, + mouseInChild: false + }; + }, + watch: { + opened(val) { + if (this.isMenuPopup) { + this.$nextTick(_ => { + this.updatePopper(); + }); + } + } + }, + computed: { + // popper option + appendToBody() { + return this.popperAppendToBody === undefined + ? this.isFirstLevel + : this.popperAppendToBody; + }, + menuTransitionName() { + return this.rootMenu.collapse ? 'el-zoom-in-left' : 'el-zoom-in-top'; + }, + opened() { + return this.rootMenu.openedMenus.indexOf(this.index) > -1; + }, + active() { + let isActive = false; + const submenus = this.submenus; + const items = this.items; + + Object.keys(items).forEach(index => { + if (items[index].active) { + isActive = true; + } + }); + + Object.keys(submenus).forEach(index => { + if (submenus[index].active) { + isActive = true; + } + }); + + return isActive; + }, + hoverBackground() { + return this.rootMenu.hoverBackground; + }, + backgroundColor() { + return this.rootMenu.backgroundColor || ''; + }, + activeTextColor() { + return this.rootMenu.activeTextColor || ''; + }, + textColor() { + return this.rootMenu.textColor || ''; + }, + mode() { + return this.rootMenu.mode; + }, + isMenuPopup() { + return this.rootMenu.isMenuPopup; + }, + titleStyle() { + if (this.mode !== 'horizontal') { + return { + color: this.textColor + }; + } + return { + borderBottomColor: this.active + ? (this.rootMenu.activeTextColor ? this.activeTextColor : '') + : 'transparent', + color: this.active + ? this.activeTextColor + : this.textColor + }; + }, + isFirstLevel() { + let isFirstLevel = true; + let parent = this.$parent; + while (parent && parent !== this.rootMenu) { + if (['ElSubmenu', 'ElMenuItemGroup'].indexOf(parent.$options.componentName) > -1) { + isFirstLevel = false; + break; + } else { + parent = parent.$parent; + } + } + return isFirstLevel; + } + }, + methods: { + handleCollapseToggle(value) { + if (value) { + this.initPopper(); + } else { + this.doDestroy(); + } + }, + addItem(item) { + this.$set(this.items, item.index, item); + }, + removeItem(item) { + delete this.items[item.index]; + }, + addSubmenu(item) { + this.$set(this.submenus, item.index, item); + }, + removeSubmenu(item) { + delete this.submenus[item.index]; + }, + handleClick() { + const { rootMenu, disabled } = this; + if ( + (rootMenu.menuTrigger === 'hover' && rootMenu.mode === 'horizontal') || + (rootMenu.collapse && rootMenu.mode === 'vertical') || + disabled + ) { + return; + } + this.dispatch('ElMenu', 'submenu-click', this); + }, + handleMouseenter(event, showTimeout = this.showTimeout) { + + if (!('ActiveXObject' in window) && event.type === 'focus' && !event.relatedTarget) { + return; + } + const { rootMenu, disabled } = this; + if ( + (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal') || + (!rootMenu.collapse && rootMenu.mode === 'vertical') || + disabled + ) { + return; + } + this.dispatch('ElSubmenu', 'mouse-enter-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + this.rootMenu.openMenu(this.index, this.indexPath); + }, showTimeout); + + if (this.appendToBody) { + this.$parent.$el.dispatchEvent(new MouseEvent('mouseenter')); + } + }, + handleMouseleave(deepDispatch = false) { + const {rootMenu} = this; + if ( + (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal') || + (!rootMenu.collapse && rootMenu.mode === 'vertical') + ) { + return; + } + this.dispatch('ElSubmenu', 'mouse-leave-child'); + clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + !this.mouseInChild && this.rootMenu.closeMenu(this.index); + }, this.hideTimeout); + + if (this.appendToBody && deepDispatch) { + if (this.$parent.$options.name === 'ElSubmenu') { + this.$parent.handleMouseleave(true); + } + } + }, + handleTitleMouseenter() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + const title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.hoverBackground); + }, + handleTitleMouseleave() { + if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return; + const title = this.$refs['submenu-title']; + title && (title.style.backgroundColor = this.rootMenu.backgroundColor || ''); + }, + updatePlacement() { + this.currentPlacement = this.mode === 'horizontal' && this.isFirstLevel + ? 'bottom-start' + : 'right-start'; + }, + initPopper() { + this.referenceElm = this.$el; + this.popperElm = this.$refs.menu; + this.updatePlacement(); + } + }, + created() { + this.$on('toggle-collapse', this.handleCollapseToggle); + this.$on('mouse-enter-child', () => { + this.mouseInChild = true; + clearTimeout(this.timeout); + }); + this.$on('mouse-leave-child', () => { + this.mouseInChild = false; + clearTimeout(this.timeout); + }); + }, + mounted() { + this.parentMenu.addSubmenu(this); + this.rootMenu.addSubmenu(this); + this.initPopper(); + }, + beforeDestroy() { + this.parentMenu.removeSubmenu(this); + this.rootMenu.removeSubmenu(this); + }, + render(h) { + const { + active, + opened, + paddingStyle, + titleStyle, + backgroundColor, + rootMenu, + currentPlacement, + menuTransitionName, + mode, + disabled, + popperClass, + $slots, + isFirstLevel + } = this; + + const popupMenu = ( + <transition name={menuTransitionName}> + <div + ref="menu" + v-show={opened} + class={[`el-menu--${mode}`, popperClass]} + on-mouseenter={($event) => this.handleMouseenter($event, 100)} + on-mouseleave={() => this.handleMouseleave(true)} + on-focus={($event) => this.handleMouseenter($event, 100)}> + <ul + role="menu" + class={['el-menu el-menu--popup', `el-menu--popup-${currentPlacement}`]} + style={{ backgroundColor: rootMenu.backgroundColor || '' }}> + {$slots.default} + </ul> + </div> + </transition> + ); + + const inlineMenu = ( + <el-collapse-transition> + <ul + role="menu" + class="el-menu el-menu--inline" + v-show={opened} + style={{ backgroundColor: rootMenu.backgroundColor || '' }}> + {$slots.default} + </ul> + </el-collapse-transition> + ); + + const submenuTitleIcon = ( + rootMenu.mode === 'horizontal' && isFirstLevel || + rootMenu.mode === 'vertical' && !rootMenu.collapse + ) ? 'el-icon-arrow-down' : 'el-icon-arrow-right'; + + return ( + <li + class={{ + 'el-submenu': true, + 'is-active': active, + 'is-opened': opened, + 'is-disabled': disabled + }} + role="menuitem" + aria-haspopup="true" + aria-expanded={opened} + on-mouseenter={this.handleMouseenter} + on-mouseleave={() => this.handleMouseleave(false)} + on-focus={this.handleMouseenter} + > + <div + class="el-submenu__title" + ref="submenu-title" + on-click={this.handleClick} + on-mouseenter={this.handleTitleMouseenter} + on-mouseleave={this.handleTitleMouseleave} + style={[paddingStyle, titleStyle, { backgroundColor }]} + > + {$slots.title} + <i class={[ 'el-submenu__icon-arrow', submenuTitleIcon ]}></i> + </div> + {this.isMenuPopup ? popupMenu : inlineMenu} + </li> + ); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/message-box/index.js b/PAMapp/local_modules/element-ui/packages/message-box/index.js new file mode 100644 index 0000000..703e9c6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message-box/index.js @@ -0,0 +1,2 @@ +import MessageBox from './src/main.js'; +export default MessageBox; diff --git a/PAMapp/local_modules/element-ui/packages/message-box/src/main.js b/PAMapp/local_modules/element-ui/packages/message-box/src/main.js new file mode 100644 index 0000000..7b9a7fd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message-box/src/main.js @@ -0,0 +1,216 @@ +const defaults = { + title: null, + message: '', + type: '', + iconClass: '', + showInput: false, + showClose: true, + modalFade: true, + lockScroll: true, + closeOnClickModal: true, + closeOnPressEscape: true, + closeOnHashChange: true, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + confirmButtonPosition: 'right', + confirmButtonHighlight: false, + cancelButtonHighlight: false, + confirmButtonText: '', + cancelButtonText: '', + confirmButtonClass: '', + cancelButtonClass: '', + customClass: '', + beforeClose: null, + dangerouslyUseHTMLString: false, + center: false, + roundButton: false, + distinguishCancelAndClose: false +}; + +import Vue from 'vue'; +import msgboxVue from './main.vue'; +import merge from 'element-ui/src/utils/merge'; +import { isVNode } from 'element-ui/src/utils/vdom'; + +const MessageBoxConstructor = Vue.extend(msgboxVue); + +let currentMsg, instance; +let msgQueue = []; + +const defaultCallback = action => { + if (currentMsg) { + let callback = currentMsg.callback; + if (typeof callback === 'function') { + if (instance.showInput) { + callback(instance.inputValue, action); + } else { + callback(action); + } + } + if (currentMsg.resolve) { + if (action === 'confirm') { + if (instance.showInput) { + currentMsg.resolve({ value: instance.inputValue, action }); + } else { + currentMsg.resolve(action); + } + } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) { + currentMsg.reject(action); + } + } + } +}; + +const initInstance = () => { + instance = new MessageBoxConstructor({ + el: document.createElement('div') + }); + + instance.callback = defaultCallback; +}; + +const showNextMsg = () => { + if (!instance) { + initInstance(); + } + instance.action = ''; + + if (!instance.visible || instance.closeTimer) { + if (msgQueue.length > 0) { + currentMsg = msgQueue.shift(); + + let options = currentMsg.options; + for (let prop in options) { + if (options.hasOwnProperty(prop)) { + instance[prop] = options[prop]; + } + } + if (options.callback === undefined) { + instance.callback = defaultCallback; + } + + let oldCb = instance.callback; + instance.callback = (action, instance) => { + oldCb(action, instance); + showNextMsg(); + }; + if (isVNode(instance.message)) { + instance.$slots.default = [instance.message]; + instance.message = null; + } else { + delete instance.$slots.default; + } + ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(prop => { + if (instance[prop] === undefined) { + instance[prop] = true; + } + }); + document.body.appendChild(instance.$el); + + Vue.nextTick(() => { + instance.visible = true; + }); + } + } +}; + +const MessageBox = function(options, callback) { + if (Vue.prototype.$isServer) return; + if (typeof options === 'string' || isVNode(options)) { + options = { + message: options + }; + if (typeof arguments[1] === 'string') { + options.title = arguments[1]; + } + } else if (options.callback && !callback) { + callback = options.callback; + } + + if (typeof Promise !== 'undefined') { + return new Promise((resolve, reject) => { // eslint-disable-line + msgQueue.push({ + options: merge({}, defaults, MessageBox.defaults, options), + callback: callback, + resolve: resolve, + reject: reject + }); + + showNextMsg(); + }); + } else { + msgQueue.push({ + options: merge({}, defaults, MessageBox.defaults, options), + callback: callback + }); + + showNextMsg(); + } +}; + +MessageBox.setDefaults = defaults => { + MessageBox.defaults = defaults; +}; + +MessageBox.alert = (message, title, options) => { + if (typeof title === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return MessageBox(merge({ + title: title, + message: message, + $type: 'alert', + closeOnPressEscape: false, + closeOnClickModal: false + }, options)); +}; + +MessageBox.confirm = (message, title, options) => { + if (typeof title === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return MessageBox(merge({ + title: title, + message: message, + $type: 'confirm', + showCancelButton: true + }, options)); +}; + +MessageBox.prompt = (message, title, options) => { + if (typeof title === 'object') { + options = title; + title = ''; + } else if (title === undefined) { + title = ''; + } + return MessageBox(merge({ + title: title, + message: message, + showCancelButton: true, + showInput: true, + $type: 'prompt' + }, options)); +}; + +MessageBox.close = () => { + instance.doClose(); + instance.visible = false; + msgQueue = []; + currentMsg = null; +}; + +export default MessageBox; +export { MessageBox }; diff --git a/PAMapp/local_modules/element-ui/packages/message-box/src/main.vue b/PAMapp/local_modules/element-ui/packages/message-box/src/main.vue new file mode 100644 index 0000000..5ce6445 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message-box/src/main.vue @@ -0,0 +1,332 @@ +<template> + <transition name="msgbox-fade"> + <div + class="el-message-box__wrapper" + tabindex="-1" + v-show="visible" + @click.self="handleWrapperClick" + role="dialog" + aria-modal="true" + :aria-label="title || 'dialog'"> + <div class="el-message-box" :class="[customClass, center && 'el-message-box--center']"> + <div class="el-message-box__header" v-if="title !== null"> + <div class="el-message-box__title"> + <div + :class="['el-message-box__status', icon]" + v-if="icon && center"> + </div> + <span>{{ title }}</span> + </div> + <button + type="button" + class="el-message-box__headerbtn" + aria-label="Close" + v-if="showClose" + @click="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')" + @keydown.enter="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')"> + <i class="el-message-box__close el-icon-close"></i> + </button> + </div> + <div class="el-message-box__content"> + <div class="el-message-box__container"> + <div + :class="['el-message-box__status', icon]" + v-if="icon && !center && message !== ''"> + </div> + <div class="el-message-box__message" v-if="message !== ''"> + <slot> + <p v-if="!dangerouslyUseHTMLString">{{ message }}</p> + <p v-else v-html="message"></p> + </slot> + </div> + </div> + <div class="el-message-box__input" v-show="showInput"> + <el-input + v-model="inputValue" + :type="inputType" + @keydown.enter.native="handleInputEnter" + :placeholder="inputPlaceholder" + ref="input"></el-input> + <div class="el-message-box__errormsg" :style="{ visibility: !!editorErrorMessage ? 'visible' : 'hidden' }">{{ editorErrorMessage }}</div> + </div> + </div> + <div class="el-message-box__btns"> + <el-button + :loading="cancelButtonLoading" + :class="[ cancelButtonClasses ]" + v-if="showCancelButton" + :round="roundButton" + size="small" + @click.native="handleAction('cancel')" + @keydown.enter="handleAction('cancel')"> + {{ cancelButtonText || t('el.messagebox.cancel') }} + </el-button> + <el-button + :loading="confirmButtonLoading" + ref="confirm" + :class="[ confirmButtonClasses ]" + v-show="showConfirmButton" + :round="roundButton" + size="small" + @click.native="handleAction('confirm')" + @keydown.enter="handleAction('confirm')"> + {{ confirmButtonText || t('el.messagebox.confirm') }} + </el-button> + </div> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + import Popup from 'element-ui/src/utils/popup'; + import Locale from 'element-ui/src/mixins/locale'; + import ElInput from 'element-ui/packages/input'; + import ElButton from 'element-ui/packages/button'; + import { addClass, removeClass } from 'element-ui/src/utils/dom'; + import { t } from 'element-ui/src/locale'; + import Dialog from 'element-ui/src/utils/aria-dialog'; + + let messageBox; + let typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' + }; + + export default { + mixins: [Popup, Locale], + + props: { + modal: { + default: true + }, + lockScroll: { + default: true + }, + showClose: { + type: Boolean, + default: true + }, + closeOnClickModal: { + default: true + }, + closeOnPressEscape: { + default: true + }, + closeOnHashChange: { + default: true + }, + center: { + default: false, + type: Boolean + }, + roundButton: { + default: false, + type: Boolean + } + }, + + components: { + ElInput, + ElButton + }, + + computed: { + icon() { + const { type, iconClass } = this; + return iconClass || (type && typeMap[type] ? `el-icon-${ typeMap[type] }` : ''); + }, + + confirmButtonClasses() { + return `el-button--primary ${ this.confirmButtonClass }`; + }, + cancelButtonClasses() { + return `${ this.cancelButtonClass }`; + } + }, + + methods: { + getSafeClose() { + const currentId = this.uid; + return () => { + this.$nextTick(() => { + if (currentId === this.uid) this.doClose(); + }); + }; + }, + doClose() { + if (!this.visible) return; + this.visible = false; + this._closing = true; + + this.onClose && this.onClose(); + messageBox.closeDialog(); // 閫�蝏� + if (this.lockScroll) { + setTimeout(this.restoreBodyStyle, 200); + } + this.opened = false; + this.doAfterClose(); + setTimeout(() => { + if (this.action) this.callback(this.action, this); + }); + }, + + handleWrapperClick() { + if (this.closeOnClickModal) { + this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel'); + } + }, + + handleInputEnter() { + if (this.inputType !== 'textarea') { + return this.handleAction('confirm'); + } + }, + + handleAction(action) { + if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) { + return; + } + this.action = action; + if (typeof this.beforeClose === 'function') { + this.close = this.getSafeClose(); + this.beforeClose(action, this, this.close); + } else { + this.doClose(); + } + }, + + validate() { + if (this.$type === 'prompt') { + const inputPattern = this.inputPattern; + if (inputPattern && !inputPattern.test(this.inputValue || '')) { + this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); + addClass(this.getInputElement(), 'invalid'); + return false; + } + const inputValidator = this.inputValidator; + if (typeof inputValidator === 'function') { + const validateResult = inputValidator(this.inputValue); + if (validateResult === false) { + this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); + addClass(this.getInputElement(), 'invalid'); + return false; + } + if (typeof validateResult === 'string') { + this.editorErrorMessage = validateResult; + addClass(this.getInputElement(), 'invalid'); + return false; + } + } + } + this.editorErrorMessage = ''; + removeClass(this.getInputElement(), 'invalid'); + return true; + }, + getFirstFocus() { + const btn = this.$el.querySelector('.el-message-box__btns .el-button'); + const title = this.$el.querySelector('.el-message-box__btns .el-message-box__title'); + return btn || title; + }, + getInputElement() { + const inputRefs = this.$refs.input.$refs; + return inputRefs.input || inputRefs.textarea; + }, + handleClose() { + this.handleAction('close'); + } + }, + + watch: { + inputValue: { + immediate: true, + handler(val) { + this.$nextTick(_ => { + if (this.$type === 'prompt' && val !== null) { + this.validate(); + } + }); + } + }, + + visible(val) { + if (val) { + this.uid++; + if (this.$type === 'alert' || this.$type === 'confirm') { + this.$nextTick(() => { + this.$refs.confirm.$el.focus(); + }); + } + this.focusAfterClosed = document.activeElement; + messageBox = new Dialog(this.$el, this.focusAfterClosed, this.getFirstFocus()); + } + + // prompt + if (this.$type !== 'prompt') return; + if (val) { + setTimeout(() => { + if (this.$refs.input && this.$refs.input.$el) { + this.getInputElement().focus(); + } + }, 500); + } else { + this.editorErrorMessage = ''; + removeClass(this.getInputElement(), 'invalid'); + } + } + }, + + mounted() { + this.$nextTick(() => { + if (this.closeOnHashChange) { + window.addEventListener('hashchange', this.close); + } + }); + }, + + beforeDestroy() { + if (this.closeOnHashChange) { + window.removeEventListener('hashchange', this.close); + } + setTimeout(() => { + messageBox.closeDialog(); + }); + }, + + data() { + return { + uid: 1, + title: undefined, + message: '', + type: '', + iconClass: '', + customClass: '', + showInput: false, + inputValue: null, + inputPlaceholder: '', + inputType: 'text', + inputPattern: null, + inputValidator: null, + inputErrorMessage: '', + showConfirmButton: true, + showCancelButton: false, + action: '', + confirmButtonText: '', + cancelButtonText: '', + confirmButtonLoading: false, + cancelButtonLoading: false, + confirmButtonClass: '', + confirmButtonDisabled: false, + cancelButtonClass: '', + editorErrorMessage: null, + callback: null, + dangerouslyUseHTMLString: false, + focusAfterClosed: null, + isOnComposition: false, + distinguishCancelAndClose: false + }; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/message/index.js b/PAMapp/local_modules/element-ui/packages/message/index.js new file mode 100644 index 0000000..9a48b6b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message/index.js @@ -0,0 +1,2 @@ +import Message from './src/main.js'; +export default Message; diff --git a/PAMapp/local_modules/element-ui/packages/message/src/main.js b/PAMapp/local_modules/element-ui/packages/message/src/main.js new file mode 100644 index 0000000..b6bad3d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message/src/main.js @@ -0,0 +1,91 @@ +import Vue from 'vue'; +import Main from './main.vue'; +import { PopupManager } from 'element-ui/src/utils/popup'; +import { isVNode } from 'element-ui/src/utils/vdom'; +import { isObject } from 'element-ui/src/utils/types'; +let MessageConstructor = Vue.extend(Main); + +let instance; +let instances = []; +let seed = 1; + +const Message = function(options) { + if (Vue.prototype.$isServer) return; + options = options || {}; + if (typeof options === 'string') { + options = { + message: options + }; + } + let userOnClose = options.onClose; + let id = 'message_' + seed++; + + options.onClose = function() { + Message.close(id, userOnClose); + }; + instance = new MessageConstructor({ + data: options + }); + instance.id = id; + if (isVNode(instance.message)) { + instance.$slots.default = [instance.message]; + instance.message = null; + } + instance.$mount(); + document.body.appendChild(instance.$el); + let verticalOffset = options.offset || 20; + instances.forEach(item => { + verticalOffset += item.$el.offsetHeight + 16; + }); + instance.verticalOffset = verticalOffset; + instance.visible = true; + instance.$el.style.zIndex = PopupManager.nextZIndex(); + instances.push(instance); + return instance; +}; + +['success', 'warning', 'info', 'error'].forEach(type => { + Message[type] = (options) => { + if (isObject(options) && !isVNode(options)) { + return Message({ + ...options, + type + }); + } + return Message({ + type, + message: options + }); + }; +}); + +Message.close = function(id, userOnClose) { + let len = instances.length; + let index = -1; + let removedHeight; + for (let i = 0; i < len; i++) { + if (id === instances[i].id) { + removedHeight = instances[i].$el.offsetHeight; + index = i; + if (typeof userOnClose === 'function') { + userOnClose(instances[i]); + } + instances.splice(i, 1); + break; + } + } + if (len <= 1 || index === -1 || index > instances.length - 1) return; + for (let i = index; i < len - 1 ; i++) { + let dom = instances[i].$el; + dom.style['top'] = + parseInt(dom.style['top'], 10) - removedHeight - 16 + 'px'; + } +}; + +Message.closeAll = function() { + for (let i = instances.length - 1; i >= 0; i--) { + instances[i].close(); + } +}; + +export default Message; diff --git a/PAMapp/local_modules/element-ui/packages/message/src/main.vue b/PAMapp/local_modules/element-ui/packages/message/src/main.vue new file mode 100644 index 0000000..dc572e0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/message/src/main.vue @@ -0,0 +1,117 @@ +<template> + <transition name="el-message-fade" @after-leave="handleAfterLeave"> + <div + :class="[ + 'el-message', + type && !iconClass ? `el-message--${ type }` : '', + center ? 'is-center' : '', + showClose ? 'is-closable' : '', + customClass + ]" + :style="positionStyle" + v-show="visible" + @mouseenter="clearTimer" + @mouseleave="startTimer" + role="alert"> + <i :class="iconClass" v-if="iconClass"></i> + <i :class="typeClass" v-else></i> + <slot> + <p v-if="!dangerouslyUseHTMLString" class="el-message__content">{{ message }}</p> + <p v-else v-html="message" class="el-message__content"></p> + </slot> + <i v-if="showClose" class="el-message__closeBtn el-icon-close" @click="close"></i> + </div> + </transition> +</template> + +<script type="text/babel"> + const typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' + }; + + export default { + data() { + return { + visible: false, + message: '', + duration: 3000, + type: 'info', + iconClass: '', + customClass: '', + onClose: null, + showClose: false, + closed: false, + verticalOffset: 20, + timer: null, + dangerouslyUseHTMLString: false, + center: false + }; + }, + + computed: { + typeClass() { + return this.type && !this.iconClass + ? `el-message__icon el-icon-${ typeMap[this.type] }` + : ''; + }, + positionStyle() { + return { + 'top': `${ this.verticalOffset }px` + }; + } + }, + + watch: { + closed(newVal) { + if (newVal) { + this.visible = false; + } + } + }, + + methods: { + handleAfterLeave() { + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + + close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(this); + } + }, + + clearTimer() { + clearTimeout(this.timer); + }, + + startTimer() { + if (this.duration > 0) { + this.timer = setTimeout(() => { + if (!this.closed) { + this.close(); + } + }, this.duration); + } + }, + keydown(e) { + if (e.keyCode === 27) { // esc��瘨 + if (!this.closed) { + this.close(); + } + } + } + }, + mounted() { + this.startTimer(); + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/notification/index.js b/PAMapp/local_modules/element-ui/packages/notification/index.js new file mode 100644 index 0000000..1931d06 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/notification/index.js @@ -0,0 +1,2 @@ +import Notification from './src/main.js'; +export default Notification; diff --git a/PAMapp/local_modules/element-ui/packages/notification/src/main.js b/PAMapp/local_modules/element-ui/packages/notification/src/main.js new file mode 100644 index 0000000..f10b1c1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/notification/src/main.js @@ -0,0 +1,94 @@ +import Vue from 'vue'; +import Main from './main.vue'; +import merge from 'element-ui/src/utils/merge'; +import { PopupManager } from 'element-ui/src/utils/popup'; +import { isVNode } from 'element-ui/src/utils/vdom'; +const NotificationConstructor = Vue.extend(Main); + +let instance; +let instances = []; +let seed = 1; + +const Notification = function(options) { + if (Vue.prototype.$isServer) return; + options = merge({}, options); + const userOnClose = options.onClose; + const id = 'notification_' + seed++; + const position = options.position || 'top-right'; + + options.onClose = function() { + Notification.close(id, userOnClose); + }; + + instance = new NotificationConstructor({ + data: options + }); + + if (isVNode(options.message)) { + instance.$slots.default = [options.message]; + options.message = 'REPLACED_BY_VNODE'; + } + instance.id = id; + instance.$mount(); + document.body.appendChild(instance.$el); + instance.visible = true; + instance.dom = instance.$el; + instance.dom.style.zIndex = PopupManager.nextZIndex(); + + let verticalOffset = options.offset || 0; + instances.filter(item => item.position === position).forEach(item => { + verticalOffset += item.$el.offsetHeight + 16; + }); + verticalOffset += 16; + instance.verticalOffset = verticalOffset; + instances.push(instance); + return instance; +}; + +['success', 'warning', 'info', 'error'].forEach(type => { + Notification[type] = options => { + if (typeof options === 'string' || isVNode(options)) { + options = { + message: options + }; + } + options.type = type; + return Notification(options); + }; +}); + +Notification.close = function(id, userOnClose) { + let index = -1; + const len = instances.length; + const instance = instances.filter((instance, i) => { + if (instance.id === id) { + index = i; + return true; + } + return false; + })[0]; + if (!instance) return; + + if (typeof userOnClose === 'function') { + userOnClose(instance); + } + instances.splice(index, 1); + + if (len <= 1) return; + const position = instance.position; + const removedHeight = instance.dom.offsetHeight; + for (let i = index; i < len - 1 ; i++) { + if (instances[i].position === position) { + instances[i].dom.style[instance.verticalProperty] = + parseInt(instances[i].dom.style[instance.verticalProperty], 10) - removedHeight - 16 + 'px'; + } + } +}; + +Notification.closeAll = function() { + for (let i = instances.length - 1; i >= 0; i--) { + instances[i].close(); + } +}; + +export default Notification; diff --git a/PAMapp/local_modules/element-ui/packages/notification/src/main.vue b/PAMapp/local_modules/element-ui/packages/notification/src/main.vue new file mode 100644 index 0000000..c25c9d7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/notification/src/main.vue @@ -0,0 +1,152 @@ +<template> + <transition name="el-notification-fade"> + <div + :class="['el-notification', customClass, horizontalClass]" + v-show="visible" + :style="positionStyle" + @mouseenter="clearTimer()" + @mouseleave="startTimer()" + @click="click" + role="alert" + > + <i + class="el-notification__icon" + :class="[ typeClass, iconClass ]" + v-if="type || iconClass"> + </i> + <div class="el-notification__group" :class="{ 'is-with-icon': typeClass || iconClass }"> + <h2 class="el-notification__title" v-text="title"></h2> + <div class="el-notification__content" v-show="message"> + <slot> + <p v-if="!dangerouslyUseHTMLString">{{ message }}</p> + <p v-else v-html="message"></p> + </slot> + </div> + <div + class="el-notification__closeBtn el-icon-close" + v-if="showClose" + @click.stop="close"></div> + </div> + </div> + </transition> +</template> + +<script type="text/babel"> + let typeMap = { + success: 'success', + info: 'info', + warning: 'warning', + error: 'error' + }; + + export default { + data() { + return { + visible: false, + title: '', + message: '', + duration: 4500, + type: '', + showClose: true, + customClass: '', + iconClass: '', + onClose: null, + onClick: null, + closed: false, + verticalOffset: 0, + timer: null, + dangerouslyUseHTMLString: false, + position: 'top-right' + }; + }, + + computed: { + typeClass() { + return this.type && typeMap[this.type] ? `el-icon-${ typeMap[this.type] }` : ''; + }, + + horizontalClass() { + return this.position.indexOf('right') > -1 ? 'right' : 'left'; + }, + + verticalProperty() { + return /^top-/.test(this.position) ? 'top' : 'bottom'; + }, + + positionStyle() { + return { + [this.verticalProperty]: `${ this.verticalOffset }px` + }; + } + }, + + watch: { + closed(newVal) { + if (newVal) { + this.visible = false; + this.$el.addEventListener('transitionend', this.destroyElement); + } + } + }, + + methods: { + destroyElement() { + this.$el.removeEventListener('transitionend', this.destroyElement); + this.$destroy(true); + this.$el.parentNode.removeChild(this.$el); + }, + + click() { + if (typeof this.onClick === 'function') { + this.onClick(); + } + }, + + close() { + this.closed = true; + if (typeof this.onClose === 'function') { + this.onClose(); + } + }, + + clearTimer() { + clearTimeout(this.timer); + }, + + startTimer() { + if (this.duration > 0) { + this.timer = setTimeout(() => { + if (!this.closed) { + this.close(); + } + }, this.duration); + } + }, + keydown(e) { + if (e.keyCode === 46 || e.keyCode === 8) { + this.clearTimer(); // detele ����恣� + } else if (e.keyCode === 27) { // esc��瘨 + if (!this.closed) { + this.close(); + } + } else { + this.startTimer(); // �憭�恣� + } + } + }, + mounted() { + if (this.duration > 0) { + this.timer = setTimeout(() => { + if (!this.closed) { + this.close(); + } + }, this.duration); + } + document.addEventListener('keydown', this.keydown); + }, + beforeDestroy() { + document.removeEventListener('keydown', this.keydown); + } + }; +</script> + diff --git a/PAMapp/local_modules/element-ui/packages/option-group/index.js b/PAMapp/local_modules/element-ui/packages/option-group/index.js new file mode 100644 index 0000000..47b88d6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/option-group/index.js @@ -0,0 +1,8 @@ +import ElOptionGroup from '../select/src/option-group'; + +/* istanbul ignore next */ +ElOptionGroup.install = function(Vue) { + Vue.component(ElOptionGroup.name, ElOptionGroup); +}; + +export default ElOptionGroup; diff --git a/PAMapp/local_modules/element-ui/packages/option/index.js b/PAMapp/local_modules/element-ui/packages/option/index.js new file mode 100644 index 0000000..a4e3822 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/option/index.js @@ -0,0 +1,8 @@ +import ElOption from '../select/src/option'; + +/* istanbul ignore next */ +ElOption.install = function(Vue) { + Vue.component(ElOption.name, ElOption); +}; + +export default ElOption; diff --git a/PAMapp/local_modules/element-ui/packages/page-header/index.js b/PAMapp/local_modules/element-ui/packages/page-header/index.js new file mode 100644 index 0000000..105da73 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/page-header/index.js @@ -0,0 +1,8 @@ +import PageHeader from './src/main'; + +/* istanbul ignore next */ +PageHeader.install = function(Vue) { + Vue.component(PageHeader.name, PageHeader); +}; + +export default PageHeader; diff --git a/PAMapp/local_modules/element-ui/packages/page-header/src/main.vue b/PAMapp/local_modules/element-ui/packages/page-header/src/main.vue new file mode 100644 index 0000000..d7d6b38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/page-header/src/main.vue @@ -0,0 +1,30 @@ +<template> + <div class="el-page-header"> + <div class="el-page-header__left" @click="$emit('back')"> + <i class="el-icon-back"></i> + <div class="el-page-header__title"> + <slot name="title">{{ title }}</slot> + </div> + </div> + <div class="el-page-header__content"> + <slot name="content">{{ content }}</slot> + </div> + </div> +</template> + +<script> +import { t } from 'element-ui/src/locale'; +export default { + name: 'ElPageHeader', + + props: { + title: { + type: String, + default() { + return t('el.pageHeader.title'); + } + }, + content: String + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/pagination/index.js b/PAMapp/local_modules/element-ui/packages/pagination/index.js new file mode 100644 index 0000000..c9ce00c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/pagination/index.js @@ -0,0 +1,8 @@ +import Pagination from './src/pagination'; + +/* istanbul ignore next */ +Pagination.install = function(Vue) { + Vue.component(Pagination.name, Pagination); +}; + +export default Pagination; diff --git a/PAMapp/local_modules/element-ui/packages/pagination/src/pager.vue b/PAMapp/local_modules/element-ui/packages/pagination/src/pager.vue new file mode 100644 index 0000000..487e28f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/pagination/src/pager.vue @@ -0,0 +1,163 @@ +<template> + <ul @click="onPagerClick" class="el-pager"> + <li + :class="{ active: currentPage === 1, disabled }" + v-if="pageCount > 0" + class="number">1</li> + <li + class="el-icon more btn-quickprev" + :class="[quickprevIconClass, { disabled }]" + v-if="showPrevMore" + @mouseenter="onMouseenter('left')" + @mouseleave="quickprevIconClass = 'el-icon-more'"> + </li> + <li + v-for="pager in pagers" + :key="pager" + :class="{ active: currentPage === pager, disabled }" + class="number">{{ pager }}</li> + <li + class="el-icon more btn-quicknext" + :class="[quicknextIconClass, { disabled }]" + v-if="showNextMore" + @mouseenter="onMouseenter('right')" + @mouseleave="quicknextIconClass = 'el-icon-more'"> + </li> + <li + :class="{ active: currentPage === pageCount, disabled }" + class="number" + v-if="pageCount > 1">{{ pageCount }}</li> + </ul> +</template> + +<script type="text/babel"> + export default { + name: 'ElPager', + + props: { + currentPage: Number, + + pageCount: Number, + + pagerCount: Number, + + disabled: Boolean + }, + + watch: { + showPrevMore(val) { + if (!val) this.quickprevIconClass = 'el-icon-more'; + }, + + showNextMore(val) { + if (!val) this.quicknextIconClass = 'el-icon-more'; + } + }, + + methods: { + onPagerClick(event) { + const target = event.target; + if (target.tagName === 'UL' || this.disabled) { + return; + } + + let newPage = Number(event.target.textContent); + const pageCount = this.pageCount; + const currentPage = this.currentPage; + const pagerCountOffset = this.pagerCount - 2; + + if (target.className.indexOf('more') !== -1) { + if (target.className.indexOf('quickprev') !== -1) { + newPage = currentPage - pagerCountOffset; + } else if (target.className.indexOf('quicknext') !== -1) { + newPage = currentPage + pagerCountOffset; + } + } + + /* istanbul ignore if */ + if (!isNaN(newPage)) { + if (newPage < 1) { + newPage = 1; + } + + if (newPage > pageCount) { + newPage = pageCount; + } + } + + if (newPage !== currentPage) { + this.$emit('change', newPage); + } + }, + + onMouseenter(direction) { + if (this.disabled) return; + if (direction === 'left') { + this.quickprevIconClass = 'el-icon-d-arrow-left'; + } else { + this.quicknextIconClass = 'el-icon-d-arrow-right'; + } + } + }, + + computed: { + pagers() { + const pagerCount = this.pagerCount; + const halfPagerCount = (pagerCount - 1) / 2; + + const currentPage = Number(this.currentPage); + const pageCount = Number(this.pageCount); + + let showPrevMore = false; + let showNextMore = false; + + if (pageCount > pagerCount) { + if (currentPage > pagerCount - halfPagerCount) { + showPrevMore = true; + } + + if (currentPage < pageCount - halfPagerCount) { + showNextMore = true; + } + } + + const array = []; + + if (showPrevMore && !showNextMore) { + const startPage = pageCount - (pagerCount - 2); + for (let i = startPage; i < pageCount; i++) { + array.push(i); + } + } else if (!showPrevMore && showNextMore) { + for (let i = 2; i < pagerCount; i++) { + array.push(i); + } + } else if (showPrevMore && showNextMore) { + const offset = Math.floor(pagerCount / 2) - 1; + for (let i = currentPage - offset ; i <= currentPage + offset; i++) { + array.push(i); + } + } else { + for (let i = 2; i < pageCount; i++) { + array.push(i); + } + } + + this.showPrevMore = showPrevMore; + this.showNextMore = showNextMore; + + return array; + } + }, + + data() { + return { + current: null, + showPrevMore: false, + showNextMore: false, + quicknextIconClass: 'el-icon-more', + quickprevIconClass: 'el-icon-more' + }; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/pagination/src/pagination.js b/PAMapp/local_modules/element-ui/packages/pagination/src/pagination.js new file mode 100644 index 0000000..0fbea45 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/pagination/src/pagination.js @@ -0,0 +1,386 @@ +import Pager from './pager.vue'; +import ElSelect from 'element-ui/packages/select'; +import ElOption from 'element-ui/packages/option'; +import ElInput from 'element-ui/packages/input'; +import Locale from 'element-ui/src/mixins/locale'; +import { valueEquals } from 'element-ui/src/utils/util'; + +export default { + name: 'ElPagination', + + props: { + pageSize: { + type: Number, + default: 10 + }, + + small: Boolean, + + total: Number, + + pageCount: Number, + + pagerCount: { + type: Number, + validator(value) { + return (value | 0) === value && value > 4 && value < 22 && (value % 2) === 1; + }, + default: 7 + }, + + currentPage: { + type: Number, + default: 1 + }, + + layout: { + default: 'prev, pager, next, jumper, ->, total' + }, + + pageSizes: { + type: Array, + default() { + return [10, 20, 30, 40, 50, 100]; + } + }, + + popperClass: String, + + prevText: String, + + nextText: String, + + background: Boolean, + + disabled: Boolean, + + hideOnSinglePage: Boolean + }, + + data() { + return { + internalCurrentPage: 1, + internalPageSize: 0, + lastEmittedPage: -1, + userChangePageSize: false + }; + }, + + render(h) { + const layout = this.layout; + if (!layout) return null; + if (this.hideOnSinglePage && (!this.internalPageCount || this.internalPageCount === 1)) return null; + + let template = <div class={['el-pagination', { + 'is-background': this.background, + 'el-pagination--small': this.small + }] }></div>; + const TEMPLATE_MAP = { + prev: <prev></prev>, + jumper: <jumper></jumper>, + pager: <pager currentPage={ this.internalCurrentPage } pageCount={ this.internalPageCount } pagerCount={ this.pagerCount } on-change={ this.handleCurrentChange } disabled={ this.disabled }></pager>, + next: <next></next>, + sizes: <sizes pageSizes={ this.pageSizes }></sizes>, + slot: <slot>{ this.$slots.default ? this.$slots.default : '' }</slot>, + total: <total></total> + }; + const components = layout.split(',').map((item) => item.trim()); + const rightWrapper = <div class="el-pagination__rightwrapper"></div>; + let haveRightWrapper = false; + + template.children = template.children || []; + rightWrapper.children = rightWrapper.children || []; + components.forEach(compo => { + if (compo === '->') { + haveRightWrapper = true; + return; + } + + if (!haveRightWrapper) { + template.children.push(TEMPLATE_MAP[compo]); + } else { + rightWrapper.children.push(TEMPLATE_MAP[compo]); + } + }); + + if (haveRightWrapper) { + template.children.unshift(rightWrapper); + } + + return template; + }, + + components: { + Prev: { + render(h) { + return ( + <button + type="button" + class="btn-prev" + disabled={ this.$parent.disabled || this.$parent.internalCurrentPage <= 1 } + on-click={ this.$parent.prev }> + { + this.$parent.prevText + ? <span>{ this.$parent.prevText }</span> + : <i class="el-icon el-icon-arrow-left"></i> + } + </button> + ); + } + }, + + Next: { + render(h) { + return ( + <button + type="button" + class="btn-next" + disabled={ this.$parent.disabled || this.$parent.internalCurrentPage === this.$parent.internalPageCount || this.$parent.internalPageCount === 0 } + on-click={ this.$parent.next }> + { + this.$parent.nextText + ? <span>{ this.$parent.nextText }</span> + : <i class="el-icon el-icon-arrow-right"></i> + } + </button> + ); + } + }, + + Sizes: { + mixins: [Locale], + + props: { + pageSizes: Array + }, + + watch: { + pageSizes: { + immediate: true, + handler(newVal, oldVal) { + if (valueEquals(newVal, oldVal)) return; + if (Array.isArray(newVal)) { + this.$parent.internalPageSize = newVal.indexOf(this.$parent.pageSize) > -1 + ? this.$parent.pageSize + : this.pageSizes[0]; + } + } + } + }, + + render(h) { + return ( + <span class="el-pagination__sizes"> + <el-select + value={ this.$parent.internalPageSize } + popperClass={ this.$parent.popperClass || '' } + size="mini" + on-input={ this.handleChange } + disabled={ this.$parent.disabled }> + { + this.pageSizes.map(item => + <el-option + value={ item } + label={ item + this.t('el.pagination.pagesize') }> + </el-option> + ) + } + </el-select> + </span> + ); + }, + + components: { + ElSelect, + ElOption + }, + + methods: { + handleChange(val) { + if (val !== this.$parent.internalPageSize) { + this.$parent.internalPageSize = val = parseInt(val, 10); + this.$parent.userChangePageSize = true; + this.$parent.$emit('update:pageSize', val); + this.$parent.$emit('size-change', val); + } + } + } + }, + + Jumper: { + mixins: [Locale], + + components: { ElInput }, + + data() { + return { + userInput: null + }; + }, + + watch: { + '$parent.internalCurrentPage'() { + this.userInput = null; + } + }, + + methods: { + handleKeyup({ keyCode, target }) { + // Chrome, Safari, Firefox triggers change event on Enter + // Hack for IE: https://github.com/ElemeFE/element/issues/11710 + // Drop this method when we no longer supports IE + if (keyCode === 13) { + this.handleChange(target.value); + } + }, + handleInput(value) { + this.userInput = value; + }, + handleChange(value) { + this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(value); + this.$parent.emitChange(); + this.userInput = null; + } + }, + + render(h) { + return ( + <span class="el-pagination__jump"> + { this.t('el.pagination.goto') } + <el-input + class="el-pagination__editor is-in-pagination" + min={ 1 } + max={ this.$parent.internalPageCount } + value={ this.userInput !== null ? this.userInput : this.$parent.internalCurrentPage } + type="number" + disabled={ this.$parent.disabled } + nativeOnKeyup={ this.handleKeyup } + onInput={ this.handleInput } + onChange={ this.handleChange }/> + { this.t('el.pagination.pageClassifier') } + </span> + ); + } + }, + + Total: { + mixins: [Locale], + + render(h) { + return ( + typeof this.$parent.total === 'number' + ? <span class="el-pagination__total">{ this.t('el.pagination.total', { total: this.$parent.total }) }</span> + : '' + ); + } + }, + + Pager + }, + + methods: { + handleCurrentChange(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + this.userChangePageSize = true; + this.emitChange(); + }, + + prev() { + if (this.disabled) return; + const newVal = this.internalCurrentPage - 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('prev-click', this.internalCurrentPage); + this.emitChange(); + }, + + next() { + if (this.disabled) return; + const newVal = this.internalCurrentPage + 1; + this.internalCurrentPage = this.getValidCurrentPage(newVal); + this.$emit('next-click', this.internalCurrentPage); + this.emitChange(); + }, + + getValidCurrentPage(value) { + value = parseInt(value, 10); + + const havePageCount = typeof this.internalPageCount === 'number'; + + let resetValue; + if (!havePageCount) { + if (isNaN(value) || value < 1) resetValue = 1; + } else { + if (value < 1) { + resetValue = 1; + } else if (value > this.internalPageCount) { + resetValue = this.internalPageCount; + } + } + + if (resetValue === undefined && isNaN(value)) { + resetValue = 1; + } else if (resetValue === 0) { + resetValue = 1; + } + + return resetValue === undefined ? value : resetValue; + }, + + emitChange() { + this.$nextTick(() => { + if (this.internalCurrentPage !== this.lastEmittedPage || this.userChangePageSize) { + this.$emit('current-change', this.internalCurrentPage); + this.lastEmittedPage = this.internalCurrentPage; + this.userChangePageSize = false; + } + }); + } + }, + + computed: { + internalPageCount() { + if (typeof this.total === 'number') { + return Math.max(1, Math.ceil(this.total / this.internalPageSize)); + } else if (typeof this.pageCount === 'number') { + return Math.max(1, this.pageCount); + } + return null; + } + }, + + watch: { + currentPage: { + immediate: true, + handler(val) { + this.internalCurrentPage = this.getValidCurrentPage(val); + } + }, + + pageSize: { + immediate: true, + handler(val) { + this.internalPageSize = isNaN(val) ? 10 : val; + } + }, + + internalCurrentPage: { + immediate: true, + handler(newVal) { + this.$emit('update:currentPage', newVal); + this.lastEmittedPage = -1; + } + }, + + internalPageCount(newVal) { + /* istanbul ignore if */ + const oldPage = this.internalCurrentPage; + if (newVal > 0 && oldPage === 0) { + this.internalCurrentPage = 1; + } else if (oldPage > newVal) { + this.internalCurrentPage = newVal === 0 ? 1 : newVal; + this.userChangePageSize && this.emitChange(); + } + this.userChangePageSize = false; + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/popconfirm/index.js b/PAMapp/local_modules/element-ui/packages/popconfirm/index.js new file mode 100644 index 0000000..15db1f0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/popconfirm/index.js @@ -0,0 +1,8 @@ +import Popconfirm from './src/main'; + +/* istanbul ignore next */ +Popconfirm.install = function(Vue) { + Vue.component(Popconfirm.name, Popconfirm); +}; + +export default Popconfirm; diff --git a/PAMapp/local_modules/element-ui/packages/popconfirm/src/main.vue b/PAMapp/local_modules/element-ui/packages/popconfirm/src/main.vue new file mode 100644 index 0000000..aabb6a2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/popconfirm/src/main.vue @@ -0,0 +1,104 @@ +<template> + <el-popover + v-bind="$attrs" + v-model="visible" + trigger="click" + > + <div class="el-popconfirm"> + <p class="el-popconfirm__main"> + <i + v-if="!hideIcon" + :class="icon" + class="el-popconfirm__icon" + :style="{color: iconColor}" + ></i> + {{title}} + </p> + <div class="el-popconfirm__action"> + <el-button + size="mini" + :type="cancelButtonType" + @click="cancel" + > + {{ displayCancelButtonText }} + </el-button> + <el-button + size="mini" + :type="confirmButtonType" + @click="confirm" + > + {{ displayConfirmButtonText }} + </el-button> + </div> + </div> + <slot name="reference" slot="reference"></slot> +</el-popover> +</template> + +<script> +import ElPopover from 'element-ui/packages/popover'; +import ElButton from 'element-ui/packages/button'; +import {t} from 'element-ui/src/locale'; + +export default { + name: 'ElPopconfirm', + props: { + title: { + type: String + }, + confirmButtonText: { + type: String + }, + cancelButtonText: { + type: String + }, + confirmButtonType: { + type: String, + default: 'primary' + }, + cancelButtonType: { + type: String, + default: 'text' + }, + icon: { + type: String, + default: 'el-icon-question' + }, + iconColor: { + type: String, + default: '#f90' + }, + hideIcon: { + type: Boolean, + default: false + } + }, + components: { + ElPopover, + ElButton + }, + data() { + return { + visible: false + }; + }, + computed: { + displayConfirmButtonText() { + return this.confirmButtonText || t('el.popconfirm.confirmButtonText'); + }, + displayCancelButtonText() { + return this.cancelButtonText || t('el.popconfirm.cancelButtonText'); + } + }, + methods: { + confirm() { + this.visible = false; + this.$emit('confirm'); + }, + cancel() { + this.visible = false; + this.$emit('cancel'); + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/popover/index.js b/PAMapp/local_modules/element-ui/packages/popover/index.js new file mode 100644 index 0000000..54d56eb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/popover/index.js @@ -0,0 +1,14 @@ +import Popover from './src/main'; +import directive from './src/directive'; +import Vue from 'vue'; + +Vue.directive('popover', directive); + +/* istanbul ignore next */ +Popover.install = function(Vue) { + Vue.directive('popover', directive); + Vue.component(Popover.name, Popover); +}; +Popover.directive = directive; + +export default Popover; diff --git a/PAMapp/local_modules/element-ui/packages/popover/src/directive.js b/PAMapp/local_modules/element-ui/packages/popover/src/directive.js new file mode 100644 index 0000000..132e372 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/popover/src/directive.js @@ -0,0 +1,20 @@ +const getReference = (el, binding, vnode) => { + const _ref = binding.expression ? binding.value : binding.arg; + const popper = vnode.context.$refs[_ref]; + if (popper) { + if (Array.isArray(popper)) { + popper[0].$refs.reference = el; + } else { + popper.$refs.reference = el; + } + } +}; + +export default { + bind(el, binding, vnode) { + getReference(el, binding, vnode); + }, + inserted(el, binding, vnode) { + getReference(el, binding, vnode); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/popover/src/main.vue b/PAMapp/local_modules/element-ui/packages/popover/src/main.vue new file mode 100644 index 0000000..ab5d060 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/popover/src/main.vue @@ -0,0 +1,237 @@ +<template> + <span> + <transition + :name="transition" + @after-enter="handleAfterEnter" + @after-leave="handleAfterLeave"> + <div + class="el-popover el-popper" + :class="[popperClass, content && 'el-popover--plain']" + ref="popper" + v-show="!disabled && showPopper" + :style="{ width: width + 'px' }" + role="tooltip" + :id="tooltipId" + :aria-hidden="(disabled || !showPopper) ? 'true' : 'false'" + > + <div class="el-popover__title" v-if="title" v-text="title"></div> + <slot>{{ content }}</slot> + </div> + </transition> + <span class="el-popover__reference-wrapper" ref="wrapper" > + <slot name="reference"></slot> + </span> + </span> +</template> +<script> +import Popper from 'element-ui/src/utils/vue-popper'; +import { on, off } from 'element-ui/src/utils/dom'; +import { addClass, removeClass } from 'element-ui/src/utils/dom'; +import { generateId } from 'element-ui/src/utils/util'; + +export default { + name: 'ElPopover', + + mixins: [Popper], + + props: { + trigger: { + type: String, + default: 'click', + validator: value => ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1 + }, + openDelay: { + type: Number, + default: 0 + }, + closeDelay: { + type: Number, + default: 200 + }, + title: String, + disabled: Boolean, + content: String, + reference: {}, + popperClass: String, + width: {}, + visibleArrow: { + default: true + }, + arrowOffset: { + type: Number, + default: 0 + }, + transition: { + type: String, + default: 'fade-in-linear' + }, + tabindex: { + type: Number, + default: 0 + } + }, + + computed: { + tooltipId() { + return `el-popover-${generateId()}`; + } + }, + watch: { + showPopper(val) { + if (this.disabled) { + return; + } + val ? this.$emit('show') : this.$emit('hide'); + } + }, + + mounted() { + let reference = this.referenceElm = this.reference || this.$refs.reference; + const popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + // �霈輸�� + if (reference) { + addClass(reference, 'el-popover__reference'); + reference.setAttribute('aria-describedby', this.tooltipId); + reference.setAttribute('tabindex', this.tabindex); // tab摨�� + popper.setAttribute('tabindex', 0); + + if (this.trigger !== 'click') { + on(reference, 'focusin', () => { + this.handleFocus(); + const instance = reference.__vue__; + if (instance && typeof instance.focus === 'function') { + instance.focus(); + } + }); + on(popper, 'focusin', this.handleFocus); + on(reference, 'focusout', this.handleBlur); + on(popper, 'focusout', this.handleBlur); + } + on(reference, 'keydown', this.handleKeydown); + on(reference, 'click', this.handleClick); + } + if (this.trigger === 'click') { + on(reference, 'click', this.doToggle); + on(document, 'click', this.handleDocumentClick); + } else if (this.trigger === 'hover') { + on(reference, 'mouseenter', this.handleMouseEnter); + on(popper, 'mouseenter', this.handleMouseEnter); + on(reference, 'mouseleave', this.handleMouseLeave); + on(popper, 'mouseleave', this.handleMouseLeave); + } else if (this.trigger === 'focus') { + if (this.tabindex < 0) { + console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key'); + } + if (reference.querySelector('input, textarea')) { + on(reference, 'focusin', this.doShow); + on(reference, 'focusout', this.doClose); + } else { + on(reference, 'mousedown', this.doShow); + on(reference, 'mouseup', this.doClose); + } + } + }, + + beforeDestroy() { + this.cleanup(); + }, + + deactivated() { + this.cleanup(); + }, + + methods: { + doToggle() { + this.showPopper = !this.showPopper; + }, + doShow() { + this.showPopper = true; + }, + doClose() { + this.showPopper = false; + }, + handleFocus() { + addClass(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true; + }, + handleClick() { + removeClass(this.referenceElm, 'focusing'); + }, + handleBlur() { + removeClass(this.referenceElm, 'focusing'); + if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false; + }, + handleMouseEnter() { + clearTimeout(this._timer); + if (this.openDelay) { + this._timer = setTimeout(() => { + this.showPopper = true; + }, this.openDelay); + } else { + this.showPopper = true; + } + }, + handleKeydown(ev) { + if (ev.keyCode === 27 && this.trigger !== 'manual') { // esc + this.doClose(); + } + }, + handleMouseLeave() { + clearTimeout(this._timer); + if (this.closeDelay) { + this._timer = setTimeout(() => { + this.showPopper = false; + }, this.closeDelay); + } else { + this.showPopper = false; + } + }, + handleDocumentClick(e) { + let reference = this.reference || this.$refs.reference; + const popper = this.popper || this.$refs.popper; + + if (!reference && this.$refs.wrapper.children) { + reference = this.referenceElm = this.$refs.wrapper.children[0]; + } + if (!this.$el || + !reference || + this.$el.contains(e.target) || + reference.contains(e.target) || + !popper || + popper.contains(e.target)) return; + this.showPopper = false; + }, + handleAfterEnter() { + this.$emit('after-enter'); + }, + handleAfterLeave() { + this.$emit('after-leave'); + this.doDestroy(); + }, + cleanup() { + if (this.openDelay || this.closeDelay) { + clearTimeout(this._timer); + } + } + }, + + destroyed() { + const reference = this.reference; + + off(reference, 'click', this.doToggle); + off(reference, 'mouseup', this.doClose); + off(reference, 'mousedown', this.doShow); + off(reference, 'focusin', this.doShow); + off(reference, 'focusout', this.doClose); + off(reference, 'mousedown', this.doShow); + off(reference, 'mouseup', this.doClose); + off(reference, 'mouseleave', this.handleMouseLeave); + off(reference, 'mouseenter', this.handleMouseEnter); + off(document, 'click', this.handleDocumentClick); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/progress/index.js b/PAMapp/local_modules/element-ui/packages/progress/index.js new file mode 100644 index 0000000..6e4f92a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/progress/index.js @@ -0,0 +1,8 @@ +import ElProgress from './src/progress'; + +/* istanbul ignore next */ +ElProgress.install = function(Vue) { + Vue.component(ElProgress.name, ElProgress); +}; + +export default ElProgress; diff --git a/PAMapp/local_modules/element-ui/packages/progress/src/progress.vue b/PAMapp/local_modules/element-ui/packages/progress/src/progress.vue new file mode 100644 index 0000000..d19976e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/progress/src/progress.vue @@ -0,0 +1,235 @@ +<template> + <div + class="el-progress" + :class="[ + 'el-progress--' + type, + status ? 'is-' + status : '', + { + 'el-progress--without-text': !showText, + 'el-progress--text-inside': textInside, + } + ]" + role="progressbar" + :aria-valuenow="percentage" + aria-valuemin="0" + aria-valuemax="100" + > + <div class="el-progress-bar" v-if="type === 'line'"> + <div class="el-progress-bar__outer" :style="{height: strokeWidth + 'px', backgroundColor:defineBackColor}"> + <div class="el-progress-bar__inner" :style="barStyle"> + <div class="el-progress-bar__innerText" :style="{color:textColor}" v-if="showText && textInside">{{content}}</div> + </div> + </div> + </div> + <div class="el-progress-circle" :style="{height: width + 'px', width: width + 'px'}" v-else> + <svg viewBox="0 0 100 100"> + <path + class="el-progress-circle__track" + :d="trackPath" + :stroke="defineBackColor" + :stroke-width="relativeStrokeWidth" + fill="none" + :style="trailPathStyle"></path> + <path + class="el-progress-circle__path" + :d="trackPath" + :stroke="stroke" + fill="none" + :stroke-linecap="strokeLinecap" + :stroke-width="percentage ? relativeStrokeWidth : 0" + :style="circlePathStyle"></path> + </svg> + </div> + <div + class="el-progress__text" + v-if="showText && !textInside" + :style="{fontSize: progressTextSize + 'px', color:textColor}" + > + <template v-if="!status">{{content}}</template> + <i v-else :class="iconClass"></i> + </div> + </div> +</template> +<script> + export default { + name: 'ElProgress', + props: { + type: { + type: String, + default: 'line', + validator: val => ['line', 'circle', 'dashboard'].indexOf(val) > -1 + }, + percentage: { + type: Number, + default: 0, + required: true, + validator: val => val >= 0 && val <= 100 + }, + status: { + type: String, + validator: val => ['success', 'exception', 'warning'].indexOf(val) > -1 + }, + strokeWidth: { + type: Number, + default: 6 + }, + strokeLinecap: { + type: String, + default: 'round' + }, + textInside: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 126 + }, + showText: { + type: Boolean, + default: true + }, + color: { + type: [String, Array, Function], + default: '' + }, + defineBackColor: { + type: [String, Array, Function], + default: '#ebeef5' + }, + textColor: { + type: [String, Array, Function], + default: '#606266' + }, + format: Function + }, + computed: { + barStyle() { + const style = {}; + style.width = this.percentage + '%'; + style.backgroundColor = this.getCurrentColor(this.percentage); + return style; + }, + relativeStrokeWidth() { + return (this.strokeWidth / this.width * 100).toFixed(1); + }, + radius() { + if (this.type === 'circle' || this.type === 'dashboard') { + return parseInt(50 - parseFloat(this.relativeStrokeWidth) / 2, 10); + } else { + return 0; + } + }, + trackPath() { + const radius = this.radius; + const isDashboard = this.type === 'dashboard'; + return ` + M 50 50 + m 0 ${isDashboard ? '' : '-'}${radius} + a ${radius} ${radius} 0 1 1 0 ${isDashboard ? '-' : ''}${radius * 2} + a ${radius} ${radius} 0 1 1 0 ${isDashboard ? '' : '-'}${radius * 2} + `; + }, + perimeter() { + return 2 * Math.PI * this.radius; + }, + rate() { + return this.type === 'dashboard' ? 0.75 : 1; + }, + strokeDashoffset() { + const offset = -1 * this.perimeter * (1 - this.rate) / 2; + return `${offset}px`; + }, + trailPathStyle() { + return { + strokeDasharray: `${(this.perimeter * this.rate)}px, ${this.perimeter}px`, + strokeDashoffset: this.strokeDashoffset + }; + }, + circlePathStyle() { + return { + strokeDasharray: `${this.perimeter * this.rate * (this.percentage / 100) }px, ${this.perimeter}px`, + strokeDashoffset: this.strokeDashoffset, + transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease' + }; + }, + stroke() { + let ret; + if (this.color) { + ret = this.getCurrentColor(this.percentage); + } else { + switch (this.status) { + case 'success': + ret = '#13ce66'; + break; + case 'exception': + ret = '#ff4949'; + break; + case 'warning': + ret = '#e6a23c'; + break; + default: + ret = '#20a0ff'; + } + } + return ret; + }, + iconClass() { + if (this.status === 'warning') { + return 'el-icon-warning'; + } + if (this.type === 'line') { + return this.status === 'success' ? 'el-icon-circle-check' : 'el-icon-circle-close'; + } else { + return this.status === 'success' ? 'el-icon-check' : 'el-icon-close'; + } + }, + progressTextSize() { + return this.type === 'line' + ? 12 + this.strokeWidth * 0.4 + : this.width * 0.111111 + 2 ; + }, + content() { + if (typeof this.format === 'function') { + return this.format(this.percentage) || ''; + } else { + return `${this.percentage}%`; + } + } + }, + methods: { + getCurrentColor(percentage) { + if (typeof this.color === 'function') { + return this.color(percentage); + } else if (typeof this.color === 'string') { + return this.color; + } else { + return this.getLevelColor(percentage); + } + }, + getLevelColor(percentage) { + const colorArray = this.getColorArray().sort((a, b) => a.percentage - b.percentage); + + for (let i = 0; i < colorArray.length; i++) { + if (colorArray[i].percentage > percentage) { + return colorArray[i].color; + } + } + return colorArray[colorArray.length - 1].color; + }, + getColorArray() { + const color = this.color; + const span = 100 / color.length; + return color.map((seriesColor, index) => { + if (typeof seriesColor === 'string') { + return { + color: seriesColor, + percentage: (index + 1) * span + }; + } + return seriesColor; + }); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/radio-button/index.js b/PAMapp/local_modules/element-ui/packages/radio-button/index.js new file mode 100644 index 0000000..3045f9b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio-button/index.js @@ -0,0 +1,8 @@ +import RadioButton from '../radio/src/radio-button.vue'; + +/* istanbul ignore next */ +RadioButton.install = function(Vue) { + Vue.component(RadioButton.name, RadioButton); +}; + +export default RadioButton; diff --git a/PAMapp/local_modules/element-ui/packages/radio-group/index.js b/PAMapp/local_modules/element-ui/packages/radio-group/index.js new file mode 100644 index 0000000..af3d34b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio-group/index.js @@ -0,0 +1,8 @@ +import RadioGroup from '../radio/src/radio-group.vue'; + +/* istanbul ignore next */ +RadioGroup.install = function(Vue) { + Vue.component(RadioGroup.name, RadioGroup); +}; + +export default RadioGroup; diff --git a/PAMapp/local_modules/element-ui/packages/radio/index.js b/PAMapp/local_modules/element-ui/packages/radio/index.js new file mode 100644 index 0000000..27178ac --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio/index.js @@ -0,0 +1,8 @@ +import Radio from './src/radio'; + +/* istanbul ignore next */ +Radio.install = function(Vue) { + Vue.component(Radio.name, Radio); +}; + +export default Radio; diff --git a/PAMapp/local_modules/element-ui/packages/radio/src/radio-button.vue b/PAMapp/local_modules/element-ui/packages/radio/src/radio-button.vue new file mode 100644 index 0000000..e376703 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio/src/radio-button.vue @@ -0,0 +1,115 @@ +<template> + <label + class="el-radio-button" + :class="[ + size ? 'el-radio-button--' + size : '', + { 'is-active': value === label }, + { 'is-disabled': isDisabled }, + { 'is-focus': focus } + ]" + role="radio" + :aria-checked="value === label" + :aria-disabled="isDisabled" + :tabindex="tabIndex" + @keydown.space.stop.prevent="value = isDisabled ? value : label" + > + <input + class="el-radio-button__orig-radio" + :value="label" + type="radio" + v-model="value" + :name="name" + @change="handleChange" + :disabled="isDisabled" + tabindex="-1" + @focus="focus = true" + @blur="focus = false" + autocomplete="off" + > + <span + class="el-radio-button__inner" + :style="value === label ? activeStyle : null" + @keydown.stop> + <slot></slot> + <template v-if="!$slots.default">{{label}}</template> + </span> + </label> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElRadioButton', + + mixins: [Emitter], + + inject: { + elForm: { + default: '' + }, + elFormItem: { + default: '' + } + }, + + props: { + label: {}, + disabled: Boolean, + name: String + }, + data() { + return { + focus: false + }; + }, + computed: { + value: { + get() { + return this._radioGroup.value; + }, + set(value) { + this._radioGroup.$emit('input', value); + } + }, + _radioGroup() { + let parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + return parent; + } + } + return false; + }, + activeStyle() { + return { + backgroundColor: this._radioGroup.fill || '', + borderColor: this._radioGroup.fill || '', + boxShadow: this._radioGroup.fill ? `-1px 0 0 0 ${this._radioGroup.fill}` : '', + color: this._radioGroup.textColor || '' + }; + }, + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + size() { + return this._radioGroup.radioGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + isDisabled() { + return this.disabled || this._radioGroup.disabled || (this.elForm || {}).disabled; + }, + tabIndex() { + return (this.isDisabled || (this._radioGroup && this.value !== this.label)) ? -1 : 0; + } + }, + + methods: { + handleChange() { + this.$nextTick(() => { + this.dispatch('ElRadioGroup', 'handleChange', this.value); + }); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/radio/src/radio-group.vue b/PAMapp/local_modules/element-ui/packages/radio/src/radio-group.vue new file mode 100644 index 0000000..4cbc6a5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio/src/radio-group.vue @@ -0,0 +1,113 @@ +<template> + <component + :is="_elTag" + class="el-radio-group" + role="radiogroup" + @keydown="handleKeydown" + > + <slot></slot> + </component> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + const keyCode = Object.freeze({ + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40 + }); + export default { + name: 'ElRadioGroup', + + componentName: 'ElRadioGroup', + + inject: { + elFormItem: { + default: '' + } + }, + + mixins: [Emitter], + + props: { + value: {}, + size: String, + fill: String, + textColor: String, + disabled: Boolean + }, + + computed: { + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + _elTag() { + let tag = (this.$vnode.data || {}).tag; + if (!tag || tag === 'component') tag = 'div'; + return tag; + }, + radioGroupSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + } + }, + + created() { + this.$on('handleChange', value => { + this.$emit('change', value); + }); + }, + mounted() { + // 敶adioGroup瘝⊥��恕�★�嚗洵銝�銝芸隞仿�葉Tab撖潸 + const radios = this.$el.querySelectorAll('[type=radio]'); + const firstLabel = this.$el.querySelectorAll('[role=radio]')[0]; + if (![].some.call(radios, radio => radio.checked) && firstLabel) { + firstLabel.tabIndex = 0; + } + }, + methods: { + handleKeydown(e) { // 撌血銝�� �隞亙radio蝏��銝��★ + const target = e.target; + const className = target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'; + const radios = this.$el.querySelectorAll(className); + const length = radios.length; + const index = [].indexOf.call(radios, target); + const roleRadios = this.$el.querySelectorAll('[role=radio]'); + switch (e.keyCode) { + case keyCode.LEFT: + case keyCode.UP: + e.stopPropagation(); + e.preventDefault(); + if (index === 0) { + roleRadios[length - 1].click(); + roleRadios[length - 1].focus(); + } else { + roleRadios[index - 1].click(); + roleRadios[index - 1].focus(); + } + break; + case keyCode.RIGHT: + case keyCode.DOWN: + if (index === (length - 1)) { + e.stopPropagation(); + e.preventDefault(); + roleRadios[0].click(); + roleRadios[0].focus(); + } else { + roleRadios[index + 1].click(); + roleRadios[index + 1].focus(); + } + break; + default: + break; + } + } + }, + watch: { + value(value) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } + }; +</script> + diff --git a/PAMapp/local_modules/element-ui/packages/radio/src/radio.vue b/PAMapp/local_modules/element-ui/packages/radio/src/radio.vue new file mode 100644 index 0000000..4db6501 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/radio/src/radio.vue @@ -0,0 +1,134 @@ +<template> + <label + class="el-radio" + :class="[ + border && radioSize ? 'el-radio--' + radioSize : '', + { 'is-disabled': isDisabled }, + { 'is-focus': focus }, + { 'is-bordered': border }, + { 'is-checked': model === label } + ]" + role="radio" + :aria-checked="model === label" + :aria-disabled="isDisabled" + :tabindex="tabIndex" + @keydown.space.stop.prevent="model = isDisabled ? model : label" + > + <span class="el-radio__input" + :class="{ + 'is-disabled': isDisabled, + 'is-checked': model === label + }" + > + <span class="el-radio__inner"></span> + <input + ref="radio" + class="el-radio__original" + :value="label" + type="radio" + aria-hidden="true" + v-model="model" + @focus="focus = true" + @blur="focus = false" + @change="handleChange" + :name="name" + :disabled="isDisabled" + tabindex="-1" + autocomplete="off" + > + </span> + <span class="el-radio__label" @keydown.stop> + <slot></slot> + <template v-if="!$slots.default">{{label}}</template> + </span> + </label> +</template> +<script> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElRadio', + + mixins: [Emitter], + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + componentName: 'ElRadio', + + props: { + value: {}, + label: {}, + disabled: Boolean, + name: String, + border: Boolean, + size: String + }, + + data() { + return { + focus: false + }; + }, + computed: { + isGroup() { + let parent = this.$parent; + while (parent) { + if (parent.$options.componentName !== 'ElRadioGroup') { + parent = parent.$parent; + } else { + this._radioGroup = parent; + return true; + } + } + return false; + }, + model: { + get() { + return this.isGroup ? this._radioGroup.value : this.value; + }, + set(val) { + if (this.isGroup) { + this.dispatch('ElRadioGroup', 'input', [val]); + } else { + this.$emit('input', val); + } + this.$refs.radio && (this.$refs.radio.checked = this.model === this.label); + } + }, + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + radioSize() { + const temRadioSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + return this.isGroup + ? this._radioGroup.radioGroupSize || temRadioSize + : temRadioSize; + }, + isDisabled() { + return this.isGroup + ? this._radioGroup.disabled || this.disabled || (this.elForm || {}).disabled + : this.disabled || (this.elForm || {}).disabled; + }, + tabIndex() { + return (this.isDisabled || (this.isGroup && this.model !== this.label)) ? -1 : 0; + } + }, + + methods: { + handleChange() { + this.$nextTick(() => { + this.$emit('change', this.model); + this.isGroup && this.dispatch('ElRadioGroup', 'handleChange', this.model); + }); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/rate/index.js b/PAMapp/local_modules/element-ui/packages/rate/index.js new file mode 100644 index 0000000..49b3a1b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/rate/index.js @@ -0,0 +1,8 @@ +import Rate from './src/main'; + +/* istanbul ignore next */ +Rate.install = function(Vue) { + Vue.component(Rate.name, Rate); +}; + +export default Rate; diff --git a/PAMapp/local_modules/element-ui/packages/rate/src/main.vue b/PAMapp/local_modules/element-ui/packages/rate/src/main.vue new file mode 100644 index 0000000..b70ec86 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/rate/src/main.vue @@ -0,0 +1,348 @@ +<template> + <div + class="el-rate" + @keydown="handleKey" + role="slider" + :aria-valuenow="currentValue" + :aria-valuetext="text" + aria-valuemin="0" + :aria-valuemax="max" + tabindex="0"> + <span + v-for="(item, key) in max" + class="el-rate__item" + @mousemove="setCurrentValue(item, $event)" + @mouseleave="resetCurrentValue" + @click="selectValue(item)" + :style="{ cursor: rateDisabled ? 'auto' : 'pointer' }" + :key="key"> + <i + :class="[classes[item - 1], { 'hover': hoverIndex === item }]" + class="el-rate__icon" + :style="getIconStyle(item)"> + <i + v-if="showDecimalIcon(item)" + :class="decimalIconClass" + :style="decimalStyle" + class="el-rate__decimal"> + </i> + </i> + </span> + <span v-if="showText || showScore" class="el-rate__text" :style="{ color: textColor }">{{ text }}</span> + </div> +</template> + +<script> + import { hasClass } from 'element-ui/src/utils/dom'; + import { isObject } from 'element-ui/src/utils/types'; + import Migrating from 'element-ui/src/mixins/migrating'; + + export default { + name: 'ElRate', + + mixins: [Migrating], + + inject: { + elForm: { + default: '' + } + }, + + data() { + return { + pointerAtLeftHalf: true, + currentValue: this.value, + hoverIndex: -1 + }; + }, + + props: { + value: { + type: Number, + default: 0 + }, + lowThreshold: { + type: Number, + default: 2 + }, + highThreshold: { + type: Number, + default: 4 + }, + max: { + type: Number, + default: 5 + }, + colors: { + type: [Array, Object], + default() { + return ['#F7BA2A', '#F7BA2A', '#F7BA2A']; + } + }, + voidColor: { + type: String, + default: '#C6D1DE' + }, + disabledVoidColor: { + type: String, + default: '#EFF2F7' + }, + iconClasses: { + type: [Array, Object], + default() { + return ['el-icon-star-on', 'el-icon-star-on', 'el-icon-star-on']; + } + }, + voidIconClass: { + type: String, + default: 'el-icon-star-off' + }, + disabledVoidIconClass: { + type: String, + default: 'el-icon-star-on' + }, + disabled: { + type: Boolean, + default: false + }, + allowHalf: { + type: Boolean, + default: false + }, + showText: { + type: Boolean, + default: false + }, + showScore: { + type: Boolean, + default: false + }, + textColor: { + type: String, + default: '#1f2d3d' + }, + texts: { + type: Array, + default() { + return ['��榆', '憭望��', '銝��', '皛⊥��', '����']; + } + }, + scoreTemplate: { + type: String, + default: '{value}' + } + }, + + computed: { + text() { + let result = ''; + if (this.showScore) { + result = this.scoreTemplate.replace(/\{\s*value\s*\}/, this.rateDisabled + ? this.value + : this.currentValue); + } else if (this.showText) { + result = this.texts[Math.ceil(this.currentValue) - 1]; + } + return result; + }, + + decimalStyle() { + let width = ''; + if (this.rateDisabled) { + width = `${ this.valueDecimal }%`; + } else if (this.allowHalf) { + width = '50%'; + } + return { + color: this.activeColor, + width + }; + }, + + valueDecimal() { + return this.value * 100 - Math.floor(this.value) * 100; + }, + + classMap() { + return Array.isArray(this.iconClasses) + ? { + [this.lowThreshold]: this.iconClasses[0], + [this.highThreshold]: { value: this.iconClasses[1], excluded: true }, + [this.max]: this.iconClasses[2] + } : this.iconClasses; + }, + + decimalIconClass() { + return this.getValueFromMap(this.value, this.classMap); + }, + + voidClass() { + return this.rateDisabled ? this.disabledVoidIconClass : this.voidIconClass; + }, + + activeClass() { + return this.getValueFromMap(this.currentValue, this.classMap); + }, + + colorMap() { + return Array.isArray(this.colors) + ? { + [this.lowThreshold]: this.colors[0], + [this.highThreshold]: { value: this.colors[1], excluded: true }, + [this.max]: this.colors[2] + } : this.colors; + }, + + activeColor() { + return this.getValueFromMap(this.currentValue, this.colorMap); + }, + + classes() { + let result = []; + let i = 0; + let threshold = this.currentValue; + if (this.allowHalf && this.currentValue !== Math.floor(this.currentValue)) { + threshold--; + } + for (; i < threshold; i++) { + result.push(this.activeClass); + } + for (; i < this.max; i++) { + result.push(this.voidClass); + } + return result; + }, + + rateDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + value(val) { + this.currentValue = val; + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'text-template': 'text-template is renamed to score-template.' + } + }; + }, + + getValueFromMap(value, map) { + const matchedKeys = Object.keys(map) + .filter(key => { + const val = map[key]; + const excluded = isObject(val) ? val.excluded : false; + return excluded ? value < key : value <= key; + }) + .sort((a, b) => a - b); + const matchedValue = map[matchedKeys[0]]; + return isObject(matchedValue) ? matchedValue.value : (matchedValue || ''); + }, + + showDecimalIcon(item) { + let showWhenDisabled = this.rateDisabled && this.valueDecimal > 0 && item - 1 < this.value && item > this.value; + /* istanbul ignore next */ + let showWhenAllowHalf = this.allowHalf && + this.pointerAtLeftHalf && + item - 0.5 <= this.currentValue && + item > this.currentValue; + return showWhenDisabled || showWhenAllowHalf; + }, + + getIconStyle(item) { + const voidColor = this.rateDisabled ? this.disabledVoidColor : this.voidColor; + return { + color: item <= this.currentValue ? this.activeColor : voidColor + }; + }, + + selectValue(value) { + if (this.rateDisabled) { + return; + } + if (this.allowHalf && this.pointerAtLeftHalf) { + this.$emit('input', this.currentValue); + this.$emit('change', this.currentValue); + } else { + this.$emit('input', value); + this.$emit('change', value); + } + }, + + handleKey(e) { + if (this.rateDisabled) { + return; + } + let currentValue = this.currentValue; + const keyCode = e.keyCode; + if (keyCode === 38 || keyCode === 39) { // left / down + if (this.allowHalf) { + currentValue += 0.5; + } else { + currentValue += 1; + } + e.stopPropagation(); + e.preventDefault(); + } else if (keyCode === 37 || keyCode === 40) { + if (this.allowHalf) { + currentValue -= 0.5; + } else { + currentValue -= 1; + } + e.stopPropagation(); + e.preventDefault(); + } + currentValue = currentValue < 0 ? 0 : currentValue; + currentValue = currentValue > this.max ? this.max : currentValue; + + this.$emit('input', currentValue); + this.$emit('change', currentValue); + }, + + setCurrentValue(value, event) { + if (this.rateDisabled) { + return; + } + /* istanbul ignore if */ + if (this.allowHalf) { + let target = event.target; + if (hasClass(target, 'el-rate__item')) { + target = target.querySelector('.el-rate__icon'); + } + if (hasClass(target, 'el-rate__decimal')) { + target = target.parentNode; + } + this.pointerAtLeftHalf = event.offsetX * 2 <= target.clientWidth; + this.currentValue = this.pointerAtLeftHalf ? value - 0.5 : value; + } else { + this.currentValue = value; + } + this.hoverIndex = value; + }, + + resetCurrentValue() { + if (this.rateDisabled) { + return; + } + if (this.allowHalf) { + this.pointerAtLeftHalf = this.value !== Math.floor(this.value); + } + this.currentValue = this.value; + this.hoverIndex = -1; + } + }, + + created() { + if (!this.value) { + this.$emit('input', 0); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/result/index.js b/PAMapp/local_modules/element-ui/packages/result/index.js new file mode 100644 index 0000000..b967c16 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/index.js @@ -0,0 +1,8 @@ +import Result from './src/index.vue'; + +/* istanbul ignore next */ +Result.install = function(Vue) { + Vue.component(Result.name, Result); +}; + +export default Result; diff --git a/PAMapp/local_modules/element-ui/packages/result/src/icon-error.vue b/PAMapp/local_modules/element-ui/packages/result/src/icon-error.vue new file mode 100644 index 0000000..7888f7b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/src/icon-error.vue @@ -0,0 +1,13 @@ +<template> + <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> + <path + d="M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.57818,15.42182 C32.0157534,14.8593933 31.1038797,14.8593933 30.541453,15.42182 L30.541453,15.42182 L24.0006789,21.9625941 L17.458547,15.42182 C16.8961203,14.8593933 15.9842466,14.8593933 15.42182,15.42182 C14.8593933,15.9842466 14.8593933,16.8961203 15.42182,17.458547 L15.42182,17.458547 L21.9639519,23.9993211 L15.42182,30.541453 C14.8593933,31.1038797 14.8593933,32.0157534 15.42182,32.57818 C15.9842466,33.1406067 16.8961203,33.1406067 17.458547,32.57818 L17.458547,32.57818 L24.0006789,26.0360481 L30.541453,32.57818 C31.1038797,33.1406067 32.0157534,33.1406067 32.57818,32.57818 C33.1406067,32.0157534 33.1406067,31.1038797 32.57818,30.541453 L32.57818,30.541453 L26.0374059,23.9993211 L32.57818,17.458547 C33.1406067,16.8961203 33.1406067,15.9842466 32.57818,15.42182 Z" + /> + </svg> +</template> + +<script> +export default { + name: 'IconError' +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/result/src/icon-info.vue b/PAMapp/local_modules/element-ui/packages/result/src/icon-info.vue new file mode 100644 index 0000000..b019d18 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/src/icon-info.vue @@ -0,0 +1,13 @@ +<template> + <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> + <path + d="M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,19 L21,19 C20.1715729,19 19.5,19.6715729 19.5,20.5 C19.5,21.3284271 20.1715729,22 21,22 L21,22 L22.5,22 L22.5,31 L21,31 C20.1715729,31 19.5,31.6715729 19.5,32.5 C19.5,33.3284271 20.1715729,34 21,34 L21,34 L27,34 C27.8284271,34 28.5,33.3284271 28.5,32.5 C28.5,31.6715729 27.8284271,31 27,31 L27,31 L25.5,31 L25.5,20.5 C25.5,19.6715729 24.8284271,19 24,19 L24,19 Z M24,13 C22.8954305,13 22,13.8954305 22,15 C22,16.1045695 22.8954305,17 24,17 C25.1045695,17 26,16.1045695 26,15 C26,13.8954305 25.1045695,13 24,13 Z" + /> + </svg> +</template> + +<script lang="ts"> +export default { + name: 'IconInfo' +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/result/src/icon-success.vue b/PAMapp/local_modules/element-ui/packages/result/src/icon-success.vue new file mode 100644 index 0000000..7f8217c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/src/icon-success.vue @@ -0,0 +1,13 @@ +<template> + <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> + <path + d="M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M34.5548098,16.4485711 C33.9612228,15.8504763 32.9988282,15.8504763 32.4052412,16.4485711 L32.4052412,16.4485711 L21.413757,27.5805811 L21.413757,27.5805811 L21.4034642,27.590855 C21.0097542,27.9781674 20.3766105,27.9729811 19.9892981,27.5792711 L19.9892981,27.5792711 L15.5947588,23.1121428 C15.0011718,22.514048 14.0387772,22.514048 13.4451902,23.1121428 C12.8516033,23.7102376 12.8516033,24.6799409 13.4451902,25.2780357 L13.4451902,25.2780357 L19.6260786,31.5514289 C20.2196656,32.1495237 21.1820602,32.1495237 21.7756472,31.5514289 L21.7756472,31.5514289 L34.5548098,18.614464 C35.1483967,18.0163692 35.1483967,17.0466659 34.5548098,16.4485711 Z" + /> + </svg> +</template> + +<script> +export default { + name: 'IconSuccess' +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/result/src/icon-warning.vue b/PAMapp/local_modules/element-ui/packages/result/src/icon-warning.vue new file mode 100644 index 0000000..a5aaa8d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/src/icon-warning.vue @@ -0,0 +1,13 @@ +<template> + <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> + <path + d="M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M24,31 C22.8954305,31 22,31.8954305 22,33 C22,34.1045695 22.8954305,35 24,35 C25.1045695,35 26,34.1045695 26,33 C26,31.8954305 25.1045695,31 24,31 Z M24,14 C23.1715729,14 22.5,14.6715729 22.5,15.5 L22.5,15.5 L22.5,27.5 C22.5,28.3284271 23.1715729,29 24,29 C24.8284271,29 25.5,28.3284271 25.5,27.5 L25.5,27.5 L25.5,15.5 C25.5,14.6715729 24.8284271,14 24,14 Z" + /> + </svg> +</template> + +<script lang="ts"> +export default { + name: 'IconWarning' +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/result/src/index.vue b/PAMapp/local_modules/element-ui/packages/result/src/index.vue new file mode 100644 index 0000000..19b300b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/result/src/index.vue @@ -0,0 +1,65 @@ +<template> + <div class="el-result"> + <div class="el-result__icon"> + <slot name="icon"> + <component :is="iconElement" :class="iconElement" /> + </slot> + </div> + <div v-if="title || $slots.title" class="el-result__title"> + <slot name="title"> + <p>{{ title }}</p> + </slot> + </div> + <div v-if="subTitle || $slots.subTitle" class="el-result__subtitle"> + <slot name="subTitle"> + <p>{{ subTitle }}</p> + </slot> + </div> + <div v-if="$slots.extra" class="el-result__extra"> + <slot name="extra"></slot> + </div> + </div> +</template> +<script> +import IconSuccess from './icon-success.vue'; +import IconError from './icon-error.vue'; +import IconWarning from './icon-warning.vue'; +import IconInfo from './icon-info.vue'; + +const IconMap = { + success: 'icon-success', + warning: 'icon-warning', + error: 'icon-error', + info: 'icon-info' +}; + +export default { + name: 'ElResult', + components: { + [IconSuccess.name]: IconSuccess, + [IconError.name]: IconError, + [IconWarning.name]: IconWarning, + [IconInfo.name]: IconInfo + }, + props: { + title: { + type: String, + default: '' + }, + subTitle: { + type: String, + default: '' + }, + icon: { + type: String, + default: 'info' + } + }, + computed: { + iconElement() { + const icon = this.icon; + return icon && IconMap[icon] ? IconMap[icon] : 'icon-info'; + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/row/index.js b/PAMapp/local_modules/element-ui/packages/row/index.js new file mode 100644 index 0000000..528566c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/row/index.js @@ -0,0 +1,9 @@ +import Row from './src/row'; + +/* istanbul ignore next */ +Row.install = function(Vue) { + Vue.component(Row.name, Row); +}; + +export default Row; + diff --git a/PAMapp/local_modules/element-ui/packages/row/src/row.js b/PAMapp/local_modules/element-ui/packages/row/src/row.js new file mode 100644 index 0000000..0fb072d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/row/src/row.js @@ -0,0 +1,44 @@ +export default { + name: 'ElRow', + + componentName: 'ElRow', + + props: { + tag: { + type: String, + default: 'div' + }, + gutter: Number, + type: String, + justify: { + type: String, + default: 'start' + }, + align: String + }, + + computed: { + style() { + const ret = {}; + + if (this.gutter) { + ret.marginLeft = `-${this.gutter / 2}px`; + ret.marginRight = ret.marginLeft; + } + + return ret; + } + }, + + render(h) { + return h(this.tag, { + class: [ + 'el-row', + this.justify !== 'start' ? `is-justify-${this.justify}` : '', + this.align ? `is-align-${this.align}` : '', + { 'el-row--flex': this.type === 'flex' } + ], + style: this.style + }, this.$slots.default); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/scrollbar/index.js b/PAMapp/local_modules/element-ui/packages/scrollbar/index.js new file mode 100644 index 0000000..a7cfcbd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/scrollbar/index.js @@ -0,0 +1,8 @@ +import Scrollbar from './src/main'; + +/* istanbul ignore next */ +Scrollbar.install = function(Vue) { + Vue.component(Scrollbar.name, Scrollbar); +}; + +export default Scrollbar; diff --git a/PAMapp/local_modules/element-ui/packages/scrollbar/src/bar.js b/PAMapp/local_modules/element-ui/packages/scrollbar/src/bar.js new file mode 100644 index 0000000..0cf4c7e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/scrollbar/src/bar.js @@ -0,0 +1,92 @@ +import { on, off } from 'element-ui/src/utils/dom'; +import { renderThumbStyle, BAR_MAP } from './util'; + +/* istanbul ignore next */ +export default { + name: 'Bar', + + props: { + vertical: Boolean, + size: String, + move: Number + }, + + computed: { + bar() { + return BAR_MAP[this.vertical ? 'vertical' : 'horizontal']; + }, + + wrap() { + return this.$parent.wrap; + } + }, + + render(h) { + const { size, move, bar } = this; + + return ( + <div + class={ ['el-scrollbar__bar', 'is-' + bar.key] } + onMousedown={ this.clickTrackHandler } > + <div + ref="thumb" + class="el-scrollbar__thumb" + onMousedown={ this.clickThumbHandler } + style={ renderThumbStyle({ size, move, bar }) }> + </div> + </div> + ); + }, + + methods: { + clickThumbHandler(e) { + // prevent click event of right button + if (e.ctrlKey || e.button === 2) { + return; + } + this.startDrag(e); + this[this.bar.axis] = (e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction])); + }, + + clickTrackHandler(e) { + const offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]); + const thumbHalf = (this.$refs.thumb[this.bar.offset] / 2); + const thumbPositionPercentage = ((offset - thumbHalf) * 100 / this.$el[this.bar.offset]); + + this.wrap[this.bar.scroll] = (thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100); + }, + + startDrag(e) { + e.stopImmediatePropagation(); + this.cursorDown = true; + + on(document, 'mousemove', this.mouseMoveDocumentHandler); + on(document, 'mouseup', this.mouseUpDocumentHandler); + document.onselectstart = () => false; + }, + + mouseMoveDocumentHandler(e) { + if (this.cursorDown === false) return; + const prevPage = this[this.bar.axis]; + + if (!prevPage) return; + + const offset = ((this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1); + const thumbClickPosition = (this.$refs.thumb[this.bar.offset] - prevPage); + const thumbPositionPercentage = ((offset - thumbClickPosition) * 100 / this.$el[this.bar.offset]); + + this.wrap[this.bar.scroll] = (thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100); + }, + + mouseUpDocumentHandler(e) { + this.cursorDown = false; + this[this.bar.axis] = 0; + off(document, 'mousemove', this.mouseMoveDocumentHandler); + document.onselectstart = null; + } + }, + + destroyed() { + off(document, 'mouseup', this.mouseUpDocumentHandler); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/scrollbar/src/main.js b/PAMapp/local_modules/element-ui/packages/scrollbar/src/main.js new file mode 100644 index 0000000..b577370 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/scrollbar/src/main.js @@ -0,0 +1,130 @@ +// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js + +import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; +import scrollbarWidth from 'element-ui/src/utils/scrollbar-width'; +import { toObject } from 'element-ui/src/utils/util'; +import Bar from './bar'; + +/* istanbul ignore next */ +export default { + name: 'ElScrollbar', + + components: { Bar }, + + props: { + native: Boolean, + wrapStyle: {}, + wrapClass: {}, + viewClass: {}, + viewStyle: {}, + noresize: Boolean, // 憒�� container 撠箏站銝�������憟質挽蝵桀�隞乩���扯 + tag: { + type: String, + default: 'div' + } + }, + + data() { + return { + sizeWidth: '0', + sizeHeight: '0', + moveX: 0, + moveY: 0 + }; + }, + + computed: { + wrap() { + return this.$refs.wrap; + } + }, + + render(h) { + let gutter = scrollbarWidth(); + let style = this.wrapStyle; + + if (gutter) { + const gutterWith = `-${gutter}px`; + const gutterStyle = `margin-bottom: ${gutterWith}; margin-right: ${gutterWith};`; + + if (Array.isArray(this.wrapStyle)) { + style = toObject(this.wrapStyle); + style.marginRight = style.marginBottom = gutterWith; + } else if (typeof this.wrapStyle === 'string') { + style += gutterStyle; + } else { + style = gutterStyle; + } + } + const view = h(this.tag, { + class: ['el-scrollbar__view', this.viewClass], + style: this.viewStyle, + ref: 'resize' + }, this.$slots.default); + const wrap = ( + <div + ref="wrap" + style={ style } + onScroll={ this.handleScroll } + class={ [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] }> + { [view] } + </div> + ); + let nodes; + + if (!this.native) { + nodes = ([ + wrap, + <Bar + move={ this.moveX } + size={ this.sizeWidth }></Bar>, + <Bar + vertical + move={ this.moveY } + size={ this.sizeHeight }></Bar> + ]); + } else { + nodes = ([ + <div + ref="wrap" + class={ [this.wrapClass, 'el-scrollbar__wrap'] } + style={ style }> + { [view] } + </div> + ]); + } + return h('div', { class: 'el-scrollbar' }, nodes); + }, + + methods: { + handleScroll() { + const wrap = this.wrap; + + this.moveY = ((wrap.scrollTop * 100) / wrap.clientHeight); + this.moveX = ((wrap.scrollLeft * 100) / wrap.clientWidth); + }, + + update() { + let heightPercentage, widthPercentage; + const wrap = this.wrap; + if (!wrap) return; + + heightPercentage = (wrap.clientHeight * 100 / wrap.scrollHeight); + widthPercentage = (wrap.clientWidth * 100 / wrap.scrollWidth); + + this.sizeHeight = (heightPercentage < 100) ? (heightPercentage + '%') : ''; + this.sizeWidth = (widthPercentage < 100) ? (widthPercentage + '%') : ''; + } + }, + + mounted() { + if (this.native) return; + this.$nextTick(this.update); + !this.noresize && addResizeListener(this.$refs.resize, this.update); + }, + + beforeDestroy() { + if (this.native) return; + !this.noresize && removeResizeListener(this.$refs.resize, this.update); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/scrollbar/src/util.js b/PAMapp/local_modules/element-ui/packages/scrollbar/src/util.js new file mode 100644 index 0000000..9dfbf38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/scrollbar/src/util.js @@ -0,0 +1,34 @@ +export const BAR_MAP = { + vertical: { + offset: 'offsetHeight', + scroll: 'scrollTop', + scrollSize: 'scrollHeight', + size: 'height', + key: 'vertical', + axis: 'Y', + client: 'clientY', + direction: 'top' + }, + horizontal: { + offset: 'offsetWidth', + scroll: 'scrollLeft', + scrollSize: 'scrollWidth', + size: 'width', + key: 'horizontal', + axis: 'X', + client: 'clientX', + direction: 'left' + } +}; + +export function renderThumbStyle({ move, size, bar }) { + const style = {}; + const translate = `translate${bar.axis}(${ move }%)`; + + style[bar.size] = size; + style.transform = translate; + style.msTransform = translate; + style.webkitTransform = translate; + + return style; +}; diff --git a/PAMapp/local_modules/element-ui/packages/select/index.js b/PAMapp/local_modules/element-ui/packages/select/index.js new file mode 100644 index 0000000..8c410b7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/index.js @@ -0,0 +1,8 @@ +import Select from './src/select'; + +/* istanbul ignore next */ +Select.install = function(Vue) { + Vue.component(Select.name, Select); +}; + +export default Select; diff --git a/PAMapp/local_modules/element-ui/packages/select/src/navigation-mixin.js b/PAMapp/local_modules/element-ui/packages/select/src/navigation-mixin.js new file mode 100644 index 0000000..b32490f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/src/navigation-mixin.js @@ -0,0 +1,54 @@ +export default { + data() { + return { + hoverOption: -1 + }; + }, + + computed: { + optionsAllDisabled() { + return this.options.filter(option => option.visible).every(option => option.disabled); + } + }, + + watch: { + hoverIndex(val) { + if (typeof val === 'number' && val > -1) { + this.hoverOption = this.options[val] || {}; + } + this.options.forEach(option => { + option.hover = this.hoverOption === option; + }); + } + }, + + methods: { + navigateOptions(direction) { + if (!this.visible) { + this.visible = true; + return; + } + if (this.options.length === 0 || this.filteredOptionsCount === 0) return; + if (!this.optionsAllDisabled) { + if (direction === 'next') { + this.hoverIndex++; + if (this.hoverIndex === this.options.length) { + this.hoverIndex = 0; + } + } else if (direction === 'prev') { + this.hoverIndex--; + if (this.hoverIndex < 0) { + this.hoverIndex = this.options.length - 1; + } + } + const option = this.options[this.hoverIndex]; + if (option.disabled === true || + option.groupDisabled === true || + !option.visible) { + this.navigateOptions(direction); + } + this.$nextTick(() => this.scrollToOption(this.hoverOption)); + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/select/src/option-group.vue b/PAMapp/local_modules/element-ui/packages/select/src/option-group.vue new file mode 100644 index 0000000..50cddd3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/src/option-group.vue @@ -0,0 +1,60 @@ +<template> + <ul class="el-select-group__wrap" v-show="visible"> + <li class="el-select-group__title">{{ label }}</li> + <li> + <ul class="el-select-group"> + <slot></slot> + </ul> + </li> + </ul> +</template> + +<script type="text/babel"> + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + mixins: [Emitter], + + name: 'ElOptionGroup', + + componentName: 'ElOptionGroup', + + props: { + label: String, + disabled: { + type: Boolean, + default: false + } + }, + + data() { + return { + visible: true + }; + }, + + watch: { + disabled(val) { + this.broadcast('ElOption', 'handleGroupDisabled', val); + } + }, + + methods: { + queryChange() { + this.visible = this.$children && + Array.isArray(this.$children) && + this.$children.some(option => option.visible === true); + } + }, + + created() { + this.$on('queryChange', this.queryChange); + }, + + mounted() { + if (this.disabled) { + this.broadcast('ElOption', 'handleGroupDisabled', this.disabled); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/select/src/option.vue b/PAMapp/local_modules/element-ui/packages/select/src/option.vue new file mode 100644 index 0000000..a343b5b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/src/option.vue @@ -0,0 +1,168 @@ +<template> + <li + @mouseenter="hoverItem" + @click.stop="selectOptionClick" + class="el-select-dropdown__item" + v-show="visible" + :class="{ + 'selected': itemSelected, + 'is-disabled': disabled || groupDisabled || limitReached, + 'hover': hover + }"> + <slot> + <span>{{ currentLabel }}</span> + </slot> + </li> +</template> + +<script type="text/babel"> + import Emitter from 'element-ui/src/mixins/emitter'; + import { getValueByPath, escapeRegexpString } from 'element-ui/src/utils/util'; + + export default { + mixins: [Emitter], + + name: 'ElOption', + + componentName: 'ElOption', + + inject: ['select'], + + props: { + value: { + required: true + }, + label: [String, Number], + created: Boolean, + disabled: { + type: Boolean, + default: false + } + }, + + data() { + return { + index: -1, + groupDisabled: false, + visible: true, + hitState: false, + hover: false + }; + }, + + computed: { + isObject() { + return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]'; + }, + + currentLabel() { + return this.label || (this.isObject ? '' : this.value); + }, + + currentValue() { + return this.value || this.label || ''; + }, + + itemSelected() { + if (!this.select.multiple) { + return this.isEqual(this.value, this.select.value); + } else { + return this.contains(this.select.value, this.value); + } + }, + + limitReached() { + if (this.select.multiple) { + return !this.itemSelected && + (this.select.value || []).length >= this.select.multipleLimit && + this.select.multipleLimit > 0; + } else { + return false; + } + } + }, + + watch: { + currentLabel() { + if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected'); + }, + value(val, oldVal) { + const { remote, valueKey } = this.select; + if (!this.created && !remote) { + if (valueKey && typeof val === 'object' && typeof oldVal === 'object' && val[valueKey] === oldVal[valueKey]) { + return; + } + this.dispatch('ElSelect', 'setSelected'); + } + } + }, + + methods: { + isEqual(a, b) { + if (!this.isObject) { + return a === b; + } else { + const valueKey = this.select.valueKey; + return getValueByPath(a, valueKey) === getValueByPath(b, valueKey); + } + }, + + contains(arr = [], target) { + if (!this.isObject) { + return arr && arr.indexOf(target) > -1; + } else { + const valueKey = this.select.valueKey; + return arr && arr.some(item => { + return getValueByPath(item, valueKey) === getValueByPath(target, valueKey); + }); + } + }, + + handleGroupDisabled(val) { + this.groupDisabled = val; + }, + + hoverItem() { + if (!this.disabled && !this.groupDisabled) { + this.select.hoverIndex = this.select.options.indexOf(this); + } + }, + + selectOptionClick() { + if (this.disabled !== true && this.groupDisabled !== true) { + this.dispatch('ElSelect', 'handleOptionClick', [this, true]); + } + }, + + queryChange(query) { + this.visible = new RegExp(escapeRegexpString(query), 'i').test(this.currentLabel) || this.created; + if (!this.visible) { + this.select.filteredOptionsCount--; + } + } + }, + + created() { + this.select.options.push(this); + this.select.cachedOptions.push(this); + this.select.optionsCount++; + this.select.filteredOptionsCount++; + + this.$on('queryChange', this.queryChange); + this.$on('handleGroupDisabled', this.handleGroupDisabled); + }, + + beforeDestroy() { + const { selected, multiple } = this.select; + let selectedOptions = multiple ? selected : [selected]; + let index = this.select.cachedOptions.indexOf(this); + let selectedIndex = selectedOptions.indexOf(this); + + // if option is not selected, remove it from cache + if (index > -1 && selectedIndex < 0) { + this.select.cachedOptions.splice(index, 1); + } + this.select.onOptionDestroy(this.select.options.indexOf(this)); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/select/src/select-dropdown.vue b/PAMapp/local_modules/element-ui/packages/select/src/select-dropdown.vue new file mode 100644 index 0000000..39e4d80 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/src/select-dropdown.vue @@ -0,0 +1,74 @@ +<template> + <div + class="el-select-dropdown el-popper" + :class="[{ 'is-multiple': $parent.multiple }, popperClass]" + :style="{ minWidth: minWidth }"> + <slot></slot> + </div> +</template> + +<script type="text/babel"> + import Popper from 'element-ui/src/utils/vue-popper'; + + export default { + name: 'ElSelectDropdown', + + componentName: 'ElSelectDropdown', + + mixins: [Popper], + + props: { + placement: { + default: 'bottom-start' + }, + + boundariesPadding: { + default: 0 + }, + + popperOptions: { + default() { + return { + gpuAcceleration: false + }; + } + }, + + visibleArrow: { + default: true + }, + + appendToBody: { + type: Boolean, + default: true + } + }, + + data() { + return { + minWidth: '' + }; + }, + + computed: { + popperClass() { + return this.$parent.popperClass; + } + }, + + watch: { + '$parent.inputWidth'() { + this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px'; + } + }, + + mounted() { + this.referenceElm = this.$parent.$refs.reference.$el; + this.$parent.popperElm = this.popperElm = this.$el; + this.$on('updatePopper', () => { + if (this.$parent.visible) this.updatePopper(); + }); + this.$on('destroyPopper', this.destroyPopper); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/select/src/select.vue b/PAMapp/local_modules/element-ui/packages/select/src/select.vue new file mode 100644 index 0000000..0313375 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/select/src/select.vue @@ -0,0 +1,900 @@ +<template> + <div + class="el-select" + :class="[selectSize ? 'el-select--' + selectSize : '']" + @click.stop="toggleMenu" + v-clickoutside="handleClose"> + <div + class="el-select__tags" + v-if="multiple" + ref="tags" + :style="{ 'max-width': inputWidth - 32 + 'px', width: '100%' }"> + <span v-if="collapseTags && selected.length"> + <el-tag + :closable="!selectDisabled" + :size="collapseTagSize" + :hit="selected[0].hitState" + type="info" + @close="deleteTag($event, selected[0])" + disable-transitions> + <span class="el-select__tags-text">{{ selected[0].currentLabel }}</span> + </el-tag> + <el-tag + v-if="selected.length > 1" + :closable="false" + :size="collapseTagSize" + type="info" + disable-transitions> + <span class="el-select__tags-text">+ {{ selected.length - 1 }}</span> + </el-tag> + </span> + <transition-group @after-leave="resetInputHeight" v-if="!collapseTags"> + <el-tag + v-for="item in selected" + :key="getValueKey(item)" + :closable="!selectDisabled" + :size="collapseTagSize" + :hit="item.hitState" + type="info" + @close="deleteTag($event, item)" + disable-transitions> + <span class="el-select__tags-text">{{ item.currentLabel }}</span> + </el-tag> + </transition-group> + + <input + type="text" + class="el-select__input" + :class="[selectSize ? `is-${ selectSize }` : '']" + :disabled="selectDisabled" + :autocomplete="autoComplete || autocomplete" + @focus="handleFocus" + @blur="softFocus = false" + @keyup="managePlaceholder" + @keydown="resetInputState" + @keydown.down.prevent="handleNavigate('next')" + @keydown.up.prevent="handleNavigate('prev')" + @keydown.enter.prevent="selectOption" + @keydown.esc.stop.prevent="visible = false" + @keydown.delete="deletePrevTag" + @keydown.tab="visible = false" + @compositionstart="handleComposition" + @compositionupdate="handleComposition" + @compositionend="handleComposition" + v-model="query" + @input="debouncedQueryChange" + v-if="filterable" + :style="{ 'flex-grow': '1', width: inputLength / (inputWidth - 32) + '%', 'max-width': inputWidth - 42 + 'px' }" + ref="input"> + </div> + <el-input + ref="reference" + v-model="selectedLabel" + type="text" + :placeholder="currentPlaceholder" + :name="name" + :id="id" + :autocomplete="autoComplete || autocomplete" + :size="selectSize" + :disabled="selectDisabled" + :readonly="readonly" + :validate-event="false" + :class="{ 'is-focus': visible }" + :tabindex="(multiple && filterable) ? '-1' : null" + @focus="handleFocus" + @blur="handleBlur" + @input="debouncedOnInputChange" + @keydown.native.down.stop.prevent="handleNavigate('next')" + @keydown.native.up.stop.prevent="handleNavigate('prev')" + @keydown.native.enter.prevent="selectOption" + @keydown.native.esc.stop.prevent="visible = false" + @keydown.native.tab="visible = false" + @compositionstart="handleComposition" + @compositionupdate="handleComposition" + @compositionend="handleComposition" + @mouseenter.native="inputHovering = true" + @mouseleave.native="inputHovering = false"> + <template slot="prefix" v-if="$slots.prefix"> + <slot name="prefix"></slot> + </template> + <template slot="suffix"> + <i v-show="!showClose" :class="['el-select__caret', 'el-input__icon', 'el-icon-' + iconClass]"></i> + <i v-if="showClose" class="el-select__caret el-input__icon el-icon-circle-close" @click="handleClearClick"></i> + </template> + </el-input> + <transition + name="el-zoom-in-top" + @before-enter="handleMenuEnter" + @after-leave="doDestroy"> + <el-select-menu + ref="popper" + :append-to-body="popperAppendToBody" + v-show="visible && emptyText !== false"> + <el-scrollbar + tag="ul" + wrap-class="el-select-dropdown__wrap" + view-class="el-select-dropdown__list" + ref="scrollbar" + :class="{ 'is-empty': !allowCreate && query && filteredOptionsCount === 0 }" + v-show="options.length > 0 && !loading"> + <el-option + :value="query" + created + v-if="showNewOption"> + </el-option> + <slot></slot> + </el-scrollbar> + <template v-if="emptyText && (!allowCreate || loading || (allowCreate && options.length === 0 ))"> + <slot name="empty" v-if="$slots.empty"></slot> + <p class="el-select-dropdown__empty" v-else> + {{ emptyText }} + </p> + </template> + </el-select-menu> + </transition> + </div> +</template> + +<script type="text/babel"> + import Emitter from 'element-ui/src/mixins/emitter'; + import Focus from 'element-ui/src/mixins/focus'; + import Locale from 'element-ui/src/mixins/locale'; + import ElInput from 'element-ui/packages/input'; + import ElSelectMenu from './select-dropdown.vue'; + import ElOption from './option.vue'; + import ElTag from 'element-ui/packages/tag'; + import ElScrollbar from 'element-ui/packages/scrollbar'; + import debounce from 'throttle-debounce/debounce'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; + import scrollIntoView from 'element-ui/src/utils/scroll-into-view'; + import { getValueByPath, valueEquals, isIE, isEdge } from 'element-ui/src/utils/util'; + import NavigationMixin from './navigation-mixin'; + import { isKorean } from 'element-ui/src/utils/shared'; + + export default { + mixins: [Emitter, Locale, Focus('reference'), NavigationMixin], + + name: 'ElSelect', + + componentName: 'ElSelect', + + inject: { + elForm: { + default: '' + }, + + elFormItem: { + default: '' + } + }, + + provide() { + return { + 'select': this + }; + }, + + computed: { + _elFormItemSize() { + return (this.elFormItem || {}).elFormItemSize; + }, + + readonly() { + return !this.filterable || this.multiple || (!isIE() && !isEdge() && !this.visible); + }, + + showClose() { + let hasValue = this.multiple + ? Array.isArray(this.value) && this.value.length > 0 + : this.value !== undefined && this.value !== null && this.value !== ''; + let criteria = this.clearable && + !this.selectDisabled && + this.inputHovering && + hasValue; + return criteria; + }, + + iconClass() { + return this.remote && this.filterable ? '' : (this.visible ? 'arrow-up is-reverse' : 'arrow-up'); + }, + + debounce() { + return this.remote ? 300 : 0; + }, + + emptyText() { + if (this.loading) { + return this.loadingText || this.t('el.select.loading'); + } else { + if (this.remote && this.query === '' && this.options.length === 0) return false; + if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) { + return this.noMatchText || this.t('el.select.noMatch'); + } + if (this.options.length === 0) { + return this.noDataText || this.t('el.select.noData'); + } + } + return null; + }, + + showNewOption() { + let hasExistingOption = this.options.filter(option => !option.created) + .some(option => option.currentLabel === this.query); + return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption; + }, + + selectSize() { + return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size; + }, + + selectDisabled() { + return this.disabled || (this.elForm || {}).disabled; + }, + + collapseTagSize() { + return ['small', 'mini'].indexOf(this.selectSize) > -1 + ? 'mini' + : 'small'; + }, + propPlaceholder() { + return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder'); + } + }, + + components: { + ElInput, + ElSelectMenu, + ElOption, + ElTag, + ElScrollbar + }, + + directives: { Clickoutside }, + + props: { + name: String, + id: String, + value: { + required: true + }, + autocomplete: { + type: String, + default: 'off' + }, + /** @Deprecated in next major version */ + autoComplete: { + type: String, + validator(val) { + process.env.NODE_ENV !== 'production' && + console.warn('[Element Warn][Select]\'auto-complete\' property will be deprecated in next major version. please use \'autocomplete\' instead.'); + return true; + } + }, + automaticDropdown: Boolean, + size: String, + disabled: Boolean, + clearable: Boolean, + filterable: Boolean, + allowCreate: Boolean, + loading: Boolean, + popperClass: String, + remote: Boolean, + loadingText: String, + noMatchText: String, + noDataText: String, + remoteMethod: Function, + filterMethod: Function, + multiple: Boolean, + multipleLimit: { + type: Number, + default: 0 + }, + placeholder: { + type: String, + required: false + }, + defaultFirstOption: Boolean, + reserveKeyword: Boolean, + valueKey: { + type: String, + default: 'value' + }, + collapseTags: Boolean, + popperAppendToBody: { + type: Boolean, + default: true + } + }, + + data() { + return { + options: [], + cachedOptions: [], + createdLabel: null, + createdSelected: false, + selected: this.multiple ? [] : {}, + inputLength: 20, + inputWidth: 0, + initialInputHeight: 0, + cachedPlaceHolder: '', + optionsCount: 0, + filteredOptionsCount: 0, + visible: false, + softFocus: false, + selectedLabel: '', + hoverIndex: -1, + query: '', + previousQuery: null, + inputHovering: false, + currentPlaceholder: '', + menuVisibleOnFocus: false, + isOnComposition: false, + isSilentBlur: false + }; + }, + + watch: { + selectDisabled() { + this.$nextTick(() => { + this.resetInputHeight(); + }); + }, + + propPlaceholder(val) { + this.cachedPlaceHolder = this.currentPlaceholder = val; + }, + + value(val, oldVal) { + if (this.multiple) { + this.resetInputHeight(); + if ((val && val.length > 0) || (this.$refs.input && this.query !== '')) { + this.currentPlaceholder = ''; + } else { + this.currentPlaceholder = this.cachedPlaceHolder; + } + if (this.filterable && !this.reserveKeyword) { + this.query = ''; + this.handleQueryChange(this.query); + } + } + this.setSelected(); + if (this.filterable && !this.multiple) { + this.inputLength = 20; + } + if (!valueEquals(val, oldVal)) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + + visible(val) { + if (!val) { + this.broadcast('ElSelectDropdown', 'destroyPopper'); + if (this.$refs.input) { + this.$refs.input.blur(); + } + this.query = ''; + this.previousQuery = null; + this.selectedLabel = ''; + this.inputLength = 20; + this.menuVisibleOnFocus = false; + this.resetHoverIndex(); + this.$nextTick(() => { + if (this.$refs.input && + this.$refs.input.value === '' && + this.selected.length === 0) { + this.currentPlaceholder = this.cachedPlaceHolder; + } + }); + if (!this.multiple) { + if (this.selected) { + if (this.filterable && this.allowCreate && + this.createdSelected && this.createdLabel) { + this.selectedLabel = this.createdLabel; + } else { + this.selectedLabel = this.selected.currentLabel; + } + if (this.filterable) this.query = this.selectedLabel; + } + + if (this.filterable) { + this.currentPlaceholder = this.cachedPlaceHolder; + } + } + } else { + this.broadcast('ElSelectDropdown', 'updatePopper'); + if (this.filterable) { + this.query = this.remote ? '' : this.selectedLabel; + this.handleQueryChange(this.query); + if (this.multiple) { + this.$refs.input.focus(); + } else { + if (!this.remote) { + this.broadcast('ElOption', 'queryChange', ''); + this.broadcast('ElOptionGroup', 'queryChange'); + } + + if (this.selectedLabel) { + this.currentPlaceholder = this.selectedLabel; + this.selectedLabel = ''; + } + } + } + } + this.$emit('visible-change', val); + }, + + options() { + if (this.$isServer) return; + this.$nextTick(() => { + this.broadcast('ElSelectDropdown', 'updatePopper'); + }); + if (this.multiple) { + this.resetInputHeight(); + } + let inputs = this.$el.querySelectorAll('input'); + if ([].indexOf.call(inputs, document.activeElement) === -1) { + this.setSelected(); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + } + }, + + methods: { + handleNavigate(direction) { + if (this.isOnComposition) return; + + this.navigateOptions(direction); + }, + handleComposition(event) { + const text = event.target.value; + if (event.type === 'compositionend') { + this.isOnComposition = false; + this.$nextTick(_ => this.handleQueryChange(text)); + } else { + const lastCharacter = text[text.length - 1] || ''; + this.isOnComposition = !isKorean(lastCharacter); + } + }, + handleQueryChange(val) { + if (this.previousQuery === val || this.isOnComposition) return; + if ( + this.previousQuery === null && + (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function') + ) { + this.previousQuery = val; + return; + } + this.previousQuery = val; + this.$nextTick(() => { + if (this.visible) this.broadcast('ElSelectDropdown', 'updatePopper'); + }); + this.hoverIndex = -1; + if (this.multiple && this.filterable) { + this.$nextTick(() => { + const length = this.$refs.input.value.length * 15 + 20; + this.inputLength = this.collapseTags ? Math.min(50, length) : length; + this.managePlaceholder(); + this.resetInputHeight(); + }); + } + if (this.remote && typeof this.remoteMethod === 'function') { + this.hoverIndex = -1; + this.remoteMethod(val); + } else if (typeof this.filterMethod === 'function') { + this.filterMethod(val); + this.broadcast('ElOptionGroup', 'queryChange'); + } else { + this.filteredOptionsCount = this.optionsCount; + this.broadcast('ElOption', 'queryChange', val); + this.broadcast('ElOptionGroup', 'queryChange'); + } + if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) { + this.checkDefaultFirstOption(); + } + }, + + scrollToOption(option) { + const target = Array.isArray(option) && option[0] ? option[0].$el : option.$el; + if (this.$refs.popper && target) { + const menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap'); + scrollIntoView(menu, target); + } + this.$refs.scrollbar && this.$refs.scrollbar.handleScroll(); + }, + + handleMenuEnter() { + this.$nextTick(() => this.scrollToOption(this.selected)); + }, + + emitChange(val) { + if (!valueEquals(this.value, val)) { + this.$emit('change', val); + } + }, + + getOption(value) { + let option; + const isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + const isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]'; + const isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]'; + + for (let i = this.cachedOptions.length - 1; i >= 0; i--) { + const cachedOption = this.cachedOptions[i]; + const isEqual = isObject + ? getValueByPath(cachedOption.value, this.valueKey) === getValueByPath(value, this.valueKey) + : cachedOption.value === value; + if (isEqual) { + option = cachedOption; + break; + } + } + if (option) return option; + const label = (!isObject && !isNull && !isUndefined) + ? String(value) : ''; + let newOption = { + value: value, + currentLabel: label + }; + if (this.multiple) { + newOption.hitState = false; + } + return newOption; + }, + + setSelected() { + if (!this.multiple) { + let option = this.getOption(this.value); + if (option.created) { + this.createdLabel = option.currentLabel; + this.createdSelected = true; + } else { + this.createdSelected = false; + } + this.selectedLabel = option.currentLabel; + this.selected = option; + if (this.filterable) this.query = this.selectedLabel; + return; + } + let result = []; + if (Array.isArray(this.value)) { + this.value.forEach(value => { + result.push(this.getOption(value)); + }); + } + this.selected = result; + this.$nextTick(() => { + this.resetInputHeight(); + }); + }, + + handleFocus(event) { + if (!this.softFocus) { + if (this.automaticDropdown || this.filterable) { + if (this.filterable && !this.visible) { + this.menuVisibleOnFocus = true; + } + this.visible = true; + } + this.$emit('focus', event); + } else { + this.softFocus = false; + } + }, + + blur() { + this.visible = false; + this.$refs.reference.blur(); + }, + + handleBlur(event) { + setTimeout(() => { + if (this.isSilentBlur) { + this.isSilentBlur = false; + } else { + this.$emit('blur', event); + } + }, 50); + this.softFocus = false; + }, + + handleClearClick(event) { + this.deleteSelected(event); + }, + + doDestroy() { + this.$refs.popper && this.$refs.popper.doDestroy(); + }, + + handleClose() { + this.visible = false; + }, + + toggleLastOptionHitState(hit) { + if (!Array.isArray(this.selected)) return; + const option = this.selected[this.selected.length - 1]; + if (!option) return; + + if (hit === true || hit === false) { + option.hitState = hit; + return hit; + } + + option.hitState = !option.hitState; + return option.hitState; + }, + + deletePrevTag(e) { + if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) { + const value = this.value.slice(); + value.pop(); + this.$emit('input', value); + this.emitChange(value); + } + }, + + managePlaceholder() { + if (this.currentPlaceholder !== '') { + this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder; + } + }, + + resetInputState(e) { + if (e.keyCode !== 8) this.toggleLastOptionHitState(false); + this.inputLength = this.$refs.input.value.length * 15 + 20; + this.resetInputHeight(); + }, + + resetInputHeight() { + if (this.collapseTags && !this.filterable) return; + this.$nextTick(() => { + if (!this.$refs.reference) return; + let inputChildNodes = this.$refs.reference.$el.childNodes; + let input = [].filter.call(inputChildNodes, item => item.tagName === 'INPUT')[0]; + const tags = this.$refs.tags; + const tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0; + const sizeInMap = this.initialInputHeight || 40; + input.style.height = this.selected.length === 0 + ? sizeInMap + 'px' + : Math.max( + tags ? (tagsHeight + (tagsHeight > sizeInMap ? 6 : 0)) : 0, + sizeInMap + ) + 'px'; + if (this.visible && this.emptyText !== false) { + this.broadcast('ElSelectDropdown', 'updatePopper'); + } + }); + }, + + resetHoverIndex() { + setTimeout(() => { + if (!this.multiple) { + this.hoverIndex = this.options.indexOf(this.selected); + } else { + if (this.selected.length > 0) { + this.hoverIndex = Math.min.apply(null, this.selected.map(item => this.options.indexOf(item))); + } else { + this.hoverIndex = -1; + } + } + }, 300); + }, + + handleOptionSelect(option, byClick) { + if (this.multiple) { + const value = (this.value || []).slice(); + const optionIndex = this.getValueIndex(value, option.value); + if (optionIndex > -1) { + value.splice(optionIndex, 1); + } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) { + value.push(option.value); + } + this.$emit('input', value); + this.emitChange(value); + if (option.created) { + this.query = ''; + this.handleQueryChange(''); + this.inputLength = 20; + } + if (this.filterable) this.$refs.input.focus(); + } else { + this.$emit('input', option.value); + this.emitChange(option.value); + this.visible = false; + } + this.isSilentBlur = byClick; + this.setSoftFocus(); + if (this.visible) return; + this.$nextTick(() => { + this.scrollToOption(option); + }); + }, + + setSoftFocus() { + this.softFocus = true; + const input = this.$refs.input || this.$refs.reference; + if (input) { + input.focus(); + } + }, + + getValueIndex(arr = [], value) { + const isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]'; + if (!isObject) { + return arr.indexOf(value); + } else { + const valueKey = this.valueKey; + let index = -1; + arr.some((item, i) => { + if (getValueByPath(item, valueKey) === getValueByPath(value, valueKey)) { + index = i; + return true; + } + return false; + }); + return index; + } + }, + + toggleMenu() { + if (!this.selectDisabled) { + if (this.menuVisibleOnFocus) { + this.menuVisibleOnFocus = false; + } else { + this.visible = !this.visible; + } + if (this.visible) { + (this.$refs.input || this.$refs.reference).focus(); + } + } + }, + + selectOption() { + if (!this.visible) { + this.toggleMenu(); + } else { + if (this.options[this.hoverIndex]) { + this.handleOptionSelect(this.options[this.hoverIndex]); + } + } + }, + + deleteSelected(event) { + event.stopPropagation(); + const value = this.multiple ? [] : ''; + this.$emit('input', value); + this.emitChange(value); + this.visible = false; + this.$emit('clear'); + }, + + deleteTag(event, tag) { + let index = this.selected.indexOf(tag); + if (index > -1 && !this.selectDisabled) { + const value = this.value.slice(); + value.splice(index, 1); + this.$emit('input', value); + this.emitChange(value); + this.$emit('remove-tag', tag.value); + } + event.stopPropagation(); + }, + + onInputChange() { + if (this.filterable && this.query !== this.selectedLabel) { + this.query = this.selectedLabel; + this.handleQueryChange(this.query); + } + }, + + onOptionDestroy(index) { + if (index > -1) { + this.optionsCount--; + this.filteredOptionsCount--; + this.options.splice(index, 1); + } + }, + + resetInputWidth() { + this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width; + }, + + handleResize() { + this.resetInputWidth(); + if (this.multiple) this.resetInputHeight(); + }, + + checkDefaultFirstOption() { + this.hoverIndex = -1; + // highlight the created option + let hasCreated = false; + for (let i = this.options.length - 1; i >= 0; i--) { + if (this.options[i].created) { + hasCreated = true; + this.hoverIndex = i; + break; + } + } + if (hasCreated) return; + for (let i = 0; i !== this.options.length; ++i) { + const option = this.options[i]; + if (this.query) { + // highlight first options that passes the filter + if (!option.disabled && !option.groupDisabled && option.visible) { + this.hoverIndex = i; + break; + } + } else { + // highlight currently selected option + if (option.itemSelected) { + this.hoverIndex = i; + break; + } + } + } + }, + + getValueKey(item) { + if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') { + return item.value; + } else { + return getValueByPath(item.value, this.valueKey); + } + } + }, + + created() { + this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder; + if (this.multiple && !Array.isArray(this.value)) { + this.$emit('input', []); + } + if (!this.multiple && Array.isArray(this.value)) { + this.$emit('input', ''); + } + + this.debouncedOnInputChange = debounce(this.debounce, () => { + this.onInputChange(); + }); + + this.debouncedQueryChange = debounce(this.debounce, (e) => { + this.handleQueryChange(e.target.value); + }); + + this.$on('handleOptionClick', this.handleOptionSelect); + this.$on('setSelected', this.setSelected); + }, + + mounted() { + if (this.multiple && Array.isArray(this.value) && this.value.length > 0) { + this.currentPlaceholder = ''; + } + addResizeListener(this.$el, this.handleResize); + + const reference = this.$refs.reference; + if (reference && reference.$el) { + const sizeMap = { + medium: 36, + small: 32, + mini: 28 + }; + const input = reference.$el.querySelector('input'); + this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize]; + } + if (this.remote && this.multiple) { + this.resetInputHeight(); + } + this.$nextTick(() => { + if (reference && reference.$el) { + this.inputWidth = reference.$el.getBoundingClientRect().width; + } + }); + this.setSelected(); + }, + + beforeDestroy() { + if (this.$el && this.handleResize) removeResizeListener(this.$el, this.handleResize); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/skeleton-item/index.js b/PAMapp/local_modules/element-ui/packages/skeleton-item/index.js new file mode 100644 index 0000000..e921e1c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/skeleton-item/index.js @@ -0,0 +1,8 @@ +import SkeletonItem from '../skeleton/src/item'; + +/* istanbul ignore next */ +SkeletonItem.install = function(Vue) { + Vue.component(SkeletonItem.name, SkeletonItem); +}; + +export default SkeletonItem; diff --git a/PAMapp/local_modules/element-ui/packages/skeleton/index.js b/PAMapp/local_modules/element-ui/packages/skeleton/index.js new file mode 100644 index 0000000..9487e21 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/skeleton/index.js @@ -0,0 +1,8 @@ +import Skeleton from './src/index.vue'; + +/* istanbul ignore next */ +Skeleton.install = function(Vue) { + Vue.component(Skeleton.name, Skeleton); +}; + +export default Skeleton; diff --git a/PAMapp/local_modules/element-ui/packages/skeleton/src/img-placeholder.vue b/PAMapp/local_modules/element-ui/packages/skeleton/src/img-placeholder.vue new file mode 100644 index 0000000..ef88a3b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/skeleton/src/img-placeholder.vue @@ -0,0 +1,16 @@ +<template> + <svg + viewBox="0 0 1024 1024" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z" + /> + </svg> +</template> + +<script> +export default { + name: 'ImgPlaceholder' +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/skeleton/src/index.vue b/PAMapp/local_modules/element-ui/packages/skeleton/src/index.vue new file mode 100644 index 0000000..e897462 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/skeleton/src/index.vue @@ -0,0 +1,76 @@ +<template> + <div> + <template v-if="uiLoading"> + <div :class="['el-skeleton', animated ? 'is-animated' : '', ]" v-bind="$attrs"> + <template v-for="i in count"> + <slot v-if="loading" name="template"> + <el-skeleton-item + v-for="item in rows" + :key="`${i}-${item}`" + :class="{ + 'el-skeleton__paragraph': item !== 1, + 'is-first': item === 1, + 'is-last': item === rows && rows > 1, + }" + variant="p" + /> + </slot> + </template> + </div> + </template> + <template v-else> + <slot v-bind="$attrs"></slot> + </template> + </div> +</template> +<script> +export default { + name: 'ElSkeleton', + props: { + animated: { + type: Boolean, + default: false + }, + count: { + type: Number, + default: 1 + }, + rows: { + type: Number, + default: 4 + }, + loading: { + type: Boolean, + default: true + }, + throttle: { + type: Number, + default: 0 + } + }, + watch: { + loading: { + handler(loading) { + if (this.throttle <= 0) { + this.uiLoading = loading; + return; + } + if (loading) { + clearTimeout(this.timeoutHandle); + this.timeoutHandle = setTimeout(() => { + this.uiLoading = this.loading; + }, this.throttle); + } else { + this.uiLoading = loading; + } + }, + immediate: true + } + }, + data() { + return { + uiLoading: this.throttle <= 0 ? this.loading : false + }; + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/skeleton/src/item.vue b/PAMapp/local_modules/element-ui/packages/skeleton/src/item.vue new file mode 100644 index 0000000..cf4280c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/skeleton/src/item.vue @@ -0,0 +1,22 @@ +<template> + <div :class="['el-skeleton__item', `el-skeleton__${variant}`]"> + <img-placeholder v-if="variant === 'image'" /> + </div> +</template> + +<script> + import ImgPlaceholder from './img-placeholder'; + + export default { + name: 'ElSkeletonItem', + props: { + variant: { + type: String, + default: 'text' + } + }, + components: { + [ImgPlaceholder.name]: ImgPlaceholder + } + }; +</script> \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/slider/index.js b/PAMapp/local_modules/element-ui/packages/slider/index.js new file mode 100644 index 0000000..9374fc4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/slider/index.js @@ -0,0 +1,8 @@ +import Slider from './src/main'; + +/* istanbul ignore next */ +Slider.install = function(Vue) { + Vue.component(Slider.name, Slider); +}; + +export default Slider; diff --git a/PAMapp/local_modules/element-ui/packages/slider/src/button.vue b/PAMapp/local_modules/element-ui/packages/slider/src/button.vue new file mode 100644 index 0000000..5dfa438 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/slider/src/button.vue @@ -0,0 +1,238 @@ +<template> + <div + class="el-slider__button-wrapper" + @mouseenter="handleMouseEnter" + @mouseleave="handleMouseLeave" + @mousedown="onButtonDown" + @touchstart="onButtonDown" + :class="{ 'hover': hovering, 'dragging': dragging }" + :style="wrapperStyle" + ref="button" + tabindex="0" + @focus="handleMouseEnter" + @blur="handleMouseLeave" + @keydown.left="onLeftKeyDown" + @keydown.right="onRightKeyDown" + @keydown.down.prevent="onLeftKeyDown" + @keydown.up.prevent="onRightKeyDown" + > + <el-tooltip + placement="top" + ref="tooltip" + :popper-class="tooltipClass" + :disabled="!showTooltip"> + <span slot="content">{{ formatValue }}</span> + <div class="el-slider__button" :class="{ 'hover': hovering, 'dragging': dragging }"></div> + </el-tooltip> + </div> +</template> + +<script> + import ElTooltip from 'element-ui/packages/tooltip'; + + export default { + name: 'ElSliderButton', + + components: { + ElTooltip + }, + + props: { + value: { + type: Number, + default: 0 + }, + vertical: { + type: Boolean, + default: false + }, + tooltipClass: String + }, + + data() { + return { + hovering: false, + dragging: false, + isClick: false, + startX: 0, + currentX: 0, + startY: 0, + currentY: 0, + startPosition: 0, + newPosition: null, + oldValue: this.value + }; + }, + + computed: { + disabled() { + return this.$parent.sliderDisabled; + }, + + max() { + return this.$parent.max; + }, + + min() { + return this.$parent.min; + }, + + step() { + return this.$parent.step; + }, + + showTooltip() { + return this.$parent.showTooltip; + }, + + precision() { + return this.$parent.precision; + }, + + currentPosition() { + return `${ (this.value - this.min) / (this.max - this.min) * 100 }%`; + }, + + enableFormat() { + return this.$parent.formatTooltip instanceof Function; + }, + + formatValue() { + return this.enableFormat && this.$parent.formatTooltip(this.value) || this.value; + }, + + wrapperStyle() { + return this.vertical ? { bottom: this.currentPosition } : { left: this.currentPosition }; + } + }, + + watch: { + dragging(val) { + this.$parent.dragging = val; + } + }, + + methods: { + displayTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = true); + }, + + hideTooltip() { + this.$refs.tooltip && (this.$refs.tooltip.showPopper = false); + }, + + handleMouseEnter() { + this.hovering = true; + this.displayTooltip(); + }, + + handleMouseLeave() { + this.hovering = false; + this.hideTooltip(); + }, + + onButtonDown(event) { + if (this.disabled) return; + event.preventDefault(); + this.onDragStart(event); + window.addEventListener('mousemove', this.onDragging); + window.addEventListener('touchmove', this.onDragging); + window.addEventListener('mouseup', this.onDragEnd); + window.addEventListener('touchend', this.onDragEnd); + window.addEventListener('contextmenu', this.onDragEnd); + }, + onLeftKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) - this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onRightKeyDown() { + if (this.disabled) return; + this.newPosition = parseFloat(this.currentPosition) + this.step / (this.max - this.min) * 100; + this.setPosition(this.newPosition); + this.$parent.emitChange(); + }, + onDragStart(event) { + this.dragging = true; + this.isClick = true; + if (event.type === 'touchstart') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.startY = event.clientY; + } else { + this.startX = event.clientX; + } + this.startPosition = parseFloat(this.currentPosition); + this.newPosition = this.startPosition; + }, + + onDragging(event) { + if (this.dragging) { + this.isClick = false; + this.displayTooltip(); + this.$parent.resetSize(); + let diff = 0; + if (event.type === 'touchmove') { + event.clientY = event.touches[0].clientY; + event.clientX = event.touches[0].clientX; + } + if (this.vertical) { + this.currentY = event.clientY; + diff = (this.startY - this.currentY) / this.$parent.sliderSize * 100; + } else { + this.currentX = event.clientX; + diff = (this.currentX - this.startX) / this.$parent.sliderSize * 100; + } + this.newPosition = this.startPosition + diff; + this.setPosition(this.newPosition); + } + }, + + onDragEnd() { + if (this.dragging) { + /* + * �甇W mouseup ���閫血�� click嚗紡�皛����漣���撠挾雿宏 + * 銝蝙� preventDefault ���蛹 mouseup ��� click 瘝⊥�釣�����銝� DOM 銝� + */ + setTimeout(() => { + this.dragging = false; + this.hideTooltip(); + if (!this.isClick) { + this.setPosition(this.newPosition); + this.$parent.emitChange(); + } + }, 0); + window.removeEventListener('mousemove', this.onDragging); + window.removeEventListener('touchmove', this.onDragging); + window.removeEventListener('mouseup', this.onDragEnd); + window.removeEventListener('touchend', this.onDragEnd); + window.removeEventListener('contextmenu', this.onDragEnd); + } + }, + + setPosition(newPosition) { + if (newPosition === null || isNaN(newPosition)) return; + if (newPosition < 0) { + newPosition = 0; + } else if (newPosition > 100) { + newPosition = 100; + } + const lengthPerStep = 100 / ((this.max - this.min) / this.step); + const steps = Math.round(newPosition / lengthPerStep); + let value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min; + value = parseFloat(value.toFixed(this.precision)); + this.$emit('input', value); + this.$nextTick(() => { + this.displayTooltip(); + this.$refs.tooltip && this.$refs.tooltip.updatePopper(); + }); + if (!this.dragging && this.value !== this.oldValue) { + this.oldValue = this.value; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/slider/src/main.vue b/PAMapp/local_modules/element-ui/packages/slider/src/main.vue new file mode 100644 index 0000000..68d00ad --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/slider/src/main.vue @@ -0,0 +1,427 @@ +<template> + <div + class="el-slider" + :class="{ 'is-vertical': vertical, 'el-slider--with-input': showInput }" + role="slider" + :aria-valuemin="min" + :aria-valuemax="max" + :aria-orientation="vertical ? 'vertical': 'horizontal'" + :aria-disabled="sliderDisabled" + > + <el-input-number + v-model="firstValue" + v-if="showInput && !range" + class="el-slider__input" + ref="input" + @change="emitChange" + :step="step" + :disabled="sliderDisabled" + :controls="showInputControls" + :min="min" + :max="max" + :debounce="debounce" + :size="inputSize"> + </el-input-number> + <div + class="el-slider__runway" + :class="{ 'show-input': showInput, 'disabled': sliderDisabled }" + :style="runwayStyle" + @click="onSliderClick" + ref="slider"> + <div + class="el-slider__bar" + :style="barStyle"> + </div> + <slider-button + :vertical="vertical" + v-model="firstValue" + :tooltip-class="tooltipClass" + ref="button1"> + </slider-button> + <slider-button + :vertical="vertical" + v-model="secondValue" + :tooltip-class="tooltipClass" + ref="button2" + v-if="range"> + </slider-button> + <div + class="el-slider__stop" + v-for="(item, key) in stops" + :key="key" + :style="getStopStyle(item)" + v-if="showStops"> + </div> + <template v-if="markList.length > 0"> + <div> + <div + v-for="(item, key) in markList" + :style="getStopStyle(item.position)" + class="el-slider__stop el-slider__marks-stop" + :key="key"> + </div> + </div> + <div class="el-slider__marks"> + <slider-marker + :mark="item.mark" v-for="(item, key) in markList" + :key="key" + :style="getStopStyle(item.position)"> + </slider-marker> + </div> + </template> + </div> + </div> +</template> + +<script type="text/babel"> + import ElInputNumber from 'element-ui/packages/input-number'; + import SliderButton from './button.vue'; + import SliderMarker from './marker'; + import Emitter from 'element-ui/src/mixins/emitter'; + + export default { + name: 'ElSlider', + + mixins: [Emitter], + + inject: { + elForm: { + default: '' + } + }, + + props: { + min: { + type: Number, + default: 0 + }, + max: { + type: Number, + default: 100 + }, + step: { + type: Number, + default: 1 + }, + value: { + type: [Number, Array], + default: 0 + }, + showInput: { + type: Boolean, + default: false + }, + showInputControls: { + type: Boolean, + default: true + }, + inputSize: { + type: String, + default: 'small' + }, + showStops: { + type: Boolean, + default: false + }, + showTooltip: { + type: Boolean, + default: true + }, + formatTooltip: Function, + disabled: { + type: Boolean, + default: false + }, + range: { + type: Boolean, + default: false + }, + vertical: { + type: Boolean, + default: false + }, + height: { + type: String + }, + debounce: { + type: Number, + default: 300 + }, + label: { + type: String + }, + tooltipClass: String, + marks: Object + }, + + components: { + ElInputNumber, + SliderButton, + SliderMarker + }, + + data() { + return { + firstValue: null, + secondValue: null, + oldValue: null, + dragging: false, + sliderSize: 1 + }; + }, + + watch: { + value(val, oldVal) { + if (this.dragging || + Array.isArray(val) && + Array.isArray(oldVal) && + val.every((item, index) => item === oldVal[index])) { + return; + } + this.setValues(); + }, + + dragging(val) { + if (!val) { + this.setValues(); + } + }, + + firstValue(val) { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } else { + this.$emit('input', val); + } + }, + + secondValue() { + if (this.range) { + this.$emit('input', [this.minValue, this.maxValue]); + } + }, + + min() { + this.setValues(); + }, + + max() { + this.setValues(); + } + }, + + methods: { + valueChanged() { + if (this.range) { + return ![this.minValue, this.maxValue] + .every((item, index) => item === this.oldValue[index]); + } else { + return this.value !== this.oldValue; + } + }, + setValues() { + if (this.min > this.max) { + console.error('[Element Error][Slider]min should not be greater than max.'); + return; + } + const val = this.value; + if (this.range && Array.isArray(val)) { + if (val[1] < this.min) { + this.$emit('input', [this.min, this.min]); + } else if (val[0] > this.max) { + this.$emit('input', [this.max, this.max]); + } else if (val[0] < this.min) { + this.$emit('input', [this.min, val[1]]); + } else if (val[1] > this.max) { + this.$emit('input', [val[0], this.max]); + } else { + this.firstValue = val[0]; + this.secondValue = val[1]; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', [this.minValue, this.maxValue]); + this.oldValue = val.slice(); + } + } + } else if (!this.range && typeof val === 'number' && !isNaN(val)) { + if (val < this.min) { + this.$emit('input', this.min); + } else if (val > this.max) { + this.$emit('input', this.max); + } else { + this.firstValue = val; + if (this.valueChanged()) { + this.dispatch('ElFormItem', 'el.form.change', val); + this.oldValue = val; + } + } + } + }, + + setPosition(percent) { + const targetValue = this.min + percent * (this.max - this.min) / 100; + if (!this.range) { + this.$refs.button1.setPosition(percent); + return; + } + let button; + if (Math.abs(this.minValue - targetValue) < Math.abs(this.maxValue - targetValue)) { + button = this.firstValue < this.secondValue ? 'button1' : 'button2'; + } else { + button = this.firstValue > this.secondValue ? 'button1' : 'button2'; + } + this.$refs[button].setPosition(percent); + }, + + onSliderClick(event) { + if (this.sliderDisabled || this.dragging) return; + this.resetSize(); + if (this.vertical) { + const sliderOffsetBottom = this.$refs.slider.getBoundingClientRect().bottom; + this.setPosition((sliderOffsetBottom - event.clientY) / this.sliderSize * 100); + } else { + const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left; + this.setPosition((event.clientX - sliderOffsetLeft) / this.sliderSize * 100); + } + this.emitChange(); + }, + + resetSize() { + if (this.$refs.slider) { + this.sliderSize = this.$refs.slider[`client${ this.vertical ? 'Height' : 'Width' }`]; + } + }, + + emitChange() { + this.$nextTick(() => { + this.$emit('change', this.range ? [this.minValue, this.maxValue] : this.value); + }); + }, + + getStopStyle(position) { + return this.vertical ? { 'bottom': position + '%' } : { 'left': position + '%' }; + } + }, + + computed: { + stops() { + if (!this.showStops || this.min > this.max) return []; + if (this.step === 0) { + process.env.NODE_ENV !== 'production' && + console.warn('[Element Warn][Slider]step should not be 0.'); + return []; + } + const stopCount = (this.max - this.min) / this.step; + const stepWidth = 100 * this.step / (this.max - this.min); + const result = []; + for (let i = 1; i < stopCount; i++) { + result.push(i * stepWidth); + } + if (this.range) { + return result.filter(step => { + return step < 100 * (this.minValue - this.min) / (this.max - this.min) || + step > 100 * (this.maxValue - this.min) / (this.max - this.min); + }); + } else { + return result.filter(step => step > 100 * (this.firstValue - this.min) / (this.max - this.min)); + } + }, + + markList() { + if (!this.marks) { + return []; + } + + const marksKeys = Object.keys(this.marks); + return marksKeys.map(parseFloat) + .sort((a, b) => a - b) + .filter(point => point <= this.max && point >= this.min) + .map(point => ({ + point, + position: (point - this.min) * 100 / (this.max - this.min), + mark: this.marks[point] + })); + }, + + minValue() { + return Math.min(this.firstValue, this.secondValue); + }, + + maxValue() { + return Math.max(this.firstValue, this.secondValue); + }, + + barSize() { + return this.range + ? `${ 100 * (this.maxValue - this.minValue) / (this.max - this.min) }%` + : `${ 100 * (this.firstValue - this.min) / (this.max - this.min) }%`; + }, + + barStart() { + return this.range + ? `${ 100 * (this.minValue - this.min) / (this.max - this.min) }%` + : '0%'; + }, + + precision() { + let precisions = [this.min, this.max, this.step].map(item => { + let decimal = ('' + item).split('.')[1]; + return decimal ? decimal.length : 0; + }); + return Math.max.apply(null, precisions); + }, + + runwayStyle() { + return this.vertical ? { height: this.height } : {}; + }, + + barStyle() { + return this.vertical + ? { + height: this.barSize, + bottom: this.barStart + } : { + width: this.barSize, + left: this.barStart + }; + }, + + sliderDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + mounted() { + let valuetext; + if (this.range) { + if (Array.isArray(this.value)) { + this.firstValue = Math.max(this.min, this.value[0]); + this.secondValue = Math.min(this.max, this.value[1]); + } else { + this.firstValue = this.min; + this.secondValue = this.max; + } + this.oldValue = [this.firstValue, this.secondValue]; + valuetext = `${this.firstValue}-${this.secondValue}`; + } else { + if (typeof this.value !== 'number' || isNaN(this.value)) { + this.firstValue = this.min; + } else { + this.firstValue = Math.min(this.max, Math.max(this.min, this.value)); + } + this.oldValue = this.firstValue; + valuetext = this.firstValue; + } + this.$el.setAttribute('aria-valuetext', valuetext); + + // label screen reader + this.$el.setAttribute('aria-label', this.label ? this.label : `slider between ${this.min} and ${this.max}`); + + this.resetSize(); + window.addEventListener('resize', this.resetSize); + }, + + beforeDestroy() { + window.removeEventListener('resize', this.resetSize); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/slider/src/marker.js b/PAMapp/local_modules/element-ui/packages/slider/src/marker.js new file mode 100644 index 0000000..2d5f91c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/slider/src/marker.js @@ -0,0 +1,18 @@ +export default { + name: 'ElMarker', + + props: { + mark: { + type: [String, Object] + } + }, + render() { + let label = typeof this.mark === 'string' ? this.mark : this.mark.label; + + return ( + <div class="el-slider__marks-text" style={ this.mark.style || {} }> + { label } + </div> + ); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/spinner/index.js b/PAMapp/local_modules/element-ui/packages/spinner/index.js new file mode 100644 index 0000000..65f8821 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/spinner/index.js @@ -0,0 +1,8 @@ +import Spinner from './src/spinner'; + +/* istanbul ignore next */ +Spinner.install = function(Vue) { + Vue.component(Spinner.name, Spinner); +}; + +export default Spinner; diff --git a/PAMapp/local_modules/element-ui/packages/spinner/src/spinner.vue b/PAMapp/local_modules/element-ui/packages/spinner/src/spinner.vue new file mode 100644 index 0000000..2597d11 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/spinner/src/spinner.vue @@ -0,0 +1,27 @@ +<template> + <span class="el-spinner"> + <svg class="el-spinner-inner" viewBox="0 0 50 50" :style="{ width: radius/2 + 'px', height: radius/2 + 'px' }"> + <circle class="path" cx="25" cy="25" r="20" fill="none" :stroke="strokeColor" :stroke-width="strokeWidth"></circle> + </svg> + </span> +</template> +<script> + export default { + name: 'ElSpinner', + props: { + type: String, + radius: { + type: Number, + default: 100 + }, + strokeWidth: { + type: Number, + default: 5 + }, + strokeColor: { + type: String, + default: '#efefef' + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/statistic/index.js b/PAMapp/local_modules/element-ui/packages/statistic/index.js new file mode 100644 index 0000000..0223bf8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/statistic/index.js @@ -0,0 +1,8 @@ +import Statistic from './src/main'; + +/* istanbul ignore next */ +Statistic.install = function(Vue) { + Vue.component(Statistic.name, Statistic); +}; + +export default Statistic; diff --git a/PAMapp/local_modules/element-ui/packages/statistic/src/main.vue b/PAMapp/local_modules/element-ui/packages/statistic/src/main.vue new file mode 100644 index 0000000..f8e0691 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/statistic/src/main.vue @@ -0,0 +1,207 @@ +<template> + <div class="el-statistic"> + <div class="head" v-if="title||$slots.title"> + <slot name="title"> + <span class="title"> + {{ title }} + </span> + </slot> + </div> + <div class="con"> + <span class="prefix" v-if="prefix||$slots.prefix"> + <slot name="prefix" > + {{ prefix }} + </slot> + </span> + <span class="number" :style="valueStyle"> + <slot name="formatter"> {{ disposeValue }}</slot> + </span> + <span class="suffix" v-if="suffix||$slots.suffix"> + <slot name="suffix"> + {{ suffix }} + </slot> + </span> + </div> + </div> +</template> + +<script> +import { isNumber, chain, multiply, padStart, reduce} from 'element-ui/src/utils/lodash'; +export default { + name: 'ElStatistic', + data() { + return { + disposeValue: '', + timeTask: null, + REFRESH_INTERVAL: 1000 / 30 + }; + }, + props: { + decimalSeparator: { + type: String, + default: '.' + }, + groupSeparator: { + type: String, + default: '' + }, + precision: { + type: Number, + default: null + }, + value: { + type: [String, Number], + default: '' + }, + prefix: { + type: String, + default: '' + }, + suffix: { + type: String, + default: '' + }, + title: { + type: [String, Number], + default: '' + }, + timeIndices: { + type: Boolean, + default: false + }, + valueStyle: { + type: Object, + default: function() { + return {}; + } + }, + format: { + type: String, + default: 'HH:mm:ss:SSS' + }, + rate: { + type: Number, + default: 1000 + } + }, + created() { + this.branch(); + }, + watch: { + value: function() { + this.branch(); + } + }, + methods: { + branch() { + let { timeIndices, countDown, dispose} = this; + timeIndices ? countDown() : dispose(); + }, + magnification(num, mulriple = 1000, groupSeparator = ',') { + // magnification factor + const level = String(mulriple).length - 1; + const reg = new RegExp(`\\d{1,${level}}(?=(\\d{${level}})+$)`, 'g'); + const result = String(num) + .replace(reg, '$&,') + .split(',') + .join(groupSeparator); + return result; + }, + dispose() { + let { value, precision, groupSeparator, rate } = this; + if (!isNumber(value)) return false; + let [integer, decimal] = String(value).split('.'); + if (precision) { + decimal = `${decimal || ''}${(1) + .toFixed(precision) + .replace('.', '') + .slice(1)}`; + decimal = decimal.slice(0, precision); + } + let result = 0; + // 1000 multiplying power + if (groupSeparator) { + integer = this.magnification(integer, rate, groupSeparator); + } + + result = [integer, decimal].join( + decimal ? this.decimalSeparator : '' + ); + this.disposeValue = result; + return result; + }, + diffDate(minuend, subtrahend) { + return Math.max(minuend - subtrahend, 0); + }, + suspend(isStop) { + if (isStop) { + if (this.timeTask) { + clearInterval(this.timeTask); + this.timeTask = null; + } + } else { + this.branch(); + } + return this.disposeValue; + }, + formatTimeStr: function(time) { + let {format} = this; + const escapeRegex = /\[[^\]]*]/g; + const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1)); + const timeUnits = [ + ['Y', 1000 * 60 * 60 * 24 * 365], // years + ['M', 1000 * 60 * 60 * 24 * 30], // months + ['D', 1000 * 60 * 60 * 24], // days + ['H', 1000 * 60 * 60], // hours + ['m', 1000 * 60], // minutes + ['s', 1000], // seconds + ['S', 1] // million seconds + ]; + let formatText = reduce( + timeUnits, + (con, item) => { + const name = item[0]; + return con.replace(new RegExp(`${name}+`, 'g'), (match) => { + let sum = chain(time).divide(item[1]).floor(0).value(); + time -= multiply(sum, item[1]); + return padStart(String(sum), String(match).length, 0); + }); + }, + format + ); + let index = 0; + return formatText.replace(escapeRegex, () => { + const match = keepList[index]; + index += 1; + return match; + }); + }, + stopTime(time) { + let result = true; // stop + if (time) { + this.$emit('change', time); + result = false; + } else { + result = true; + this.suspend(true); + this.$emit('finish', true); + } + return result; + }, + countDown() { + let {REFRESH_INTERVAL, timeTask, diffDate, formatTimeStr, stopTime, suspend} = this; + if (timeTask) return; + let than = this; + this.timeTask = setInterval(()=> { + let diffTiem = diffDate(than.value, Date.now()); + than.disposeValue = formatTimeStr(diffTiem); + stopTime(diffTiem); + }, REFRESH_INTERVAL); + this.$once('hook:beforeDestroy', () => { + suspend(true); + }); + + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/step/index.js b/PAMapp/local_modules/element-ui/packages/step/index.js new file mode 100644 index 0000000..191f80b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/step/index.js @@ -0,0 +1,8 @@ +import Step from '../steps/src/step'; + +/* istanbul ignore next */ +Step.install = function(Vue) { + Vue.component(Step.name, Step); +}; + +export default Step; diff --git a/PAMapp/local_modules/element-ui/packages/steps/README.md b/PAMapp/local_modules/element-ui/packages/steps/README.md new file mode 100644 index 0000000..8cc7334 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/steps/README.md @@ -0,0 +1,69 @@ +# element-steps +> A element-steps component for Vue.js. + +## Demo +http://element-component.github.io/element-steps + +## Installation +```shell +npm i element-steps -D +``` + +## Usage +```javascript +import Vue from 'vue' +import ElStep from 'element-steps' +import 'element-theme-chalk/dist/step.css' + +Vue.use(ElStep) +``` + +or + +```javascript +import Vue from 'vue' +import { ElSteps, ElStep } from 'element-steps' + +Vue.component('el-steps', ElSteps) +Vue.component('el-step', ElStep) +``` + +### Steps Attributes + +| �� | 霂湔�� | 蝐餃�� | ���� | 暺恕�� | +|---------- |-------- |---------- |------------- |-------- | +| space | 瘥葵 step ��頝��‵�����頝� | Number | �� | �� | +| direction | �蝷箸��� | string | vertical/horizontal | horizontal | +| active | 霈曄蔭敶��瘣餅郊撉� | number | �� | 0 | +| process-status | 霈曄蔭敶�郊撉斤��� | string | wait/process/finish/error/success | process | +| finish-status | 霈曄蔭蝏�郊撉斤��� | string | wait/process/finish/error/success | finish | +| align-center | ����膩撅葉撖寥�� | boolean | - | false | + +### Step Attributes +| �� | 霂湔�� | 蝐餃�� | ���� | 暺恕�� | +|---------- |-------- |---------- |------------- |-------- | +| title | ���� | string | �� | �� | +| description | ��膩�扳��� | string | �� | �� | +| icon | ���� | Element Icon ����������蝙��摰���隞仿��� slot �撘� | string | �� | + +### Step Slot +| name | 霂湔�� | +|----|----| +| icon | ���� | +| title | ���� | +| description | ��膩�扳��� | + + +## Development +```shell +make dev + +## test +make test + +## build +make build +``` + +# License +[MIT](https://opensource.org/licenses/MIT) diff --git a/PAMapp/local_modules/element-ui/packages/steps/index.js b/PAMapp/local_modules/element-ui/packages/steps/index.js new file mode 100644 index 0000000..4d630c0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/steps/index.js @@ -0,0 +1,8 @@ +import Steps from './src/steps'; + +/* istanbul ignore next */ +Steps.install = function(Vue) { + Vue.component(Steps.name, Steps); +}; + +export default Steps; diff --git a/PAMapp/local_modules/element-ui/packages/steps/src/step.vue b/PAMapp/local_modules/element-ui/packages/steps/src/step.vue new file mode 100644 index 0000000..bd5eb92 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/steps/src/step.vue @@ -0,0 +1,184 @@ +<template> + <div + class="el-step" + :style="style" + :class="[ + !isSimple && `is-${$parent.direction}`, + isSimple && 'is-simple', + isLast && !space && !isCenter && 'is-flex', + isCenter && !isVertical && !isSimple && 'is-center' + ]"> + <!-- icon & line --> + <div + class="el-step__head" + :class="`is-${currentStatus}`"> + <div + class="el-step__line" + :style="isLast ? '' : { marginRight: $parent.stepOffset + 'px' }" + > + <i class="el-step__line-inner" :style="lineStyle"></i> + </div> + + <div class="el-step__icon" :class="`is-${icon ? 'icon' : 'text'}`"> + <slot + v-if="currentStatus !== 'success' && currentStatus !== 'error'" + name="icon"> + <i v-if="icon" class="el-step__icon-inner" :class="[icon]"></i> + <div class="el-step__icon-inner" v-if="!icon && !isSimple">{{ index + 1 }}</div> + </slot> + <i + v-else + :class="['el-icon-' + (currentStatus === 'success' ? 'check' : 'close')]" + class="el-step__icon-inner is-status" + > + </i> + </div> + </div> + <!-- title & description --> + <div class="el-step__main"> + <div + class="el-step__title" + ref="title" + :class="['is-' + currentStatus]"> + <slot name="title">{{ title }}</slot> + </div> + <div v-if="isSimple" class="el-step__arrow"></div> + <div + v-else + class="el-step__description" + :class="['is-' + currentStatus]"> + <slot name="description">{{ description }}</slot> + </div> + </div> + </div> +</template> + +<script> +export default { + name: 'ElStep', + + props: { + title: String, + icon: String, + description: String, + status: String + }, + + data() { + return { + index: -1, + lineStyle: {}, + internalStatus: '' + }; + }, + + beforeCreate() { + this.$parent.steps.push(this); + }, + + beforeDestroy() { + const steps = this.$parent.steps; + const index = steps.indexOf(this); + if (index >= 0) { + steps.splice(index, 1); + } + }, + + computed: { + currentStatus() { + return this.status || this.internalStatus; + }, + prevStatus() { + const prevStep = this.$parent.steps[this.index - 1]; + return prevStep ? prevStep.currentStatus : 'wait'; + }, + isCenter() { + return this.$parent.alignCenter; + }, + isVertical() { + return this.$parent.direction === 'vertical'; + }, + isSimple() { + return this.$parent.simple; + }, + isLast() { + const parent = this.$parent; + return parent.steps[parent.steps.length - 1] === this; + }, + stepsCount() { + return this.$parent.steps.length; + }, + space() { + const { isSimple, $parent: { space } } = this; + return isSimple ? '' : space ; + }, + style: function() { + const style = {}; + const parent = this.$parent; + const len = parent.steps.length; + + const space = (typeof this.space === 'number' + ? this.space + 'px' + : this.space + ? this.space + : 100 / (len - (this.isCenter ? 0 : 1)) + '%'); + style.flexBasis = space; + if (this.isVertical) return style; + if (this.isLast) { + style.maxWidth = 100 / this.stepsCount + '%'; + } else { + style.marginRight = -this.$parent.stepOffset + 'px'; + } + + return style; + } + }, + + methods: { + updateStatus(val) { + const prevChild = this.$parent.$children[this.index - 1]; + + if (val > this.index) { + this.internalStatus = this.$parent.finishStatus; + } else if (val === this.index && this.prevStatus !== 'error') { + this.internalStatus = this.$parent.processStatus; + } else { + this.internalStatus = 'wait'; + } + + if (prevChild) prevChild.calcProgress(this.internalStatus); + }, + + calcProgress(status) { + let step = 100; + const style = {}; + + style.transitionDelay = 150 * this.index + 'ms'; + if (status === this.$parent.processStatus) { + step = this.currentStatus !== 'error' ? 0 : 0; + } else if (status === 'wait') { + step = 0; + style.transitionDelay = (-150 * this.index) + 'ms'; + } + + style.borderWidth = step && !this.isSimple ? '1px' : 0; + this.$parent.direction === 'vertical' + ? style.height = step + '%' + : style.width = step + '%'; + + this.lineStyle = style; + } + }, + + mounted() { + const unwatch = this.$watch('index', val => { + this.$watch('$parent.active', this.updateStatus, { immediate: true }); + this.$watch('$parent.processStatus', () => { + const activeIndex = this.$parent.active; + this.updateStatus(activeIndex); + }, { immediate: true }); + unwatch(); + }); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/steps/src/steps.vue b/PAMapp/local_modules/element-ui/packages/steps/src/steps.vue new file mode 100644 index 0000000..c6d0657 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/steps/src/steps.vue @@ -0,0 +1,68 @@ +<template> + <div + class="el-steps" + :class="[ + !simple && 'el-steps--' + direction, + simple && 'el-steps--simple' + ]"> + <slot></slot> + </div> +</template> + +<script> +import Migrating from 'element-ui/src/mixins/migrating'; + +export default { + name: 'ElSteps', + + mixins: [Migrating], + + props: { + space: [Number, String], + active: Number, + direction: { + type: String, + default: 'horizontal' + }, + alignCenter: Boolean, + simple: Boolean, + finishStatus: { + type: String, + default: 'finish' + }, + processStatus: { + type: String, + default: 'process' + } + }, + + data() { + return { + steps: [], + stepOffset: 0 + }; + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'center': 'center is removed.' + } + }; + } + }, + + watch: { + active(newVal, oldVal) { + this.$emit('change', newVal, oldVal); + }, + + steps(steps) { + steps.forEach((child, index) => { + child.index = index; + }); + } + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/submenu/index.js b/PAMapp/local_modules/element-ui/packages/submenu/index.js new file mode 100644 index 0000000..0183785 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/submenu/index.js @@ -0,0 +1,8 @@ +import ElSubmenu from '../menu/src/submenu'; + +/* istanbul ignore next */ +ElSubmenu.install = function(Vue) { + Vue.component(ElSubmenu.name, ElSubmenu); +}; + +export default ElSubmenu; diff --git a/PAMapp/local_modules/element-ui/packages/switch/index.js b/PAMapp/local_modules/element-ui/packages/switch/index.js new file mode 100644 index 0000000..d092884 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/switch/index.js @@ -0,0 +1,9 @@ +import Switch from './src/component'; + +/* istanbul ignore next */ +Switch.install = function(Vue) { + Vue.component(Switch.name, Switch); +}; + +export default Switch; + diff --git a/PAMapp/local_modules/element-ui/packages/switch/src/component.vue b/PAMapp/local_modules/element-ui/packages/switch/src/component.vue new file mode 100644 index 0000000..b853023 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/switch/src/component.vue @@ -0,0 +1,174 @@ +<template> + <div + class="el-switch" + :class="{ 'is-disabled': switchDisabled, 'is-checked': checked }" + role="switch" + :aria-checked="checked" + :aria-disabled="switchDisabled" + @click.prevent="switchValue" + > + <input + class="el-switch__input" + type="checkbox" + @change="handleChange" + ref="input" + :id="id" + :name="name" + :true-value="activeValue" + :false-value="inactiveValue" + :disabled="switchDisabled" + @keydown.enter="switchValue" + > + <span + :class="['el-switch__label', 'el-switch__label--left', !checked ? 'is-active' : '']" + v-if="inactiveIconClass || inactiveText"> + <i :class="[inactiveIconClass]" v-if="inactiveIconClass"></i> + <span v-if="!inactiveIconClass && inactiveText" :aria-hidden="checked">{{ inactiveText }}</span> + </span> + <span class="el-switch__core" ref="core" :style="{ 'width': coreWidth + 'px' }"> + </span> + <span + :class="['el-switch__label', 'el-switch__label--right', checked ? 'is-active' : '']" + v-if="activeIconClass || activeText"> + <i :class="[activeIconClass]" v-if="activeIconClass"></i> + <span v-if="!activeIconClass && activeText" :aria-hidden="!checked">{{ activeText }}</span> + </span> + </div> +</template> +<script> + import emitter from 'element-ui/src/mixins/emitter'; + import Focus from 'element-ui/src/mixins/focus'; + import Migrating from 'element-ui/src/mixins/migrating'; + + export default { + name: 'ElSwitch', + mixins: [Focus('input'), Migrating, emitter], + inject: { + elForm: { + default: '' + } + }, + props: { + value: { + type: [Boolean, String, Number], + default: false + }, + disabled: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 40 + }, + activeIconClass: { + type: String, + default: '' + }, + inactiveIconClass: { + type: String, + default: '' + }, + activeText: String, + inactiveText: String, + activeColor: { + type: String, + default: '' + }, + inactiveColor: { + type: String, + default: '' + }, + activeValue: { + type: [Boolean, String, Number], + default: true + }, + inactiveValue: { + type: [Boolean, String, Number], + default: false + }, + name: { + type: String, + default: '' + }, + validateEvent: { + type: Boolean, + default: true + }, + id: String + }, + data() { + return { + coreWidth: this.width + }; + }, + created() { + if (!~[this.activeValue, this.inactiveValue].indexOf(this.value)) { + this.$emit('input', this.inactiveValue); + } + }, + computed: { + checked() { + return this.value === this.activeValue; + }, + switchDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + watch: { + checked() { + this.$refs.input.checked = this.checked; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + if (this.validateEvent) { + this.dispatch('ElFormItem', 'el.form.change', [this.value]); + } + } + }, + methods: { + handleChange(event) { + const val = this.checked ? this.inactiveValue : this.activeValue; + this.$emit('input', val); + this.$emit('change', val); + this.$nextTick(() => { + // set input's checked property + // in case parent refuses to change component's value + if (this.$refs.input) { + this.$refs.input.checked = this.checked; + } + }); + }, + setBackgroundColor() { + let newColor = this.checked ? this.activeColor : this.inactiveColor; + this.$refs.core.style.borderColor = newColor; + this.$refs.core.style.backgroundColor = newColor; + }, + switchValue() { + !this.switchDisabled && this.handleChange(); + }, + getMigratingConfig() { + return { + props: { + 'on-color': 'on-color is renamed to active-color.', + 'off-color': 'off-color is renamed to inactive-color.', + 'on-text': 'on-text is renamed to active-text.', + 'off-text': 'off-text is renamed to inactive-text.', + 'on-value': 'on-value is renamed to active-value.', + 'off-value': 'off-value is renamed to inactive-value.', + 'on-icon-class': 'on-icon-class is renamed to active-icon-class.', + 'off-icon-class': 'off-icon-class is renamed to inactive-icon-class.' + } + }; + } + }, + mounted() { + /* istanbul ignore if */ + this.coreWidth = this.width || 40; + if (this.activeColor || this.inactiveColor) { + this.setBackgroundColor(); + } + this.$refs.input.checked = this.checked; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tab-pane/index.js b/PAMapp/local_modules/element-ui/packages/tab-pane/index.js new file mode 100644 index 0000000..30500ba --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tab-pane/index.js @@ -0,0 +1,8 @@ +import TabPane from '../tabs/src/tab-pane.vue'; + +/* istanbul ignore next */ +TabPane.install = function(Vue) { + Vue.component(TabPane.name, TabPane); +}; + +export default TabPane; diff --git a/PAMapp/local_modules/element-ui/packages/table-column/index.js b/PAMapp/local_modules/element-ui/packages/table-column/index.js new file mode 100644 index 0000000..2f41ce1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table-column/index.js @@ -0,0 +1,8 @@ +import ElTableColumn from '../table/src/table-column'; + +/* istanbul ignore next */ +ElTableColumn.install = function(Vue) { + Vue.component(ElTableColumn.name, ElTableColumn); +}; + +export default ElTableColumn; diff --git a/PAMapp/local_modules/element-ui/packages/table/index.js b/PAMapp/local_modules/element-ui/packages/table/index.js new file mode 100644 index 0000000..1b577b3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/index.js @@ -0,0 +1,8 @@ +import ElTable from './src/table'; + +/* istanbul ignore next */ +ElTable.install = function(Vue) { + Vue.component(ElTable.name, ElTable); +}; + +export default ElTable; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/config.js b/PAMapp/local_modules/element-ui/packages/table/src/config.js new file mode 100644 index 0000000..c01d0ff --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/config.js @@ -0,0 +1,124 @@ +import { getPropByPath } from 'element-ui/src/utils/util'; + +export const cellStarts = { + default: { + order: '' + }, + selection: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '', + className: 'el-table-column--selection' + }, + expand: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + }, + index: { + width: 48, + minWidth: 48, + realWidth: 48, + order: '' + } +}; + +// 餈��★銝�砲鋡怨��� +export const cellForced = { + selection: { + renderHeader: function(h, { store }) { + return <el-checkbox + disabled={ store.states.data && store.states.data.length === 0 } + indeterminate={ store.states.selection.length > 0 && !this.isAllSelected } + on-input={ this.toggleAllSelection } + value={ this.isAllSelected } />; + }, + renderCell: function(h, { row, column, isSelected, store, $index }) { + return <el-checkbox + nativeOn-click={ (event) => event.stopPropagation() } + value={ isSelected } + disabled={ column.selectable ? !column.selectable.call(null, row, $index) : false } + on-input={ () => { store.commit('rowSelectedChanged', row); } } + />; + }, + sortable: false, + resizable: false + }, + index: { + renderHeader: function(h, { column }) { + return column.label || '#'; + }, + renderCell: function(h, { $index, column }) { + let i = $index + 1; + const index = column.index; + + if (typeof index === 'number') { + i = $index + index; + } else if (typeof index === 'function') { + i = index($index); + } + + return <div>{ i }</div>; + }, + sortable: false + }, + expand: { + renderHeader: function(h, { column }) { + return column.label || ''; + }, + renderCell: function(h, { row, store, isExpanded }) { + const classes = ['el-table__expand-icon']; + if (isExpanded) { + classes.push('el-table__expand-icon--expanded'); + } + const callback = function(e) { + e.stopPropagation(); + store.toggleRowExpansion(row); + }; + return (<div class={ classes } + on-click={callback}> + <i class='el-icon el-icon-arrow-right'></i> + </div>); + }, + sortable: false, + resizable: false, + className: 'el-table__expand-column' + } +}; + +export function defaultRenderCell(h, { row, column, $index }) { + const property = column.property; + const value = property && getPropByPath(row, property).v; + if (column && column.formatter) { + return column.formatter(row, column, value, $index); + } + return value; +} + +export function treeCellPrefix(h, { row, treeNode, store }) { + if (!treeNode) return null; + const ele = []; + const callback = function(e) { + e.stopPropagation(); + store.loadOrToggle(row); + }; + if (treeNode.indent) { + ele.push(<span class="el-table__indent" style={{'padding-left': treeNode.indent + 'px'}}></span>); + } + if (typeof treeNode.expanded === 'boolean' && !treeNode.noLazyChildren) { + const expandClasses = ['el-table__expand-icon', treeNode.expanded ? 'el-table__expand-icon--expanded' : '']; + let iconClasses = ['el-icon-arrow-right']; + if (treeNode.loading) { + iconClasses = ['el-icon-loading']; + } + ele.push(<div class={ expandClasses } + on-click={ callback }> + <i class={ iconClasses }></i> + </div>); + } else { + ele.push(<span class="el-table__placeholder"></span>); + } + return ele; +} diff --git a/PAMapp/local_modules/element-ui/packages/table/src/dropdown.js b/PAMapp/local_modules/element-ui/packages/table/src/dropdown.js new file mode 100644 index 0000000..37d2b9c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/dropdown.js @@ -0,0 +1,28 @@ +import Vue from 'vue'; +var dropdowns = []; + +!Vue.prototype.$isServer && document.addEventListener('click', function(event) { + dropdowns.forEach(function(dropdown) { + var target = event.target; + if (!dropdown || !dropdown.$el) return; + if (target === dropdown.$el || dropdown.$el.contains(target)) { + return; + } + dropdown.handleOutsideClick && dropdown.handleOutsideClick(event); + }); +}); + +export default { + open(instance) { + if (instance) { + dropdowns.push(instance); + } + }, + + close(instance) { + var index = dropdowns.indexOf(instance); + if (index !== -1) { + dropdowns.splice(instance, 1); + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/filter-panel.vue b/PAMapp/local_modules/element-ui/packages/table/src/filter-panel.vue new file mode 100644 index 0000000..3220d6d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/filter-panel.vue @@ -0,0 +1,194 @@ +<template> + <transition name="el-zoom-in-top"> + <div + class="el-table-filter" + v-if="multiple" + v-clickoutside="handleOutsideClick" + v-show="showPopper"> + <div class="el-table-filter__content"> + <el-scrollbar wrap-class="el-table-filter__wrap"> + <el-checkbox-group class="el-table-filter__checkbox-group" v-model="filteredValue"> + <el-checkbox + v-for="filter in filters" + :key="filter.value" + :label="filter.value">{{ filter.text }}</el-checkbox> + </el-checkbox-group> + </el-scrollbar> + </div> + <div class="el-table-filter__bottom"> + <button @click="handleConfirm" + :class="{ 'is-disabled': filteredValue.length === 0 }" + :disabled="filteredValue.length === 0">{{ t('el.table.confirmFilter') }}</button> + <button @click="handleReset">{{ t('el.table.resetFilter') }}</button> + </div> + </div> + <div + class="el-table-filter" + v-else + v-clickoutside="handleOutsideClick" + v-show="showPopper"> + <ul class="el-table-filter__list"> + <li class="el-table-filter__list-item" + :class="{ 'is-active': filterValue === undefined || filterValue === null }" + @click="handleSelect(null)">{{ t('el.table.clearFilter') }}</li> + <li class="el-table-filter__list-item" + v-for="filter in filters" + :label="filter.value" + :key="filter.value" + :class="{ 'is-active': isActive(filter) }" + @click="handleSelect(filter.value)" >{{ filter.text }}</li> + </ul> + </div> + </transition> +</template> + +<script type="text/babel"> + import Popper from 'element-ui/src/utils/vue-popper'; + import { PopupManager } from 'element-ui/src/utils/popup'; + import Locale from 'element-ui/src/mixins/locale'; + import Clickoutside from 'element-ui/src/utils/clickoutside'; + import Dropdown from './dropdown'; + import ElCheckbox from 'element-ui/packages/checkbox'; + import ElCheckboxGroup from 'element-ui/packages/checkbox-group'; + import ElScrollbar from 'element-ui/packages/scrollbar'; + + export default { + name: 'ElTableFilterPanel', + + mixins: [Popper, Locale], + + directives: { + Clickoutside + }, + + components: { + ElCheckbox, + ElCheckboxGroup, + ElScrollbar + }, + + props: { + placement: { + type: String, + default: 'bottom-end' + } + }, + + methods: { + isActive(filter) { + return filter.value === this.filterValue; + }, + + handleOutsideClick() { + setTimeout(() => { + this.showPopper = false; + }, 16); + }, + + handleConfirm() { + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + + handleReset() { + this.filteredValue = []; + this.confirmFilter(this.filteredValue); + this.handleOutsideClick(); + }, + + handleSelect(filterValue) { + this.filterValue = filterValue; + + if ((typeof filterValue !== 'undefined') && (filterValue !== null)) { + this.confirmFilter(this.filteredValue); + } else { + this.confirmFilter([]); + } + + this.handleOutsideClick(); + }, + + confirmFilter(filteredValue) { + this.table.store.commit('filterChange', { + column: this.column, + values: filteredValue + }); + this.table.store.updateAllSelected(); + } + }, + + data() { + return { + table: null, + cell: null, + column: null + }; + }, + + computed: { + filters() { + return this.column && this.column.filters; + }, + + filterValue: { + get() { + return (this.column.filteredValue || [])[0]; + }, + set(value) { + if (this.filteredValue) { + if ((typeof value !== 'undefined') && (value !== null)) { + this.filteredValue.splice(0, 1, value); + } else { + this.filteredValue.splice(0, 1); + } + } + } + }, + + filteredValue: { + get() { + if (this.column) { + return this.column.filteredValue || []; + } + return []; + }, + set(value) { + if (this.column) { + this.column.filteredValue = value; + } + } + }, + + multiple() { + if (this.column) { + return this.column.filterMultiple; + } + return true; + } + }, + + mounted() { + this.popperElm = this.$el; + this.referenceElm = this.cell; + this.table.bodyWrapper.addEventListener('scroll', () => { + this.updatePopper(); + }); + + this.$watch('showPopper', (value) => { + if (this.column) this.column.filterOpened = value; + if (value) { + Dropdown.open(this); + } else { + Dropdown.close(this); + } + }); + }, + watch: { + showPopper(val) { + if (val === true && parseInt(this.popperJS._popper.style.zIndex, 10) < PopupManager.zIndex) { + this.popperJS._popper.style.zIndex = PopupManager.nextZIndex(); + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/table/src/layout-observer.js b/PAMapp/local_modules/element-ui/packages/table/src/layout-observer.js new file mode 100644 index 0000000..605a0f2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/layout-observer.js @@ -0,0 +1,68 @@ +export default { + created() { + this.tableLayout.addObserver(this); + }, + + destroyed() { + this.tableLayout.removeObserver(this); + }, + + computed: { + tableLayout() { + let layout = this.layout; + if (!layout && this.table) { + layout = this.table.layout; + } + if (!layout) { + throw new Error('Can not find table layout.'); + } + return layout; + } + }, + + mounted() { + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + }, + + updated() { + if (this.__updated__) return; + this.onColumnsChange(this.tableLayout); + this.onScrollableChange(this.tableLayout); + this.__updated__ = true; + }, + + methods: { + onColumnsChange(layout) { + const cols = this.$el.querySelectorAll('colgroup > col'); + if (!cols.length) return; + const flattenColumns = layout.getFlattenColumns(); + const columnsMap = {}; + flattenColumns.forEach((column) => { + columnsMap[column.id] = column; + }); + for (let i = 0, j = cols.length; i < j; i++) { + const col = cols[i]; + const name = col.getAttribute('name'); + const column = columnsMap[name]; + if (column) { + col.setAttribute('width', column.realWidth || column.width); + } + } + }, + + onScrollableChange(layout) { + const cols = this.$el.querySelectorAll('colgroup > col[name=gutter]'); + for (let i = 0, j = cols.length; i < j; i++) { + const col = cols[i]; + col.setAttribute('width', layout.scrollY ? layout.gutterWidth : '0'); + } + const ths = this.$el.querySelectorAll('th.gutter'); + for (let i = 0, j = ths.length; i < j; i++) { + const th = ths[i]; + th.style.width = layout.scrollY ? layout.gutterWidth + 'px' : '0'; + th.style.display = layout.scrollY ? '' : 'none'; + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/current.js b/PAMapp/local_modules/element-ui/packages/table/src/store/current.js new file mode 100644 index 0000000..19e31ff --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/current.js @@ -0,0 +1,76 @@ +import { arrayFind } from 'element-ui/src/utils/util'; +import { getRowIdentity } from '../util'; + +export default { + data() { + return { + states: { + // 銝�����挽蝵� currentRowKey �嚗ata 銝�摰�嚗�捂����甇�蝖桃�� currentRow + // ��砲�潛���銝�����靽格 currentRow �嚗�砲�潮�蔭銝� null + _currentRowKey: null, + currentRow: null + } + }; + }, + + methods: { + setCurrentRowKey(key) { + this.assertRowKey(); + this.states._currentRowKey = key; + this.setCurrentRowByKey(key); + }, + + restoreCurrentRowKey() { + this.states._currentRowKey = null; + }, + + setCurrentRowByKey(key) { + const { states } = this; + const { data = [], rowKey } = states; + let currentRow = null; + if (rowKey) { + currentRow = arrayFind(data, item => getRowIdentity(item, rowKey) === key); + } + states.currentRow = currentRow; + }, + + updateCurrentRow(currentRow) { + const { states, table } = this; + const oldCurrentRow = states.currentRow; + if (currentRow && currentRow !== oldCurrentRow) { + states.currentRow = currentRow; + table.$emit('current-change', currentRow, oldCurrentRow); + return; + } + if (!currentRow && oldCurrentRow) { + states.currentRow = null; + table.$emit('current-change', null, oldCurrentRow); + } + }, + + updateCurrentRowData() { + const { states, table } = this; + const { rowKey, _currentRowKey } = states; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + const data = states.data || []; + const oldCurrentRow = states.currentRow; + + // 敶� currentRow 銝 data 銝剜撠���� + if (data.indexOf(oldCurrentRow) === -1 && oldCurrentRow) { + if (rowKey) { + const currentRowKey = getRowIdentity(oldCurrentRow, rowKey); + this.setCurrentRowByKey(currentRowKey); + } else { + states.currentRow = null; + } + if (states.currentRow === null) { + table.$emit('current-change', null, oldCurrentRow); + } + } else if (_currentRowKey) { + // ����銝挽蝵桃�� rowKey 頧砍��� rowData + this.setCurrentRowByKey(_currentRowKey); + this.restoreCurrentRowKey(); + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/expand.js b/PAMapp/local_modules/element-ui/packages/table/src/store/expand.js new file mode 100644 index 0000000..65b7ce8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/expand.js @@ -0,0 +1,65 @@ +import { toggleRowStatus, getKeysMap, getRowIdentity } from '../util'; + +export default { + data() { + return { + states: { + defaultExpandAll: false, + expandRows: [] + } + }; + }, + + methods: { + updateExpandRows() { + const { data = [], rowKey, defaultExpandAll, expandRows } = this.states; + if (defaultExpandAll) { + this.states.expandRows = data.slice(); + } else if (rowKey) { + // TODO嚗���誨��隞乩��� + const expandRowsMap = getKeysMap(expandRows, rowKey); + this.states.expandRows = data.reduce((prev, row) => { + const rowId = getRowIdentity(row, rowKey); + const rowInfo = expandRowsMap[rowId]; + if (rowInfo) { + prev.push(row); + } + return prev; + }, []); + } else { + this.states.expandRows = []; + } + }, + + toggleRowExpansion(row, expanded) { + const changed = toggleRowStatus(this.states.expandRows, row, expanded); + if (changed) { + this.table.$emit('expand-change', row, this.states.expandRows.slice()); + this.scheduleLayout(); + } + }, + + setExpandRowKeys(rowKeys) { + this.assertRowKey(); + // TODO嚗���誨��隞乩��� + const { data, rowKey } = this.states; + const keysMap = getKeysMap(data, rowKey); + this.states.expandRows = rowKeys.reduce((prev, cur) => { + const info = keysMap[cur]; + if (info) { + prev.push(info.row); + } + return prev; + }, []); + }, + + isRowExpanded(row) { + const { expandRows = [], rowKey } = this.states; + if (rowKey) { + const expandMap = getKeysMap(expandRows, rowKey); + return !!expandMap[getRowIdentity(row, rowKey)]; + } + return expandRows.indexOf(row) !== -1; + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/helper.js b/PAMapp/local_modules/element-ui/packages/table/src/store/helper.js new file mode 100644 index 0000000..b27ee89 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/helper.js @@ -0,0 +1,41 @@ +import Store from './index'; +import debounce from 'throttle-debounce/debounce'; + +export function createStore(table, initialState = {}) { + if (!table) { + throw new Error('Table is required.'); + } + + const store = new Store(); + store.table = table; + // fix https://github.com/ElemeFE/element/issues/14075 + // related pr https://github.com/ElemeFE/element/pull/14146 + store.toggleAllSelection = debounce(10, store._toggleAllSelection); + Object.keys(initialState).forEach(key => { + store.states[key] = initialState[key]; + }); + return store; +} + +export function mapStates(mapper) { + const res = {}; + Object.keys(mapper).forEach(key => { + const value = mapper[key]; + let fn; + if (typeof value === 'string') { + fn = function() { + return this.store.states[value]; + }; + } else if (typeof value === 'function') { + fn = function() { + return value.call(this, this.store.states); + }; + } else { + console.error('invalid value type'); + } + if (fn) { + res[key] = fn; + } + }); + return res; +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/index.js b/PAMapp/local_modules/element-ui/packages/table/src/store/index.js new file mode 100644 index 0000000..0bf4936 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/index.js @@ -0,0 +1,147 @@ +import Vue from 'vue'; +import Watcher from './watcher'; +import { arrayFind } from 'element-ui/src/utils/util'; + +Watcher.prototype.mutations = { + setData(states, data) { + const dataInstanceChanged = states._data !== data; + states._data = data; + + this.execQuery(); + // ������������� + // 瘝⊥�蝙� computed嚗��������� https://github.com/vuejs/vue/issues/6660#issuecomment-331417140 + this.updateCurrentRowData(); + this.updateExpandRows(); + if (states.reserveSelection) { + this.assertRowKey(); + this.updateSelectionByRowKey(); + } else { + if (dataInstanceChanged) { + this.clearSelection(); + } else { + this.cleanSelection(); + } + } + this.updateAllSelected(); + + this.updateTableScrollY(); + }, + + insertColumn(states, column, index, parent) { + let array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + + if (typeof index !== 'undefined') { + array.splice(index, 0, column); + } else { + array.push(column); + } + + if (column.type === 'selection') { + states.selectable = column.selectable; + states.reserveSelection = column.reserveSelection; + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics insert column + this.scheduleLayout(); + } + }, + + removeColumn(states, column, parent) { + let array = states._columns; + if (parent) { + array = parent.children; + if (!array) array = parent.children = []; + } + if (array) { + array.splice(array.indexOf(column), 1); + } + + if (this.table.$ready) { + this.updateColumns(); // hack for dynamics remove column + this.scheduleLayout(); + } + }, + + sort(states, options) { + const { prop, order, init } = options; + if (prop) { + const column = arrayFind(states.columns, column => column.property === prop); + if (column) { + column.order = order; + this.updateSort(column, prop, order); + this.commit('changeSortCondition', { init }); + } + } + }, + + changeSortCondition(states, options) { + // 靽桀�� pr https://github.com/ElemeFE/element/pull/15012 撖潸��� bug + const { sortingColumn: column, sortProp: prop, sortOrder: order } = states; + if (order === null) { + states.sortingColumn = null; + states.sortProp = null; + } + const ingore = { filter: true }; + this.execQuery(ingore); + + if (!options || !(options.silent || options.init)) { + this.table.$emit('sort-change', { + column, + prop, + order + }); + } + + this.updateTableScrollY(); + }, + + filterChange(states, options) { + let { column, values, silent } = options; + const newFilters = this.updateFilters(column, values); + + this.execQuery(); + + if (!silent) { + this.table.$emit('filter-change', newFilters); + } + + this.updateTableScrollY(); + }, + + toggleAllSelection() { + this.toggleAllSelection(); + }, + + rowSelectedChanged(states, row) { + this.toggleRowSelection(row); + this.updateAllSelected(); + }, + + setHoverRow(states, row) { + states.hoverRow = row; + }, + + setCurrentRow(states, row) { + this.updateCurrentRow(row); + } +}; + +Watcher.prototype.commit = function(name, ...args) { + const mutations = this.mutations; + if (mutations[name]) { + mutations[name].apply(this, [this.states].concat(args)); + } else { + throw new Error(`Action not found: ${name}`); + } +}; + +Watcher.prototype.updateTableScrollY = function() { + Vue.nextTick(this.table.updateScrollY); +}; + +export default Watcher; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/tree.js b/PAMapp/local_modules/element-ui/packages/table/src/store/tree.js new file mode 100644 index 0000000..1856fa2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/tree.js @@ -0,0 +1,209 @@ +import { walkTreeNode, getRowIdentity } from '../util'; + +export default { + data() { + return { + states: { + // defaultExpandAll 摮鈭� expand.js 銝哨������溶��� + // �撅�銵葉嚗xpandRowKeys 隡◤頧砍��� expandRows嚗xpandRowKeys 餈葵撅�批�霈啣��� TreeTable 銵��� + // TODO: ���蛹�蝡�� TreeTable嚗���瘜� + expandRowKeys: [], + treeData: {}, + indent: 16, + lazy: false, + lazyTreeNodeMap: {}, + lazyColumnIdentifier: 'hasChildren', + childrenColumnName: 'children' + } + }; + }, + + computed: { + // 撋����嚗atch ���璉�瘚���� https://github.com/ElemeFE/element/issues/14998 + // TODO: 雿輻 computed 閫��霂仿憸��隡���扯�憸�� + // @return { id: { level, children } } + normalizedData() { + if (!this.states.rowKey) return {}; + const data = this.states.data || []; + return this.normalize(data); + }, + // @return { id: { children } } + // ��笆���蝸���耦嚗������ + normalizedLazyNode() { + const { rowKey, lazyTreeNodeMap, lazyColumnIdentifier } = this.states; + const keys = Object.keys(lazyTreeNodeMap); + const res = {}; + if (!keys.length) return res; + keys.forEach(key => { + if (lazyTreeNodeMap[key].length) { + const item = { children: [] }; + lazyTreeNodeMap[key].forEach(row => { + const currentRowKey = getRowIdentity(row, rowKey); + item.children.push(currentRowKey); + if (row[lazyColumnIdentifier] && !res[currentRowKey]) { + res[currentRowKey] = { children: [] }; + } + }); + res[key] = item; + } + }); + return res; + } + }, + + watch: { + normalizedData: 'updateTreeData', + normalizedLazyNode: 'updateTreeData' + }, + + methods: { + normalize(data) { + const { + childrenColumnName, + lazyColumnIdentifier, + rowKey, + lazy + } = this.states; + const res = {}; + walkTreeNode( + data, + (parent, children, level) => { + const parentId = getRowIdentity(parent, rowKey); + if (Array.isArray(children)) { + res[parentId] = { + children: children.map(row => getRowIdentity(row, rowKey)), + level + }; + } else if (lazy) { + // 敶� children 銝�銝� lazy 銝� true嚗砲���銝箸��蝸��� + res[parentId] = { + children: [], + lazy: true, + level + }; + } + }, + childrenColumnName, + lazyColumnIdentifier + ); + return res; + }, + + updateTreeData() { + const nested = this.normalizedData; + const normalizedLazyNode = this.normalizedLazyNode; + const keys = Object.keys(nested); + const newTreeData = {}; + if (keys.length) { + const { + treeData: oldTreeData, + defaultExpandAll, + expandRowKeys, + lazy + } = this.states; + const rootLazyRowKeys = []; + const getExpanded = (oldValue, key) => { + const included = + defaultExpandAll || + (expandRowKeys && expandRowKeys.indexOf(key) !== -1); + return !!((oldValue && oldValue.expanded) || included); + }; + // ��僎 expanded 銝� display嚗&靽���������� + keys.forEach(key => { + const oldValue = oldTreeData[key]; + const newValue = { ...nested[key] }; + newValue.expanded = getExpanded(oldValue, key); + if (newValue.lazy) { + const { loaded = false, loading = false } = oldValue || {}; + newValue.loaded = !!loaded; + newValue.loading = !!loading; + rootLazyRowKeys.push(key); + } + newTreeData[key] = newValue; + }); + // �����蝸���� treeData + const lazyKeys = Object.keys(normalizedLazyNode); + if (lazy && lazyKeys.length && rootLazyRowKeys.length) { + lazyKeys.forEach(key => { + const oldValue = oldTreeData[key]; + const lazyNodeChildren = normalizedLazyNode[key].children; + if (rootLazyRowKeys.indexOf(key) !== -1) { + // ���蝸��� root ��嚗�銝�銝����嚗���� children 銝�摰蝛箸蝏� + if (newTreeData[key].children.length !== 0) { + throw new Error('[ElTable]children must be an empty array.'); + } + newTreeData[key].children = lazyNodeChildren; + } else { + const { loaded = false, loading = false } = oldValue || {}; + newTreeData[key] = { + lazy: true, + loaded: !!loaded, + loading: !!loading, + expanded: getExpanded(oldValue, key), + children: lazyNodeChildren, + level: '' + }; + } + }); + } + } + this.states.treeData = newTreeData; + this.updateTableScrollY(); + }, + + updateTreeExpandKeys(value) { + this.states.expandRowKeys = value; + this.updateTreeData(); + }, + + toggleTreeExpansion(row, expanded) { + this.assertRowKey(); + + const { rowKey, treeData } = this.states; + const id = getRowIdentity(row, rowKey); + const data = id && treeData[id]; + if (id && data && ('expanded' in data)) { + const oldExpanded = data.expanded; + expanded = typeof expanded === 'undefined' ? !data.expanded : expanded; + treeData[id].expanded = expanded; + if (oldExpanded !== expanded) { + this.table.$emit('expand-change', row, expanded); + } + this.updateTableScrollY(); + } + }, + + loadOrToggle(row) { + this.assertRowKey(); + const { lazy, treeData, rowKey } = this.states; + const id = getRowIdentity(row, rowKey); + const data = treeData[id]; + if (lazy && data && 'loaded' in data && !data.loaded) { + this.loadData(row, id, data); + } else { + this.toggleTreeExpansion(row); + } + }, + + loadData(row, key, treeNode) { + const { load } = this.table; + const { treeData: rawTreeData } = this.states; + if (load && !rawTreeData[key].loaded) { + rawTreeData[key].loading = true; + load(row, treeNode, data => { + if (!Array.isArray(data)) { + throw new Error('[ElTable] data must be an array'); + } + const { lazyTreeNodeMap, treeData } = this.states; + treeData[key].loading = false; + treeData[key].loaded = true; + treeData[key].expanded = true; + if (data.length) { + this.$set(lazyTreeNodeMap, key, data); + } + this.table.$emit('expand-change', row, true); + }); + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/store/watcher.js b/PAMapp/local_modules/element-ui/packages/table/src/store/watcher.js new file mode 100644 index 0000000..fa13bdc --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/store/watcher.js @@ -0,0 +1,381 @@ +import Vue from 'vue'; +import merge from 'element-ui/src/utils/merge'; +import { getKeysMap, getRowIdentity, getColumnById, getColumnByKey, orderBy, toggleRowStatus } from '../util'; +import expand from './expand'; +import current from './current'; +import tree from './tree'; + +const sortData = (data, states) => { + const sortingColumn = states.sortingColumn; + if (!sortingColumn || typeof sortingColumn.sortable === 'string') { + return data; + } + return orderBy(data, states.sortProp, states.sortOrder, sortingColumn.sortMethod, sortingColumn.sortBy); +}; + +const doFlattenColumns = (columns) => { + const result = []; + columns.forEach((column) => { + if (column.children) { + result.push.apply(result, doFlattenColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +export default Vue.extend({ + data() { + return { + states: { + // 3.0 �������◆霈曄蔭霂亙��� + rowKey: null, + + // 皜脫����皞�撖� table 銝剔�� data 餈誘�������� + data: [], + + // �����摰�� + isComplex: false, + + // ��� + _columns: [], // 銝����� + originColumns: [], + columns: [], + fixedColumns: [], + rightFixedColumns: [], + leafColumns: [], + fixedLeafColumns: [], + rightFixedLeafColumns: [], + leafColumnsLength: 0, + fixedLeafColumnsLength: 0, + rightFixedLeafColumnsLength: 0, + + // � + isAllSelected: false, + selection: [], + reserveSelection: false, + selectOnIndeterminate: false, + selectable: null, + + // 餈誘 + filters: {}, // 銝����� + filteredData: null, + + // ���� + sortingColumn: null, + sortProp: null, + sortOrder: null, + + hoverRow: null + } + }; + }, + + mixins: [expand, current, tree], + + methods: { + // 璉�� rowKey ��摮 + assertRowKey() { + const rowKey = this.states.rowKey; + if (!rowKey) throw new Error('[ElTable] prop row-key is required'); + }, + + // ����� + updateColumns() { + const states = this.states; + const _columns = states._columns || []; + states.fixedColumns = _columns.filter((column) => column.fixed === true || column.fixed === 'left'); + states.rightFixedColumns = _columns.filter((column) => column.fixed === 'right'); + + if (states.fixedColumns.length > 0 && _columns[0] && _columns[0].type === 'selection' && !_columns[0].fixed) { + _columns[0].fixed = true; + states.fixedColumns.unshift(_columns[0]); + } + + const notFixedColumns = _columns.filter(column => !column.fixed); + states.originColumns = [].concat(states.fixedColumns).concat(notFixedColumns).concat(states.rightFixedColumns); + + const leafColumns = doFlattenColumns(notFixedColumns); + const fixedLeafColumns = doFlattenColumns(states.fixedColumns); + const rightFixedLeafColumns = doFlattenColumns(states.rightFixedColumns); + + states.leafColumnsLength = leafColumns.length; + states.fixedLeafColumnsLength = fixedLeafColumns.length; + states.rightFixedLeafColumnsLength = rightFixedLeafColumns.length; + + states.columns = [].concat(fixedLeafColumns).concat(leafColumns).concat(rightFixedLeafColumns); + states.isComplex = states.fixedColumns.length > 0 || states.rightFixedColumns.length > 0; + }, + + // �� DOM + scheduleLayout(needUpdateColumns) { + if (needUpdateColumns) { + this.updateColumns(); + } + this.table.debouncedUpdateLayout(); + }, + + // � + isSelected(row) { + const { selection = [] } = this.states; + return selection.indexOf(row) > -1; + }, + + clearSelection() { + const states = this.states; + states.isAllSelected = false; + const oldSelection = states.selection; + if (oldSelection.length) { + states.selection = []; + this.table.$emit('selection-change', []); + } + }, + + cleanSelection() { + const states = this.states; + const { data, rowKey, selection } = states; + let deleted; + if (rowKey) { + deleted = []; + const selectedMap = getKeysMap(selection, rowKey); + const dataMap = getKeysMap(data, rowKey); + for (let key in selectedMap) { + if (selectedMap.hasOwnProperty(key) && !dataMap[key]) { + deleted.push(selectedMap[key].row); + } + } + } else { + deleted = selection.filter(item => data.indexOf(item) === -1); + } + if (deleted.length) { + const newSelection = selection.filter(item => deleted.indexOf(item) === -1); + states.selection = newSelection; + this.table.$emit('selection-change', newSelection.slice()); + } + }, + + toggleRowSelection(row, selected, emitChange = true) { + const changed = toggleRowStatus(this.states.selection, row, selected); + if (changed) { + const newSelection = (this.states.selection || []).slice(); + // 靚 API 靽格�葉�潘��圻��� select 鈭辣 + if (emitChange) { + this.table.$emit('select', newSelection, row); + } + this.table.$emit('selection-change', newSelection); + } + }, + + _toggleAllSelection() { + const states = this.states; + const { data = [], selection } = states; + // when only some rows are selected (but not all), select or deselect all of them + // depending on the value of selectOnIndeterminate + const value = states.selectOnIndeterminate + ? !states.isAllSelected + : !(states.isAllSelected || selection.length); + states.isAllSelected = value; + + let selectionChanged = false; + data.forEach((row, index) => { + if (states.selectable) { + if (states.selectable.call(null, row, index) && toggleRowStatus(selection, row, value)) { + selectionChanged = true; + } + } else { + if (toggleRowStatus(selection, row, value)) { + selectionChanged = true; + } + } + }); + + if (selectionChanged) { + this.table.$emit('selection-change', selection ? selection.slice() : []); + } + this.table.$emit('select-all', selection); + }, + + updateSelectionByRowKey() { + const states = this.states; + const { selection, rowKey, data } = states; + const selectedMap = getKeysMap(selection, rowKey); + data.forEach(row => { + const rowId = getRowIdentity(row, rowKey); + const rowInfo = selectedMap[rowId]; + if (rowInfo) { + selection[rowInfo.index] = row; + } + }); + }, + + updateAllSelected() { + const states = this.states; + const { selection, rowKey, selectable } = states; + // data 銝� null �嚗圾�����恕�潔�◤敹賜 + const data = states.data || []; + if (data.length === 0) { + states.isAllSelected = false; + return; + } + + let selectedMap; + if (rowKey) { + selectedMap = getKeysMap(selection, rowKey); + } + const isSelected = function(row) { + if (selectedMap) { + return !!selectedMap[getRowIdentity(row, rowKey)]; + } else { + return selection.indexOf(row) !== -1; + } + }; + let isAllSelected = true; + let selectedCount = 0; + for (let i = 0, j = data.length; i < j; i++) { + const item = data[i]; + const isRowSelectable = selectable && selectable.call(null, item, i); + if (!isSelected(item)) { + if (!selectable || isRowSelectable) { + isAllSelected = false; + break; + } + } else { + selectedCount++; + } + } + + if (selectedCount === 0) isAllSelected = false; + states.isAllSelected = isAllSelected; + }, + + // 餈誘銝��� + updateFilters(columns, values) { + if (!Array.isArray(columns)) { + columns = [columns]; + } + const states = this.states; + const filters = {}; + columns.forEach(col => { + states.filters[col.id] = values; + filters[col.columnKey || col.id] = values; + }); + + return filters; + }, + + updateSort(column, prop, order) { + if (this.states.sortingColumn && this.states.sortingColumn !== column) { + this.states.sortingColumn.order = null; + } + this.states.sortingColumn = column; + this.states.sortProp = prop; + this.states.sortOrder = order; + }, + + execFilter() { + const states = this.states; + const { _data, filters } = states; + let data = _data; + + Object.keys(filters).forEach((columnId) => { + const values = states.filters[columnId]; + if (!values || values.length === 0) return; + const column = getColumnById(this.states, columnId); + if (column && column.filterMethod) { + data = data.filter((row) => { + return values.some(value => column.filterMethod.call(null, value, row, column)); + }); + } + }); + + states.filteredData = data; + }, + + execSort() { + const states = this.states; + states.data = sortData(states.filteredData, states); + }, + + // �� filters 銝� sort �餈誘 data + execQuery(ignore) { + if (!(ignore && ignore.filter)) { + this.execFilter(); + } + this.execSort(); + }, + + clearFilter(columnKeys) { + const states = this.states; + const { tableHeader, fixedTableHeader, rightFixedTableHeader } = this.table.$refs; + + let panels = {}; + if (tableHeader) panels = merge(panels, tableHeader.filterPanels); + if (fixedTableHeader) panels = merge(panels, fixedTableHeader.filterPanels); + if (rightFixedTableHeader) panels = merge(panels, rightFixedTableHeader.filterPanels); + + const keys = Object.keys(panels); + if (!keys.length) return; + + if (typeof columnKeys === 'string') { + columnKeys = [columnKeys]; + } + + if (Array.isArray(columnKeys)) { + const columns = columnKeys.map(key => getColumnByKey(states, key)); + keys.forEach(key => { + const column = columns.find(col => col.id === key); + if (column) { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + } + }); + this.commit('filterChange', { + column: columns, + values: [], + silent: true, + multi: true + }); + } else { + keys.forEach(key => { + // TODO: 隡����誨��� + panels[key].filteredValue = []; + }); + + states.filters = {}; + this.commit('filterChange', { + column: {}, + values: [], + silent: true + }); + } + }, + + clearSort() { + const states = this.states; + if (!states.sortingColumn) return; + + this.updateSort(null, null, null); + this.commit('changeSortCondition', { + silent: true + }); + }, + + // ����xpand-row-keys � Expand 銝� TreeTable 銝剝��蝙� + setExpandRowKeysAdapter(val) { + // 餈��圻�����恣蝞��蛹鈭摰寞�改��餈��� + this.setExpandRowKeys(val); + this.updateTreeExpandKeys(val); + }, + + // 撅�銵�� TreeTable �閬蝙� + toggleRowExpansionAdapter(row, expanded) { + const hasExpandColumn = this.states.columns.some(({ type }) => type === 'expand'); + if (hasExpandColumn) { + this.toggleRowExpansion(row, expanded); + } else { + this.toggleTreeExpansion(row, expanded); + } + } + } +}); diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-body.js b/PAMapp/local_modules/element-ui/packages/table/src/table-body.js new file mode 100644 index 0000000..cd22348 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-body.js @@ -0,0 +1,460 @@ +import { arrayFindIndex } from 'element-ui/src/utils/util'; +import { getCell, getColumnByCell, getRowIdentity } from './util'; +import { getStyle, hasClass, removeClass, addClass } from 'element-ui/src/utils/dom'; +import ElCheckbox from 'element-ui/packages/checkbox'; +import ElTooltip from 'element-ui/packages/tooltip'; +import debounce from 'throttle-debounce/debounce'; +import LayoutObserver from './layout-observer'; +import { mapStates } from './store/helper'; +import TableRow from './table-row.js'; + +export default { + name: 'ElTableBody', + + mixins: [LayoutObserver], + + components: { + ElCheckbox, + ElTooltip, + TableRow + }, + + props: { + store: { + required: true + }, + stripe: Boolean, + context: {}, + rowClassName: [String, Function], + rowStyle: [Object, Function], + fixed: String, + highlight: Boolean + }, + + render(h) { + const data = this.data || []; + return ( + <table + class="el-table__body" + cellspacing="0" + cellpadding="0" + border="0"> + <colgroup> + { + this.columns.map(column => <col name={column.id} key={column.id} />) + } + </colgroup> + <tbody> + { + data.reduce((acc, row) => { + return acc.concat(this.wrappedRowRender(row, acc.length)); + }, []) + } + <el-tooltip effect={this.table.tooltipEffect} placement="top" ref="tooltip" content={this.tooltipContent}></el-tooltip> + </tbody> + </table> + ); + }, + + computed: { + table() { + return this.$parent; + }, + + ...mapStates({ + data: 'data', + columns: 'columns', + treeIndent: 'indent', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: states => states.columns.length, + leftFixedCount: states => states.fixedColumns.length, + rightFixedCount: states => states.rightFixedColumns.length, + hasExpandColumn: states => states.columns.some(({ type }) => type === 'expand') + }), + + columnsHidden() { + return this.columns.map((column, index) => this.isColumnHidden(index)); + }, + + firstDefaultColumnIndex() { + return arrayFindIndex(this.columns, ({ type }) => type === 'default'); + } + }, + + watch: { + // don't trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/ + // update DOM manually. see https://github.com/ElemeFE/element/pull/13954/files#diff-9b450c00d0a9dec0ffad5a3176972e40 + 'store.states.hoverRow'(newVal, oldVal) { + if (!this.store.states.isComplex || this.$isServer) return; + let raf = window.requestAnimationFrame; + if (!raf) { + raf = (fn) => setTimeout(fn, 16); + } + raf(() => { + const rows = this.$el.querySelectorAll('.el-table__row'); + const oldRow = rows[oldVal]; + const newRow = rows[newVal]; + if (oldRow) { + removeClass(oldRow, 'hover-row'); + } + if (newRow) { + addClass(newRow, 'hover-row'); + } + }); + } + }, + + data() { + return { + tooltipContent: '' + }; + }, + + created() { + this.activateTooltip = debounce(50, tooltip => tooltip.handleShowPopper()); + }, + + methods: { + getKeyOfRow(row, index) { + const rowKey = this.table.rowKey; + if (rowKey) { + return getRowIdentity(row, rowKey); + } + return index; + }, + + isColumnHidden(index) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return index < this.columnsCount - this.rightFixedLeafCount; + } else { + return (index < this.leftFixedLeafCount) || (index >= this.columnsCount - this.rightFixedLeafCount); + } + }, + + getSpan(row, column, rowIndex, columnIndex) { + let rowspan = 1; + let colspan = 1; + const fn = this.table.spanMethod; + if (typeof fn === 'function') { + const result = fn({ + row, + column, + rowIndex, + columnIndex + }); + if (Array.isArray(result)) { + rowspan = result[0]; + colspan = result[1]; + } else if (typeof result === 'object') { + rowspan = result.rowspan; + colspan = result.colspan; + } + } + return { rowspan, colspan }; + }, + + getRowStyle(row, rowIndex) { + const rowStyle = this.table.rowStyle; + if (typeof rowStyle === 'function') { + return rowStyle.call(null, { + row, + rowIndex + }); + } + return rowStyle || null; + }, + + getRowClass(row, rowIndex) { + const classes = ['el-table__row']; + if (this.table.highlightCurrentRow && row === this.store.states.currentRow) { + classes.push('current-row'); + } + + if (this.stripe && rowIndex % 2 === 1) { + classes.push('el-table__row--striped'); + } + const rowClassName = this.table.rowClassName; + if (typeof rowClassName === 'string') { + classes.push(rowClassName); + } else if (typeof rowClassName === 'function') { + classes.push(rowClassName.call(null, { + row, + rowIndex + })); + } + + if (this.store.states.expandRows.indexOf(row) > -1) { + classes.push('expanded'); + } + + return classes; + }, + + getCellStyle(rowIndex, columnIndex, row, column) { + const cellStyle = this.table.cellStyle; + if (typeof cellStyle === 'function') { + return cellStyle.call(null, { + rowIndex, + columnIndex, + row, + column + }); + } + return cellStyle; + }, + + getCellClass(rowIndex, columnIndex, row, column) { + const classes = [column.id, column.align, column.className]; + + if (this.isColumnHidden(columnIndex)) { + classes.push('is-hidden'); + } + + const cellClassName = this.table.cellClassName; + if (typeof cellClassName === 'string') { + classes.push(cellClassName); + } else if (typeof cellClassName === 'function') { + classes.push(cellClassName.call(null, { + rowIndex, + columnIndex, + row, + column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + + getColspanRealWidth(columns, colspan, index) { + if (colspan < 1) { + return columns[index].realWidth; + } + const widthArr = columns.map(({ realWidth }) => realWidth).slice(index, index + colspan); + return widthArr.reduce((acc, width) => acc + width, -1); + }, + + handleCellMouseEnter(event, row) { + const table = this.table; + const cell = getCell(event); + + if (cell) { + const column = getColumnByCell(table, cell); + const hoverState = table.hoverState = { cell, column, row }; + table.$emit('cell-mouse-enter', hoverState.row, hoverState.column, hoverState.cell, event); + } + + // ����text-overflow, 憒�撠望蝷演ooltip + const cellChild = event.target.querySelector('.cell'); + if (!(hasClass(cellChild, 'el-tooltip') && cellChild.childNodes.length)) { + return; + } + // use range width instead of scrollWidth to determine whether the text is overflowing + // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3 + const range = document.createRange(); + range.setStart(cellChild, 0); + range.setEnd(cellChild, cellChild.childNodes.length); + const rangeWidth = range.getBoundingClientRect().width; + const padding = (parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) + + (parseInt(getStyle(cellChild, 'paddingRight'), 10) || 0); + if ((rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) && this.$refs.tooltip) { + const tooltip = this.$refs.tooltip; + // TODO 隡�絲�銝� Table ���皜脫���閬��� + this.tooltipContent = cell.innerText || cell.textContent; + tooltip.referenceElm = cell; + tooltip.$refs.popper && (tooltip.$refs.popper.style.display = 'none'); + tooltip.doDestroy(); + tooltip.setExpectedState(true); + this.activateTooltip(tooltip); + } + }, + + handleCellMouseLeave(event) { + const tooltip = this.$refs.tooltip; + if (tooltip) { + tooltip.setExpectedState(false); + tooltip.handleClosePopper(); + } + const cell = getCell(event); + if (!cell) return; + + const oldHoverState = this.table.hoverState || {}; + this.table.$emit('cell-mouse-leave', oldHoverState.row, oldHoverState.column, oldHoverState.cell, event); + }, + + handleMouseEnter: debounce(30, function(index) { + this.store.commit('setHoverRow', index); + }), + + handleMouseLeave: debounce(30, function() { + this.store.commit('setHoverRow', null); + }), + + handleContextMenu(event, row) { + this.handleEvent(event, row, 'contextmenu'); + }, + + handleDoubleClick(event, row) { + this.handleEvent(event, row, 'dblclick'); + }, + + handleClick(event, row) { + this.store.commit('setCurrentRow', row); + this.handleEvent(event, row, 'click'); + }, + + handleEvent(event, row, name) { + const table = this.table; + const cell = getCell(event); + let column; + if (cell) { + column = getColumnByCell(table, cell); + if (column) { + table.$emit(`cell-${name}`, row, column, cell, event); + } + } + table.$emit(`row-${name}`, row, column, event); + }, + + rowRender(row, $index, treeRowData) { + const { treeIndent, columns, firstDefaultColumnIndex } = this; + const rowClasses = this.getRowClass(row, $index); + let display = true; + if (treeRowData) { + rowClasses.push('el-table__row--level-' + treeRowData.level); + display = treeRowData.display; + } + // ��誘 v-show 隡��� row-style 銝� display + // 雿輻 :style 隞�� v-show https://github.com/ElemeFE/element/issues/16995 + let displayStyle = display ? null : { + display: 'none' + }; + return ( + <TableRow + style={[displayStyle, this.getRowStyle(row, $index)]} + class={rowClasses} + key={this.getKeyOfRow(row, $index)} + nativeOn-dblclick={($event) => this.handleDoubleClick($event, row)} + nativeOn-click={($event) => this.handleClick($event, row)} + nativeOn-contextmenu={($event) => this.handleContextMenu($event, row)} + nativeOn-mouseenter={_ => this.handleMouseEnter($index)} + nativeOn-mouseleave={this.handleMouseLeave} + columns={columns} + row={row} + index={$index} + store={this.store} + context={this.context || this.table.$vnode.context} + firstDefaultColumnIndex={firstDefaultColumnIndex} + treeRowData={treeRowData} + treeIndent={treeIndent} + columnsHidden={this.columnsHidden} + getSpan={this.getSpan} + getColspanRealWidth={this.getColspanRealWidth} + getCellStyle={this.getCellStyle} + getCellClass={this.getCellClass} + handleCellMouseEnter={this.handleCellMouseEnter} + handleCellMouseLeave={this.handleCellMouseLeave} + isSelected={this.store.isSelected(row)} + isExpanded={this.store.states.expandRows.indexOf(row) > -1} + fixed={this.fixed} + > + </TableRow> + ); + }, + + wrappedRowRender(row, $index) { + const store = this.store; + const { isRowExpanded, assertRowKey } = store; + const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } = store.states; + if (this.hasExpandColumn && isRowExpanded(row)) { + const renderExpanded = this.table.renderExpanded; + const tr = this.rowRender(row, $index); + if (!renderExpanded) { + console.error('[Element Error]renderExpanded is required.'); + return tr; + } + // 雿輻鈭輕�蝏���耨� $index + return [[ + tr, + <tr key={'expanded-row__' + tr.key}> + <td colspan={ this.columnsCount } class="el-table__cell el-table__expanded-cell"> + { renderExpanded(this.$createElement, { row, $index, store: this.store }) } + </td> + </tr>]]; + } else if (Object.keys(treeData).length) { + assertRowKey(); + // TreeTable �嚗owKey 敹◆���霈曉���蝙� getKeyOfRow 霈∠�� + // �靚 rowRender ���嚗�隡恣蝞� rowKey嚗�云憟賜���� + const key = getRowIdentity(row, rowKey); + let cur = treeData[key]; + let treeRowData = null; + if (cur) { + treeRowData = { + expanded: cur.expanded, + level: cur.level, + display: true + }; + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + treeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + treeRowData.loading = cur.loading; + } + } + const tmp = [this.rowRender(row, $index, treeRowData)]; + // 皜脫���� + if (cur) { + // currentRow 霈啣�� index嚗�隞亥��銝餃憓�� TreeTable ��� index + let i = 0; + const traverse = (children, parent) => { + if (!(children && children.length && parent)) return; + children.forEach(node => { + // ������ display ��蔣������蝷箇�� + const innerTreeRowData = { + display: parent.display && parent.expanded, + level: parent.level + 1 + }; + const childKey = getRowIdentity(node, rowKey); + if (childKey === undefined || childKey === null) { + throw new Error('for nested data item, row-key is required.'); + } + cur = { ...treeData[childKey] }; + // 撖嫣����嚗������銝斤���� + // 憒��摮����挽蝵� expanded 撅�扼�� + // 撖嫣������� display 撅�抒摰頨怎�� expanded 銝� display ���摰�� + if (cur) { + innerTreeRowData.expanded = cur.expanded; + // ���蝸�����嚗evel �� + cur.level = cur.level || innerTreeRowData.level; + cur.display = !!(cur.expanded && innerTreeRowData.display); + if (typeof cur.lazy === 'boolean') { + if (typeof cur.loaded === 'boolean' && cur.loaded) { + innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length); + } + innerTreeRowData.loading = cur.loading; + } + } + i++; + tmp.push(this.rowRender(node, $index + i, innerTreeRowData)); + if (cur) { + const nodes = lazyTreeNodeMap[childKey] || node[childrenColumnName]; + traverse(nodes, cur); + } + }); + }; + // 撖嫣�� root ��嚗isplay 銝�摰蛹 true + cur.display = true; + const nodes = lazyTreeNodeMap[key] || row[childrenColumnName]; + traverse(nodes, cur); + } + return tmp; + } else { + return this.rowRender(row, $index); + } + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-column.js b/PAMapp/local_modules/element-ui/packages/table/src/table-column.js new file mode 100644 index 0000000..528eff1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-column.js @@ -0,0 +1,319 @@ +import { cellStarts, cellForced, defaultRenderCell, treeCellPrefix } from './config'; +import { mergeOptions, parseWidth, parseMinWidth, compose } from './util'; +import ElCheckbox from 'element-ui/packages/checkbox'; + +let columnIdSeed = 1; + +export default { + name: 'ElTableColumn', + + props: { + type: { + type: String, + default: 'default' + }, + label: String, + className: String, + labelClassName: String, + property: String, + prop: String, + width: {}, + minWidth: {}, + renderHeader: Function, + sortable: { + type: [Boolean, String], + default: false + }, + sortMethod: Function, + sortBy: [String, Function, Array], + resizable: { + type: Boolean, + default: true + }, + columnKey: String, + align: String, + headerAlign: String, + showTooltipWhenOverflow: Boolean, + showOverflowTooltip: Boolean, + fixed: [Boolean, String], + formatter: Function, + selectable: Function, + reserveSelection: Boolean, + filterMethod: Function, + filteredValue: Array, + filters: Array, + filterPlacement: String, + filterMultiple: { + type: Boolean, + default: true + }, + index: [Number, Function], + sortOrders: { + type: Array, + default() { + return ['ascending', 'descending', null]; + }, + validator(val) { + return val.every(order => ['ascending', 'descending', null].indexOf(order) > -1); + } + } + }, + + data() { + return { + isSubColumn: false, + columns: [] + }; + }, + + computed: { + owner() { + let parent = this.$parent; + while (parent && !parent.tableId) { + parent = parent.$parent; + } + return parent; + }, + + columnOrTableParent() { + let parent = this.$parent; + while (parent && !parent.tableId && !parent.columnId) { + parent = parent.$parent; + } + return parent; + }, + + realWidth() { + return parseWidth(this.width); + }, + + realMinWidth() { + return parseMinWidth(this.minWidth); + }, + + realAlign() { + return this.align ? 'is-' + this.align : null; + }, + + realHeaderAlign() { + return this.headerAlign ? 'is-' + this.headerAlign : this.realAlign; + } + }, + + methods: { + getPropsData(...props) { + return props.reduce((prev, cur) => { + if (Array.isArray(cur)) { + cur.forEach((key) => { + prev[key] = this[key]; + }); + } + return prev; + }, {}); + }, + + getColumnElIndex(children, child) { + return [].indexOf.call(children, child); + }, + + setColumnWidth(column) { + if (this.realWidth) { + column.width = this.realWidth; + } + if (this.realMinWidth) { + column.minWidth = this.realMinWidth; + } + if (!column.minWidth) { + column.minWidth = 80; + } + column.realWidth = column.width === undefined ? column.minWidth : column.width; + return column; + }, + + setColumnForcedProps(column) { + // 撖嫣�摰掩���� column嚗����找��捂霈曄蔭 + const type = column.type; + const source = cellForced[type] || {}; + Object.keys(source).forEach(prop => { + let value = source[prop]; + if (value !== undefined) { + column[prop] = prop === 'className' ? `${column[prop]} ${value}` : value; + } + }); + return column; + }, + + setColumnRenders(column) { + // renderHeader 撅�找���蝙��� + if (this.renderHeader) { + console.warn('[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.'); + } else if (column.type !== 'selection') { + column.renderHeader = (h, scope) => { + const renderHeader = this.$scopedSlots.header; + return renderHeader ? renderHeader(scope) : column.label; + }; + } + + let originRenderCell = column.renderCell; + // TODO: 餈���靚 + if (column.type === 'expand') { + // 撖嫣���銵�enderCell 銝�捂��蔭���銝�甇乩葉撌脩�挽蝵株�����閬������銝�� + column.renderCell = (h, data) => (<div class="cell"> + { originRenderCell(h, data) } + </div>); + this.owner.renderExpanded = (h, data) => { + return this.$scopedSlots.default + ? this.$scopedSlots.default(data) + : this.$slots.default; + }; + } else { + originRenderCell = originRenderCell || defaultRenderCell; + // 撖� renderCell 餈���� + column.renderCell = (h, data) => { + let children = null; + if (this.$scopedSlots.default) { + children = this.$scopedSlots.default(data); + } else { + children = originRenderCell(h, data); + } + const prefix = treeCellPrefix(h, data); + const props = { + class: 'cell', + style: {} + }; + if (column.showOverflowTooltip) { + props.class += ' el-tooltip'; + props.style = {width: (data.column.realWidth || data.column.width) - 1 + 'px'}; + } + return (<div { ...props }> + { prefix } + { children } + </div>); + }; + } + return column; + }, + + registerNormalWatchers() { + const props = ['label', 'property', 'filters', 'filterMultiple', 'sortable', 'index', 'formatter', 'className', 'labelClassName', 'showOverflowTooltip']; + // 銝�鈭��批����� + const aliases = { + prop: 'property', + realAlign: 'align', + realHeaderAlign: 'headerAlign', + realWidth: 'width' + }; + const allAliases = props.reduce((prev, cur) => { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(key => { + const columnKey = aliases[key]; + + this.$watch(key, (newVal) => { + this.columnConfig[columnKey] = newVal; + }); + }); + }, + + registerComplexWatchers() { + const props = ['fixed']; + const aliases = { + realWidth: 'width', + realMinWidth: 'minWidth' + }; + const allAliases = props.reduce((prev, cur) => { + prev[cur] = cur; + return prev; + }, aliases); + + Object.keys(allAliases).forEach(key => { + const columnKey = aliases[key]; + + this.$watch(key, (newVal) => { + this.columnConfig[columnKey] = newVal; + const updateColumns = columnKey === 'fixed'; + this.owner.store.scheduleLayout(updateColumns); + }); + }); + } + }, + + components: { + ElCheckbox + }, + + beforeCreate() { + this.row = {}; + this.column = {}; + this.$index = 0; + this.columnId = ''; + }, + + created() { + const parent = this.columnOrTableParent; + this.isSubColumn = this.owner !== parent; + this.columnId = (parent.tableId || parent.columnId) + '_column_' + columnIdSeed++; + + const type = this.type || 'default'; + const sortable = this.sortable === '' ? true : this.sortable; + const defaults = { + ...cellStarts[type], + id: this.columnId, + type: type, + property: this.prop || this.property, + align: this.realAlign, + headerAlign: this.realHeaderAlign, + showOverflowTooltip: this.showOverflowTooltip || this.showTooltipWhenOverflow, + // filter ��撅�� + filterable: this.filters || this.filterMethod, + filteredValue: [], + filterPlacement: '', + isColumnGroup: false, + filterOpened: false, + // sort ��撅�� + sortable: sortable, + // index ��� + index: this.index + }; + + const basicProps = ['columnKey', 'label', 'className', 'labelClassName', 'type', 'renderHeader', 'formatter', 'fixed', 'resizable']; + const sortProps = ['sortMethod', 'sortBy', 'sortOrders']; + const selectProps = ['selectable', 'reserveSelection']; + const filterProps = ['filterMethod', 'filters', 'filterMultiple', 'filterOpened', 'filteredValue', 'filterPlacement']; + + let column = this.getPropsData(basicProps, sortProps, selectProps, filterProps); + column = mergeOptions(defaults, column); + + // 瘜冽�� compose 銝剖��銵�◇摨隞�撌� + const chains = compose(this.setColumnRenders, this.setColumnWidth, this.setColumnForcedProps); + column = chains(column); + + this.columnConfig = column; + + // 瘜典�� watcher + this.registerNormalWatchers(); + this.registerComplexWatchers(); + }, + + mounted() { + const owner = this.owner; + const parent = this.columnOrTableParent; + const children = this.isSubColumn ? parent.$el.children : parent.$refs.hiddenColumns.children; + const columnIndex = this.getColumnElIndex(children, this.$el); + + owner.store.commit('insertColumn', this.columnConfig, columnIndex, this.isSubColumn ? parent.columnConfig : null); + }, + + destroyed() { + if (!this.$parent) return; + const parent = this.$parent; + this.owner.store.commit('removeColumn', this.columnConfig, this.isSubColumn ? parent.columnConfig : null); + }, + + render(h) { + // slots 銋�葡����閬恣蝞�僎銵典仍 + return h('div', this.$slots.default); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-footer.js b/PAMapp/local_modules/element-ui/packages/table/src/table-footer.js new file mode 100644 index 0000000..cfb32fa --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-footer.js @@ -0,0 +1,153 @@ +import LayoutObserver from './layout-observer'; +import { mapStates } from './store/helper'; + +export default { + name: 'ElTableFooter', + + mixins: [LayoutObserver], + + render(h) { + let sums = []; + if (this.summaryMethod) { + sums = this.summaryMethod({ columns: this.columns, data: this.store.states.data }); + } else { + this.columns.forEach((column, index) => { + if (index === 0) { + sums[index] = this.sumText; + return; + } + const values = this.store.states.data.map(item => Number(item[column.property])); + const precisions = []; + let notNumber = true; + values.forEach(value => { + if (!isNaN(value)) { + notNumber = false; + let decimal = ('' + value).split('.')[1]; + precisions.push(decimal ? decimal.length : 0); + } + }); + const precision = Math.max.apply(null, precisions); + if (!notNumber) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return parseFloat((prev + curr).toFixed(Math.min(precision, 20))); + } else { + return prev; + } + }, 0); + } else { + sums[index] = ''; + } + }); + } + + return ( + <table + class="el-table__footer" + cellspacing="0" + cellpadding="0" + border="0"> + <colgroup> + { + this.columns.map(column => <col name={ column.id } key={column.id} />) + } + { + this.hasGutter ? <col name="gutter" /> : '' + } + </colgroup> + <tbody class={ [{ 'has-gutter': this.hasGutter }] }> + <tr> + { + this.columns.map((column, cellIndex) => <td + key={cellIndex} + colspan={ column.colSpan } + rowspan={ column.rowSpan } + class={ [...this.getRowClasses(column, cellIndex), 'el-table__cell'] }> + <div class={ ['cell', column.labelClassName] }> + { + sums[cellIndex] + } + </div> + </td>) + } + { + this.hasGutter ? <th class="el-table__cell gutter"></th> : '' + } + </tr> + </tbody> + </table> + ); + }, + + props: { + fixed: String, + store: { + required: true + }, + summaryMethod: Function, + sumText: String, + border: Boolean, + defaultSort: { + type: Object, + default() { + return { + prop: '', + order: '' + }; + } + } + }, + + computed: { + table() { + return this.$parent; + }, + + hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + }, + + ...mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: states => states.columns.length, + leftFixedCount: states => states.fixedColumns.length, + rightFixedCount: states => states.rightFixedColumns.length + }) + }, + + methods: { + isCellHidden(index, columns, column) { + if (this.fixed === true || this.fixed === 'left') { + return index >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + let before = 0; + for (let i = 0; i < index; i++) { + before += columns[i].colSpan; + } + return before < this.columnsCount - this.rightFixedLeafCount; + } else if (!this.fixed && column.fixed) { // hide cell when footer instance is not fixed and column is fixed + return true; + } else { + return (index < this.leftFixedCount) || (index >= this.columnsCount - this.rightFixedCount); + } + }, + + getRowClasses(column, cellIndex) { + const classes = [column.id, column.align, column.labelClassName]; + if (column.className) { + classes.push(column.className); + } + if (this.isCellHidden(cellIndex, this.columns, column)) { + classes.push('is-hidden'); + } + if (!column.children) { + classes.push('is-leaf'); + } + return classes; + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-header.js b/PAMapp/local_modules/element-ui/packages/table/src/table-header.js new file mode 100644 index 0000000..f526940 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-header.js @@ -0,0 +1,511 @@ +import Vue from 'vue'; +import { hasClass, addClass, removeClass } from 'element-ui/src/utils/dom'; +import ElCheckbox from 'element-ui/packages/checkbox'; +import FilterPanel from './filter-panel.vue'; +import LayoutObserver from './layout-observer'; +import { mapStates } from './store/helper'; + +const getAllColumns = (columns) => { + const result = []; + columns.forEach((column) => { + if (column.children) { + result.push(column); + result.push.apply(result, getAllColumns(column.children)); + } else { + result.push(column); + } + }); + return result; +}; + +const convertToRows = (originColumns) => { + let maxLevel = 1; + const traverse = (column, parent) => { + if (parent) { + column.level = parent.level + 1; + if (maxLevel < column.level) { + maxLevel = column.level; + } + } + if (column.children) { + let colSpan = 0; + column.children.forEach((subColumn) => { + traverse(subColumn, column); + colSpan += subColumn.colSpan; + }); + column.colSpan = colSpan; + } else { + column.colSpan = 1; + } + }; + + originColumns.forEach((column) => { + column.level = 1; + traverse(column); + }); + + const rows = []; + for (let i = 0; i < maxLevel; i++) { + rows.push([]); + } + + const allColumns = getAllColumns(originColumns); + + allColumns.forEach((column) => { + if (!column.children) { + column.rowSpan = maxLevel - column.level + 1; + } else { + column.rowSpan = 1; + } + rows[column.level - 1].push(column); + }); + + return rows; +}; + +export default { + name: 'ElTableHeader', + + mixins: [LayoutObserver], + + render(h) { + const originColumns = this.store.states.originColumns; + const columnRows = convertToRows(originColumns, this.columns); + // ������漣銵典仍 + const isGroup = columnRows.length > 1; + if (isGroup) this.$parent.isGroup = true; + return ( + <table + class="el-table__header" + cellspacing="0" + cellpadding="0" + border="0"> + <colgroup> + { + this.columns.map(column => <col name={ column.id } key={column.id} />) + } + { + this.hasGutter ? <col name="gutter" /> : '' + } + </colgroup> + <thead class={ [{ 'is-group': isGroup, 'has-gutter': this.hasGutter }] }> + { + this._l(columnRows, (columns, rowIndex) => + <tr + style={ this.getHeaderRowStyle(rowIndex) } + class={ this.getHeaderRowClass(rowIndex) } + > + { + columns.map((column, cellIndex) => (<th + colspan={ column.colSpan } + rowspan={ column.rowSpan } + on-mousemove={ ($event) => this.handleMouseMove($event, column) } + on-mouseout={ this.handleMouseOut } + on-mousedown={ ($event) => this.handleMouseDown($event, column) } + on-click={ ($event) => this.handleHeaderClick($event, column) } + on-contextmenu={ ($event) => this.handleHeaderContextMenu($event, column) } + style={ this.getHeaderCellStyle(rowIndex, cellIndex, columns, column) } + class={ this.getHeaderCellClass(rowIndex, cellIndex, columns, column) } + key={ column.id }> + <div class={ ['cell', column.filteredValue && column.filteredValue.length > 0 ? 'highlight' : '', column.labelClassName] }> + { + column.renderHeader + ? column.renderHeader.call(this._renderProxy, h, { column, $index: cellIndex, store: this.store, _self: this.$parent.$vnode.context }) + : column.label + } + { + column.sortable ? (<span + class="caret-wrapper" + on-click={ ($event) => this.handleSortClick($event, column) }> + <i class="sort-caret ascending" + on-click={ ($event) => this.handleSortClick($event, column, 'ascending') }> + </i> + <i class="sort-caret descending" + on-click={ ($event) => this.handleSortClick($event, column, 'descending') }> + </i> + </span>) : '' + } + { + column.filterable ? (<span + class="el-table__column-filter-trigger" + on-click={ ($event) => this.handleFilterClick($event, column) }> + <i class={ ['el-icon-arrow-down', column.filterOpened ? 'el-icon-arrow-up' : ''] }></i> + </span>) : '' + } + </div> + </th>)) + } + { + this.hasGutter ? <th class="el-table__cell gutter"></th> : '' + } + </tr> + ) + } + </thead> + </table> + ); + }, + + props: { + fixed: String, + store: { + required: true + }, + border: Boolean, + defaultSort: { + type: Object, + default() { + return { + prop: '', + order: '' + }; + } + } + }, + + components: { + ElCheckbox + }, + + computed: { + table() { + return this.$parent; + }, + + hasGutter() { + return !this.fixed && this.tableLayout.gutterWidth; + }, + + ...mapStates({ + columns: 'columns', + isAllSelected: 'isAllSelected', + leftFixedLeafCount: 'fixedLeafColumnsLength', + rightFixedLeafCount: 'rightFixedLeafColumnsLength', + columnsCount: states => states.columns.length, + leftFixedCount: states => states.fixedColumns.length, + rightFixedCount: states => states.rightFixedColumns.length + }) + }, + + created() { + this.filterPanels = {}; + }, + + mounted() { + // nextTick ������� https://github.com/ElemeFE/element/pull/11311 + this.$nextTick(() => { + const { prop, order } = this.defaultSort; + const init = true; + this.store.commit('sort', { prop, order, init }); + }); + }, + + beforeDestroy() { + const panels = this.filterPanels; + for (let prop in panels) { + if (panels.hasOwnProperty(prop) && panels[prop]) { + panels[prop].$destroy(true); + } + } + }, + + methods: { + isCellHidden(index, columns) { + let start = 0; + for (let i = 0; i < index; i++) { + start += columns[i].colSpan; + } + const after = start + columns[index].colSpan - 1; + if (this.fixed === true || this.fixed === 'left') { + return after >= this.leftFixedLeafCount; + } else if (this.fixed === 'right') { + return start < this.columnsCount - this.rightFixedLeafCount; + } else { + return (after < this.leftFixedLeafCount) || (start >= this.columnsCount - this.rightFixedLeafCount); + } + }, + + getHeaderRowStyle(rowIndex) { + const headerRowStyle = this.table.headerRowStyle; + if (typeof headerRowStyle === 'function') { + return headerRowStyle.call(null, { rowIndex }); + } + return headerRowStyle; + }, + + getHeaderRowClass(rowIndex) { + const classes = []; + + const headerRowClassName = this.table.headerRowClassName; + if (typeof headerRowClassName === 'string') { + classes.push(headerRowClassName); + } else if (typeof headerRowClassName === 'function') { + classes.push(headerRowClassName.call(null, { rowIndex })); + } + + return classes.join(' '); + }, + + getHeaderCellStyle(rowIndex, columnIndex, row, column) { + const headerCellStyle = this.table.headerCellStyle; + if (typeof headerCellStyle === 'function') { + return headerCellStyle.call(null, { + rowIndex, + columnIndex, + row, + column + }); + } + return headerCellStyle; + }, + + getHeaderCellClass(rowIndex, columnIndex, row, column) { + const classes = [column.id, column.order, column.headerAlign, column.className, column.labelClassName]; + + if (rowIndex === 0 && this.isCellHidden(columnIndex, row)) { + classes.push('is-hidden'); + } + + if (!column.children) { + classes.push('is-leaf'); + } + + if (column.sortable) { + classes.push('is-sortable'); + } + + const headerCellClassName = this.table.headerCellClassName; + if (typeof headerCellClassName === 'string') { + classes.push(headerCellClassName); + } else if (typeof headerCellClassName === 'function') { + classes.push(headerCellClassName.call(null, { + rowIndex, + columnIndex, + row, + column + })); + } + + classes.push('el-table__cell'); + + return classes.join(' '); + }, + + toggleAllSelection() { + this.store.commit('toggleAllSelection'); + }, + + handleFilterClick(event, column) { + event.stopPropagation(); + const target = event.target; + let cell = target.tagName === 'TH' ? target : target.parentNode; + if (hasClass(cell, 'noclick')) return; + cell = cell.querySelector('.el-table__column-filter-trigger') || cell; + const table = this.$parent; + + let filterPanel = this.filterPanels[column.id]; + + if (filterPanel && column.filterOpened) { + filterPanel.showPopper = false; + return; + } + + if (!filterPanel) { + filterPanel = new Vue(FilterPanel); + this.filterPanels[column.id] = filterPanel; + if (column.filterPlacement) { + filterPanel.placement = column.filterPlacement; + } + filterPanel.table = table; + filterPanel.cell = cell; + filterPanel.column = column; + !this.$isServer && filterPanel.$mount(document.createElement('div')); + } + + setTimeout(() => { + filterPanel.showPopper = true; + }, 16); + }, + + handleHeaderClick(event, column) { + if (!column.filters && column.sortable) { + this.handleSortClick(event, column); + } else if (column.filterable && !column.sortable) { + this.handleFilterClick(event, column); + } + + this.$parent.$emit('header-click', column, event); + }, + + handleHeaderContextMenu(event, column) { + this.$parent.$emit('header-contextmenu', column, event); + }, + + handleMouseDown(event, column) { + if (this.$isServer) return; + if (column.children && column.children.length > 0) return; + /* istanbul ignore if */ + if (this.draggingColumn && this.border) { + this.dragging = true; + + this.$parent.resizeProxyVisible = true; + + const table = this.$parent; + const tableEl = table.$el; + const tableLeft = tableEl.getBoundingClientRect().left; + const columnEl = this.$el.querySelector(`th.${column.id}`); + const columnRect = columnEl.getBoundingClientRect(); + const minLeft = columnRect.left - tableLeft + 30; + + addClass(columnEl, 'noclick'); + + this.dragState = { + startMouseLeft: event.clientX, + startLeft: columnRect.right - tableLeft, + startColumnLeft: columnRect.left - tableLeft, + tableLeft + }; + + const resizeProxy = table.$refs.resizeProxy; + resizeProxy.style.left = this.dragState.startLeft + 'px'; + + document.onselectstart = function() { return false; }; + document.ondragstart = function() { return false; }; + + const handleMouseMove = (event) => { + const deltaLeft = event.clientX - this.dragState.startMouseLeft; + const proxyLeft = this.dragState.startLeft + deltaLeft; + + resizeProxy.style.left = Math.max(minLeft, proxyLeft) + 'px'; + }; + + const handleMouseUp = () => { + if (this.dragging) { + const { + startColumnLeft, + startLeft + } = this.dragState; + const finalLeft = parseInt(resizeProxy.style.left, 10); + const columnWidth = finalLeft - startColumnLeft; + column.width = column.realWidth = columnWidth; + table.$emit('header-dragend', column.width, startLeft - startColumnLeft, column, event); + + this.store.scheduleLayout(); + + document.body.style.cursor = ''; + this.dragging = false; + this.draggingColumn = null; + this.dragState = {}; + + table.resizeProxyVisible = false; + } + + document.removeEventListener('mousemove', handleMouseMove); + document.removeEventListener('mouseup', handleMouseUp); + document.onselectstart = null; + document.ondragstart = null; + + setTimeout(function() { + removeClass(columnEl, 'noclick'); + }, 0); + }; + + document.addEventListener('mousemove', handleMouseMove); + document.addEventListener('mouseup', handleMouseUp); + } + }, + + handleMouseMove(event, column) { + if (column.children && column.children.length > 0) return; + let target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (!column || !column.resizable) return; + + if (!this.dragging && this.border) { + let rect = target.getBoundingClientRect(); + + const bodyStyle = document.body.style; + if (rect.width > 12 && rect.right - event.pageX < 8) { + bodyStyle.cursor = 'col-resize'; + if (hasClass(target, 'is-sortable')) { + target.style.cursor = 'col-resize'; + } + this.draggingColumn = column; + } else if (!this.dragging) { + bodyStyle.cursor = ''; + if (hasClass(target, 'is-sortable')) { + target.style.cursor = 'pointer'; + } + this.draggingColumn = null; + } + } + }, + + handleMouseOut() { + if (this.$isServer) return; + document.body.style.cursor = ''; + }, + + toggleOrder({ order, sortOrders }) { + if (order === '') return sortOrders[0]; + const index = sortOrders.indexOf(order || null); + return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]; + }, + + handleSortClick(event, column, givenOrder) { + event.stopPropagation(); + let order = column.order === givenOrder + ? null + : (givenOrder || this.toggleOrder(column)); + + let target = event.target; + while (target && target.tagName !== 'TH') { + target = target.parentNode; + } + + if (target && target.tagName === 'TH') { + if (hasClass(target, 'noclick')) { + removeClass(target, 'noclick'); + return; + } + } + + if (!column.sortable) return; + + const states = this.store.states; + let sortProp = states.sortProp; + let sortOrder; + const sortingColumn = states.sortingColumn; + + if (sortingColumn !== column || (sortingColumn === column && sortingColumn.order === null)) { + if (sortingColumn) { + sortingColumn.order = null; + } + states.sortingColumn = column; + sortProp = column.property; + } + + if (!order) { + sortOrder = column.order = null; + } else { + sortOrder = column.order = order; + } + + states.sortProp = sortProp; + states.sortOrder = sortOrder; + + this.store.commit('changeSortCondition'); + } + }, + + data() { + return { + draggingColumn: null, + dragging: false, + dragState: {} + }; + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-layout.js b/PAMapp/local_modules/element-ui/packages/table/src/table-layout.js new file mode 100644 index 0000000..7f8942f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-layout.js @@ -0,0 +1,249 @@ +import Vue from 'vue'; +import scrollbarWidth from 'element-ui/src/utils/scrollbar-width'; +import { parseHeight } from './util'; + +class TableLayout { + constructor(options) { + this.observers = []; + this.table = null; + this.store = null; + this.columns = null; + this.fit = true; + this.showHeader = true; + + this.height = null; + this.scrollX = false; + this.scrollY = false; + this.bodyWidth = null; + this.fixedWidth = null; + this.rightFixedWidth = null; + this.tableHeight = null; + this.headerHeight = 44; // Table Header Height + this.appendHeight = 0; // Append Slot Height + this.footerHeight = 44; // Table Footer Height + this.viewportHeight = null; // Table Height - Scroll Bar Height + this.bodyHeight = null; // Table Height - Table Header Height + this.fixedBodyHeight = null; // Table Height - Table Header Height - Scroll Bar Height + this.gutterWidth = scrollbarWidth(); + + for (let name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + if (!this.table) { + throw new Error('table is required for Table Layout'); + } + if (!this.store) { + throw new Error('store is required for Table Layout'); + } + } + + updateScrollY() { + const height = this.height; + if (height === null) return false; + const bodyWrapper = this.table.bodyWrapper; + if (this.table.$el && bodyWrapper) { + const body = bodyWrapper.querySelector('.el-table__body'); + const prevScrollY = this.scrollY; + const scrollY = body.offsetHeight > this.bodyHeight; + this.scrollY = scrollY; + return prevScrollY !== scrollY; + } + return false; + } + + setHeight(value, prop = 'height') { + if (Vue.prototype.$isServer) return; + const el = this.table.$el; + value = parseHeight(value); + this.height = value; + + if (!el && (value || value === 0)) return Vue.nextTick(() => this.setHeight(value, prop)); + + if (typeof value === 'number') { + el.style[prop] = value + 'px'; + this.updateElsHeight(); + } else if (typeof value === 'string') { + el.style[prop] = value; + this.updateElsHeight(); + } + } + + setMaxHeight(value) { + this.setHeight(value, 'max-height'); + } + + getFlattenColumns() { + const flattenColumns = []; + const columns = this.table.columns; + columns.forEach((column) => { + if (column.isColumnGroup) { + flattenColumns.push.apply(flattenColumns, column.columns); + } else { + flattenColumns.push(column); + } + }); + + return flattenColumns; + } + + updateElsHeight() { + if (!this.table.$ready) return Vue.nextTick(() => this.updateElsHeight()); + const { headerWrapper, appendWrapper, footerWrapper } = this.table.$refs; + this.appendHeight = appendWrapper ? appendWrapper.offsetHeight : 0; + + if (this.showHeader && !headerWrapper) return; + + // fix issue (https://github.com/ElemeFE/element/pull/16956) + const headerTrElm = headerWrapper ? headerWrapper.querySelector('.el-table__header tr') : null; + const noneHeader = this.headerDisplayNone(headerTrElm); + + const headerHeight = this.headerHeight = !this.showHeader ? 0 : headerWrapper.offsetHeight; + if (this.showHeader && !noneHeader && headerWrapper.offsetWidth > 0 && (this.table.columns || []).length > 0 && headerHeight < 2) { + return Vue.nextTick(() => this.updateElsHeight()); + } + const tableHeight = this.tableHeight = this.table.$el.clientHeight; + const footerHeight = this.footerHeight = footerWrapper ? footerWrapper.offsetHeight : 0; + if (this.height !== null) { + this.bodyHeight = tableHeight - headerHeight - footerHeight + (footerWrapper ? 1 : 0); + } + this.fixedBodyHeight = this.scrollX ? (this.bodyHeight - this.gutterWidth) : this.bodyHeight; + + const noData = !(this.store.states.data && this.store.states.data.length); + this.viewportHeight = this.scrollX ? tableHeight - (noData ? 0 : this.gutterWidth) : tableHeight; + this.updateScrollY(); + this.notifyObservers('scrollable'); + } + + headerDisplayNone(elm) { + if (!elm) return true; + let headerChild = elm; + while (headerChild.tagName !== 'DIV') { + if (getComputedStyle(headerChild).display === 'none') { + return true; + } + headerChild = headerChild.parentElement; + } + return false; + } + + updateColumnsWidth() { + if (Vue.prototype.$isServer) return; + const fit = this.fit; + const bodyWidth = this.table.$el.clientWidth; + let bodyMinWidth = 0; + + const flattenColumns = this.getFlattenColumns(); + let flexColumns = flattenColumns.filter((column) => typeof column.width !== 'number'); + + flattenColumns.forEach((column) => { // Clean those columns whose width changed from flex to unflex + if (typeof column.width === 'number' && column.realWidth) column.realWidth = null; + }); + + if (flexColumns.length > 0 && fit) { + flattenColumns.forEach((column) => { + bodyMinWidth += column.width || column.minWidth || 80; + }); + + const scrollYWidth = this.scrollY ? this.gutterWidth : 0; + + if (bodyMinWidth <= bodyWidth - scrollYWidth) { // DON'T HAVE SCROLL BAR + this.scrollX = false; + + const totalFlexWidth = bodyWidth - scrollYWidth - bodyMinWidth; + + if (flexColumns.length === 1) { + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth; + } else { + const allColumnsWidth = flexColumns.reduce((prev, column) => prev + (column.minWidth || 80), 0); + const flexWidthPerPixel = totalFlexWidth / allColumnsWidth; + let noneFirstWidth = 0; + + flexColumns.forEach((column, index) => { + if (index === 0) return; + const flexWidth = Math.floor((column.minWidth || 80) * flexWidthPerPixel); + noneFirstWidth += flexWidth; + column.realWidth = (column.minWidth || 80) + flexWidth; + }); + + flexColumns[0].realWidth = (flexColumns[0].minWidth || 80) + totalFlexWidth - noneFirstWidth; + } + } else { // HAVE HORIZONTAL SCROLL BAR + this.scrollX = true; + flexColumns.forEach(function(column) { + column.realWidth = column.minWidth; + }); + } + + this.bodyWidth = Math.max(bodyMinWidth, bodyWidth); + this.table.resizeState.width = this.bodyWidth; + } else { + flattenColumns.forEach((column) => { + if (!column.width && !column.minWidth) { + column.realWidth = 80; + } else { + column.realWidth = column.width || column.minWidth; + } + + bodyMinWidth += column.realWidth; + }); + this.scrollX = bodyMinWidth > bodyWidth; + + this.bodyWidth = bodyMinWidth; + } + + const fixedColumns = this.store.states.fixedColumns; + + if (fixedColumns.length > 0) { + let fixedWidth = 0; + fixedColumns.forEach(function(column) { + fixedWidth += column.realWidth || column.width; + }); + + this.fixedWidth = fixedWidth; + } + + const rightFixedColumns = this.store.states.rightFixedColumns; + if (rightFixedColumns.length > 0) { + let rightFixedWidth = 0; + rightFixedColumns.forEach(function(column) { + rightFixedWidth += column.realWidth || column.width; + }); + + this.rightFixedWidth = rightFixedWidth; + } + + this.notifyObservers('columns'); + } + + addObserver(observer) { + this.observers.push(observer); + } + + removeObserver(observer) { + const index = this.observers.indexOf(observer); + if (index !== -1) { + this.observers.splice(index, 1); + } + } + + notifyObservers(event) { + const observers = this.observers; + observers.forEach((observer) => { + switch (event) { + case 'columns': + observer.onColumnsChange(this); + break; + case 'scrollable': + observer.onScrollableChange(this); + break; + default: + throw new Error(`Table Layout don't have event ${event}.`); + } + }); + } +} + +export default TableLayout; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table-row.js b/PAMapp/local_modules/element-ui/packages/table/src/table-row.js new file mode 100644 index 0000000..ff7fbe5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table-row.js @@ -0,0 +1,101 @@ +import ElCheckbox from 'element-ui/packages/checkbox'; +export default { + name: 'ElTableRow', + props: [ + 'columns', + 'row', + 'index', + 'isSelected', + 'isExpanded', + 'store', + 'context', + 'firstDefaultColumnIndex', + 'treeRowData', + 'treeIndent', + 'columnsHidden', + 'getSpan', + 'getColspanRealWidth', + 'getCellStyle', + 'getCellClass', + 'handleCellMouseLeave', + 'handleCellMouseEnter', + 'fixed' + ], + components: { + ElCheckbox + }, + render() { + const { + columns, + row, + index: $index, + store, + context, + firstDefaultColumnIndex, + treeRowData, + treeIndent, + columnsHidden = [], + isSelected, + isExpanded + } = this; + + return ( + <tr> + { + columns.map((column, cellIndex) => { + const { rowspan, colspan } = this.getSpan(row, column, $index, cellIndex); + if (!rowspan || !colspan) { + return null; + } + const columnData = { ...column }; + columnData.realWidth = this.getColspanRealWidth(columns, colspan, cellIndex); + const data = { + store, + isSelected, + isExpanded, + _self: context, + column: columnData, + row, + $index + }; + if (cellIndex === firstDefaultColumnIndex && treeRowData) { + data.treeNode = { + indent: treeRowData.level * treeIndent, + level: treeRowData.level + }; + if (typeof treeRowData.expanded === 'boolean') { + data.treeNode.expanded = treeRowData.expanded; + // 銵冽����蝸 + if ('loading' in treeRowData) { + data.treeNode.loading = treeRowData.loading; + } + if ('noLazyChildren' in treeRowData) { + data.treeNode.noLazyChildren = treeRowData.noLazyChildren; + } + } + } + return ( + <td + style={this.getCellStyle($index, cellIndex, row, column)} + class={this.getCellClass($index, cellIndex, row, column)} + rowspan={rowspan} + colspan={colspan} + on-mouseenter={($event) => this.handleCellMouseEnter($event, row)} + on-mouseleave={this.handleCellMouseLeave} + > + { + column.renderCell.call( + this._renderProxy, + this.$createElement, + data, + columnsHidden[cellIndex] + ) + } + </td> + ); + }) + } + </tr> + ); + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/table/src/table.vue b/PAMapp/local_modules/element-ui/packages/table/src/table.vue new file mode 100644 index 0000000..2fa3c93 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/table.vue @@ -0,0 +1,707 @@ +<template> + <div class="el-table" + :class="[{ + 'el-table--fit': fit, + 'el-table--striped': stripe, + 'el-table--border': border || isGroup, + 'el-table--hidden': isHidden, + 'el-table--group': isGroup, + 'el-table--fluid-height': maxHeight, + 'el-table--scrollable-x': layout.scrollX, + 'el-table--scrollable-y': layout.scrollY, + 'el-table--enable-row-hover': !store.states.isComplex, + 'el-table--enable-row-transition': (store.states.data || []).length !== 0 && (store.states.data || []).length < 100 + }, tableSize ? `el-table--${ tableSize }` : '']" + @mouseleave="handleMouseLeave($event)"> + <div class="hidden-columns" ref="hiddenColumns"><slot></slot></div> + <div + v-if="showHeader" + v-mousewheel="handleHeaderFooterMousewheel" + class="el-table__header-wrapper" + ref="headerWrapper"> + <table-header + ref="tableHeader" + :store="store" + :border="border" + :default-sort="defaultSort" + :style="{ + width: layout.bodyWidth ? layout.bodyWidth + 'px' : '' + }"> + </table-header> + </div> + <div + class="el-table__body-wrapper" + ref="bodyWrapper" + :class="[layout.scrollX ? `is-scrolling-${scrollPosition}` : 'is-scrolling-none']" + :style="[bodyHeight]"> + <table-body + :context="context" + :store="store" + :stripe="stripe" + :row-class-name="rowClassName" + :row-style="rowStyle" + :highlight="highlightCurrentRow" + :style="{ + width: bodyWidth + }"> + </table-body> + <div + v-if="!data || data.length === 0" + class="el-table__empty-block" + ref="emptyBlock" + :style="emptyBlockStyle"> + <span class="el-table__empty-text" > + <slot name="empty">{{ emptyText || t('el.table.emptyText') }}</slot> + </span> + </div> + <div + v-if="$slots.append" + class="el-table__append-wrapper" + ref="appendWrapper"> + <slot name="append"></slot> + </div> + </div> + <div + v-if="showSummary" + v-show="data && data.length > 0" + v-mousewheel="handleHeaderFooterMousewheel" + class="el-table__footer-wrapper" + ref="footerWrapper"> + <table-footer + :store="store" + :border="border" + :sum-text="sumText || t('el.table.sumText')" + :summary-method="summaryMethod" + :default-sort="defaultSort" + :style="{ + width: layout.bodyWidth ? layout.bodyWidth + 'px' : '' + }"> + </table-footer> + </div> + <div + v-if="fixedColumns.length > 0" + v-mousewheel="handleFixedMousewheel" + class="el-table__fixed" + ref="fixedWrapper" + :style="[{ + width: layout.fixedWidth ? layout.fixedWidth + 'px' : '' + }, + fixedHeight]"> + <div + v-if="showHeader" + class="el-table__fixed-header-wrapper" + ref="fixedHeaderWrapper" > + <table-header + ref="fixedTableHeader" + fixed="left" + :border="border" + :store="store" + :style="{ + width: bodyWidth + }"></table-header> + </div> + <div + class="el-table__fixed-body-wrapper" + ref="fixedBodyWrapper" + :style="[{ + top: layout.headerHeight + 'px' + }, + fixedBodyHeight]"> + <table-body + fixed="left" + :store="store" + :stripe="stripe" + :highlight="highlightCurrentRow" + :row-class-name="rowClassName" + :row-style="rowStyle" + :style="{ + width: bodyWidth + }"> + </table-body> + <div + v-if="$slots.append" + class="el-table__append-gutter" + :style="{ height: layout.appendHeight + 'px'}"></div> + </div> + <div + v-if="showSummary" + v-show="data && data.length > 0" + class="el-table__fixed-footer-wrapper" + ref="fixedFooterWrapper"> + <table-footer + fixed="left" + :border="border" + :sum-text="sumText || t('el.table.sumText')" + :summary-method="summaryMethod" + :store="store" + :style="{ + width: bodyWidth + }"></table-footer> + </div> + </div> + <div + v-if="rightFixedColumns.length > 0" + v-mousewheel="handleFixedMousewheel" + class="el-table__fixed-right" + ref="rightFixedWrapper" + :style="[{ + width: layout.rightFixedWidth ? layout.rightFixedWidth + 'px' : '', + right: layout.scrollY ? (border ? layout.gutterWidth : (layout.gutterWidth || 0)) + 'px' : '' + }, + fixedHeight]"> + <div v-if="showHeader" + class="el-table__fixed-header-wrapper" + ref="rightFixedHeaderWrapper"> + <table-header + ref="rightFixedTableHeader" + fixed="right" + :border="border" + :store="store" + :style="{ + width: bodyWidth + }"></table-header> + </div> + <div + class="el-table__fixed-body-wrapper" + ref="rightFixedBodyWrapper" + :style="[{ + top: layout.headerHeight + 'px' + }, + fixedBodyHeight]"> + <table-body + fixed="right" + :store="store" + :stripe="stripe" + :row-class-name="rowClassName" + :row-style="rowStyle" + :highlight="highlightCurrentRow" + :style="{ + width: bodyWidth + }"> + </table-body> + <div + v-if="$slots.append" + class="el-table__append-gutter" + :style="{ height: layout.appendHeight + 'px' }"></div> + </div> + <div + v-if="showSummary" + v-show="data && data.length > 0" + class="el-table__fixed-footer-wrapper" + ref="rightFixedFooterWrapper"> + <table-footer + fixed="right" + :border="border" + :sum-text="sumText || t('el.table.sumText')" + :summary-method="summaryMethod" + :store="store" + :style="{ + width: bodyWidth + }"></table-footer> + </div> + </div> + <div + v-if="rightFixedColumns.length > 0" + class="el-table__fixed-right-patch" + ref="rightFixedPatch" + :style="{ + width: layout.scrollY ? layout.gutterWidth + 'px' : '0', + height: layout.headerHeight + 'px' + }"></div> + <div class="el-table__column-resize-proxy" ref="resizeProxy" v-show="resizeProxyVisible"></div> + </div> +</template> + +<script type="text/babel"> + import ElCheckbox from 'element-ui/packages/checkbox'; + import { debounce, throttle } from 'throttle-debounce'; + import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; + import Mousewheel from 'element-ui/src/directives/mousewheel'; + import Locale from 'element-ui/src/mixins/locale'; + import Migrating from 'element-ui/src/mixins/migrating'; + import { createStore, mapStates } from './store/helper'; + import TableLayout from './table-layout'; + import TableBody from './table-body'; + import TableHeader from './table-header'; + import TableFooter from './table-footer'; + import { parseHeight } from './util'; + + let tableIdSeed = 1; + + export default { + name: 'ElTable', + + mixins: [Locale, Migrating], + + directives: { + Mousewheel + }, + + props: { + data: { + type: Array, + default: function() { + return []; + } + }, + + size: String, + + width: [String, Number], + + height: [String, Number], + + maxHeight: [String, Number], + + fit: { + type: Boolean, + default: true + }, + + stripe: Boolean, + + border: Boolean, + + rowKey: [String, Function], + + context: {}, + + showHeader: { + type: Boolean, + default: true + }, + + showSummary: Boolean, + + sumText: String, + + summaryMethod: Function, + + rowClassName: [String, Function], + + rowStyle: [Object, Function], + + cellClassName: [String, Function], + + cellStyle: [Object, Function], + + headerRowClassName: [String, Function], + + headerRowStyle: [Object, Function], + + headerCellClassName: [String, Function], + + headerCellStyle: [Object, Function], + + highlightCurrentRow: Boolean, + + currentRowKey: [String, Number], + + emptyText: String, + + expandRowKeys: Array, + + defaultExpandAll: Boolean, + + defaultSort: Object, + + tooltipEffect: String, + + spanMethod: Function, + + selectOnIndeterminate: { + type: Boolean, + default: true + }, + + indent: { + type: Number, + default: 16 + }, + + treeProps: { + type: Object, + default() { + return { + hasChildren: 'hasChildren', + children: 'children' + }; + } + }, + + lazy: Boolean, + + load: Function + }, + + components: { + TableHeader, + TableFooter, + TableBody, + ElCheckbox + }, + + methods: { + getMigratingConfig() { + return { + events: { + expand: 'expand is renamed to expand-change' + } + }; + }, + + setCurrentRow(row) { + this.store.commit('setCurrentRow', row); + }, + + toggleRowSelection(row, selected) { + this.store.toggleRowSelection(row, selected, false); + this.store.updateAllSelected(); + }, + + toggleRowExpansion(row, expanded) { + this.store.toggleRowExpansionAdapter(row, expanded); + }, + + clearSelection() { + this.store.clearSelection(); + }, + + clearFilter(columnKeys) { + this.store.clearFilter(columnKeys); + }, + + clearSort() { + this.store.clearSort(); + }, + + handleMouseLeave() { + this.store.commit('setHoverRow', null); + if (this.hoverState) this.hoverState = null; + }, + + updateScrollY() { + const changed = this.layout.updateScrollY(); + if (changed) { + this.layout.notifyObservers('scrollable'); + this.layout.updateColumnsWidth(); + } + }, + + handleFixedMousewheel(event, data) { + const bodyWrapper = this.bodyWrapper; + if (Math.abs(data.spinY) > 0) { + const currentScrollTop = bodyWrapper.scrollTop; + if (data.pixelY < 0 && currentScrollTop !== 0) { + event.preventDefault(); + } + if (data.pixelY > 0 && bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop) { + event.preventDefault(); + } + bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5); + } else { + bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5); + } + }, + + handleHeaderFooterMousewheel(event, data) { + const { pixelX, pixelY } = data; + if (Math.abs(pixelX) >= Math.abs(pixelY)) { + this.bodyWrapper.scrollLeft += data.pixelX / 5; + } + }, + + // TODO 雿輻 CSS transform + syncPostion() { + const { scrollLeft, scrollTop, offsetWidth, scrollWidth } = this.bodyWrapper; + const { headerWrapper, footerWrapper, fixedBodyWrapper, rightFixedBodyWrapper } = this.$refs; + if (headerWrapper) headerWrapper.scrollLeft = scrollLeft; + if (footerWrapper) footerWrapper.scrollLeft = scrollLeft; + if (fixedBodyWrapper) fixedBodyWrapper.scrollTop = scrollTop; + if (rightFixedBodyWrapper) rightFixedBodyWrapper.scrollTop = scrollTop; + const maxScrollLeftPosition = scrollWidth - offsetWidth - 1; + if (scrollLeft >= maxScrollLeftPosition) { + this.scrollPosition = 'right'; + } else if (scrollLeft === 0) { + this.scrollPosition = 'left'; + } else { + this.scrollPosition = 'middle'; + } + }, + + throttleSyncPostion: throttle(16, function() { + this.syncPostion(); + }), + + onScroll(evt) { + let raf = window.requestAnimationFrame; + if (!raf) { + this.throttleSyncPostion(); + } else { + raf(this.syncPostion); + } + }, + + bindEvents() { + this.bodyWrapper.addEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + addResizeListener(this.$el, this.resizeListener); + } + }, + + unbindEvents() { + this.bodyWrapper.removeEventListener('scroll', this.onScroll, { passive: true }); + if (this.fit) { + removeResizeListener(this.$el, this.resizeListener); + } + }, + + resizeListener() { + if (!this.$ready) return; + let shouldUpdateLayout = false; + const el = this.$el; + const { width: oldWidth, height: oldHeight } = this.resizeState; + + const width = el.offsetWidth; + if (oldWidth !== width) { + shouldUpdateLayout = true; + } + + const height = el.offsetHeight; + if ((this.height || this.shouldUpdateHeight) && oldHeight !== height) { + shouldUpdateLayout = true; + } + + if (shouldUpdateLayout) { + this.resizeState.width = width; + this.resizeState.height = height; + this.doLayout(); + } + }, + + doLayout() { + if (this.shouldUpdateHeight) { + this.layout.updateElsHeight(); + } + this.layout.updateColumnsWidth(); + }, + + sort(prop, order) { + this.store.commit('sort', { prop, order }); + }, + + toggleAllSelection() { + this.store.commit('toggleAllSelection'); + } + + }, + + computed: { + tableSize() { + return this.size || (this.$ELEMENT || {}).size; + }, + + bodyWrapper() { + return this.$refs.bodyWrapper; + }, + + shouldUpdateHeight() { + return this.height || + this.maxHeight || + this.fixedColumns.length > 0 || + this.rightFixedColumns.length > 0; + }, + + bodyWidth() { + const { bodyWidth, scrollY, gutterWidth } = this.layout; + return bodyWidth ? bodyWidth - (scrollY ? gutterWidth : 0) + 'px' : ''; + }, + + bodyHeight() { + const { headerHeight = 0, bodyHeight, footerHeight = 0} = this.layout; + if (this.height) { + return { + height: bodyHeight ? bodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + const maxHeight = parseHeight(this.maxHeight); + if (typeof maxHeight === 'number') { + return { + 'max-height': (maxHeight - footerHeight - (this.showHeader ? headerHeight : 0)) + 'px' + }; + } + } + return {}; + }, + + fixedBodyHeight() { + if (this.height) { + return { + height: this.layout.fixedBodyHeight ? this.layout.fixedBodyHeight + 'px' : '' + }; + } else if (this.maxHeight) { + let maxHeight = parseHeight(this.maxHeight); + if (typeof maxHeight === 'number') { + maxHeight = this.layout.scrollX ? maxHeight - this.layout.gutterWidth : maxHeight; + if (this.showHeader) { + maxHeight -= this.layout.headerHeight; + } + maxHeight -= this.layout.footerHeight; + return { + 'max-height': maxHeight + 'px' + }; + } + } + return {}; + }, + + fixedHeight() { + if (this.maxHeight) { + if (this.showSummary) { + return { + bottom: 0 + }; + } + return { + bottom: (this.layout.scrollX && this.data.length) ? this.layout.gutterWidth + 'px' : '' + }; + } else { + if (this.showSummary) { + return { + height: this.layout.tableHeight ? this.layout.tableHeight + 'px' : '' + }; + } + return { + height: this.layout.viewportHeight ? this.layout.viewportHeight + 'px' : '' + }; + } + }, + + emptyBlockStyle() { + if (this.data && this.data.length) return null; + let height = '100%'; + if (this.layout.appendHeight) { + height = `calc(100% - ${this.layout.appendHeight}px)`; + } + return { + width: this.bodyWidth, + height + }; + }, + + ...mapStates({ + selection: 'selection', + columns: 'columns', + tableData: 'data', + fixedColumns: 'fixedColumns', + rightFixedColumns: 'rightFixedColumns' + }) + }, + + watch: { + height: { + immediate: true, + handler(value) { + this.layout.setHeight(value); + } + }, + + maxHeight: { + immediate: true, + handler(value) { + this.layout.setMaxHeight(value); + } + }, + + currentRowKey: { + immediate: true, + handler(value) { + if (!this.rowKey) return; + this.store.setCurrentRowKey(value); + } + }, + + data: { + immediate: true, + handler(value) { + this.store.commit('setData', value); + } + }, + + expandRowKeys: { + immediate: true, + handler(newVal) { + if (newVal) { + this.store.setExpandRowKeysAdapter(newVal); + } + } + } + }, + + created() { + this.tableId = 'el-table_' + tableIdSeed++; + this.debouncedUpdateLayout = debounce(50, () => this.doLayout()); + }, + + mounted() { + this.bindEvents(); + this.store.updateColumns(); + this.doLayout(); + + this.resizeState = { + width: this.$el.offsetWidth, + height: this.$el.offsetHeight + }; + + // init filters + this.store.states.columns.forEach(column => { + if (column.filteredValue && column.filteredValue.length) { + this.store.commit('filterChange', { + column, + values: column.filteredValue, + silent: true + }); + } + }); + + this.$ready = true; + }, + + destroyed() { + this.unbindEvents(); + }, + + data() { + const { hasChildren = 'hasChildren', children = 'children' } = this.treeProps; + this.store = createStore(this, { + rowKey: this.rowKey, + defaultExpandAll: this.defaultExpandAll, + selectOnIndeterminate: this.selectOnIndeterminate, + // TreeTable �����蔭 + indent: this.indent, + lazy: this.lazy, + lazyColumnIdentifier: hasChildren, + childrenColumnName: children + }); + const layout = new TableLayout({ + store: this.store, + table: this, + fit: this.fit, + showHeader: this.showHeader + }); + return { + layout, + isHidden: false, + renderExpanded: null, + resizeProxyVisible: false, + resizeState: { + width: null, + height: null + }, + // ������漣銵典仍 + isGroup: false, + scrollPosition: 'left' + }; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/table/src/util.js b/PAMapp/local_modules/element-ui/packages/table/src/util.js new file mode 100644 index 0000000..7bbec8d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/table/src/util.js @@ -0,0 +1,255 @@ +import { getValueByPath } from 'element-ui/src/utils/util'; + +export const getCell = function(event) { + let cell = event.target; + + while (cell && cell.tagName.toUpperCase() !== 'HTML') { + if (cell.tagName.toUpperCase() === 'TD') { + return cell; + } + cell = cell.parentNode; + } + + return null; +}; + +const isObject = function(obj) { + return obj !== null && typeof obj === 'object'; +}; + +export const orderBy = function(array, sortKey, reverse, sortMethod, sortBy) { + if (!sortKey && !sortMethod && (!sortBy || Array.isArray(sortBy) && !sortBy.length)) { + return array; + } + if (typeof reverse === 'string') { + reverse = reverse === 'descending' ? -1 : 1; + } else { + reverse = (reverse && reverse < 0) ? -1 : 1; + } + const getKey = sortMethod ? null : function(value, index) { + if (sortBy) { + if (!Array.isArray(sortBy)) { + sortBy = [sortBy]; + } + return sortBy.map(function(by) { + if (typeof by === 'string') { + return getValueByPath(value, by); + } else { + return by(value, index, array); + } + }); + } + if (sortKey !== '$key') { + if (isObject(value) && '$value' in value) value = value.$value; + } + return [isObject(value) ? getValueByPath(value, sortKey) : value]; + }; + const compare = function(a, b) { + if (sortMethod) { + return sortMethod(a.value, b.value); + } + for (let i = 0, len = a.key.length; i < len; i++) { + if (a.key[i] < b.key[i]) { + return -1; + } + if (a.key[i] > b.key[i]) { + return 1; + } + } + return 0; + }; + return array.map(function(value, index) { + return { + value: value, + index: index, + key: getKey ? getKey(value, index) : null + }; + }).sort(function(a, b) { + let order = compare(a, b); + if (!order) { + // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability + order = a.index - b.index; + } + return order * reverse; + }).map(item => item.value); +}; + +export const getColumnById = function(table, columnId) { + let column = null; + table.columns.forEach(function(item) { + if (item.id === columnId) { + column = item; + } + }); + return column; +}; + +export const getColumnByKey = function(table, columnKey) { + let column = null; + for (let i = 0; i < table.columns.length; i++) { + const item = table.columns[i]; + if (item.columnKey === columnKey) { + column = item; + break; + } + } + return column; +}; + +export const getColumnByCell = function(table, cell) { + const matches = (cell.className || '').match(/el-table_[^\s]+/gm); + if (matches) { + return getColumnById(table, matches[0]); + } + return null; +}; + +export const getRowIdentity = (row, rowKey) => { + if (!row) throw new Error('row is required when get row identity'); + if (typeof rowKey === 'string') { + if (rowKey.indexOf('.') < 0) { + return row[rowKey]; + } + let key = rowKey.split('.'); + let current = row; + for (let i = 0; i < key.length; i++) { + current = current[key[i]]; + } + return current; + } else if (typeof rowKey === 'function') { + return rowKey.call(null, row); + } +}; + +export const getKeysMap = function(array, rowKey) { + const arrayMap = {}; + (array || []).forEach((row, index) => { + arrayMap[getRowIdentity(row, rowKey)] = { row, index }; + }); + return arrayMap; +}; + +function hasOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +export function mergeOptions(defaults, config) { + const options = {}; + let key; + for (key in defaults) { + options[key] = defaults[key]; + } + for (key in config) { + if (hasOwn(config, key)) { + const value = config[key]; + if (typeof value !== 'undefined') { + options[key] = value; + } + } + } + return options; +} + +export function parseWidth(width) { + if (width !== undefined) { + width = parseInt(width, 10); + if (isNaN(width)) { + width = null; + } + } + return width; +} + +export function parseMinWidth(minWidth) { + if (typeof minWidth !== 'undefined') { + minWidth = parseWidth(minWidth); + if (isNaN(minWidth)) { + minWidth = 80; + } + } + return minWidth; +}; + +export function parseHeight(height) { + if (typeof height === 'number') { + return height; + } + if (typeof height === 'string') { + if (/^\d+(?:px)?$/.test(height)) { + return parseInt(height, 10); + } else { + return height; + } + } + return null; +} + +// https://github.com/reduxjs/redux/blob/master/src/compose.js +export function compose(...funcs) { + if (funcs.length === 0) { + return arg => arg; + } + if (funcs.length === 1) { + return funcs[0]; + } + return funcs.reduce((a, b) => (...args) => a(b(...args))); +} + +export function toggleRowStatus(statusArr, row, newVal) { + let changed = false; + const index = statusArr.indexOf(row); + const included = index !== -1; + + const addRow = () => { + statusArr.push(row); + changed = true; + }; + const removeRow = () => { + statusArr.splice(index, 1); + changed = true; + }; + + if (typeof newVal === 'boolean') { + if (newVal && !included) { + addRow(); + } else if (!newVal && included) { + removeRow(); + } + } else { + if (included) { + removeRow(); + } else { + addRow(); + } + } + return changed; +} + +export function walkTreeNode(root, cb, childrenKey = 'children', lazyKey = 'hasChildren') { + const isNil = (array) => !(Array.isArray(array) && array.length); + + function _walker(parent, children, level) { + cb(parent, children, level); + children.forEach(item => { + if (item[lazyKey]) { + cb(item, null, level + 1); + return; + } + const children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, level + 1); + } + }); + } + + root.forEach(item => { + if (item[lazyKey]) { + cb(item, null, 0); + return; + } + const children = item[childrenKey]; + if (!isNil(children)) { + _walker(item, children, 0); + } + }); +} diff --git a/PAMapp/local_modules/element-ui/packages/tabs/index.js b/PAMapp/local_modules/element-ui/packages/tabs/index.js new file mode 100644 index 0000000..3f72195 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tabs/index.js @@ -0,0 +1,8 @@ +import ElTabs from './src/tabs'; + +/* istanbul ignore next */ +ElTabs.install = function(Vue) { + Vue.component(ElTabs.name, ElTabs); +}; + +export default ElTabs; diff --git a/PAMapp/local_modules/element-ui/packages/tabs/src/tab-bar.vue b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-bar.vue new file mode 100644 index 0000000..39a106e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-bar.vue @@ -0,0 +1,57 @@ +<template> + <div class="el-tabs__active-bar" :class="`is-${ rootTabs.tabPosition }`" :style="barStyle"></div> +</template> +<script> + import { arrayFind } from 'element-ui/src/utils/util'; + export default { + name: 'TabBar', + + props: { + tabs: Array + }, + + inject: ['rootTabs'], + + computed: { + barStyle: { + get() { + let style = {}; + let offset = 0; + let tabSize = 0; + const sizeName = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + const sizeDir = sizeName === 'width' ? 'x' : 'y'; + const firstUpperCase = str => { + return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()); + }; + this.tabs.every((tab, index) => { + let $el = arrayFind(this.$parent.$refs.tabs || [], t => t.id.replace('tab-', '') === tab.paneName); + if (!$el) { return false; } + + if (!tab.active) { + offset += $el[`client${firstUpperCase(sizeName)}`]; + return true; + } else { + tabSize = $el[`client${firstUpperCase(sizeName)}`]; + const tabStyles = window.getComputedStyle($el); + if (sizeName === 'width' && this.tabs.length > 1) { + tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight); + } + if (sizeName === 'width') { + offset += parseFloat(tabStyles.paddingLeft); + } + return false; + } + }); + + const transform = `translate${firstUpperCase(sizeDir)}(${offset}px)`; + style[sizeName] = tabSize + 'px'; + style.transform = transform; + style.msTransform = transform; + style.webkitTransform = transform; + + return style; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tabs/src/tab-nav.vue b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-nav.vue new file mode 100644 index 0000000..19096f2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-nav.vue @@ -0,0 +1,294 @@ +<script> + import TabBar from './tab-bar'; + import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'; + + function noop() {} + const firstUpperCase = str => { + return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()); + }; + + export default { + name: 'TabNav', + + components: { + TabBar + }, + + inject: ['rootTabs'], + + props: { + panes: Array, + currentName: String, + editable: Boolean, + onTabClick: { + type: Function, + default: noop + }, + onTabRemove: { + type: Function, + default: noop + }, + type: String, + stretch: Boolean + }, + + data() { + return { + scrollable: false, + navOffset: 0, + isFocus: false, + focusable: true + }; + }, + + computed: { + navStyle() { + const dir = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'X' : 'Y'; + return { + transform: `translate${dir}(-${this.navOffset}px)` + }; + }, + sizeName() { + return ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height'; + } + }, + + methods: { + scrollPrev() { + const containerSize = this.$refs.navScroll[`offset${firstUpperCase(this.sizeName)}`]; + const currentOffset = this.navOffset; + + if (!currentOffset) return; + + let newOffset = currentOffset > containerSize + ? currentOffset - containerSize + : 0; + + this.navOffset = newOffset; + }, + scrollNext() { + const navSize = this.$refs.nav[`offset${firstUpperCase(this.sizeName)}`]; + const containerSize = this.$refs.navScroll[`offset${firstUpperCase(this.sizeName)}`]; + const currentOffset = this.navOffset; + + if (navSize - currentOffset <= containerSize) return; + + let newOffset = navSize - currentOffset > containerSize * 2 + ? currentOffset + containerSize + : (navSize - containerSize); + + this.navOffset = newOffset; + }, + scrollToActiveTab() { + if (!this.scrollable) return; + const nav = this.$refs.nav; + const activeTab = this.$el.querySelector('.is-active'); + if (!activeTab) return; + const navScroll = this.$refs.navScroll; + const isHorizontal = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1; + const activeTabBounding = activeTab.getBoundingClientRect(); + const navScrollBounding = navScroll.getBoundingClientRect(); + const maxOffset = isHorizontal + ? nav.offsetWidth - navScrollBounding.width + : nav.offsetHeight - navScrollBounding.height; + const currentOffset = this.navOffset; + let newOffset = currentOffset; + + if (isHorizontal) { + if (activeTabBounding.left < navScrollBounding.left) { + newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left); + } + if (activeTabBounding.right > navScrollBounding.right) { + newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right; + } + } else { + if (activeTabBounding.top < navScrollBounding.top) { + newOffset = currentOffset - (navScrollBounding.top - activeTabBounding.top); + } + if (activeTabBounding.bottom > navScrollBounding.bottom) { + newOffset = currentOffset + (activeTabBounding.bottom - navScrollBounding.bottom); + } + } + newOffset = Math.max(newOffset, 0); + this.navOffset = Math.min(newOffset, maxOffset); + }, + update() { + if (!this.$refs.nav) return; + const sizeName = this.sizeName; + const navSize = this.$refs.nav[`offset${firstUpperCase(sizeName)}`]; + const containerSize = this.$refs.navScroll[`offset${firstUpperCase(sizeName)}`]; + const currentOffset = this.navOffset; + + if (containerSize < navSize) { + const currentOffset = this.navOffset; + this.scrollable = this.scrollable || {}; + this.scrollable.prev = currentOffset; + this.scrollable.next = currentOffset + containerSize < navSize; + if (navSize - currentOffset < containerSize) { + this.navOffset = navSize - containerSize; + } + } else { + this.scrollable = false; + if (currentOffset > 0) { + this.navOffset = 0; + } + } + }, + changeTab(e) { + const keyCode = e.keyCode; + let nextIndex; + let currentIndex, tabList; + if ([37, 38, 39, 40].indexOf(keyCode) !== -1) { // 撌血銝���tab + tabList = e.currentTarget.querySelectorAll('[role=tab]'); + currentIndex = Array.prototype.indexOf.call(tabList, e.target); + } else { + return; + } + if (keyCode === 37 || keyCode === 38) { // left + if (currentIndex === 0) { // first + nextIndex = tabList.length - 1; + } else { + nextIndex = currentIndex - 1; + } + } else { // right + if (currentIndex < tabList.length - 1) { // not last + nextIndex = currentIndex + 1; + } else { + nextIndex = 0; + } + } + tabList[nextIndex].focus(); // �������� + tabList[nextIndex].click(); // �葉銝�銝泱ab + this.setFocus(); + }, + setFocus() { + if (this.focusable) { + this.isFocus = true; + } + }, + removeFocus() { + this.isFocus = false; + }, + visibilityChangeHandler() { + const visibility = document.visibilityState; + if (visibility === 'hidden') { + this.focusable = false; + } else if (visibility === 'visible') { + setTimeout(() => { + this.focusable = true; + }, 50); + } + }, + windowBlurHandler() { + this.focusable = false; + }, + windowFocusHandler() { + setTimeout(() => { + this.focusable = true; + }, 50); + } + }, + + updated() { + this.update(); + }, + + render(h) { + const { + type, + panes, + editable, + stretch, + onTabClick, + onTabRemove, + navStyle, + scrollable, + scrollNext, + scrollPrev, + changeTab, + setFocus, + removeFocus + } = this; + const scrollBtn = scrollable + ? [ + <span class={['el-tabs__nav-prev', scrollable.prev ? '' : 'is-disabled']} on-click={scrollPrev}><i class="el-icon-arrow-left"></i></span>, + <span class={['el-tabs__nav-next', scrollable.next ? '' : 'is-disabled']} on-click={scrollNext}><i class="el-icon-arrow-right"></i></span> + ] : null; + + const tabs = this._l(panes, (pane, index) => { + let tabName = pane.name || pane.index || index; + const closable = pane.isClosable || editable; + + pane.index = `${index}`; + + const btnClose = closable + ? <span class="el-icon-close" on-click={(ev) => { onTabRemove(pane, ev); }}></span> + : null; + + const tabLabelContent = pane.$slots.label || pane.label; + const tabindex = pane.active ? 0 : -1; + return ( + <div + class={{ + 'el-tabs__item': true, + [`is-${ this.rootTabs.tabPosition }`]: true, + 'is-active': pane.active, + 'is-disabled': pane.disabled, + 'is-closable': closable, + 'is-focus': this.isFocus + }} + id={`tab-${tabName}`} + key={`tab-${tabName}`} + aria-controls={`pane-${tabName}`} + role="tab" + aria-selected={ pane.active } + ref="tabs" + tabindex={tabindex} + refInFor + on-focus={ ()=> { setFocus(); }} + on-blur ={ ()=> { removeFocus(); }} + on-click={(ev) => { removeFocus(); onTabClick(pane, tabName, ev); }} + on-keydown={(ev) => { if (closable && (ev.keyCode === 46 || ev.keyCode === 8)) { onTabRemove(pane, ev);} }} + > + {tabLabelContent} + {btnClose} + </div> + ); + }); + return ( + <div class={['el-tabs__nav-wrap', scrollable ? 'is-scrollable' : '', `is-${ this.rootTabs.tabPosition }`]}> + {scrollBtn} + <div class={['el-tabs__nav-scroll']} ref="navScroll"> + <div + class={['el-tabs__nav', `is-${ this.rootTabs.tabPosition }`, stretch && ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'is-stretch' : '']} + ref="nav" + style={navStyle} + role="tablist" + on-keydown={ changeTab } + > + {!type ? <tab-bar tabs={panes}></tab-bar> : null} + {tabs} + </div> + </div> + </div> + ); + }, + + mounted() { + addResizeListener(this.$el, this.update); + document.addEventListener('visibilitychange', this.visibilityChangeHandler); + window.addEventListener('blur', this.windowBlurHandler); + window.addEventListener('focus', this.windowFocusHandler); + setTimeout(() => { + this.scrollToActiveTab(); + }, 0); + }, + + beforeDestroy() { + if (this.$el && this.update) removeResizeListener(this.$el, this.update); + document.removeEventListener('visibilitychange', this.visibilityChangeHandler); + window.removeEventListener('blur', this.windowBlurHandler); + window.removeEventListener('focus', this.windowFocusHandler); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tabs/src/tab-pane.vue b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-pane.vue new file mode 100644 index 0000000..2e3ed75 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tabs/src/tab-pane.vue @@ -0,0 +1,56 @@ +<template> + <div + class="el-tab-pane" + v-if="(!lazy || loaded) || active" + v-show="active" + role="tabpanel" + :aria-hidden="!active" + :id="`pane-${paneName}`" + :aria-labelledby="`tab-${paneName}`" + > + <slot></slot> + </div> +</template> +<script> + export default { + name: 'ElTabPane', + + componentName: 'ElTabPane', + + props: { + label: String, + labelContent: Function, + name: String, + closable: Boolean, + disabled: Boolean, + lazy: Boolean + }, + + data() { + return { + index: null, + loaded: false + }; + }, + + computed: { + isClosable() { + return this.closable || this.$parent.closable; + }, + active() { + const active = this.$parent.currentName === (this.name || this.index); + if (active) { + this.loaded = true; + } + return active; + }, + paneName() { + return this.name || this.index; + } + }, + + updated() { + this.$parent.$emit('tab-nav-update'); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tabs/src/tabs.vue b/PAMapp/local_modules/element-ui/packages/tabs/src/tabs.vue new file mode 100644 index 0000000..6d1b093 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tabs/src/tabs.vue @@ -0,0 +1,191 @@ +<script> + import TabNav from './tab-nav'; + + export default { + name: 'ElTabs', + + components: { + TabNav + }, + + props: { + type: String, + activeName: String, + closable: Boolean, + addable: Boolean, + value: {}, + editable: Boolean, + tabPosition: { + type: String, + default: 'top' + }, + beforeLeave: Function, + stretch: Boolean + }, + + provide() { + return { + rootTabs: this + }; + }, + + data() { + return { + currentName: this.value || this.activeName, + panes: [] + }; + }, + + watch: { + activeName(value) { + this.setCurrentName(value); + }, + value(value) { + this.setCurrentName(value); + }, + currentName(value) { + if (this.$refs.nav) { + this.$nextTick(() => { + this.$refs.nav.$nextTick(_ => { + this.$refs.nav.scrollToActiveTab(); + }); + }); + } + } + }, + + methods: { + calcPaneInstances(isForceUpdate = false) { + if (this.$slots.default) { + const paneSlots = this.$slots.default.filter(vnode => vnode.tag && + vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElTabPane'); + // update indeed + const panes = paneSlots.map(({ componentInstance }) => componentInstance); + const panesChanged = !(panes.length === this.panes.length && panes.every((pane, index) => pane === this.panes[index])); + if (isForceUpdate || panesChanged) { + this.panes = panes; + } + } else if (this.panes.length !== 0) { + this.panes = []; + } + }, + handleTabClick(tab, tabName, event) { + if (tab.disabled) return; + this.setCurrentName(tabName); + this.$emit('tab-click', tab, event); + }, + handleTabRemove(pane, ev) { + if (pane.disabled) return; + ev.stopPropagation(); + this.$emit('edit', pane.name, 'remove'); + this.$emit('tab-remove', pane.name); + }, + handleTabAdd() { + this.$emit('edit', null, 'add'); + this.$emit('tab-add'); + }, + setCurrentName(value) { + const changeCurrentName = () => { + this.currentName = value; + this.$emit('input', value); + }; + if (this.currentName !== value && this.beforeLeave) { + const before = this.beforeLeave(value, this.currentName); + if (before && before.then) { + before + .then(() => { + changeCurrentName(); + this.$refs.nav && this.$refs.nav.removeFocus(); + }, () => { + // https://github.com/ElemeFE/element/pull/14816 + // ignore promise rejection in `before-leave` hook + }); + } else if (before !== false) { + changeCurrentName(); + } + } else { + changeCurrentName(); + } + } + }, + + render(h) { + let { + type, + handleTabClick, + handleTabRemove, + handleTabAdd, + currentName, + panes, + editable, + addable, + tabPosition, + stretch + } = this; + + const newButton = editable || addable + ? ( + <span + class="el-tabs__new-tab" + on-click={ handleTabAdd } + tabindex="0" + on-keydown={ (ev) => { if (ev.keyCode === 13) { handleTabAdd(); }} } + > + <i class="el-icon-plus"></i> + </span> + ) + : null; + + const navData = { + props: { + currentName, + onTabClick: handleTabClick, + onTabRemove: handleTabRemove, + editable, + type, + panes, + stretch + }, + ref: 'nav' + }; + const header = ( + <div class={['el-tabs__header', `is-${tabPosition}`]}> + {newButton} + <tab-nav { ...navData }></tab-nav> + </div> + ); + const panels = ( + <div class="el-tabs__content"> + {this.$slots.default} + </div> + ); + + return ( + <div class={{ + 'el-tabs': true, + 'el-tabs--card': type === 'card', + [`el-tabs--${tabPosition}`]: true, + 'el-tabs--border-card': type === 'border-card' + }}> + { tabPosition !== 'bottom' ? [header, panels] : [panels, header] } + </div> + ); + }, + + created() { + if (!this.currentName) { + this.setCurrentName('0'); + } + + this.$on('tab-nav-update', this.calcPaneInstances.bind(null, true)); + }, + + mounted() { + this.calcPaneInstances(); + }, + + updated() { + this.calcPaneInstances(); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tag/index.js b/PAMapp/local_modules/element-ui/packages/tag/index.js new file mode 100644 index 0000000..1f5a716 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tag/index.js @@ -0,0 +1,8 @@ +import ElTag from './src/tag'; + +/* istanbul ignore next */ +ElTag.install = function(Vue) { + Vue.component(ElTag.name, ElTag); +}; + +export default ElTag; diff --git a/PAMapp/local_modules/element-ui/packages/tag/src/tag.vue b/PAMapp/local_modules/element-ui/packages/tag/src/tag.vue new file mode 100644 index 0000000..7aa0bb5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tag/src/tag.vue @@ -0,0 +1,58 @@ +<script> + export default { + name: 'ElTag', + props: { + text: String, + closable: Boolean, + type: String, + hit: Boolean, + disableTransitions: Boolean, + color: String, + size: String, + effect: { + type: String, + default: 'light', + validator(val) { + return ['dark', 'light', 'plain'].indexOf(val) !== -1; + } + } + }, + methods: { + handleClose(event) { + event.stopPropagation(); + this.$emit('close', event); + }, + handleClick(event) { + this.$emit('click', event); + } + }, + computed: { + tagSize() { + return this.size || (this.$ELEMENT || {}).size; + } + }, + render(h) { + const { type, tagSize, hit, effect } = this; + const classes = [ + 'el-tag', + type ? `el-tag--${type}` : '', + tagSize ? `el-tag--${tagSize}` : '', + effect ? `el-tag--${effect}` : '', + hit && 'is-hit' + ]; + const tagEl = ( + <span + class={ classes } + style={{ backgroundColor: this.color }} + on-click={ this.handleClick }> + { this.$slots.default } + { + this.closable && <i class="el-tag__close el-icon-close" on-click={ this.handleClose }></i> + } + </span> + ); + + return this.disableTransitions ? tagEl : <transition name="el-zoom-in-center">{ tagEl }</transition>; + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/README.md b/PAMapp/local_modules/element-ui/packages/theme-chalk/README.md new file mode 100644 index 0000000..ad6fce8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/README.md @@ -0,0 +1,33 @@ +# element-theme-chalk +> element component chalk theme. + + +## Installation +```shell +npm i element-theme-chalk -S +``` + +## Usage + +Use Sass import +```css +@import 'element-theme-chalk'; +``` + +Or Use webpack +```javascript +import 'element-theme-chalk'; +``` + +Or +```html +<link rel="stylesheet" href="path/to/node_modules/element-theme-chalk/lib/index.css"> +``` + +## Import on demand +```javascript +import 'element-theme-chalk/lib/input.css'; +import 'element-theme-chalk/lib/select.css'; + +// ... +``` diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/alert.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/alert.css new file mode 100644 index 0000000..37941c7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/alert.css @@ -0,0 +1 @@ +.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-alert-fade-enter,.el-alert-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/aside.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/aside.css new file mode 100644 index 0000000..f50d9d3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/aside.css @@ -0,0 +1 @@ +.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/autocomplete.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/autocomplete.css new file mode 100644 index 0000000..9cf9c50 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/autocomplete.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{background-image:none;width:100%;-webkit-box-sizing:border-box;background-color:#FFF}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;font-size:inherit;color:#606266;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/avatar.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/avatar.css new file mode 100644 index 0000000..f7693b4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/avatar.css @@ -0,0 +1 @@ +.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/backtop.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/backtop.css new file mode 100644 index 0000000..949b260 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/backtop.css @@ -0,0 +1 @@ +.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;color:#409EFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/badge.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/badge.css new file mode 100644 index 0000000..b8030f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/badge.css @@ -0,0 +1 @@ +.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/base.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/base.css new file mode 100644 index 0000000..6f56170 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/base.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb-item.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb.css new file mode 100644 index 0000000..e2b95e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/breadcrumb.css @@ -0,0 +1 @@ +.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button-group.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button-group.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button.css new file mode 100644 index 0000000..77378e4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/button.css @@ -0,0 +1 @@ +.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/calendar.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/calendar.css new file mode 100644 index 0000000..7fe0881 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/calendar.css @@ -0,0 +1 @@ +.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/card.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/card.css new file mode 100644 index 0000000..aed379b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/card.css @@ -0,0 +1 @@ +.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel-item.css new file mode 100644 index 0000000..d7429cc --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel-item.css @@ -0,0 +1 @@ +.el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel.css new file mode 100644 index 0000000..c2f109a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/carousel.css @@ -0,0 +1 @@ +.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader-panel.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader-panel.css new file mode 100644 index 0000000..11463ae --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader-panel.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner,.el-radio{font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-checkbox-button__inner,.el-checkbox__input,.el-radio__input{vertical-align:middle;outline:0}.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative;display:inline-block;white-space:nowrap}.el-checkbox{color:#606266;font-size:14px;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio{color:#606266;line-height:1;cursor:pointer;white-space:nowrap;outline:0;font-size:14px;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;line-height:1}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader.css new file mode 100644 index 0000000..a31f999 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/cascader.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-color:#FFF;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-image:none;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-checkbox,.el-checkbox__inner,.el-checkbox__input,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-checkbox{color:#606266;font-weight:500;font-size:14px;position:relative;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;position:relative;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;white-space:nowrap;outline:0}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio{color:#606266;font-weight:500;cursor:pointer;font-size:14px;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-cascader-node,.el-cascader__tags{display:-webkit-box;display:-ms-flexbox}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-button.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-button.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-button.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-group.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox-group.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox.css new file mode 100644 index 0000000..5cf8e9f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/checkbox.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner{font-weight:500;color:#606266;-webkit-user-select:none;-ms-user-select:none;font-size:14px}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative}.el-checkbox-button__inner,.el-checkbox__input{white-space:nowrap;vertical-align:middle;cursor:pointer;outline:0}.el-checkbox{cursor:pointer;white-space:nowrap;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner,.el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;background:#FFF;border:1px solid #DCDFE6;border-left:0;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/col.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/col.css new file mode 100644 index 0000000..ff2bb23 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/col.css @@ -0,0 +1 @@ +.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9{position:relative}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{display:none;width:0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse-item.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse.css new file mode 100644 index 0000000..d8a8fdd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/collapse.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/color-picker.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/color-picker.css new file mode 100644 index 0000000..196a386 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/color-picker.css @@ -0,0 +1 @@ +.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-alpha-slider__thumb,.el-color-hue-slider__thumb{-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);left:0;top:0;z-index:1}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6)}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6)}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/container.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/container.css new file mode 100644 index 0000000..bb9a110 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/container.css @@ -0,0 +1 @@ +.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/date-picker.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/date-picker.css new file mode 100644 index 0000000..4266804 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/date-picker.css @@ -0,0 +1 @@ +.el-date-table,.el-time-panel{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-date-table{font-size:12px;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-date-editor .el-range-input,.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;width:39%;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-picker-panel,.el-time-panel{border:1px solid #E4E7ED;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn,.el-time-panel__btn{background-color:transparent;font-size:12px}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;outline:0}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-time-panel{margin:5px 0;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-input,.el-textarea{width:100%;font-size:14px}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;outline:0;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-input__inner,.el-textarea__inner{-webkit-box-sizing:border-box;color:#606266}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions-item.css new file mode 100644 index 0000000..9b9224a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions-item.css @@ -0,0 +1 @@ +.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions.css new file mode 100644 index 0000000..f80ad9c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/descriptions.css @@ -0,0 +1 @@ +.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dialog.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dialog.css new file mode 100644 index 0000000..8bf6a38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dialog.css @@ -0,0 +1 @@ +.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/display.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/display.css new file mode 100644 index 0000000..1d8790b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/display.css @@ -0,0 +1 @@ +@media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/divider.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/divider.css new file mode 100644 index 0000000..c0a39d9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/divider.css @@ -0,0 +1 @@ +.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/drawer.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/drawer.css new file mode 100644 index 0000000..6e7497e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/drawer.css @@ -0,0 +1 @@ +.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer__container{position:relative;top:0;bottom:0;height:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-item.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-menu.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-menu.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown-menu.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown.css new file mode 100644 index 0000000..7b4db6f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/dropdown.css @@ -0,0 +1 @@ +.el-button,.el-dropdown{color:#606266;font-size:14px}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-dropdown{display:inline-block;position:relative}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/empty.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/empty.css new file mode 100644 index 0000000..04a51a8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/empty.css @@ -0,0 +1 @@ +.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img,.el-empty__image svg{width:100%;height:100%;vertical-align:top}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom{margin-top:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf Binary files differ diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff Binary files differ diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/footer.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/footer.css new file mode 100644 index 0000000..cc74659 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/footer.css @@ -0,0 +1 @@ +.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form-item.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form.css new file mode 100644 index 0000000..a882b80 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/form.css @@ -0,0 +1 @@ +.el-form--inline .el-form-item,.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form-item::after,.el-form-item__content::after{clear:both}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{margin-right:10px}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item::after,.el-form-item::before,.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item{margin-bottom:22px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{border-color:#F56C6C}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/header.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/header.css new file mode 100644 index 0000000..b8ffa6a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/header.css @@ -0,0 +1 @@ +.el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/icon.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/icon.css new file mode 100644 index 0000000..bf3ae3e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/icon.css @@ -0,0 +1 @@ +@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/image.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/image.css new file mode 100644 index 0000000..b201b19 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/image.css @@ -0,0 +1 @@ +.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#C0C4CC;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/index.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/index.css new file mode 100644 index 0000000..854114b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/index.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-dialog,.el-pager li{-webkit-box-sizing:border-box}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item,.el-menu-item{font-size:14px;padding:0 20px;cursor:pointer}.el-dropdown-menu__item{list-style:none;line-height:36px;margin:0;color:#606266;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table;content:""}.el-breadcrumb__item:last-child .el-breadcrumb__separator,.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--collapse .el-submenu,.el-menu-item{position:relative}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;list-style:none}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{color:#303133;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-radio-button__inner,.el-submenu__title{-webkit-box-sizing:border-box;position:relative;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;color:#C0C4CC}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td,.el-table .cell,.el-table-filter{-webkit-box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#F5F7FA}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-carousel__arrow--right,.el-notification.right{right:16px}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-button-group::after,.el-button-group::before,.el-color-dropdown__main-wrapper::after,.el-link.is-underline:hover:after,.el-page-header__left::after,.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-transfer-panel .el-transfer-panel__footer::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{display:inline-block;vertical-align:middle}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;top:0;left:0}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__icon,.el-input,.el-textarea{display:inline-block;width:100%}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center;font-size:12px}.el-input__prefix,.el-input__suffix{position:absolute;top:0;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-textarea{position:relative;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{height:100%;right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{height:100%;left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-image-viewer__btn,.el-image__preview,.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-divider__text,.el-image__error,.el-link,.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#C0C4CC;vertical-align:middle}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-popconfirm__main{display:flex;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infinite-scroll.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infinite-scroll.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infinite-scroll.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infiniteScroll.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infiniteScroll.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/infiniteScroll.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input-number.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input-number.css new file mode 100644 index 0000000..c35b1e8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input-number.css @@ -0,0 +1 @@ +.el-input,.el-textarea{font-size:14px;width:100%}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input.css new file mode 100644 index 0000000..eea2898 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/input.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/link.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/link.css new file mode 100644 index 0000000..ffb0fba --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/link.css @@ -0,0 +1 @@ +.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:14px;font-weight:500}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/loading.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/loading.css new file mode 100644 index 0000000..b8066cf --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/loading.css @@ -0,0 +1 @@ +.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}.el-loading-fade-enter,.el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/main.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/main.css new file mode 100644 index 0000000..03da3e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/main.css @@ -0,0 +1 @@ +.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item-group.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item-group.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item-group.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu-item.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu.css new file mode 100644 index 0000000..c2688dd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/menu.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu::after,.el-menu::before{display:table;content:""}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{line-height:56px;padding:0 20px;list-style:none;position:relative;white-space:nowrap}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{height:56px;font-size:14px;color:#303133;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{height:56px;font-size:14px;color:#303133;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message-box.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message-box.css new file mode 100644 index 0000000..881721e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message-box.css @@ -0,0 +1 @@ +.el-message-box,.el-popup-parent--hidden{overflow:hidden}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child,.el-input__inner{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC;top:0}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message.css new file mode 100644 index 0000000..def47ce --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/message.css @@ -0,0 +1 @@ +.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/notification.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/notification.css new file mode 100644 index 0000000..0d8acbd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/notification.css @@ -0,0 +1 @@ +.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-notification-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option-group.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option-group.css new file mode 100644 index 0000000..b23a5fd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option-group.css @@ -0,0 +1 @@ +.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option.css new file mode 100644 index 0000000..0d5b5bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/option.css @@ -0,0 +1 @@ +.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/page-header.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/page-header.css new file mode 100644 index 0000000..d5ebc52 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/page-header.css @@ -0,0 +1 @@ +.el-page-header{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/pagination.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/pagination.css new file mode 100644 index 0000000..1e2468f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/pagination.css @@ -0,0 +1 @@ +.el-input__inner,.el-textarea__inner{-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-input__inner,.el-select-dropdown__list,.el-tag,.el-textarea__inner{-webkit-box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input__inner,.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner:hover,.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;display:inline-block;margin:0}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popconfirm.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popconfirm.css new file mode 100644 index 0000000..d835dc2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popconfirm.css @@ -0,0 +1 @@ +.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popover.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popover.css new file mode 100644 index 0000000..305b234 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popover.css @@ -0,0 +1 @@ +.el-popover__title,.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popper.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popper.css new file mode 100644 index 0000000..e3f8045 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/popper.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/progress.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/progress.css new file mode 100644 index 0000000..61814c8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/progress.css @@ -0,0 +1 @@ +.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner::after,.el-progress-bar__innerText{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{content:"";height:100%}.el-progress-bar__innerText{color:#FFF;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-button.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-button.css new file mode 100644 index 0000000..85037e9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-button.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-radio-button,.el-radio-button__inner{display:inline-block;position:relative;outline:0}.el-radio-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-group.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-group.css new file mode 100644 index 0000000..8b5d6e4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio-group.css @@ -0,0 +1 @@ +.el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio.css new file mode 100644 index 0000000..b3acf7c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/radio.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio,.el-radio__input{white-space:nowrap;line-height:1;outline:0}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-radio{color:#606266;font-weight:500;cursor:pointer;margin-right:30px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__label{font-size:12px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{font-size:14px;padding-left:10px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/rate.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/rate.css new file mode 100644 index 0000000..984f121 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/rate.css @@ -0,0 +1 @@ +.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/reset.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/reset.css new file mode 100644 index 0000000..b90ff7e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/reset.css @@ -0,0 +1 @@ +@charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","敺株蔓����",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/result.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/result.css new file mode 100644 index 0000000..558db12 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/result.css @@ -0,0 +1 @@ +.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title{margin-top:20px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/row.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/row.css new file mode 100644 index 0000000..7ed91d1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/row.css @@ -0,0 +1 @@ +.el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/scrollbar.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/scrollbar.css new file mode 100644 index 0000000..4e6a47b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/scrollbar.css @@ -0,0 +1 @@ +.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select-dropdown.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select-dropdown.css new file mode 100644 index 0000000..7898b68 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select-dropdown.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select.css new file mode 100644 index 0000000..382a5ea --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/select.css @@ -0,0 +1 @@ +.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-input__inner,.el-textarea__inner{color:#606266;font-size:inherit;width:100%;-webkit-box-sizing:border-box}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input__inner,.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-input__inner:hover,.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton-item.css new file mode 100644 index 0000000..e5b2aed --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton-item.css @@ -0,0 +1 @@ +.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton.css new file mode 100644 index 0000000..c4582be --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/skeleton.css @@ -0,0 +1 @@ +.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/slider.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/slider.css new file mode 100644 index 0000000..d0054fe --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/slider.css @@ -0,0 +1 @@ +.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-image:none;color:#606266;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner:hover,.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;height:100%;color:#C0C4CC;position:absolute;top:0;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table;content:""}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{vertical-align:middle;display:inline-block}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper::after{content:"";height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/spinner.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/spinner.css new file mode 100644 index 0000000..7358802 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/spinner.css @@ -0,0 +1 @@ +.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/statistic.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/statistic.css new file mode 100644 index 0000000..af0dd35 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/statistic.css @@ -0,0 +1 @@ +.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/step.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/step.css new file mode 100644 index 0000000..9fe43ed --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/step.css @@ -0,0 +1 @@ +.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/steps.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/steps.css new file mode 100644 index 0000000..8e7c627 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/steps.css @@ -0,0 +1 @@ +.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/submenu.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/submenu.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/submenu.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/switch.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/switch.css new file mode 100644 index 0000000..e813f9a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/switch.css @@ -0,0 +1 @@ +.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer;vertical-align:middle}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tab-pane.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tab-pane.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tab-pane.css diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table-column.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table-column.css new file mode 100644 index 0000000..afbc0fc --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table-column.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner{-webkit-user-select:none;-ms-user-select:none;font-size:14px}.el-checkbox,.el-checkbox__input{cursor:pointer;display:inline-block;position:relative}.el-checkbox{color:#606266;font-weight:500;white-space:nowrap;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox-button__inner,.el-checkbox__input{line-height:1;white-space:nowrap;vertical-align:middle;outline:0}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox-button__inner,.el-table-filter,.el-tag{-webkit-box-sizing:border-box}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{display:inline-block;font-weight:500;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table.css new file mode 100644 index 0000000..016882a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/table.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox-button__inner,.el-table th.el-table__cell{-webkit-user-select:none;-ms-user-select:none}.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative}.el-checkbox,.el-checkbox-button__inner,.el-checkbox__input,.el-tag{display:inline-block;white-space:nowrap}.el-checkbox{color:#606266;font-weight:500;font-size:14px;-moz-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox-button__inner,.el-table,.el-tag{-webkit-box-sizing:border-box}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button{position:relative;display:inline-block}.el-checkbox-button__inner{line-height:1;font-weight:500;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-tag,.el-tooltip__popper{border-radius:4px;font-size:12px}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;color:#409EFF;border-width:1px;border-style:solid;box-sizing:border-box}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;padding:10px;z-index:2000;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-table{position:relative;overflow:hidden;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-moz-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tabs.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tabs.css new file mode 100644 index 0000000..623f7ee --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tabs.css @@ -0,0 +1 @@ +.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tag.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tag.css new file mode 100644 index 0000000..d78ff0a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tag.css @@ -0,0 +1 @@ +.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-picker.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-picker.css new file mode 100644 index 0000000..a513287 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-picker.css @@ -0,0 +1 @@ +.el-picker-panel,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-input__inner,.el-textarea__inner{-webkit-box-sizing:border-box;color:#606266}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;text-align:center;height:100%;color:#C0C4CC}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--append .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-select.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-select.css new file mode 100644 index 0000000..53284d5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/time-select.css @@ -0,0 +1 @@ +.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409EFF}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline-item.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline-item.css new file mode 100644 index 0000000..1f14f8b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline-item.css @@ -0,0 +1 @@ +.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline.css new file mode 100644 index 0000000..c87533d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/timeline.css @@ -0,0 +1 @@ +.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tooltip.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tooltip.css new file mode 100644 index 0000000..2291f78 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tooltip.css @@ -0,0 +1 @@ +.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/transfer.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/transfer.css new file mode 100644 index 0000000..1c2a2b1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/transfer.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-input,.el-textarea{font-size:14px;width:100%}.el-input__inner,.el-textarea__inner{background-image:none;-webkit-box-sizing:border-box}.el-textarea{position:relative;display:inline-block;vertical-align:bottom}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;display:inline-block}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-button,.el-checkbox.is-bordered,.el-checkbox__inner{-webkit-box-sizing:border-box}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#C0C4CC;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table;content:""}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap;cursor:pointer}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-checkbox{color:#606266;font-weight:500;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{position:relative;display:inline-block}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tree.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tree.css new file mode 100644 index 0000000..a38a66a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/tree.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-checkbox,.el-checkbox__input{cursor:pointer;position:relative;display:inline-block}.el-checkbox-button__inner,.el-checkbox__input{vertical-align:middle;white-space:nowrap;outline:0}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-checkbox{color:#606266;font-weight:500;font-size:14px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{line-height:1}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#F5F7FA}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/upload.css b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/upload.css new file mode 100644 index 0000000..703b0c0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/lib/upload.css @@ -0,0 +1 @@ +@charset "UTF-8";.el-progress-bar__inner::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:"";vertical-align:middle}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover{background-color:#F5F7FA}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/alert.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/alert.scss new file mode 100644 index 0000000..500560b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/alert.scss @@ -0,0 +1,147 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(alert) { + width: 100%; + padding: $--alert-padding; + margin: 0; + box-sizing: border-box; + border-radius: $--alert-border-radius; + position: relative; + background-color: $--color-white; + overflow: hidden; + opacity: 1; + display: flex; + align-items: center; + transition: opacity .2s; + + @include when(light) { + .el-alert__closebtn { + color: $--color-text-placeholder; + } + } + + @include when(dark) { + .el-alert__closebtn { + color: $--color-white; + } + .el-alert__description { + color: $--color-white; + } + } + + @include when(center) { + justify-content: center; + } + + @include m(success) { + &.is-light { + background-color: $--alert-success-color; + color: $--color-success; + + .el-alert__description { + color: $--color-success; + } + } + + &.is-dark { + background-color: $--color-success; + color: $--color-white; + } + } + + @include m(info) { + &.is-light { + background-color: $--alert-info-color; + color: $--color-info; + } + + &.is-dark { + background-color: $--color-info; + color: $--color-white; + } + + .el-alert__description { + color: $--color-info; + } + } + + @include m(warning) { + &.is-light { + background-color: $--alert-warning-color; + color: $--color-warning; + + .el-alert__description { + color: $--color-warning; + } + } + + &.is-dark { + background-color: $--color-warning; + color: $--color-white; + } + } + + @include m(error) { + &.is-light { + background-color: $--alert-danger-color; + color: $--color-danger; + + .el-alert__description { + color: $--color-danger; + } + } + + &.is-dark { + background-color: $--color-danger; + color: $--color-white; + } + } + + @include e(content) { + display: table-cell; + padding: 0 8px; + } + + @include e(icon) { + font-size: $--alert-icon-size; + width: $--alert-icon-size; + @include when(big) { + font-size: $--alert-icon-large-size; + width: $--alert-icon-large-size; + } + } + + @include e(title) { + font-size: $--alert-title-font-size; + line-height: 18px; + @include when(bold) { + font-weight: bold; + } + } + + & .el-alert__description { + font-size: $--alert-description-font-size; + margin: 5px 0 0 0; + } + + @include e(closebtn) { + font-size: $--alert-close-font-size; + opacity: 1; + position: absolute; + top: 12px; + right: 15px; + cursor: pointer; + + @include when(customed) { + font-style: normal; + font-size: $--alert-close-customed-font-size; + top: 9px; + } + } +} + +.el-alert-fade-enter, +.el-alert-fade-leave-active { + opacity: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/aside.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/aside.scss new file mode 100644 index 0000000..b82749f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/aside.scss @@ -0,0 +1,7 @@ +@import "mixins/mixins"; + +@include b(aside) { + overflow: auto; + box-sizing: border-box; + flex-shrink: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/autocomplete.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/autocomplete.scss new file mode 100644 index 0000000..d9c6e19 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/autocomplete.scss @@ -0,0 +1,80 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "./input.scss"; +@import "./scrollbar.scss"; +@import "./popper"; + +@include b(autocomplete) { + position: relative; + display: inline-block; +} + +@include b(autocomplete-suggestion) { + margin: 5px 0; + box-shadow: $--box-shadow-light; + border-radius: $--border-radius-base; + border: 1px solid $--border-color-light; + box-sizing: border-box; + background-color: $--color-white; + + @include e(wrap) { + max-height: 280px; + padding: 10px 0; + box-sizing: border-box; + } + + @include e(list) { + margin: 0; + padding: 0; + } + + & li { + padding: 0 20px; + margin: 0; + line-height: 34px; + cursor: pointer; + color: $--color-text-regular; + font-size: $--font-size-base; + list-style: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + &:hover { + background-color: $--select-option-hover-background; + } + + &.highlighted { + background-color: $--select-option-hover-background; + } + + &.divider { + margin-top: 6px; + border-top: 1px solid $--color-black; + } + + &.divider:last-child { + margin-bottom: -6px; + } + } + + @include when(loading) { + li { + text-align: center; + height: 100px; + line-height: 100px; + font-size: 20px; + color: #999; + @include utils-vertical-center; + + &:hover { + background-color: $--color-white; + } + } + + & .el-icon-loading { + vertical-align: middle; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/avatar.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/avatar.scss new file mode 100644 index 0000000..d5ed1eb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/avatar.scss @@ -0,0 +1,51 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(avatar) { + display: inline-block; + box-sizing: border-box; + text-align: center; + overflow: hidden; + color: $--avatar-font-color; + background: $--avatar-background-color; + width: $--avatar-large-size; + height: $--avatar-large-size; + line-height: $--avatar-large-size; + font-size: $--avatar-text-font-size; + + >img { + display: block; + height: 100%; + vertical-align: middle; + } + + @include m(circle) { + border-radius: 50%; + } + + @include m(square) { + border-radius: $--avatar-border-radius; + } + + @include m(icon) { + font-size: $--avatar-icon-font-size; + } + + @include m(large) { + width: $--avatar-large-size; + height: $--avatar-large-size; + line-height: $--avatar-large-size; + } + + @include m(medium) { + width: $--avatar-medium-size; + height: $--avatar-medium-size; + line-height: $--avatar-medium-size; + } + + @include m(small) { + width: $--avatar-small-size; + height: $--avatar-small-size; + line-height: $--avatar-small-size; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/backtop.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/backtop.scss new file mode 100644 index 0000000..f415243 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/backtop.scss @@ -0,0 +1,22 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(backtop) { + position: fixed; + background-color: $--backtop-background-color; + width: 40px; + height: 40px; + border-radius: 50%; + color: $--backtop-font-color; + display: flex; + align-items: center; + justify-content: center; + font-size: 20px; + box-shadow: 0 0 6px rgba(0,0,0, .12); + cursor: pointer; + z-index: 5; + + &:hover { + background-color: $--backtop-hover-background-color + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/badge.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/badge.scss new file mode 100644 index 0000000..4776e67 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/badge.scss @@ -0,0 +1,57 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(badge) { + position: relative; + vertical-align: middle; + display: inline-block; + + @include e(content) { + background-color: $--badge-background-color; + border-radius: $--badge-radius; + color: $--color-white; + display: inline-block; + font-size: $--badge-font-size; + height: $--badge-size; + line-height: $--badge-size; + padding: 0 $--badge-padding; + text-align: center; + white-space: nowrap; + border: 1px solid $--color-white; + + @include when(fixed) { + position: absolute; + top: 0; + right: #{1 + $--badge-size / 2}; + transform: translateY(-50%) translateX(100%); + + @include when(dot) { + right: 5px; + } + } + + @include when(dot) { + height: 8px; + width: 8px; + padding: 0; + right: 0; + border-radius: 50%; + } + + @each $type in (primary, success, warning, info, danger) { + @include m($type) { + @if $type == primary { + background-color: $--color-primary; + } @else if $type == success { + background-color: $--color-success; + } @else if $type == warning { + background-color: $--color-warning; + } @else if $type == info { + background-color: $--color-info; + } @else { + background-color: $--color-danger; + } + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/base.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/base.scss new file mode 100644 index 0000000..380b79f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/base.scss @@ -0,0 +1,2 @@ +@import "common/transition.scss"; +@import "icon.scss"; diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb-item.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb-item.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb.scss new file mode 100644 index 0000000..3c3c3e1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/breadcrumb.scss @@ -0,0 +1,55 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; + +@include b(breadcrumb) { + font-size: 14px; + line-height: 1; + @include utils-clearfix; + + @include e(separator) { + margin: 0 9px; + font-weight: bold; + color: $--color-text-placeholder; + + &[class*=icon] { + margin: 0 6px; + font-weight: normal; + } + } + + @include e(item) { + float: left; + + @include e(inner) { + color: $--color-text-regular; + + &.is-link, & a { + font-weight: bold; + text-decoration: none; + transition: $--color-transition-base; + color: $--color-text-primary; + + &:hover { + color: $--color-primary; + cursor: pointer; + } + } + } + + &:last-child { + .el-breadcrumb__inner, + .el-breadcrumb__inner a { + &, &:hover { + font-weight: normal; + color: $--color-text-regular; + cursor: text; + } + } + + .el-breadcrumb__separator { + display: none; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button-group.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button-group.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button-group.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button.scss new file mode 100644 index 0000000..375b139 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/button.scss @@ -0,0 +1,262 @@ +@charset "UTF-8"; +@import "common/var"; +@import "mixins/button"; +@import "mixins/mixins"; +@import "mixins/utils"; + +@include b(button) { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: $--button-default-background-color; + border: $--border-base; + border-color: $--button-default-border-color; + color: $--button-default-font-color; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + transition: .1s; + font-weight: $--button-font-weight; + @include utils-user-select(none); + & + & { + margin-left: 10px; + } + + @include button-size($--button-padding-vertical, $--button-padding-horizontal, $--button-font-size, $--button-border-radius); + + &:hover, + &:focus { + color: $--color-primary; + border-color: $--color-primary-light-7; + background-color: $--color-primary-light-9; + } + + &:active { + color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + border-color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + outline: none; + } + + &::-moz-focus-inner { + border: 0; + } + + & [class*="el-icon-"] { + & + span { + margin-left: 5px; + } + } + + @include when(plain) { + &:hover, + &:focus { + background: $--color-white; + border-color: $--color-primary; + color: $--color-primary; + } + + &:active { + background: $--color-white; + border-color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + outline: none; + } + } + + @include when(active) { + color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + border-color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + } + + @include when(disabled) { + &, + &:hover, + &:focus { + color: $--button-disabled-font-color; + cursor: not-allowed; + background-image: none; + background-color: $--button-disabled-background-color; + border-color: $--button-disabled-border-color; + } + + &.el-button--text { + background-color: transparent; + } + + &.is-plain { + &, + &:hover, + &:focus { + background-color: $--color-white; + border-color: $--button-disabled-border-color; + color: $--button-disabled-font-color; + } + } + } + + @include when(loading) { + position: relative; + pointer-events: none; + + &:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255,255,255,.35); + } + } + @include when(round) { + border-radius: 20px; + padding: 12px 23px; + } + @include when(circle) { + border-radius: 50%; + padding: $--button-padding-vertical; + } + @include m(primary) { + @include button-variant($--button-primary-font-color, $--button-primary-background-color, $--button-primary-border-color); + } + @include m(success) { + @include button-variant($--button-success-font-color, $--button-success-background-color, $--button-success-border-color); + } + @include m(warning) { + @include button-variant($--button-warning-font-color, $--button-warning-background-color, $--button-warning-border-color); + } + @include m(danger) { + @include button-variant($--button-danger-font-color, $--button-danger-background-color, $--button-danger-border-color); + } + @include m(info) { + @include button-variant($--button-info-font-color, $--button-info-background-color, $--button-info-border-color); + } + @include m(medium) { + @include button-size($--button-medium-padding-vertical, $--button-medium-padding-horizontal, $--button-medium-font-size, $--button-medium-border-radius); + @include when(circle) { + padding: $--button-medium-padding-vertical; + } + } + @include m(small) { + @include button-size($--button-small-padding-vertical, $--button-small-padding-horizontal, $--button-small-font-size, $--button-small-border-radius); + @include when(circle) { + padding: $--button-small-padding-vertical; + } + } + @include m(mini) { + @include button-size($--button-mini-padding-vertical, $--button-mini-padding-horizontal, $--button-mini-font-size, $--button-mini-border-radius); + @include when(circle) { + padding: $--button-mini-padding-vertical; + } + } + @include m(text) { + border-color: transparent; + color: $--color-primary; + background: transparent; + padding-left: 0; + padding-right: 0; + + &:hover, + &:focus { + color: mix($--color-white, $--color-primary, $--button-hover-tint-percent); + border-color: transparent; + background-color: transparent; + } + &:active { + color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + border-color: transparent; + background-color: transparent; + } + + &.is-disabled, + &.is-disabled:hover, + &.is-disabled:focus { + border-color: transparent; + } + } +} + +@include b(button-group) { + @include utils-clearfix; + display: inline-block; + vertical-align: middle; + + & > .el-button { + float: left; + position: relative; + & + .el-button { + margin-left: 0; + } + &.is-disabled { + z-index: 1; + } + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + &:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + &:first-child:last-child { + border-top-right-radius: $--button-border-radius; + border-bottom-right-radius: $--button-border-radius; + border-top-left-radius: $--button-border-radius; + border-bottom-left-radius: $--button-border-radius; + + &.is-round { + border-radius: 20px; + } + + &.is-circle { + border-radius: 50%; + } + } + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:not(:last-child) { + margin-right: -1px; + } + + &:not(.is-disabled) { + &:hover, + &:focus, + &:active { + z-index: 1; + } + } + + @include when(active) { + z-index: 1; + } + } + + & > .el-dropdown { + & > .el-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: rgba($--color-white, 0.5); + } + } + + @each $type in (primary, success, warning, danger, info) { + .el-button--#{$type} { + &:first-child { + border-right-color: rgba($--color-white, 0.5); + } + &:last-child { + border-left-color: rgba($--color-white, 0.5); + } + &:not(:first-child):not(:last-child) { + border-left-color: rgba($--color-white, 0.5); + border-right-color: rgba($--color-white, 0.5); + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/calendar.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/calendar.scss new file mode 100644 index 0000000..1364861 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/calendar.scss @@ -0,0 +1,79 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "button"; +@import "button-group"; + +@include b(calendar) { + background-color:#fff; + + @include e(header) { + display: flex; + justify-content: space-between; + padding: 12px 20px; + border-bottom: $--table-border; + } + + @include e(title) { + color: #000000; + align-self: center; + } + + @include e(body) { + padding: 12px 20px 35px; + } +} + +@include b(calendar-table) { + table-layout: fixed; + width: 100%; + + thead th { + padding: 12px 0; + color: $--color-text-regular; + font-weight: normal; + } + + &:not(.is-range) { + td.prev, + td.next { + color: $--color-text-placeholder; + } + } + + td { + border-bottom: $--calendar-border; + border-right: $--calendar-border; + vertical-align: top; + transition: background-color 0.2s ease; + + @include when(selected) { + background-color: $--calendar-selected-background-color; + } + + @include when(today) { + color: $--color-primary; + } + } + + tr:first-child td { + border-top: $--calendar-border; + } + + tr td:first-child { + border-left: $--calendar-border; + } + + tr.el-calendar-table__row--hide-border td { + border-top: none; + } + + @include b(calendar-day) { + box-sizing: border-box; + padding: 8px; + height: $--calendar-cell-width; + &:hover { + cursor: pointer; + background-color: $--calendar-selected-background-color; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/card.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/card.scss new file mode 100644 index 0000000..1a5b247 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/card.scss @@ -0,0 +1,32 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(card) { + border-radius: $--card-border-radius; + border: 1px solid $--card-border-color; + background-color: $--color-white; + overflow: hidden; + color: $--color-text-primary; + transition: 0.3s; + + @include when(always-shadow) { + box-shadow: $--box-shadow-light; + } + + @include when(hover-shadow) { + &:hover, + &:focus { + box-shadow: $--box-shadow-light; + } + } + + @include e(header) { + padding: #{$--card-padding - 2 $--card-padding}; + border-bottom: 1px solid $--card-border-color; + box-sizing: border-box; + } + + @include e(body) { + padding: $--card-padding; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel-item.scss new file mode 100644 index 0000000..6280ebd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel-item.scss @@ -0,0 +1,50 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(carousel) { + @include e(item) { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: inline-block; + overflow: hidden; + z-index: #{$--index-normal - 1}; + + @include when(active) { + z-index: #{$--index-normal + 1}; + } + + @include when(animating) { + transition: transform .4s ease-in-out; + } + + @include m(card) { + width: 50%; + transition: transform .4s ease-in-out; + &.is-in-stage { + cursor: pointer; + z-index: $--index-normal; + &:hover .el-carousel__mask, + &.is-hover .el-carousel__mask { + opacity: 0.12; + } + } + &.is-active { + z-index: #{$--index-normal + 1}; + } + } + } + + @include e(mask) { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: $--color-white; + opacity: 0.24; + transition: .2s; + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel.scss new file mode 100644 index 0000000..cfca962 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/carousel.scss @@ -0,0 +1,161 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(carousel) { + position: relative; + + @include m(horizontal) { + overflow-x: hidden; + } + + @include m(vertical) { + overflow-y: hidden; + } + + @include e(container) { + position: relative; + height: 300px; + } + + @include e(arrow) { + border: none; + outline: none; + padding: 0; + margin: 0; + height: $--carousel-arrow-size; + width: $--carousel-arrow-size; + cursor: pointer; + transition: .3s; + border-radius: 50%; + background-color: $--carousel-arrow-background; + color: $--color-white; + position: absolute; + top: 50%; + z-index: 10; + transform: translateY(-50%); + text-align: center; + font-size: $--carousel-arrow-font-size; + + @include m(left) { + left: 16px; + } + + @include m(right) { + right: 16px; + } + + &:hover { + background-color: $--carousel-arrow-hover-background; + } + + & i { + cursor: pointer; + } + } + + @include e(indicators) { + position: absolute; + list-style: none; + margin: 0; + padding: 0; + z-index: #{$--index-normal + 1}; + + @include m(horizontal) { + bottom: 0; + left: 50%; + transform: translateX(-50%); + } + + @include m(vertical) { + right: 0; + top: 50%; + transform: translateY(-50%); + } + + @include m(outside) { + bottom: #{$--carousel-indicator-height + $--carousel-indicator-padding-vertical * 2}; + text-align: center; + position: static; + transform: none; + .el-carousel__indicator:hover button { + opacity: 0.64; + } + button { + background-color: $--carousel-indicator-out-color; + opacity: 0.24; + } + } + + @include m(labels) { + left: 0; + right: 0; + transform: none; + text-align: center; + + .el-carousel__button { + height: auto; + width: auto; + padding: 2px 18px; + font-size: 12px; + } + + .el-carousel__indicator { + padding: 6px 4px; + } + } + } + + @include e(indicator) { + background-color: transparent; + cursor: pointer; + + &:hover button { + opacity: 0.72; + } + + @include m(horizontal) { + display: inline-block; + padding: $--carousel-indicator-padding-vertical $--carousel-indicator-padding-horizontal; + } + + @include m(vertical) { + padding: $--carousel-indicator-padding-horizontal $--carousel-indicator-padding-vertical; + .el-carousel__button { + width: $--carousel-indicator-height; + height: #{$--carousel-indicator-width / 2}; + } + } + + @include when(active) { + button { + opacity: 1; + } + } + } + + @include e(button) { + display: block; + opacity: 0.48; + width: $--carousel-indicator-width; + height: $--carousel-indicator-height; + background-color: $--color-white; + border: none; + outline: none; + padding: 0; + margin: 0; + cursor: pointer; + transition: .3s; + } +} + +.carousel-arrow-left-enter, +.carousel-arrow-left-leave-active { + transform: translateY(-50%) translateX(-10px); + opacity: 0; +} + +.carousel-arrow-right-enter, +.carousel-arrow-right-leave-active { + transform: translateY(-50%) translateX(10px); + opacity: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader-panel.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader-panel.scss new file mode 100644 index 0000000..7fca5a0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader-panel.scss @@ -0,0 +1,120 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "./checkbox"; +@import "./radio"; +@import "./scrollbar"; + +@include b(cascader-panel) { + display: flex; + border-radius: $--cascader-menu-radius; + font-size: $--cascader-menu-font-size; + + @include when(bordered) { + border: $--cascader-menu-border; + border-radius: $--cascader-menu-radius; + } +} + +@include b(cascader-menu) { + min-width: 180px; + box-sizing: border-box; + color: $--cascader-menu-font-color; + border-right: $--cascader-menu-border; + + &:last-child { + border-right: none; + .el-cascader-node { + padding-right: 20px; + } + } + + @include e(wrap) { + height: 204px; + } + + @include e(list) { + position: relative; + min-height: 100%; + margin: 0; + padding: 6px 0; + list-style: none; + box-sizing: border-box; + } + + @include e(hover-zone) { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; + } + + @include e(empty-text) { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + color: $--cascader-color-empty; + } +} + +@include b(cascader-node) { + position: relative; + display: flex; + align-items: center; + padding: 0 30px 0 20px; + height: 34px; + line-height: 34px; + outline: none; + + &.is-selectable.in-active-path { + color: $--cascader-menu-font-color; + } + + &.in-active-path, + &.is-selectable.in-checked-path, + &.is-active { + color: $--cascader-menu-selected-font-color; + font-weight: bold; + } + + &:not(.is-disabled) { + cursor: pointer; + &:hover, &:focus { + background: $--cascader-node-background-hover; + } + } + + @include when(disabled) { + color: $--cascader-node-color-disabled; + cursor: not-allowed; + } + + @include e(prefix) { + position: absolute; + left: 10px; + } + + @include e(postfix) { + position: absolute; + right: 10px; + } + + @include e(label) { + flex: 1; + padding: 0 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + > .el-radio { + margin-right: 0; + + .el-radio__label { + padding-left: 0; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader.scss new file mode 100644 index 0000000..5c883ea --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/cascader.scss @@ -0,0 +1,182 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "./input"; +@import "./popper"; +@import "./tag"; +@import "./cascader-panel"; + +@include b(cascader) { + display: inline-block; + position: relative; + font-size: $--font-size-base; + line-height: $--input-height; + + &:not(.is-disabled):hover { + .el-input__inner { + cursor: pointer; + border-color: $--input-hover-border; + } + } + + .el-input { + cursor: pointer; + + .el-input__inner { + text-overflow: ellipsis; + + &:focus { + border-color: $--input-focus-border; + } + } + + .el-icon-arrow-down { + transition: transform .3s; + font-size: 14px; + + @include when(reverse) { + transform: rotateZ(180deg); + } + } + + .el-icon-circle-close:hover { + color: $--input-clear-hover-color; + } + + @include when(focus) { + .el-input__inner { + border-color: $--input-focus-border; + } + } + } + + @include m(medium) { + font-size: $--input-medium-font-size; + line-height: $--input-medium-height; + } + + @include m(small) { + font-size: $--input-small-font-size; + line-height: $--input-small-height; + } + + @include m(mini) { + font-size: $--input-mini-font-size; + line-height: $--input-mini-height; + } + + @include when(disabled) { + .el-cascader__label { + z-index: #{$--index-normal + 1}; + color: $--disabled-color-base; + } + } + + @include e(dropdown) { + margin: 5px 0; + font-size: $--cascader-menu-font-size; + background: $--cascader-menu-fill; + border: $--cascader-menu-border; + border-radius: $--cascader-menu-radius; + box-shadow: $--cascader-menu-shadow; + } + + @include e(tags) { + position: absolute; + left: 0; + right: 30px; + top: 50%; + transform: translateY(-50%); + display: flex; + flex-wrap: wrap; + line-height: normal; + text-align: left; + box-sizing: border-box; + + .el-tag { + display: inline-flex; + align-items: center; + max-width: 100%; + margin: 2px 0 2px 6px; + text-overflow: ellipsis; + background: $--cascader-tag-background; + + &:not(.is-hit) { + border-color: transparent; + } + + > span { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + } + + .el-icon-close { + flex: none; + background-color: $--color-text-placeholder; + color: $--color-white; + + &:hover { + background-color: $--color-text-secondary; + } + } + } + } + + @include e(suggestion-panel) { + border-radius: $--cascader-menu-radius; + } + + @include e(suggestion-list) { + max-height: 204px; + margin: 0; + padding: 6px 0; + font-size: $--font-size-base; + color: $--cascader-menu-font-color; + text-align: center; + } + + @include e(suggestion-item) { + display: flex; + justify-content: space-between; + align-items: center; + height: 34px; + padding: 0 15px; + text-align: left; + outline: none; + cursor: pointer; + + &:hover, &:focus { + background: $--cascader-node-background-hover; + } + + &.is-checked { + color: $--cascader-menu-selected-font-color; + font-weight: bold; + } + + > span { + margin-right: 10px; + } + } + + @include e(empty-text) { + margin: 10px 0; + color: $--cascader-color-empty; + } + + @include e(search-input) { + flex: 1; + height: 24px; + min-width: 60px; + margin: 2px 0 2px 15px; + padding: 0; + color: $--cascader-menu-font-color; + border: none; + outline: none; + box-sizing: border-box; + + &::placeholder { + color: $--color-text-placeholder; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-button.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-button.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-button.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-group.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-group.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox-group.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox.scss new file mode 100644 index 0000000..7c1b938 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/checkbox.scss @@ -0,0 +1,359 @@ +@import "common/var"; +@import "mixins/mixins"; +@import "mixins/_button"; +@import "mixins/utils"; + +@include b(checkbox) { + color: $--checkbox-font-color; + font-weight: $--checkbox-font-weight; + font-size: $--font-size-base; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + user-select: none; + margin-right: 30px; + + @include when(bordered) { + padding: $--checkbox-bordered-padding; + border-radius: $--border-radius-base; + border: $--border-base; + box-sizing: border-box; + line-height: normal; + height: $--checkbox-bordered-height; + + &.is-checked { + border-color: $--color-primary; + } + + &.is-disabled { + border-color: $--border-color-lighter; + cursor: not-allowed; + } + + & + .el-checkbox.is-bordered { + margin-left: 10px; + } + + &.el-checkbox--medium { + padding: $--checkbox-bordered-medium-padding; + border-radius: $--button-medium-border-radius; + height: $--checkbox-bordered-medium-height; + + .el-checkbox__label { + line-height: 17px; + font-size: $--button-medium-font-size; + } + + .el-checkbox__inner { + height: $--checkbox-bordered-medium-input-height; + width: $--checkbox-bordered-medium-input-width; + } + } + + &.el-checkbox--small { + padding: $--checkbox-bordered-small-padding; + border-radius: $--button-small-border-radius; + height: $--checkbox-bordered-small-height; + + .el-checkbox__label { + line-height: 15px; + font-size: $--button-small-font-size; + } + + .el-checkbox__inner { + height: $--checkbox-bordered-small-input-height; + width: $--checkbox-bordered-small-input-width; + + &::after { + height: 6px; + width: 2px; + } + } + } + + &.el-checkbox--mini { + padding: $--checkbox-bordered-mini-padding; + border-radius: $--button-mini-border-radius; + height: $--checkbox-bordered-mini-height; + + .el-checkbox__label { + line-height: 12px; + font-size: $--button-mini-font-size; + } + + .el-checkbox__inner { + height: $--checkbox-bordered-mini-input-height; + width: $--checkbox-bordered-mini-input-width; + &::after { + height: 6px; + width: 2px; + } + } + } + } + + @include e(input) { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; + + @include when(disabled) { + .el-checkbox__inner { + background-color: $--checkbox-disabled-input-fill; + border-color: $--checkbox-disabled-border-color; + cursor: not-allowed; + + &::after { + cursor: not-allowed; + border-color: $--checkbox-disabled-icon-color; + } + + & + .el-checkbox__label { + cursor: not-allowed; + } + } + + &.is-checked { + .el-checkbox__inner { + background-color: $--checkbox-disabled-checked-input-fill; + border-color: $--checkbox-disabled-checked-input-border-color; + + &::after { + border-color: $--checkbox-disabled-checked-icon-color; + } + } + } + + &.is-indeterminate { + .el-checkbox__inner { + background-color: $--checkbox-disabled-checked-input-fill; + border-color: $--checkbox-disabled-checked-input-border-color; + + &::before { + background-color: $--checkbox-disabled-checked-icon-color; + border-color: $--checkbox-disabled-checked-icon-color; + } + } + } + + & + span.el-checkbox__label { + color: $--disabled-color-base; + cursor: not-allowed; + } + } + + @include when(checked) { + .el-checkbox__inner { + background-color: $--checkbox-checked-background-color; + border-color: $--checkbox-checked-input-border-color; + + &::after { + transform: rotate(45deg) scaleY(1); + } + } + + & + .el-checkbox__label { + color: $--checkbox-checked-font-color; + } + } + @include when(focus) { /*focus� 閫�����*/ + .el-checkbox__inner { + border-color: $--checkbox-input-border-color-hover; + } + } + @include when(indeterminate) { + .el-checkbox__inner { + background-color: $--checkbox-checked-background-color; + border-color: $--checkbox-checked-input-border-color; + + &::before { + content: ''; + position: absolute; + display: block; + background-color: $--checkbox-checked-icon-color; + height: 2px; + transform: scale(0.5); + left: 0; + right: 0; + top: 5px; + } + + &::after { + display: none; + } + } + } + } + @include e(inner) { + display: inline-block; + position: relative; + border: $--checkbox-input-border; + border-radius: $--checkbox-border-radius; + box-sizing: border-box; + width: $--checkbox-input-width; + height: $--checkbox-input-height; + background-color: $--checkbox-background-color; + z-index: $--index-normal; + transition: border-color .25s cubic-bezier(.71,-.46,.29,1.46), + background-color .25s cubic-bezier(.71,-.46,.29,1.46); + + &:hover { + border-color: $--checkbox-input-border-color-hover; + } + + &::after { + box-sizing: content-box; + content: ""; + border: 1px solid $--checkbox-checked-icon-color; + border-left: 0; + border-top: 0; + height: 7px; + left: 4px; + position: absolute; + top: 1px; + transform: rotate(45deg) scaleY(0); + width: 3px; + transition: transform .15s ease-in .05s; + transform-origin: center; + } + } + + @include e(original) { + opacity: 0; + outline: none; + position: absolute; + margin: 0; + width: 0; + height: 0; + z-index: -1; + } + + @include e(label) { + display: inline-block; + padding-left: 10px; + line-height: 19px; + font-size: $--checkbox-font-size; + } + + &:last-of-type { + margin-right: 0; + } +} + +@include b(checkbox-button) { + position: relative; + display: inline-block; + + @include e(inner) { + display: inline-block; + line-height: 1; + font-weight: $--checkbox-font-weight; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: $--button-default-background-color; + border: $--border-base; + border-left: 0; + color: $--button-default-font-color; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + position: relative; + transition: $--all-transition; + @include utils-user-select(none); + + @include button-size($--button-padding-vertical, $--button-padding-horizontal, $--button-font-size, 0); + + &:hover { + color: $--color-primary; + } + + & [class*="el-icon-"] { + line-height: 0.9; + + & + span { + margin-left: 5px; + } + } + } + + @include e(original) { + opacity: 0; + outline: none; + position: absolute; + margin: 0; + z-index: -1; + } + + &.is-checked { + & .el-checkbox-button__inner { + color: $--checkbox-button-checked-font-color; + background-color: $--checkbox-button-checked-background-color; + border-color: $--checkbox-button-checked-border-color; + box-shadow: -1px 0 0 0 $--color-primary-light-4; + } + &:first-child .el-checkbox-button__inner { + border-left-color: $--checkbox-button-checked-border-color; + } + } + + &.is-disabled { + & .el-checkbox-button__inner { + color: $--button-disabled-font-color; + cursor: not-allowed; + background-image: none; + background-color: $--button-disabled-background-color; + border-color: $--button-disabled-border-color; + box-shadow: none; + } + &:first-child .el-checkbox-button__inner { + border-left-color: $--button-disabled-border-color; + } + } + + &:first-child { + .el-checkbox-button__inner { + border-left: $--border-base; + border-radius: $--border-radius-base 0 0 $--border-radius-base; + box-shadow: none !important; + } + } + + &.is-focus { + & .el-checkbox-button__inner { + border-color: $--checkbox-button-checked-border-color; + } + } + + &:last-child { + .el-checkbox-button__inner { + border-radius: 0 $--border-radius-base $--border-radius-base 0; + } + } + @include m(medium) { + .el-checkbox-button__inner { + @include button-size($--button-medium-padding-vertical, $--button-medium-padding-horizontal, $--button-medium-font-size, 0); + } + } + @include m(small) { + .el-checkbox-button__inner { + @include button-size($--button-small-padding-vertical, $--button-small-padding-horizontal, $--button-small-font-size, 0); + } + } + @include m(mini) { + .el-checkbox-button__inner { + @include button-size($--button-mini-padding-vertical, $--button-mini-padding-horizontal, $--button-mini-font-size, 0); + } + } +} + +@include b(checkbox-group) { + font-size: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/col.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/col.scss new file mode 100644 index 0000000..c2a3387 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/col.scss @@ -0,0 +1,156 @@ +@import "./common/var.scss"; +@import "./mixins/mixins.scss"; + +[class*="el-col-"] { + float: left; + box-sizing: border-box; +} + +.el-col-0 { + display: none; +} + +@for $i from 0 through 24 { + .el-col-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } +} + +@include res(xs) { + .el-col-xs-0 { + display: none; + } + @for $i from 0 through 24 { + .el-col-xs-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xs-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xs-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xs-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } + } +} + +@include res(sm) { + .el-col-sm-0 { + display: none; + } + @for $i from 0 through 24 { + .el-col-sm-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-sm-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-sm-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-sm-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } + } +} + +@include res(md) { + .el-col-md-0 { + display: none; + } + @for $i from 0 through 24 { + .el-col-md-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-md-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-md-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-md-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } + } +} + +@include res(lg) { + .el-col-lg-0 { + display: none; + } + @for $i from 0 through 24 { + .el-col-lg-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-lg-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-lg-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-lg-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } + } +} + +@include res(xl) { + .el-col-xl-0 { + display: none; + } + @for $i from 0 through 24 { + .el-col-xl-#{$i} { + width: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xl-offset-#{$i} { + margin-left: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xl-pull-#{$i} { + position: relative; + right: (1 / 24 * $i * 100) * 1%; + } + + .el-col-xl-push-#{$i} { + position: relative; + left: (1 / 24 * $i * 100) * 1%; + } + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse-item.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse-item.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse.scss new file mode 100644 index 0000000..ffe78f3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/collapse.scss @@ -0,0 +1,63 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "common/transition"; + +@include b(collapse) { + border-top: 1px solid $--collapse-border-color; + border-bottom: 1px solid $--collapse-border-color; +} +@include b(collapse-item) { + @include when(disabled) { + .el-collapse-item__header { + color: $--font-color-disabled-base; + cursor: not-allowed; + } + } + @include e(header) { + display: flex; + align-items: center; + height: $--collapse-header-height; + line-height: $--collapse-header-height; + background-color: $--collapse-header-background-color; + color: $--collapse-header-font-color; + cursor: pointer; + border-bottom: 1px solid $--collapse-border-color; + font-size: $--collapse-header-font-size; + font-weight: 500; + transition: border-bottom-color .3s; + outline: none; + @include e(arrow) { + margin: 0 8px 0 auto; + transition: transform .3s; + font-weight: 300; + @include when(active) { + transform: rotate(90deg); + } + } + &.focusing:focus:not(:hover){ + color: $--color-primary; + } + @include when(active) { + border-bottom-color: transparent; + } + } + + @include e(wrap) { + will-change: height; + background-color: $--collapse-content-background-color; + overflow: hidden; + box-sizing: border-box; + border-bottom: 1px solid $--collapse-border-color; + } + + @include e(content) { + padding-bottom: 25px; + font-size: $--collapse-content-font-size; + color: $--collapse-content-font-color; + line-height: 1.769230769230769; + } + + &:last-child { + margin-bottom: -1px; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/color-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/color-picker.scss new file mode 100644 index 0000000..ee92d9f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/color-picker.scss @@ -0,0 +1,384 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(color-predefine) { + display: flex; + font-size: 12px; + margin-top: 8px; + width: 280px; + + @include e(colors) { + display: flex; + flex: 1; + flex-wrap: wrap; + } + + @include e(color-selector) { + margin: 0 0 8px 8px; + width: 20px; + height: 20px; + border-radius: 4px; + cursor: pointer; + + &:nth-child(10n + 1) { + margin-left: 0; + } + + &.selected { + box-shadow: 0 0 3px 2px $--color-primary; + } + + > div { + display: flex; + height: 100%; + border-radius: 3px; + } + + @include when(alpha) { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); + } + } +} + +@include b(color-hue-slider) { + position: relative; + box-sizing: border-box; + width: 280px; + height: 12px; + background-color: #f00; + padding: 0 2px; + + @include e(bar) { + position: relative; + background: linear-gradient( + to right, #f00 0%, + #ff0 17%, #0f0 33%, + #0ff 50%, #00f 67%, + #f0f 83%, #f00 100%); + height: 100%; + } + + @include e(thumb) { + position: absolute; + cursor: pointer; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); + z-index: 1; + } + + @include when(vertical) { + width: 12px; + height: 180px; + padding: 2px 0; + + .el-color-hue-slider__bar { + background: linear-gradient( + to bottom, #f00 0%, + #ff0 17%, #0f0 33%, + #0ff 50%, #00f 67%, + #f0f 83%, #f00 100%); + } + + .el-color-hue-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px; + } + } +} + +@include b(color-svpanel) { + position: relative; + width: 280px; + height: 180px; + + @include e(('white', 'black')) { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + } + + @include e('white') { + background: linear-gradient(to right, #fff, rgba(255,255,255,0)); + } + + @include e('black') { + background: linear-gradient(to top, #000, rgba(0,0,0,0)); + } + + @include e(cursor) { + position: absolute; + + > div { + cursor: head; + width: 4px; + height: 4px; + box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,0.3), 0 0 1px 2px rgba(0,0,0,0.4); + border-radius: 50%; + transform: translate(-2px, -2px); + } + } +} + +@include b(color-alpha-slider) { + position: relative; + box-sizing: border-box; + width: 280px; + height: 12px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); + + @include e(bar) { + position: relative; + background: linear-gradient( + to right, rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 1) 100%); + height: 100%; + } + + @include e(thumb) { + position: absolute; + cursor: pointer; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); + z-index: 1; + } + + @include when(vertical) { + width: 20px; + height: 180px; + + .el-color-alpha-slider__bar { + background: linear-gradient( + to bottom, rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 1) 100%); + } + + .el-color-alpha-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px; + } + } +} + +@include b(color-dropdown) { + width: 300px; + + @include e(main-wrapper) { + margin-bottom: 6px; + + &::after { + content: ""; + display: table; + clear: both; + } + } + + @include e(btns) { + margin-top: 6px; + text-align: right; + } + + @include e(value) { + float: left; + line-height: 26px; + font-size: 12px; + color: $--color-black; + width: 160px; + } + + @include e(btn) { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; + + &[disabled] { + color: #cccccc; + cursor: not-allowed; + } + &:hover { + color: $--color-primary; + border-color: $--color-primary; + } + } + + @include e(link-btn) { + cursor: pointer; + color: $--color-primary; + text-decoration: none; + padding: 15px; + font-size: 12px; + &:hover { + color: tint($--color-primary, $--button-hover-tint-percent); + } + } +} + +@include b(color-picker) { + display: inline-block; + position: relative; + line-height: normal; + height: 40px; + + @include when(disabled) { + .el-color-picker__trigger { + cursor: not-allowed; + } + } + + @include m(medium) { + height: 36px; + + .el-color-picker__trigger { + height: 36px; + width: 36px; + } + + .el-color-picker__mask { + height: 34px; + width: 34px; + } + } + + @include m(small) { + height: 32px; + + .el-color-picker__trigger { + height: 32px; + width: 32px; + } + + .el-color-picker__mask { + height: 30px; + width: 30px; + } + + .el-color-picker__icon, + .el-color-picker__empty { + transform: translate3d(-50%, -50%, 0) scale(0.8); + } + } + + @include m(mini) { + height: 28px; + + .el-color-picker__trigger { + height: 28px; + width: 28px; + } + + .el-color-picker__mask { + height: 26px; + width: 26px; + } + + .el-color-picker__icon, + .el-color-picker__empty { + transform: translate3d(-50%, -50%, 0) scale(0.8); + } + } + + @include e(mask) { + height: 38px; + width: 38px; + border-radius: 4px; + position: absolute; + top: 1px; + left: 1px; + z-index: 1; + cursor: not-allowed; + background-color: rgba(255, 255, 255, .7); + } + + @include e(trigger) { + display: inline-block; + box-sizing: border-box; + height: 40px; + width: 40px; + padding: 4px; + border: 1px solid #e6e6e6; + border-radius: 4px; + font-size: 0; + position: relative; + cursor: pointer; + } + + @include e(color) { + position: relative; + display: block; + box-sizing: border-box; + border: 1px solid #999; + border-radius: $--border-radius-small; + width: 100%; + height: 100%; + text-align: center; + + @include when(alpha) { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); + } + } + + @include e(color-inner) { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + } + + @include e(empty) { + font-size: 12px; + color: #999; + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); + } + + @include e(icon) { + display: inline-block; + position: absolute; + width: 100%; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); + color: $--color-white; + text-align: center; + font-size: 12px; + } + + @include e(panel) { + position: absolute; + z-index: 10; + padding: 6px; + box-sizing: content-box; + background-color: $--color-white; + border: 1px solid $--border-color-lighter; + border-radius: $--border-radius-base; + box-shadow: $--dropdown-menu-box-shadow; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/popup.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/popup.scss new file mode 100644 index 0000000..00030ba --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/popup.scss @@ -0,0 +1,42 @@ +@import "./var.scss"; +@import "../mixins/mixins"; + +.v-modal-enter { + animation: v-modal-in .2s ease; +} + +.v-modal-leave { + animation: v-modal-out .2s ease forwards; +} + +@keyframes v-modal-in { + 0% { + opacity: 0; + } + 100% { + } +} + +@keyframes v-modal-out { + 0% { + } + 100% { + opacity: 0; + } +} + +.v-modal { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: $--popup-modal-opacity; + background: $--popup-modal-background-color; +} + +@include b(popup-parent) { + @include m(hidden) { + overflow: hidden; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/transition.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/transition.scss new file mode 100644 index 0000000..f8eb9e3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/transition.scss @@ -0,0 +1,99 @@ +@import "var"; + +.fade-in-linear-enter-active, +.fade-in-linear-leave-active { + transition: $--fade-linear-transition; +} +.fade-in-linear-enter, +.fade-in-linear-leave, +.fade-in-linear-leave-active { + opacity: 0; +} + +.el-fade-in-linear-enter-active, +.el-fade-in-linear-leave-active { + transition: $--fade-linear-transition; +} +.el-fade-in-linear-enter, +.el-fade-in-linear-leave, +.el-fade-in-linear-leave-active { + opacity: 0; +} + +.el-fade-in-enter-active, +.el-fade-in-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} +.el-fade-in-enter, +.el-fade-in-leave-active { + opacity: 0; +} + +.el-zoom-in-center-enter-active, +.el-zoom-in-center-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} +.el-zoom-in-center-enter, +.el-zoom-in-center-leave-active { + opacity: 0; + transform: scaleX(0); +} + +.el-zoom-in-top-enter-active, +.el-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); + transition: $--md-fade-transition; + transform-origin: center top; +} +.el-zoom-in-top-enter, +.el-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.el-zoom-in-bottom-enter-active, +.el-zoom-in-bottom-leave-active { + opacity: 1; + transform: scaleY(1); + transition: $--md-fade-transition; + transform-origin: center bottom; +} +.el-zoom-in-bottom-enter, +.el-zoom-in-bottom-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.el-zoom-in-left-enter-active, +.el-zoom-in-left-leave-active { + opacity: 1; + transform: scale(1, 1); + transition: $--md-fade-transition; + transform-origin: top left; +} +.el-zoom-in-left-enter, +.el-zoom-in-left-leave-active { + opacity: 0; + transform: scale(.45, .45); +} + +.collapse-transition { + transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; +} +.horizontal-collapse-transition { + transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; +} + +.el-list-enter-active, +.el-list-leave-active { + transition: all 1s; +} +.el-list-enter, .el-list-leave-active { + opacity: 0; + transform: translateY(-30px); +} + +.el-opacity-transition { + transition: opacity .3s cubic-bezier(.55,0,.1,1); +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/var.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/var.scss new file mode 100644 index 0000000..ad9a1aa --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/common/var.scss @@ -0,0 +1,1028 @@ +/* Element Chalk Variables */ + +// Special comment for theme configurator +// type|skipAutoTranslation|Category|Order +// skipAutoTranslation 1 + +/* Transition +-------------------------- */ +$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; +$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; +$--fade-linear-transition: opacity 200ms linear !default; +$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; +$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; +$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; + +/* Color +-------------------------- */ +/// color|1|Brand Color|0 +$--color-primary: #409EFF !default; +/// color|1|Background Color|4 +$--color-white: #FFFFFF !default; +/// color|1|Background Color|4 +$--color-black: #000000 !default; +$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ +$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ +$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ +$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ +$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ +$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ +$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ +$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ +$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ +/// color|1|Functional Color|1 +$--color-success: #67C23A !default; +/// color|1|Functional Color|1 +$--color-warning: #E6A23C !default; +/// color|1|Functional Color|1 +$--color-danger: #F56C6C !default; +/// color|1|Functional Color|1 +$--color-info: #909399 !default; + +$--color-success-light: mix($--color-white, $--color-success, 80%) !default; +$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; +$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; +$--color-info-light: mix($--color-white, $--color-info, 80%) !default; + +$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; +$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; +$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; +$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; +/// color|1|Font Color|2 +$--color-text-primary: #303133 !default; +/// color|1|Font Color|2 +$--color-text-regular: #606266 !default; +/// color|1|Font Color|2 +$--color-text-secondary: #909399 !default; +/// color|1|Font Color|2 +$--color-text-placeholder: #C0C4CC !default; +/// color|1|Border Color|3 +$--border-color-base: #DCDFE6 !default; +/// color|1|Border Color|3 +$--border-color-light: #E4E7ED !default; +/// color|1|Border Color|3 +$--border-color-lighter: #EBEEF5 !default; +/// color|1|Border Color|3 +$--border-color-extra-light: #F2F6FC !default; + +// Background +/// color|1|Background Color|4 +$--background-color-base: #F5F7FA !default; + +/* Link +-------------------------- */ +$--link-color: $--color-primary-light-2 !default; +$--link-hover-color: $--color-primary !default; + +/* Border +-------------------------- */ +$--border-width-base: 1px !default; +$--border-style-base: solid !default; +$--border-color-hover: $--color-text-placeholder !default; +$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; +/// borderRadius|1|Radius|0 +$--border-radius-base: 4px !default; +/// borderRadius|1|Radius|0 +$--border-radius-small: 2px !default; +/// borderRadius|1|Radius|0 +$--border-radius-circle: 100% !default; +/// borderRadius|1|Radius|0 +$--border-radius-zero: 0 !default; + +// Box-shadow +/// boxShadow|1|Shadow|1 +$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; +// boxShadow|1|Shadow|1 +$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; +/// boxShadow|1|Shadow|1 +$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; + +/* Fill +-------------------------- */ +$--fill-base: $--color-white !default; + +/* Typography +-------------------------- */ +$--font-path: 'fonts' !default; +$--font-display: 'auto' !default; +/// fontSize|1|Font Size|0 +$--font-size-extra-large: 20px !default; +/// fontSize|1|Font Size|0 +$--font-size-large: 18px !default; +/// fontSize|1|Font Size|0 +$--font-size-medium: 16px !default; +/// fontSize|1|Font Size|0 +$--font-size-base: 14px !default; +/// fontSize|1|Font Size|0 +$--font-size-small: 13px !default; +/// fontSize|1|Font Size|0 +$--font-size-extra-small: 12px !default; +/// fontWeight|1|Font Weight|1 +$--font-weight-primary: 500 !default; +/// fontWeight|1|Font Weight|1 +$--font-weight-secondary: 100 !default; +/// fontLineHeight|1|Line Height|2 +$--font-line-height-primary: 24px !default; +/// fontLineHeight|1|Line Height|2 +$--font-line-height-secondary: 16px !default; +$--font-color-disabled-base: #bbb !default; +/* Size +-------------------------- */ +$--size-base: 14px !default; + +/* z-index +-------------------------- */ +$--index-normal: 1 !default; +$--index-top: 1000 !default; +$--index-popper: 2000 !default; + +/* Disable base +-------------------------- */ +$--disabled-fill-base: $--background-color-base !default; +$--disabled-color-base: $--color-text-placeholder !default; +$--disabled-border-base: $--border-color-light !default; + +/* Icon +-------------------------- */ +$--icon-color: #666 !default; +$--icon-color-base: $--color-info !default; + +/* Checkbox +-------------------------- */ +/// fontSize||Font|1 +$--checkbox-font-size: 14px !default; +/// fontWeight||Font|1 +$--checkbox-font-weight: $--font-weight-primary !default; +/// color||Color|0 +$--checkbox-font-color: $--color-text-regular !default; +$--checkbox-input-height: 14px !default; +$--checkbox-input-width: 14px !default; +/// borderRadius||Border|2 +$--checkbox-border-radius: $--border-radius-small !default; +/// color||Color|0 +$--checkbox-background-color: $--color-white !default; +$--checkbox-input-border: $--border-base !default; + +/// color||Color|0 +$--checkbox-disabled-border-color: $--border-color-base !default; +$--checkbox-disabled-input-fill: #edf2fc !default; +$--checkbox-disabled-icon-color: $--color-text-placeholder !default; + +$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; +$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; +$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; + +/// color||Color|0 +$--checkbox-checked-font-color: $--color-primary !default; +$--checkbox-checked-input-border-color: $--color-primary !default; +/// color||Color|0 +$--checkbox-checked-background-color: $--color-primary !default; +$--checkbox-checked-icon-color: $--fill-base !default; + +$--checkbox-input-border-color-hover: $--color-primary !default; +/// height||Other|4 +$--checkbox-bordered-height: 40px !default; +/// padding||Spacing|3 +$--checkbox-bordered-padding: 9px 20px 9px 10px !default; +/// padding||Spacing|3 +$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; +/// padding||Spacing|3 +$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; +/// padding||Spacing|3 +$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; +$--checkbox-bordered-medium-input-height: 14px !default; +$--checkbox-bordered-medium-input-width: 14px !default; +/// height||Other|4 +$--checkbox-bordered-medium-height: 36px !default; +$--checkbox-bordered-small-input-height: 12px !default; +$--checkbox-bordered-small-input-width: 12px !default; +/// height||Other|4 +$--checkbox-bordered-small-height: 32px !default; +$--checkbox-bordered-mini-input-height: 12px !default; +$--checkbox-bordered-mini-input-width: 12px !default; +/// height||Other|4 +$--checkbox-bordered-mini-height: 28px !default; + +/// color||Color|0 +$--checkbox-button-checked-background-color: $--color-primary !default; +/// color||Color|0 +$--checkbox-button-checked-font-color: $--color-white !default; +/// color||Color|0 +$--checkbox-button-checked-border-color: $--color-primary !default; + + + +/* Radio +-------------------------- */ +/// fontSize||Font|1 +$--radio-font-size: $--font-size-base !default; +/// fontWeight||Font|1 +$--radio-font-weight: $--font-weight-primary !default; +/// color||Color|0 +$--radio-font-color: $--color-text-regular !default; +$--radio-input-height: 14px !default; +$--radio-input-width: 14px !default; +/// borderRadius||Border|2 +$--radio-input-border-radius: $--border-radius-circle !default; +/// color||Color|0 +$--radio-input-background-color: $--color-white !default; +$--radio-input-border: $--border-base !default; +/// color||Color|0 +$--radio-input-border-color: $--border-color-base !default; +/// color||Color|0 +$--radio-icon-color: $--color-white !default; + +$--radio-disabled-input-border-color: $--disabled-border-base !default; +$--radio-disabled-input-fill: $--disabled-fill-base !default; +$--radio-disabled-icon-color: $--disabled-fill-base !default; + +$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; +$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; +$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; + +/// color||Color|0 +$--radio-checked-font-color: $--color-primary !default; +/// color||Color|0 +$--radio-checked-input-border-color: $--color-primary !default; +/// color||Color|0 +$--radio-checked-input-background-color: $--color-white !default; +/// color||Color|0 +$--radio-checked-icon-color: $--color-primary !default; + +$--radio-input-border-color-hover: $--color-primary !default; + +$--radio-bordered-height: 40px !default; +$--radio-bordered-padding: 12px 20px 0 10px !default; +$--radio-bordered-medium-padding: 10px 20px 0 10px !default; +$--radio-bordered-small-padding: 8px 15px 0 10px !default; +$--radio-bordered-mini-padding: 6px 15px 0 10px !default; +$--radio-bordered-medium-input-height: 14px !default; +$--radio-bordered-medium-input-width: 14px !default; +$--radio-bordered-medium-height: 36px !default; +$--radio-bordered-small-input-height: 12px !default; +$--radio-bordered-small-input-width: 12px !default; +$--radio-bordered-small-height: 32px !default; +$--radio-bordered-mini-input-height: 12px !default; +$--radio-bordered-mini-input-width: 12px !default; +$--radio-bordered-mini-height: 28px !default; + +/// fontSize||Font|1 +$--radio-button-font-size: $--font-size-base !default; +/// color||Color|0 +$--radio-button-checked-background-color: $--color-primary !default; +/// color||Color|0 +$--radio-button-checked-font-color: $--color-white !default; +/// color||Color|0 +$--radio-button-checked-border-color: $--color-primary !default; +$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; + +/* Select +-------------------------- */ +$--select-border-color-hover: $--border-color-hover !default; +$--select-disabled-border: $--disabled-border-base !default; +/// fontSize||Font|1 +$--select-font-size: $--font-size-base !default; +$--select-close-hover-color: $--color-text-secondary !default; + +$--select-input-color: $--color-text-placeholder !default; +$--select-multiple-input-color: #666 !default; +/// color||Color|0 +$--select-input-focus-border-color: $--color-primary !default; +/// fontSize||Font|1 +$--select-input-font-size: 14px !default; + +$--select-option-color: $--color-text-regular !default; +$--select-option-disabled-color: $--color-text-placeholder !default; +$--select-option-disabled-background: $--color-white !default; +/// height||Other|4 +$--select-option-height: 34px !default; +$--select-option-hover-background: $--background-color-base !default; +/// color||Color|0 +$--select-option-selected-font-color: $--color-primary !default; +$--select-option-selected-hover: $--background-color-base !default; + +$--select-group-color: $--color-info !default; +$--select-group-height: 30px !default; +$--select-group-font-size: 12px !default; + +$--select-dropdown-background: $--color-white !default; +$--select-dropdown-shadow: $--box-shadow-light !default; +$--select-dropdown-empty-color: #999 !default; +/// height||Other|4 +$--select-dropdown-max-height: 274px !default; +$--select-dropdown-padding: 6px 0 !default; +$--select-dropdown-empty-padding: 10px 0 !default; +$--select-dropdown-border: solid 1px $--border-color-light !default; + +/* Alert +-------------------------- */ +$--alert-padding: 8px 16px !default; +/// borderRadius||Border|2 +$--alert-border-radius: $--border-radius-base !default; +/// fontSize||Font|1 +$--alert-title-font-size: 13px !default; +/// fontSize||Font|1 +$--alert-description-font-size: 12px !default; +/// fontSize||Font|1 +$--alert-close-font-size: 12px !default; +/// fontSize||Font|1 +$--alert-close-customed-font-size: 13px !default; + +$--alert-success-color: $--color-success-lighter !default; +$--alert-info-color: $--color-info-lighter !default; +$--alert-warning-color: $--color-warning-lighter !default; +$--alert-danger-color: $--color-danger-lighter !default; + +/// height||Other|4 +$--alert-icon-size: 16px !default; +/// height||Other|4 +$--alert-icon-large-size: 28px !default; + +/* MessageBox +-------------------------- */ +/// color||Color|0 +$--messagebox-title-color: $--color-text-primary !default; +$--msgbox-width: 420px !default; +$--msgbox-border-radius: 4px !default; +/// fontSize||Font|1 +$--messagebox-font-size: $--font-size-large !default; +/// fontSize||Font|1 +$--messagebox-content-font-size: $--font-size-base !default; +/// color||Color|0 +$--messagebox-content-color: $--color-text-regular !default; +/// fontSize||Font|1 +$--messagebox-error-font-size: 12px !default; +$--msgbox-padding-primary: 15px !default; +/// color||Color|0 +$--messagebox-success-color: $--color-success !default; +/// color||Color|0 +$--messagebox-info-color: $--color-info !default; +/// color||Color|0 +$--messagebox-warning-color: $--color-warning !default; +/// color||Color|0 +$--messagebox-danger-color: $--color-danger !default; + +/* Message +-------------------------- */ +$--message-shadow: $--box-shadow-base !default; +$--message-min-width: 380px !default; +$--message-background-color: #edf2fc !default; +$--message-padding: 15px 15px 15px 20px !default; +/// color||Color|0 +$--message-close-icon-color: $--color-text-placeholder !default; +/// height||Other|4 +$--message-close-size: 16px !default; +/// color||Color|0 +$--message-close-hover-color: $--color-text-secondary !default; + +/// color||Color|0 +$--message-success-font-color: $--color-success !default; +/// color||Color|0 +$--message-info-font-color: $--color-info !default; +/// color||Color|0 +$--message-warning-font-color: $--color-warning !default; +/// color||Color|0 +$--message-danger-font-color: $--color-danger !default; + +/* Notification +-------------------------- */ +$--notification-width: 330px !default; +/// padding||Spacing|3 +$--notification-padding: 14px 26px 14px 13px !default; +$--notification-radius: 8px !default; +$--notification-shadow: $--box-shadow-light !default; +/// color||Color|0 +$--notification-border-color: $--border-color-lighter !default; +$--notification-icon-size: 24px !default; +$--notification-close-font-size: $--message-close-size !default; +$--notification-group-margin-left: 13px !default; +$--notification-group-margin-right: 8px !default; +/// fontSize||Font|1 +$--notification-content-font-size: $--font-size-base !default; +/// color||Color|0 +$--notification-content-color: $--color-text-regular !default; +/// fontSize||Font|1 +$--notification-title-font-size: 16px !default; +/// color||Color|0 +$--notification-title-color: $--color-text-primary !default; + +/// color||Color|0 +$--notification-close-color: $--color-text-secondary !default; +/// color||Color|0 +$--notification-close-hover-color: $--color-text-regular !default; + +/// color||Color|0 +$--notification-success-icon-color: $--color-success !default; +/// color||Color|0 +$--notification-info-icon-color: $--color-info !default; +/// color||Color|0 +$--notification-warning-icon-color: $--color-warning !default; +/// color||Color|0 +$--notification-danger-icon-color: $--color-danger !default; + +/* Input +-------------------------- */ +$--input-font-size: $--font-size-base !default; +/// color||Color|0 +$--input-font-color: $--color-text-regular !default; +/// height||Other|4 +$--input-height: 40px !default; +$--input-border: $--border-base !default; +$--input-border-color: $--border-color-base !default; +/// borderRadius||Border|2 +$--input-border-radius: $--border-radius-base !default; +$--input-border-color-hover: $--border-color-hover !default; +/// color||Color|0 +$--input-background-color: $--color-white !default; +$--input-fill-disabled: $--disabled-fill-base !default; +$--input-color-disabled: $--font-color-disabled-base !default; +/// color||Color|0 +$--input-icon-color: $--color-text-placeholder !default; +/// color||Color|0 +$--input-placeholder-color: $--color-text-placeholder !default; +$--input-max-width: 314px !default; + +$--input-hover-border: $--border-color-hover !default; +$--input-clear-hover-color: $--color-text-secondary !default; + +$--input-focus-border: $--color-primary !default; +$--input-focus-fill: $--color-white !default; + +$--input-disabled-fill: $--disabled-fill-base !default; +$--input-disabled-border: $--disabled-border-base !default; +$--input-disabled-color: $--disabled-color-base !default; +$--input-disabled-placeholder-color: $--color-text-placeholder !default; + +/// fontSize||Font|1 +$--input-medium-font-size: 14px !default; +/// height||Other|4 +$--input-medium-height: 36px !default; +/// fontSize||Font|1 +$--input-small-font-size: 13px !default; +/// height||Other|4 +$--input-small-height: 32px !default; +/// fontSize||Font|1 +$--input-mini-font-size: 12px !default; +/// height||Other|4 +$--input-mini-height: 28px !default; + +/* Cascader +-------------------------- */ +/// color||Color|0 +$--cascader-menu-font-color: $--color-text-regular !default; +/// color||Color|0 +$--cascader-menu-selected-font-color: $--color-primary !default; +$--cascader-menu-fill: $--fill-base !default; +$--cascader-menu-font-size: $--font-size-base !default; +$--cascader-menu-radius: $--border-radius-base !default; +$--cascader-menu-border: solid 1px $--border-color-light !default; +$--cascader-menu-shadow: $--box-shadow-light !default; +$--cascader-node-background-hover: $--background-color-base !default; +$--cascader-node-color-disabled:$--color-text-placeholder !default; +$--cascader-color-empty:$--color-text-placeholder !default; +$--cascader-tag-background: #f0f2f5; + +/* Group +-------------------------- */ +$--group-option-flex: 0 0 (1/5) * 100% !default; +$--group-option-offset-bottom: 12px !default; +$--group-option-fill-hover: rgba($--color-black, 0.06) !default; +$--group-title-color: $--color-black !default; +$--group-title-font-size: $--font-size-base !default; +$--group-title-width: 66px !default; + +/* Tab +-------------------------- */ +$--tab-font-size: $--font-size-base !default; +$--tab-border-line: 1px solid #e4e4e4 !default; +$--tab-header-color-active: $--color-text-secondary !default; +$--tab-header-color-hover: $--color-text-regular !default; +$--tab-header-color: $--color-text-regular !default; +$--tab-header-fill-active: rgba($--color-black, 0.06) !default; +$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; +$--tab-vertical-header-width: 90px !default; +$--tab-vertical-header-count-color: $--color-white !default; +$--tab-vertical-header-count-fill: $--color-text-secondary !default; + +/* Button +-------------------------- */ +/// fontSize||Font|1 +$--button-font-size: $--font-size-base !default; +/// fontWeight||Font|1 +$--button-font-weight: $--font-weight-primary !default; +/// borderRadius||Border|2 +$--button-border-radius: $--border-radius-base !default; +/// padding||Spacing|3 +$--button-padding-vertical: 12px !default; +/// padding||Spacing|3 +$--button-padding-horizontal: 20px !default; + +/// fontSize||Font|1 +$--button-medium-font-size: $--font-size-base !default; +/// borderRadius||Border|2 +$--button-medium-border-radius: $--border-radius-base !default; +/// padding||Spacing|3 +$--button-medium-padding-vertical: 10px !default; +/// padding||Spacing|3 +$--button-medium-padding-horizontal: 20px !default; + +/// fontSize||Font|1 +$--button-small-font-size: 12px !default; +$--button-small-border-radius: #{$--border-radius-base - 1} !default; +/// padding||Spacing|3 +$--button-small-padding-vertical: 9px !default; +/// padding||Spacing|3 +$--button-small-padding-horizontal: 15px !default; +/// fontSize||Font|1 +$--button-mini-font-size: 12px !default; +$--button-mini-border-radius: #{$--border-radius-base - 1} !default; +/// padding||Spacing|3 +$--button-mini-padding-vertical: 7px !default; +/// padding||Spacing|3 +$--button-mini-padding-horizontal: 15px !default; + +/// color||Color|0 +$--button-default-font-color: $--color-text-regular !default; +/// color||Color|0 +$--button-default-background-color: $--color-white !default; +/// color||Color|0 +$--button-default-border-color: $--border-color-base !default; + +/// color||Color|0 +$--button-disabled-font-color: $--color-text-placeholder !default; +/// color||Color|0 +$--button-disabled-background-color: $--color-white !default; +/// color||Color|0 +$--button-disabled-border-color: $--border-color-lighter !default; + +/// color||Color|0 +$--button-primary-border-color: $--color-primary !default; +/// color||Color|0 +$--button-primary-font-color: $--color-white !default; +/// color||Color|0 +$--button-primary-background-color: $--color-primary !default; +/// color||Color|0 +$--button-success-border-color: $--color-success !default; +/// color||Color|0 +$--button-success-font-color: $--color-white !default; +/// color||Color|0 +$--button-success-background-color: $--color-success !default; +/// color||Color|0 +$--button-warning-border-color: $--color-warning !default; +/// color||Color|0 +$--button-warning-font-color: $--color-white !default; +/// color||Color|0 +$--button-warning-background-color: $--color-warning !default; +/// color||Color|0 +$--button-danger-border-color: $--color-danger !default; +/// color||Color|0 +$--button-danger-font-color: $--color-white !default; +/// color||Color|0 +$--button-danger-background-color: $--color-danger !default; +/// color||Color|0 +$--button-info-border-color: $--color-info !default; +/// color||Color|0 +$--button-info-font-color: $--color-white !default; +/// color||Color|0 +$--button-info-background-color: $--color-info !default; + +$--button-hover-tint-percent: 20% !default; +$--button-active-shade-percent: 10% !default; + + +/* cascader +-------------------------- */ +$--cascader-height: 200px !default; + +/* Switch +-------------------------- */ +/// color||Color|0 +$--switch-on-color: $--color-primary !default; +/// color||Color|0 +$--switch-off-color: $--border-color-base !default; +/// fontSize||Font|1 +$--switch-font-size: $--font-size-base !default; +$--switch-core-border-radius: 10px !default; +// height||Other|4 TODO: width 隞����香���40px ��隞乩�餈�葵撅�折瘝⊥��� +$--switch-width: 40px !default; +// height||Other|4 +$--switch-height: 20px !default; +// height||Other|4 +$--switch-button-size: 16px !default; + +/* Dialog +-------------------------- */ +$--dialog-background-color: $--color-white !default; +$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; +/// fontSize||Font|1 +$--dialog-title-font-size: $--font-size-large !default; +/// fontSize||Font|1 +$--dialog-content-font-size: 14px !default; +/// fontLineHeight||LineHeight|2 +$--dialog-font-line-height: $--font-line-height-primary !default; +/// padding||Spacing|3 +$--dialog-padding-primary: 20px !default; + +/* Table +-------------------------- */ +/// color||Color|0 +$--table-border-color: $--border-color-lighter !default; +$--table-border: 1px solid $--table-border-color !default; +/// color||Color|0 +$--table-font-color: $--color-text-regular !default; +/// color||Color|0 +$--table-header-font-color: $--color-text-secondary !default; +/// color||Color|0 +$--table-row-hover-background-color: $--background-color-base !default; +$--table-current-row-background-color: $--color-primary-light-9 !default; +/// color||Color|0 +$--table-header-background-color: $--color-white !default; +$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; + +/* Pagination +-------------------------- */ +/// fontSize||Font|1 +$--pagination-font-size: 13px !default; +/// color||Color|0 +$--pagination-background-color: $--color-white !default; +/// color||Color|0 +$--pagination-font-color: $--color-text-primary !default; +$--pagination-border-radius: 3px !default; +/// color||Color|0 +$--pagination-button-color: $--color-text-primary !default; +/// height||Other|4 +$--pagination-button-width: 35.5px !default; +/// height||Other|4 +$--pagination-button-height: 28px !default; +/// color||Color|0 +$--pagination-button-disabled-color: $--color-text-placeholder !default; +/// color||Color|0 +$--pagination-button-disabled-background-color: $--color-white !default; +/// color||Color|0 +$--pagination-hover-color: $--color-primary !default; + +/* Popup +-------------------------- */ +/// color||Color|0 +$--popup-modal-background-color: $--color-black !default; +/// opacity||Other|1 +$--popup-modal-opacity: 0.5 !default; + +/* Popover +-------------------------- */ +/// color||Color|0 +$--popover-background-color: $--color-white !default; +/// fontSize||Font|1 +$--popover-font-size: $--font-size-base !default; +/// color||Color|0 +$--popover-border-color: $--border-color-lighter !default; +$--popover-arrow-size: 6px !default; +/// padding||Spacing|3 +$--popover-padding: 12px !default; +$--popover-padding-large: 18px 20px !default; +/// fontSize||Font|1 +$--popover-title-font-size: 16px !default; +/// color||Color|0 +$--popover-title-font-color: $--color-text-primary !default; + +/* Tooltip +-------------------------- */ +/// color|1|Color|0 +$--tooltip-fill: $--color-text-primary !default; +/// color|1|Color|0 +$--tooltip-color: $--color-white !default; +/// fontSize||Font|1 +$--tooltip-font-size: 12px !default; +/// color||Color|0 +$--tooltip-border-color: $--color-text-primary !default; +$--tooltip-arrow-size: 6px !default; +/// padding||Spacing|3 +$--tooltip-padding: 10px !default; + +/* Tag +-------------------------- */ +/// color||Color|0 +$--tag-info-color: $--color-info !default; +/// color||Color|0 +$--tag-primary-color: $--color-primary !default; +/// color||Color|0 +$--tag-success-color: $--color-success !default; +/// color||Color|0 +$--tag-warning-color: $--color-warning !default; +/// color||Color|0 +$--tag-danger-color: $--color-danger !default; +/// fontSize||Font|1 +$--tag-font-size: 12px !default; +$--tag-border-radius: 4px !default; +$--tag-padding: 0 10px !default; + +/* Tree +-------------------------- */ +/// color||Color|0 +$--tree-node-hover-background-color: $--background-color-base !default; +/// color||Color|0 +$--tree-font-color: $--color-text-regular !default; +/// color||Color|0 +$--tree-expand-icon-color: $--color-text-placeholder !default; + +/* Dropdown +-------------------------- */ +$--dropdown-menu-box-shadow: $--box-shadow-light !default; +$--dropdown-menuItem-hover-fill: $--color-primary-light-9 !default; +$--dropdown-menuItem-hover-color: $--link-color !default; + +/* Badge +-------------------------- */ +/// color||Color|0 +$--badge-background-color: $--color-danger !default; +$--badge-radius: 10px !default; +/// fontSize||Font|1 +$--badge-font-size: 12px !default; +/// padding||Spacing|3 +$--badge-padding: 6px !default; +/// height||Other|4 +$--badge-size: 18px !default; + +/* Card +--------------------------*/ +/// color||Color|0 +$--card-border-color: $--border-color-lighter !default; +$--card-border-radius: 4px !default; +/// padding||Spacing|3 +$--card-padding: 20px !default; + +/* Slider +--------------------------*/ +/// color||Color|0 +$--slider-main-background-color: $--color-primary !default; +/// color||Color|0 +$--slider-runway-background-color: $--border-color-light !default; +$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; +$--slider-stop-background-color: $--color-white !default; +$--slider-disable-color: $--color-text-placeholder !default; +$--slider-margin: 16px 0 !default; +$--slider-border-radius: 3px !default; +/// height|1|Other|4 +$--slider-height: 6px !default; +/// height||Other|4 +$--slider-button-size: 16px !default; +$--slider-button-wrapper-size: 36px !default; +$--slider-button-wrapper-offset: -15px !default; + +/* Steps +--------------------------*/ +$--steps-border-color: $--disabled-border-base !default; +$--steps-border-radius: 4px !default; +$--steps-padding: 20px !default; + +/* Menu +--------------------------*/ +/// fontSize||Font|1 +$--menu-item-font-size: $--font-size-base !default; +/// color||Color|0 +$--menu-item-font-color: $--color-text-primary !default; +/// color||Color|0 +$--menu-background-color: $--color-white !default; +$--menu-item-hover-fill: $--color-primary-light-9 !default; + +/* Rate +--------------------------*/ +$--rate-height: 20px !default; +/// fontSize||Font|1 +$--rate-font-size: $--font-size-base !default; +/// height||Other|3 +$--rate-icon-size: 18px !default; +/// margin||Spacing|2 +$--rate-icon-margin: 6px !default; +$--rate-icon-color: $--color-text-placeholder !default; + +/* DatePicker +--------------------------*/ +$--datepicker-font-color: $--color-text-regular !default; +/// color|1|Color|0 +$--datepicker-off-font-color: $--color-text-placeholder !default; +/// color||Color|0 +$--datepicker-header-font-color: $--color-text-regular !default; +$--datepicker-icon-color: $--color-text-primary !default; +$--datepicker-border-color: $--disabled-border-base !default; +$--datepicker-inner-border-color: #e4e4e4 !default; +/// color||Color|0 +$--datepicker-inrange-background-color: $--border-color-extra-light !default; +/// color||Color|0 +$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; +/// color||Color|0 +$--datepicker-active-color: $--color-primary !default; +/// color||Color|0 +$--datepicker-hover-font-color: $--color-primary !default; +$--datepicker-cell-hover-color: #fff !default; + +/* Loading +--------------------------*/ +/// height||Other|4 +$--loading-spinner-size: 42px !default; +/// height||Other|4 +$--loading-fullscreen-spinner-size: 50px !default; + +/* Scrollbar +--------------------------*/ +$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; +$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; + +/* Carousel +--------------------------*/ +/// fontSize||Font|1 +$--carousel-arrow-font-size: 12px !default; +$--carousel-arrow-size: 36px !default; +$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; +$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; +/// width||Other|4 +$--carousel-indicator-width: 30px !default; +/// height||Other|4 +$--carousel-indicator-height: 2px !default; +$--carousel-indicator-padding-horizontal: 4px !default; +$--carousel-indicator-padding-vertical: 12px !default; +$--carousel-indicator-out-color: $--border-color-hover !default; + +/* Collapse +--------------------------*/ +/// color||Color|0 +$--collapse-border-color: $--border-color-lighter !default; +/// height||Other|4 +$--collapse-header-height: 48px !default; +/// color||Color|0 +$--collapse-header-background-color: $--color-white !default; +/// color||Color|0 +$--collapse-header-font-color: $--color-text-primary !default; +/// fontSize||Font|1 +$--collapse-header-font-size: 13px !default; +/// color||Color|0 +$--collapse-content-background-color: $--color-white !default; +/// fontSize||Font|1 +$--collapse-content-font-size: 13px !default; +/// color||Color|0 +$--collapse-content-font-color: $--color-text-primary !default; + +/* Transfer +--------------------------*/ +$--transfer-border-color: $--border-color-lighter !default; +$--transfer-border-radius: $--border-radius-base !default; +/// height||Other|4 +$--transfer-panel-width: 200px !default; +/// height||Other|4 +$--transfer-panel-header-height: 40px !default; +/// color||Color|0 +$--transfer-panel-header-background-color: $--background-color-base !default; +/// height||Other|4 +$--transfer-panel-footer-height: 40px !default; +/// height||Other|4 +$--transfer-panel-body-height: 246px !default; +/// height||Other|4 +$--transfer-item-height: 30px !default; +/// height||Other|4 +$--transfer-filter-height: 32px !default; + +/* Header + --------------------------*/ +$--header-padding: 0 20px !default; + +/* Footer +--------------------------*/ +$--footer-padding: 0 20px !default; + +/* Main +--------------------------*/ +$--main-padding: 20px !default; + +/* Timeline +--------------------------*/ +$--timeline-node-size-normal: 12px !default; +$--timeline-node-size-large: 14px !default; +$--timeline-node-color: $--border-color-light !default; + +/* Backtop +--------------------------*/ +/// color||Color|0 +$--backtop-background-color: $--color-white !default; +/// color||Color|0 +$--backtop-font-color: $--color-primary !default; +/// color||Color|0 +$--backtop-hover-background-color: $--border-color-extra-light !default; + +/* Link +--------------------------*/ +/// fontSize||Font|1 +$--link-font-size: $--font-size-base !default; +/// fontWeight||Font|1 +$--link-font-weight: $--font-weight-primary !default; +/// color||Color|0 +$--link-default-font-color: $--color-text-regular !default; +/// color||Color|0 +$--link-default-active-color: $--color-primary !default; +/// color||Color|0 +$--link-disabled-font-color: $--color-text-placeholder !default; +/// color||Color|0 +$--link-primary-font-color: $--color-primary !default; +/// color||Color|0 +$--link-success-font-color: $--color-success !default; +/// color||Color|0 +$--link-warning-font-color: $--color-warning !default; +/// color||Color|0 +$--link-danger-font-color: $--color-danger !default; +/// color||Color|0 +$--link-info-font-color: $--color-info !default; +/* Calendar +--------------------------*/ +/// border||Other|4 +$--calendar-border: $--table-border !default; +/// color||Other|4 +$--calendar-selected-background-color: #F2F8FE !default; +$--calendar-cell-width: 85px !default; + +/* Form +-------------------------- */ +/// fontSize||Font|1 +$--form-label-font-size: $--font-size-base !default; + +/* Avatar +--------------------------*/ +/// color||Color|0 +$--avatar-font-color: #fff !default; +/// color||Color|0 +$--avatar-background-color: #C0C4CC !default; +/// fontSize||Font Size|1 +$--avatar-text-font-size: 14px !default; +/// fontSize||Font Size|1 +$--avatar-icon-font-size: 18px !default; +/// borderRadius||Border|2 +$--avatar-border-radius: $--border-radius-base !default; +/// size|1|Avatar Size|3 +$--avatar-large-size: 40px !default; +/// size|1|Avatar Size|3 +$--avatar-medium-size: 36px !default; +/// size|1|Avatar Size|3 +$--avatar-small-size: 28px !default; + +/* Empty +-------------------------- */ +$--empty-padding: 40px 0 !default; +$--empty-image-width: 160px !default; +$--empty-description-margin-top: 20px !default; +$--empty-bottom-margin-top: 20px !default; + +/* Descriptions +-------------------------- */ +$--descriptions-header-margin-bottom: 20px !default; +$--descriptions-title-font-size: 16px !default; +$--descriptions-table-border: 1px solid $--border-color-lighter !default; +$--descriptions-item-bordered-label-background: #fafafa !default; + +/* Skeleton +--------------------------*/ +$--skeleton-color: #f2f2f2 !default; +$--skeleton-to-color: #e6e6e6 !default; + +/* Svg +--------------- */ +$--svg-monochrome-grey: #DCDDE0 !default; + +/* Result +-------------------------- */ +$--result-padding: 40px 30px !default; +$--result-icon-font-size: 64px !default; +$--result-title-font-size: 20px !default; +$--result-title-margin-top: 20px !default; +$--result-subtitle-margin-top: 10px !default; +$--result-extra-margin-top: 30px !default; +$--result-info-color: $--color-info !default; +$--result-success-color: $--color-success !default; +$--result-warning-color: $--color-warning !default; +$--result-danger-color: $--color-danger !default; + +/* Break-point +--------------------------*/ +$--sm: 768px !default; +$--md: 992px !default; +$--lg: 1200px !default; +$--xl: 1920px !default; + +$--breakpoints: ( + 'xs' : (max-width: $--sm - 1), + 'sm' : (min-width: $--sm), + 'md' : (min-width: $--md), + 'lg' : (min-width: $--lg), + 'xl' : (min-width: $--xl) +); + +$--breakpoints-spec: ( + 'xs-only' : (max-width: $--sm - 1), + 'sm-and-up' : (min-width: $--sm), + 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", + 'sm-and-down': (max-width: $--md - 1), + 'md-and-up' : (min-width: $--md), + 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", + 'md-and-down': (max-width: $--lg - 1), + 'lg-and-up' : (min-width: $--lg), + 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", + 'lg-and-down': (max-width: $--xl - 1), + 'xl-only' : (min-width: $--xl), +); diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/container.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/container.scss new file mode 100644 index 0000000..df7b2af --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/container.scss @@ -0,0 +1,14 @@ +@import "mixins/mixins"; + +@include b(container) { + display: flex; + flex-direction: row; + flex: 1; + flex-basis: auto; + box-sizing: border-box; + min-width: 0; + + @include when(vertical) { + flex-direction: column; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker.scss new file mode 100644 index 0000000..516f056 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker.scss @@ -0,0 +1,12 @@ +@import "./date-picker/date-table.scss"; +@import "./date-picker/month-table.scss"; +@import "./date-picker/year-table.scss"; +@import "./date-picker/time-spinner.scss"; +@import "./date-picker/picker.scss"; +@import "./date-picker/date-picker.scss"; +@import "./date-picker/date-range-picker.scss"; +@import "./date-picker/time-range-picker.scss"; +@import "./date-picker/time-picker.scss"; +@import "./input.scss"; +@import "./scrollbar.scss"; +@import "./popper"; \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-picker.scss new file mode 100644 index 0000000..7ac85ab --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-picker.scss @@ -0,0 +1,97 @@ +@import "../common/var"; +@import "../mixins/mixins"; +@import "./picker-panel.scss"; + +@include b(date-picker) { + width: 322px; + + &.has-sidebar.has-time { + width: 434px; + } + + &.has-sidebar { + width: 438px; + } + + &.has-time .el-picker-panel__body-wrapper { + position: relative; + } + + .el-picker-panel__content { + width: 292px; + } + + table { + table-layout: fixed; + width: 100%; + } + + @include e(editor-wrap) { + position: relative; + display: table-cell; + padding: 0 5px; + } + + @include e(time-header) { + position: relative; + border-bottom: 1px solid $--datepicker-inner-border-color; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + box-sizing: border-box; + } + + @include e(header) { + margin: 12px; + text-align: center; + + @include m(bordered) { + margin-bottom: 0; + padding-bottom: 12px; + border-bottom: solid 1px $--border-color-lighter; + + & + .el-picker-panel__content { + margin-top: 0; + } + } + } + + @include e(header-label) { + font-size: 16px; + font-weight: 500; + padding: 0 5px; + line-height: 22px; + text-align: center; + cursor: pointer; + color: $--color-text-regular; + + &:hover { + color: $--datepicker-hover-font-color; + } + + &.active { + color: $--datepicker-active-color; + } + } + + @include e(prev-btn) { + float: left; + } + + @include e(next-btn) { + float: right; + } + + @include e(time-wrap) { + padding: 10px; + text-align: center; + } + + @include e(time-label) { + float: left; + cursor: pointer; + line-height: 30px; + margin-left: 10px; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-range-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-range-picker.scss new file mode 100644 index 0000000..cff12a1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-range-picker.scss @@ -0,0 +1,101 @@ +@import "../common/var"; + +@include b(date-range-picker) { + width: 646px; + + &.has-sidebar { + width: 756px; + } + + table { + table-layout: fixed; + width: 100%; + } + + .el-picker-panel__body { + min-width: 513px; + } + + .el-picker-panel__content { + margin: 0; + } + + @include e(header) { + position: relative; + text-align: center; + height: 28px; + + [class*=arrow-left] { + float: left; + } + + [class*=arrow-right] { + float: right; + } + + div { + font-size: 16px; + font-weight: 500; + margin-right: 50px; + } + } + + @include e(content) { + float: left; + width: 50%; + box-sizing: border-box; + margin: 0; + padding: 16px; + + @include when(left) { + border-right: 1px solid $--datepicker-inner-border-color; + } + .el-date-range-picker__header { + + div { + margin-left: 50px; + margin-right: 50px; + } + } + } + + @include e(editors-wrap) { + box-sizing: border-box; + display: table-cell; + + @include when(right) { + text-align: right; + } + } + + @include e(time-header) { + position: relative; + border-bottom: 1px solid $--datepicker-inner-border-color; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + box-sizing: border-box; + + > .el-icon-arrow-right { + font-size: 20px; + vertical-align: middle; + display: table-cell; + color: $--datepicker-icon-color; + } + } + + @include e(time-picker-wrap) { + position: relative; + display: table-cell; + padding: 0 5px; + + .el-picker-panel { + position: absolute; + top: 13px; + right: 0; + z-index: 1; + background: $--color-white; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-table.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-table.scss new file mode 100644 index 0000000..5fed1bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/date-table.scss @@ -0,0 +1,151 @@ +@import "../common/var"; +@import "../mixins/mixins"; + +@include b(date-table) { + font-size: 12px; + user-select: none; + + @include when(week-mode) { + .el-date-table__row { + &:hover { + div { + background-color: $--datepicker-inrange-background-color; + } + td.available:hover { + color: $--datepicker-font-color; + } + td:first-child div { + margin-left: 5px; + border-top-left-radius: 15px; + border-bottom-left-radius: 15px; + } + td:last-child div { + margin-right: 5px; + border-top-right-radius: 15px; + border-bottom-right-radius: 15px; + } + } + + &.current div { + background-color: $--datepicker-inrange-background-color; + } + } + } + + td { + width: 32px; + height: 30px; + padding: 4px 0; + box-sizing: border-box; + text-align: center; + cursor: pointer; + position: relative; + + & div { + height: 30px; + padding: 3px 0; + box-sizing: border-box; + } + + & span { + width: 24px; + height: 24px; + display: block; + margin: 0 auto; + line-height: 24px; + position: absolute; + left: 50%; + transform: translateX(-50%); + border-radius: 50%; + } + + &.next-month, + &.prev-month { + color: $--datepicker-off-font-color; + } + + &.today { + position: relative; + span { + color: $--color-primary; + font-weight: bold; + } + &.start-date span, + &.end-date span { + color: $--color-white; + } + } + + &.available:hover { + color: $--datepicker-hover-font-color; + } + + &.in-range div { + background-color: $--datepicker-inrange-background-color; + &:hover { + background-color: $--datepicker-inrange-hover-background-color; + } + } + + &.current:not(.disabled) span { + color: $--color-white; + background-color: $--datepicker-active-color; + } + &.start-date div, + &.end-date div { + color: $--color-white; + } + + &.start-date span, + &.end-date span { + background-color: $--datepicker-active-color; + } + + &.start-date div { + margin-left: 5px; + border-top-left-radius: 15px; + border-bottom-left-radius: 15px; + } + + &.end-date div { + margin-right: 5px; + border-top-right-radius: 15px; + border-bottom-right-radius: 15px; + } + + &.disabled div { + background-color: $--background-color-base; + opacity: 1; + cursor: not-allowed; + color: $--color-text-placeholder; + } + + &.selected div { + margin-left: 5px; + margin-right: 5px; + background-color: $--datepicker-inrange-background-color; + border-radius: 15px; + &:hover { + background-color: $--datepicker-inrange-hover-background-color; + } + } + + &.selected span { + background-color: $--datepicker-active-color; + color: $--color-white; + border-radius: 15px; + } + + &.week { + font-size: 80%; + color: $--datepicker-header-font-color; + } + } + + th { + padding: 5px; + color: $--datepicker-header-font-color; + font-weight: 400; + border-bottom: solid 1px $--border-color-lighter; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/month-table.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/month-table.scss new file mode 100644 index 0000000..1164f70 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/month-table.scss @@ -0,0 +1,82 @@ +@import "../common/var"; + +@include b(month-table) { + font-size: 12px; + margin: -1px; + border-collapse: collapse; + + td { + text-align: center; + padding: 8px 0px; + cursor: pointer; + & div { + height: 48px; + padding: 6px 0; + box-sizing: border-box; + } + &.today { + .cell { + color: $--color-primary; + font-weight: bold; + } + &.start-date .cell, + &.end-date .cell { + color: $--color-white; + } + } + + &.disabled .cell { + background-color: $--background-color-base; + cursor: not-allowed; + color: $--color-text-placeholder; + + &:hover { + color: $--color-text-placeholder; + } + } + + .cell { + width: 60px; + height: 36px; + display: block; + line-height: 36px; + color: $--datepicker-font-color; + margin: 0 auto; + border-radius: 18px; + &:hover { + color: $--datepicker-hover-font-color; + } + } + + &.in-range div { + background-color: $--datepicker-inrange-background-color; + &:hover { + background-color: $--datepicker-inrange-hover-background-color; + } + } + &.start-date div, + &.end-date div { + color: $--color-white; + } + + &.start-date .cell, + &.end-date .cell { + color: $--color-white; + background-color: $--datepicker-active-color; + } + + &.start-date div { + border-top-left-radius: 24px; + border-bottom-left-radius: 24px; + } + + &.end-date div { + border-top-right-radius: 24px; + border-bottom-right-radius: 24px; + } + + &.current:not(.disabled) .cell { + color: $--datepicker-active-color; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker-panel.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker-panel.scss new file mode 100644 index 0000000..70fed3b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker-panel.scss @@ -0,0 +1,117 @@ +@import "../common/var"; + +@include b(picker-panel) { + color: $--color-text-regular; + border: 1px solid $--datepicker-border-color; + box-shadow: $--box-shadow-light; + background: $--color-white; + border-radius: $--border-radius-base; + line-height: 30px; + margin: 5px 0; + + @include e((body, body-wrapper)) { + &::after { + content: ""; + display: table; + clear: both; + } + } + + @include e(content) { + position: relative; + margin: 15px; + } + + @include e(footer) { + border-top: 1px solid $--datepicker-inner-border-color; + padding: 4px; + text-align: right; + background-color: $--color-white; + position: relative; + font-size: 0; + } + + @include e(shortcut) { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: $--datepicker-font-color; + padding-left: 12px; + text-align: left; + outline: none; + cursor: pointer; + + &:hover { + color: $--datepicker-hover-font-color; + } + + &.active { + background-color: #e6f1fe; + color: $--datepicker-active-color; + } + } + + @include e(btn) { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; + + &[disabled] { + color: #cccccc; + cursor: not-allowed; + } + } + + @include e(icon-btn) { + font-size: 12px; + color: $--datepicker-icon-color; + border: 0; + background: transparent; + cursor: pointer; + outline: none; + margin-top: 8px; + + &:hover { + color: $--datepicker-hover-font-color; + } + + @include when(disabled) { + color: $--font-color-disabled-base; + + &:hover { + cursor: not-allowed; + } + } + } + + @include e(link-btn) { + vertical-align: middle; + } +} + +.el-picker-panel *[slot=sidebar], +.el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid $--datepicker-inner-border-color; + box-sizing: border-box; + padding-top: 6px; + background-color: $--color-white; + overflow: auto; +} + +.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, +.el-picker-panel__sidebar + .el-picker-panel__body { + margin-left: 110px; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker.scss new file mode 100644 index 0000000..8110c2a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/picker.scss @@ -0,0 +1,197 @@ +@import "../mixins/mixins"; +@import "../common/var"; +@import "../common/transition"; + +@include b(date-editor) { + position: relative; + display: inline-block; + text-align: left; + + &.el-input, + &.el-input__inner { + width: 220px; + } + + @include m((monthrange)) { + &.el-input, + &.el-input__inner { + width: 300px; + } + } + + @include m((daterange, timerange)) { + &.el-input, + &.el-input__inner { + width: 350px; + } + } + + @include m(datetimerange) { + &.el-input, + &.el-input__inner { + width: 400px; + } + } + + @include m(dates) { + .el-input__inner { + text-overflow: ellipsis; + white-space: nowrap; + } + } + + .el-icon-circle-close { + cursor: pointer; + } + + .el-range__icon { + font-size: 14px; + margin-left: -5px; + color: $--color-text-placeholder; + float: left; + line-height: 32px; + } + + .el-range-input { + appearance: none; + border: none; + outline: none; + display: inline-block; + height: 100%; + margin: 0; + padding: 0; + width: 39%; + text-align: center; + font-size: $--font-size-base; + color: $--color-text-regular; + + &::placeholder { + color: $--color-text-placeholder; + } + } + + .el-range-separator { + display: inline-block; + height: 100%; + padding: 0 5px; + margin: 0; + text-align: center; + line-height: 32px; + font-size: 14px; + width: 5%; + color: $--color-text-primary; + } + + .el-range__close-icon { + font-size: 14px; + color: $--color-text-placeholder; + width: 25px; + display: inline-block; + float: right; + line-height: 32px; + } +} + +@include b(range-editor) { + &.el-input__inner { + display: inline-flex; + align-items: center; + padding: 3px 10px; + } + + .el-range-input { + line-height: 1; + } + + @include when(active) { + border-color: $--color-primary; + + &:hover { + border-color: $--color-primary; + } + } + + @include m(medium) { + &.el-input__inner { + height: $--input-medium-height; + } + + .el-range-separator { + line-height: 28px; + font-size: $--input-medium-font-size; + } + + .el-range-input { + font-size: $--input-medium-font-size; + } + + .el-range__icon, + .el-range__close-icon { + line-height: 28px; + } + } + + @include m(small) { + &.el-input__inner { + height: $--input-small-height; + } + + .el-range-separator { + line-height: 24px; + font-size: $--input-small-font-size; + } + + .el-range-input { + font-size: $--input-small-font-size; + } + + .el-range__icon, + .el-range__close-icon { + line-height: 24px; + } + } + + @include m(mini) { + &.el-input__inner { + height: $--input-mini-height; + } + + .el-range-separator { + line-height: 20px; + font-size: $--input-mini-font-size; + } + + .el-range-input { + font-size: $--input-mini-font-size; + } + + .el-range__icon, + .el-range__close-icon { + line-height: 20px; + } + } + + @include when(disabled) { + background-color: $--input-disabled-fill; + border-color: $--input-disabled-border; + color: $--input-disabled-color; + cursor: not-allowed; + + &:hover, &:focus { + border-color: $--input-disabled-border; + } + + input { + background-color: $--input-disabled-fill; + color: $--input-disabled-color; + cursor: not-allowed; + &::placeholder { + color: $--input-disabled-placeholder-color; + } + } + + .el-range-separator { + color: $--input-disabled-color; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-picker.scss new file mode 100644 index 0000000..eaaf8f0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-picker.scss @@ -0,0 +1,85 @@ +@import "../common/var"; + +@include b(time-panel) { + margin: 5px 0; + border: solid 1px $--datepicker-border-color; + background-color: $--color-white; + box-shadow: $--box-shadow-light; + border-radius: 2px; + position: absolute; + width: 180px; + left: 0; + z-index: $--index-top; + user-select: none; + box-sizing: content-box; + + @include e(content) { + font-size: 0; + position: relative; + overflow: hidden; + + &::after, &::before { + content: ""; + top: 50%; + position: absolute; + margin-top: -15px; + height: 32px; + z-index: -1; + left: 0; + right: 0; + box-sizing: border-box; + padding-top: 6px; + text-align: left; + border-top: 1px solid $--border-color-light; + border-bottom: 1px solid $--border-color-light; + } + + &::after { + left: 50%; + margin-left: 12%; + margin-right: 12%; + } + + &::before { + padding-left: 50%; + margin-right: 12%; + margin-left: 12%; + } + + &.has-seconds { + &::after { + left: calc(100% / 3 * 2); + } + + &::before { + padding-left: calc(100% / 3); + } + } + } + + @include e(footer) { + border-top: 1px solid $--datepicker-inner-border-color; + padding: 4px; + height: 36px; + line-height: 25px; + text-align: right; + box-sizing: border-box; + } + + @include e(btn) { + border: none; + line-height: 28px; + padding: 0 5px; + margin: 0 5px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; + color: $--color-text-primary; + + &.confirm { + font-weight: 800; + color: $--datepicker-active-color; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss new file mode 100644 index 0000000..a2bf629 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss @@ -0,0 +1,31 @@ +@import "../common/var"; + +@include b(time-range-picker) { + width: 354px; + overflow: visible; + + @include e(content) { + position: relative; + text-align: center; + padding: 10px; + } + + @include e(cell) { + box-sizing: border-box; + margin: 0; + padding: 4px 7px 7px; + width: 50%; + display: inline-block; + } + + @include e(header) { + margin-bottom: 5px; + text-align: center; + font-size: 14px; + } + + @include e(body) { + border-radius:2px; + border: 1px solid $--datepicker-border-color; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-spinner.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-spinner.scss new file mode 100644 index 0000000..c70260a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/time-spinner.scss @@ -0,0 +1,110 @@ +@import "../common/var"; + +@include b(time-spinner) { + &.has-seconds { + .el-time-spinner__wrapper { + width: 33.3%; + } + } + + @include e(wrapper) { + max-height: 190px; + overflow: auto; + display: inline-block; + width: 50%; + vertical-align: top; + position: relative; + + & .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { + padding-bottom: 15px; + } + + @include when(arrow) { + box-sizing: border-box; + text-align: center; + overflow: hidden; + + .el-time-spinner__list { + transform: translateY(-32px); + } + + .el-time-spinner__item:hover:not(.disabled):not(.active) { + background: $--color-white; + cursor: default; + } + } + } + + @include e(arrow) { + font-size: 12px; + color: $--color-text-secondary; + position: absolute; + left: 0; + width: 100%; + z-index: $--index-normal; + text-align: center; + height: 30px; + line-height: 30px; + cursor: pointer; + + &:hover { + color: $--color-primary; + } + + &.el-icon-arrow-up { + top: 10px; + } + + &.el-icon-arrow-down { + bottom: 10px; + } + } + + @include e(input) { + &.el-input { + width: 70%; + + .el-input__inner { + padding: 0; + text-align: center; + } + } + } + + @include e(list) { + padding: 0; + margin: 0; + list-style: none; + text-align: center; + + &::after, + &::before { + content: ''; + display: block; + width: 100%; + height: 80px; + } + } + + @include e(item) { + height: 32px; + line-height: 32px; + font-size: 12px; + color: $--color-text-regular; + + &:hover:not(.disabled):not(.active) { + background: $--background-color-base; + cursor: pointer; + } + + &.active:not(.disabled) { + color: $--color-text-primary; + font-weight: bold; + } + + &.disabled { + color: $--color-text-placeholder; + cursor: not-allowed; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/year-table.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/year-table.scss new file mode 100644 index 0000000..18fbed9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/date-picker/year-table.scss @@ -0,0 +1,51 @@ +@import "../common/var"; + +@include b(year-table) { + font-size: 12px; + margin: -1px; + border-collapse: collapse; + + .el-icon { + color: $--datepicker-icon-color; + } + + td { + text-align: center; + padding: 20px 3px; + cursor: pointer; + + &.today { + .cell { + color: $--color-primary; + font-weight: bold; + } + } + + &.disabled .cell { + background-color: $--background-color-base; + cursor: not-allowed; + color: $--color-text-placeholder; + + &:hover { + color: $--color-text-placeholder; + } + } + + .cell { + width: 48px; + height: 32px; + display: block; + line-height: 32px; + color: $--datepicker-font-color; + margin: 0 auto; + + &:hover { + color: $--datepicker-hover-font-color; + } + } + + &.current:not(.disabled) .cell { + color: $--datepicker-active-color; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions-item.scss new file mode 100644 index 0000000..17825f1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions-item.scss @@ -0,0 +1,42 @@ +@import 'mixins/mixins'; +@import 'common/var'; + +@include b(descriptions-item) { + vertical-align: top; + + @include e(container) { + display: flex; + + .el-descriptions-item__label, + .el-descriptions-item__content { + display: inline-flex; + align-items: baseline; + } + .el-descriptions-item__content { + flex: 1; + } + } + + @include e(label) { + &.has-colon { + &::after { + content: ':'; + position: relative; + top: -0.5px; + } + } + &.is-bordered-label { + font-weight: bold; + color: $--color-text-secondary; + background: $--descriptions-item-bordered-label-background; + } + &:not(.is-bordered-label) { + margin-right: 10px; + } + } + + @include e(content) { + word-break: break-word; + overflow-wrap: break-word; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions.scss new file mode 100644 index 0000000..a076dca --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/descriptions.scss @@ -0,0 +1,111 @@ +@import 'mixins/mixins'; +@import 'common/var'; +@import 'descriptions-item'; + +@include b(descriptions) { + box-sizing: border-box; + font-size: $--font-size-base; + color: $--color-text-primary; + + @include e(header) { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: $--descriptions-header-margin-bottom; + + @include e(title) { + font-size: $--descriptions-title-font-size; + font-weight: bold; + } + } + + @include e(body) { + color: $--color-text-regular; + background-color: $--color-white; + + .el-descriptions__table { + border-collapse: collapse; + width: 100%; + table-layout: fixed; + + .el-descriptions-item__cell { + box-sizing: border-box; + text-align: left; + font-weight: normal; + line-height: 1.5; + + @include when(left) { + text-align: left; + } + + @include when(center) { + text-align: center; + } + + @include when(right) { + text-align: right; + } + } + } + } + + .is-bordered { + table-layout: auto; + .el-descriptions-item__cell { + border: $--descriptions-table-border; + padding: 12px 10px; + } + } + + :not(.is-bordered) { + .el-descriptions-item__cell { + padding-bottom: 12px; + } + } + + @include m(medium) { + &.is-bordered { + .el-descriptions-item__cell { + padding: 10px; + } + } + + &:not(.is-bordered) { + .el-descriptions-item__cell { + padding-bottom: 10px; + } + } + } + + @include m(small) { + font-size: 12px; + + &.is-bordered { + .el-descriptions-item__cell { + padding: 8px 10px; + } + } + + &:not(.is-bordered) { + .el-descriptions-item__cell { + padding-bottom: 8px; + } + } + } + + @include m(mini) { + font-size: 12px; + + &.is-bordered { + .el-descriptions-item__cell { + padding: 6px 10px; + } + } + + &:not(.is-bordered) { + .el-descriptions-item__cell { + padding-bottom: 6px; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dialog.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dialog.scss new file mode 100644 index 0000000..fa8a3a8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dialog.scss @@ -0,0 +1,123 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "common/popup"; + +@include b(dialog) { + position: relative; + margin: 0 auto 50px; + background: $--dialog-background-color; + border-radius: $--border-radius-small; + box-shadow: $--dialog-box-shadow; + box-sizing: border-box; + width: 50%; + + @include when(fullscreen) { + width: 100%; + margin-top: 0; + margin-bottom: 0; + height: 100%; + overflow: auto; + } + + @include e(wrapper) { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: auto; + margin: 0; + } + + @include e(header) { + padding: $--dialog-padding-primary; + padding-bottom: 10px; + } + + @include e(headerbtn) { + position: absolute; + top: $--dialog-padding-primary; + right: $--dialog-padding-primary; + padding: 0; + background: transparent; + border: none; + outline: none; + cursor: pointer; + font-size: $--message-close-size; + + .el-dialog__close { + color: $--color-info; + } + + &:focus, &:hover { + .el-dialog__close { + color: $--color-primary; + } + } + } + + @include e(title) { + line-height: $--dialog-font-line-height; + font-size: $--dialog-title-font-size; + color: $--color-text-primary; + } + + @include e(body) { + padding: ($--dialog-padding-primary + 10px) $--dialog-padding-primary; + color: $--color-text-regular; + font-size: $--dialog-content-font-size; + word-break: break-all; + } + + @include e(footer) { + padding: $--dialog-padding-primary; + padding-top: 10px; + text-align: right; + box-sizing: border-box; + } + + // ��捆撅葉撣� + @include m(center) { + text-align: center; + + @include e(body) { + text-align: initial; + padding: 25px ($--dialog-padding-primary + 5px) 30px; + } + + @include e(footer) { + text-align: inherit; + } + } +} + +.dialog-fade-enter-active { + animation: dialog-fade-in .3s; +} + +.dialog-fade-leave-active { + animation: dialog-fade-out .3s; +} + +@keyframes dialog-fade-in { + 0% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } + 100% { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes dialog-fade-out { + 0% { + transform: translate3d(0, 0, 0); + opacity: 1; + } + 100% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/display.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/display.scss new file mode 100644 index 0000000..fac8b49 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/display.scss @@ -0,0 +1,12 @@ +@import "common/var"; +@import "mixins/mixins"; + +.hidden { + @each $break-point-name, $value in $--breakpoints-spec { + &-#{$break-point-name} { + @include res($break-point-name, $--breakpoints-spec) { + display: none !important; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/divider.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/divider.scss new file mode 100644 index 0000000..4ed94ee --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/divider.scss @@ -0,0 +1,47 @@ +@import "common/var"; +@import "mixins/mixins"; + +@include b(divider) { + background-color: $--border-color-base; + position: relative; + + @include m(horizontal) { + display: block; + height: 1px; + width: 100%; + margin: 24px 0; + } + + @include m(vertical) { + display: inline-block; + width: 1px; + height: 1em; + margin: 0 8px; + vertical-align: middle; + position: relative; + } + + @include e(text) { + position: absolute; + background-color: $--color-white; + padding: 0 20px; + font-weight: 500; + color: $--color-text-primary; + font-size: 14px; + + @include when(left) { + left: 20px; + transform: translateY(-50%); + } + + @include when(center) { + left: 50%; + transform: translateX(-50%) translateY(-50%); + } + + @include when(right) { + right: 20px; + transform: translateY(-50%); + } + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/drawer.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/drawer.scss new file mode 100644 index 0000000..78fa9bd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/drawer.scss @@ -0,0 +1,219 @@ +@import "mixins/mixins"; +@import "common/var"; + +@keyframes el-drawer-fade-in { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@mixin drawer-animation($direction) { + + @keyframes #{$direction}-drawer-in { + 0% { + + @if $direction == ltr { + transform: translate(-100%, 0px); + } + + @if $direction == rtl { + transform: translate(100%, 0px); + } + + @if $direction == ttb { + transform: translate(0px, -100%); + } + + @if $direction == btt { + transform: translate(0px, 100%); + } + } + + 100% { + @if $direction == ltr { + transform: translate(0px, 0px); + } + + @if $direction == rtl { + transform: translate(0px, 0px); + } + + @if $direction == ttb { + transform: translate(0px, 0px); + } + + @if $direction == btt { + transform: translate(0px, 0px); + } + } + } + + @keyframes #{$direction}-drawer-out { + 0% { + @if $direction == ltr { + transform: translate(0px, 0px); + } + + @if $direction == rtl { + transform: translate(0px, 0px);; + } + + @if $direction == ttb { + transform: translate(0px, 0px); + } + + @if $direction == btt { + transform: translate(0px, 0); + } + } + + 100% { + @if $direction == ltr { + transform: translate(-100%, 0px); + } + + @if $direction == rtl { + transform: translate(100%, 0px); + } + + @if $direction == ttb { + transform: translate(0px, -100%); + } + + @if $direction == btt { + transform: translate(0px, 100%); + } + } + } +} + +@mixin animation-in($direction) { + .el-drawer__open &.#{$direction} { + animation: #{$direction}-drawer-in .3s 1ms; + } +} + +@mixin animation-out($direction) { + &.#{$direction} { + animation: #{$direction}-drawer-out .3s; + } +} + +@include drawer-animation(rtl); +@include drawer-animation(ltr); +@include drawer-animation(ttb); +@include drawer-animation(btt); + +$directions: rtl, ltr, ttb, btt; + +@include b(drawer) { + position: absolute; + box-sizing: border-box; + background-color: $--dialog-background-color; + display: flex; + flex-direction: column; + box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), + 0 16px 24px 2px rgba(0, 0, 0, 0.14), + 0 6px 30px 5px rgba(0, 0, 0, 0.12); + overflow: hidden; + outline: 0; + + @each $direction in $directions { + @include animation-out($direction); + @include animation-in($direction); + } + + &__wrapper { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + margin: 0; + } + + &__header { + align-items: center; + color: rgb(114, 118, 123); + display: flex; + margin-bottom: 32px; + padding: $--dialog-padding-primary; + padding-bottom: 0; + & > :first-child { + flex: 1; + } + } + + &__title { + margin: 0; + flex: 1; + line-height: inherit; + font-size: 1rem; + } + + &__close-btn { + border: none; + cursor: pointer; + font-size: $--font-size-extra-large; + color: inherit; + background-color: transparent; + } + + &__body { + flex: 1; + overflow: auto; + & > * { + box-sizing: border-box; + } + } + + &.ltr, &.rtl { + height: 100%; + top: 0; + bottom: 0; + } + + &.ttb, &.btt { + width: 100%; + left: 0; + right: 0; + } + + &.ltr { + left: 0; + } + + &.rtl { + right: 0; + } + + &.ttb { + top: 0; + } + + &.btt { + bottom: 0; + } +} + +.el-drawer__container { + position: relative; + left: 0; + right: 0; + top: 0; + bottom: 0; + height: 100%; + width: 100%; +} + +.el-drawer-fade-enter-active { + animation: el-drawer-fade-in .3s; +} + +.el-drawer-fade-leave-active { + animation: el-drawer-fade-in .3s reverse; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-item.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-item.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-menu.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-menu.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown-menu.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown.scss new file mode 100644 index 0000000..6a89f0e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/dropdown.scss @@ -0,0 +1,182 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "button"; +@import "./popper"; + +@include b(dropdown) { + display: inline-block; + position: relative; + color: $--color-text-regular; + font-size: $--font-size-base; + + .el-button-group { + display: block; + .el-button { + float: none; + } + } + + & .el-dropdown__caret-button { + padding-left: 5px; + padding-right: 5px; + position: relative; + border-left: none; + + &::before { + $gap: 5px; + + content: ''; + position: absolute; + display: block; + width: 1px; + top: $gap; + bottom: $gap; + left: 0; + background: mix(white, transparent, 50%); + } + + &.el-button--default::before { + background: mix($--button-default-border-color, transparent, 50%); + } + + &:hover { + &:not(.is-disabled)::before { + top: 0; + bottom: 0; + } + } + + & .el-dropdown__icon { + padding-left: 0; + } + } + @include e(icon) { + font-size: 12px; + margin: 0 3px; + } + + .el-dropdown-selfdefine { // �摰�� + &:focus:active, &:focus:not(.focusing) { + outline-width: 0; + } + } + + [disabled] { + cursor: not-allowed; + color: $--font-color-disabled-base; + } +} + +@include b(dropdown-menu) { + position: absolute; + top: 0; + left: 0; + z-index: 10; + padding: 10px 0; + margin: 5px 0; + background-color: $--color-white; + border: 1px solid $--border-color-lighter; + border-radius: $--border-radius-base; + box-shadow: $--dropdown-menu-box-shadow; + + @include e(item) { + list-style: none; + line-height: 36px; + padding: 0 20px; + margin: 0; + font-size: $--font-size-base; + color: $--color-text-regular; + cursor: pointer; + outline: none; + &:not(.is-disabled):hover, &:focus { + background-color: $--dropdown-menuItem-hover-fill; + color: $--dropdown-menuItem-hover-color; + } + + i { + margin-right: 5px; + } + + @include m(divided) { + $divided-offset: 6px; + + position: relative; + margin-top: $divided-offset; + border-top: 1px solid $--border-color-lighter; + + &:before { + content: ''; + height: $divided-offset; + display: block; + margin: 0 -20px; + background-color: $--color-white; + } + } + + @include when(disabled) { + cursor: default; + color: $--font-color-disabled-base; + pointer-events: none; + } + } + + @include m(medium) { + padding: 6px 0; + + @include e(item) { + line-height: 30px; + padding: 0 17px; + font-size: 14px; + + &.el-dropdown-menu__item--divided { + $divided-offset: 6px; + margin-top: $divided-offset; + + &:before { + height: $divided-offset; + margin: 0 -17px; + } + } + } + } + + @include m(small) { + padding: 6px 0; + + @include e(item) { + line-height: 27px; + padding: 0 15px; + font-size: 13px; + + &.el-dropdown-menu__item--divided { + $divided-offset: 4px; + margin-top: $divided-offset; + + &:before { + height: $divided-offset; + margin: 0 -15px; + } + } + } + } + + @include m(mini) { + padding: 3px 0; + + @include e(item) { + line-height: 24px; + padding: 0 10px; + font-size: 12px; + + &.el-dropdown-menu__item--divided { + $divided-offset: 3px; + margin-top: $divided-offset; + + &:before { + height: $divided-offset; + margin: 0 -10px; + } + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/empty.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/empty.scss new file mode 100644 index 0000000..76a384f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/empty.scss @@ -0,0 +1,45 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(empty) { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + text-align: center; + box-sizing: border-box; + padding: $--empty-padding; + + @include e(image) { + width: $--empty-image-width; + + img { + user-select: none; + width: 100%; + height: 100%; + vertical-align: top; + object-fit: contain; + } + + svg { + fill: $--svg-monochrome-grey; + width: 100%; + height: 100%; + vertical-align: top; + } + } + + @include e(description) { + margin-top: $--empty-description-margin-top; + + p { + margin: 0; + font-size: $--font-size-base; + color: $--color-text-secondary; + } + } + + @include e(bottom) { + margin-top: $--empty-bottom-margin-top; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf new file mode 100644 index 0000000..91b74de --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf Binary files differ diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.woff b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.woff new file mode 100644 index 0000000..02b9a25 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/fonts/element-icons.woff Binary files differ diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/footer.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/footer.scss new file mode 100644 index 0000000..71a67b0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/footer.scss @@ -0,0 +1,8 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(footer) { + padding: $--footer-padding; + box-sizing: border-box; + flex-shrink: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form-item.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form-item.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form.scss new file mode 100644 index 0000000..2494ca0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/form.scss @@ -0,0 +1,167 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; + +@include b(form) { + @include m(label-left) { + & .el-form-item__label { + text-align: left; + } + } + @include m(label-top) { + & .el-form-item__label { + float: none; + display: inline-block; + text-align: left; + padding: 0 0 10px 0; + } + } + @include m(inline) { + & .el-form-item { + display: inline-block; + margin-right: 10px; + vertical-align: top; + } + & .el-form-item__label { + float: none; + display: inline-block; + } + & .el-form-item__content { + display: inline-block; + vertical-align: top; + } + &.el-form--label-top .el-form-item__content { + display: block; + } + } +} +@include b(form-item) { + margin-bottom: 22px; + @include utils-clearfix; + + & .el-form-item { + margin-bottom: 0; + } + + & .el-input__validateIcon { + display: none; + } + + @include m(medium) { + .el-form-item__label { + line-height: 36px; + } + .el-form-item__content { + line-height: 36px; + } + } + @include m(small) { + .el-form-item__label { + line-height: 32px; + } + .el-form-item__content { + line-height: 32px; + } + &.el-form-item { + margin-bottom: 18px; + } + .el-form-item__error { + padding-top: 2px; + } + } + @include m(mini) { + .el-form-item__label { + line-height: 28px; + } + .el-form-item__content { + line-height: 28px; + } + &.el-form-item { + margin-bottom: 18px; + } + .el-form-item__error { + padding-top: 1px; + } + } + + @include e(label-wrap) { + float: left; + .el-form-item__label { + display: inline-block; + float: none; + } + } + + @include e(label) { + text-align: right; + vertical-align: middle; + float: left; + font-size: $--form-label-font-size; + color: $--color-text-regular; + line-height: 40px; + padding: 0 12px 0 0; + box-sizing: border-box; + } + @include e(content) { + line-height: 40px; + position: relative; + font-size: 14px; + @include utils-clearfix; + + .el-input-group { + vertical-align: top; + } + } + @include e(error) { + color: $--color-danger; + font-size: 12px; + line-height: 1; + padding-top: 4px; + position: absolute; + top: 100%; + left: 0; + + @include m(inline) { + position: relative; + top: auto; + left: auto; + display: inline-block; + margin-left: 10px; + } + } + + @include when(required) { + @include pseudo('not(.is-no-asterisk)') { + & > .el-form-item__label:before, + & .el-form-item__label-wrap > .el-form-item__label:before { + content: '*'; + color: $--color-danger; + margin-right: 4px; + } + } + } + + @include when(error) { + & .el-input__inner, + & .el-textarea__inner { + &, &:focus { + border-color: $--color-danger; + } + } + & .el-input-group__append, + & .el-input-group__prepend { + & .el-input__inner { + border-color: transparent; + } + } + .el-input__validateIcon { + color: $--color-danger; + } + } + + @include m(feedback) { + .el-input__validateIcon { + display: inline-block; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/header.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/header.scss new file mode 100644 index 0000000..9e8a1d8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/header.scss @@ -0,0 +1,8 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(header) { + padding: $--header-padding; + box-sizing: border-box; + flex-shrink: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/icon.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/icon.scss new file mode 100644 index 0000000..25a4487 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/icon.scss @@ -0,0 +1,1167 @@ +@import "common/var"; + +@font-face { + font-family: 'element-icons'; + src: url('#{$--font-path}/element-icons.woff') format('woff'), /* chrome, firefox */ + url('#{$--font-path}/element-icons.ttf') format('truetype'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + font-weight: normal; + font-display: $--font-display; + font-style: normal; +} + +[class^="el-icon-"], [class*=" el-icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'element-icons' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: baseline; + display: inline-block; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.el-icon-ice-cream-round:before { + content: "\e6a0"; +} + +.el-icon-ice-cream-square:before { + content: "\e6a3"; +} + +.el-icon-lollipop:before { + content: "\e6a4"; +} + +.el-icon-potato-strips:before { + content: "\e6a5"; +} + +.el-icon-milk-tea:before { + content: "\e6a6"; +} + +.el-icon-ice-drink:before { + content: "\e6a7"; +} + +.el-icon-ice-tea:before { + content: "\e6a9"; +} + +.el-icon-coffee:before { + content: "\e6aa"; +} + +.el-icon-orange:before { + content: "\e6ab"; +} + +.el-icon-pear:before { + content: "\e6ac"; +} + +.el-icon-apple:before { + content: "\e6ad"; +} + +.el-icon-cherry:before { + content: "\e6ae"; +} + +.el-icon-watermelon:before { + content: "\e6af"; +} + +.el-icon-grape:before { + content: "\e6b0"; +} + +.el-icon-refrigerator:before { + content: "\e6b1"; +} + +.el-icon-goblet-square-full:before { + content: "\e6b2"; +} + +.el-icon-goblet-square:before { + content: "\e6b3"; +} + +.el-icon-goblet-full:before { + content: "\e6b4"; +} + +.el-icon-goblet:before { + content: "\e6b5"; +} + +.el-icon-cold-drink:before { + content: "\e6b6"; +} + +.el-icon-coffee-cup:before { + content: "\e6b8"; +} + +.el-icon-water-cup:before { + content: "\e6b9"; +} + +.el-icon-hot-water:before { + content: "\e6ba"; +} + +.el-icon-ice-cream:before { + content: "\e6bb"; +} + +.el-icon-dessert:before { + content: "\e6bc"; +} + +.el-icon-sugar:before { + content: "\e6bd"; +} + +.el-icon-tableware:before { + content: "\e6be"; +} + +.el-icon-burger:before { + content: "\e6bf"; +} + +.el-icon-knife-fork:before { + content: "\e6c1"; +} + +.el-icon-fork-spoon:before { + content: "\e6c2"; +} + +.el-icon-chicken:before { + content: "\e6c3"; +} + +.el-icon-food:before { + content: "\e6c4"; +} + +.el-icon-dish-1:before { + content: "\e6c5"; +} + +.el-icon-dish:before { + content: "\e6c6"; +} + +.el-icon-moon-night:before { + content: "\e6ee"; +} + +.el-icon-moon:before { + content: "\e6f0"; +} + +.el-icon-cloudy-and-sunny:before { + content: "\e6f1"; +} + +.el-icon-partly-cloudy:before { + content: "\e6f2"; +} + +.el-icon-cloudy:before { + content: "\e6f3"; +} + +.el-icon-sunny:before { + content: "\e6f6"; +} + +.el-icon-sunset:before { + content: "\e6f7"; +} + +.el-icon-sunrise-1:before { + content: "\e6f8"; +} + +.el-icon-sunrise:before { + content: "\e6f9"; +} + +.el-icon-heavy-rain:before { + content: "\e6fa"; +} + +.el-icon-lightning:before { + content: "\e6fb"; +} + +.el-icon-light-rain:before { + content: "\e6fc"; +} + +.el-icon-wind-power:before { + content: "\e6fd"; +} + +.el-icon-baseball:before { + content: "\e712"; +} + +.el-icon-soccer:before { + content: "\e713"; +} + +.el-icon-football:before { + content: "\e715"; +} + +.el-icon-basketball:before { + content: "\e716"; +} + +.el-icon-ship:before { + content: "\e73f"; +} + +.el-icon-truck:before { + content: "\e740"; +} + +.el-icon-bicycle:before { + content: "\e741"; +} + +.el-icon-mobile-phone:before { + content: "\e6d3"; +} + +.el-icon-service:before { + content: "\e6d4"; +} + +.el-icon-key:before { + content: "\e6e2"; +} + +.el-icon-unlock:before { + content: "\e6e4"; +} + +.el-icon-lock:before { + content: "\e6e5"; +} + +.el-icon-watch:before { + content: "\e6fe"; +} + +.el-icon-watch-1:before { + content: "\e6ff"; +} + +.el-icon-timer:before { + content: "\e702"; +} + +.el-icon-alarm-clock:before { + content: "\e703"; +} + +.el-icon-map-location:before { + content: "\e704"; +} + +.el-icon-delete-location:before { + content: "\e705"; +} + +.el-icon-add-location:before { + content: "\e706"; +} + +.el-icon-location-information:before { + content: "\e707"; +} + +.el-icon-location-outline:before { + content: "\e708"; +} + +.el-icon-location:before { + content: "\e79e"; +} + +.el-icon-place:before { + content: "\e709"; +} + +.el-icon-discover:before { + content: "\e70a"; +} + +.el-icon-first-aid-kit:before { + content: "\e70b"; +} + +.el-icon-trophy-1:before { + content: "\e70c"; +} + +.el-icon-trophy:before { + content: "\e70d"; +} + +.el-icon-medal:before { + content: "\e70e"; +} + +.el-icon-medal-1:before { + content: "\e70f"; +} + +.el-icon-stopwatch:before { + content: "\e710"; +} + +.el-icon-mic:before { + content: "\e711"; +} + +.el-icon-copy-document:before { + content: "\e718"; +} + +.el-icon-full-screen:before { + content: "\e719"; +} + +.el-icon-switch-button:before { + content: "\e71b"; +} + +.el-icon-aim:before { + content: "\e71c"; +} + +.el-icon-crop:before { + content: "\e71d"; +} + +.el-icon-odometer:before { + content: "\e71e"; +} + +.el-icon-time:before { + content: "\e71f"; +} + +.el-icon-bangzhu:before { + content: "\e724"; +} + +.el-icon-close-notification:before { + content: "\e726"; +} + +.el-icon-microphone:before { + content: "\e727"; +} + +.el-icon-turn-off-microphone:before { + content: "\e728"; +} + +.el-icon-position:before { + content: "\e729"; +} + +.el-icon-postcard:before { + content: "\e72a"; +} + +.el-icon-message:before { + content: "\e72b"; +} + +.el-icon-chat-line-square:before { + content: "\e72d"; +} + +.el-icon-chat-dot-square:before { + content: "\e72e"; +} + +.el-icon-chat-dot-round:before { + content: "\e72f"; +} + +.el-icon-chat-square:before { + content: "\e730"; +} + +.el-icon-chat-line-round:before { + content: "\e731"; +} + +.el-icon-chat-round:before { + content: "\e732"; +} + +.el-icon-set-up:before { + content: "\e733"; +} + +.el-icon-turn-off:before { + content: "\e734"; +} + +.el-icon-open:before { + content: "\e735"; +} + +.el-icon-connection:before { + content: "\e736"; +} + +.el-icon-link:before { + content: "\e737"; +} + +.el-icon-cpu:before { + content: "\e738"; +} + +.el-icon-thumb:before { + content: "\e739"; +} + +.el-icon-female:before { + content: "\e73a"; +} + +.el-icon-male:before { + content: "\e73b"; +} + +.el-icon-guide:before { + content: "\e73c"; +} + +.el-icon-news:before { + content: "\e73e"; +} + +.el-icon-price-tag:before { + content: "\e744"; +} + +.el-icon-discount:before { + content: "\e745"; +} + +.el-icon-wallet:before { + content: "\e747"; +} + +.el-icon-coin:before { + content: "\e748"; +} + +.el-icon-money:before { + content: "\e749"; +} + +.el-icon-bank-card:before { + content: "\e74a"; +} + +.el-icon-box:before { + content: "\e74b"; +} + +.el-icon-present:before { + content: "\e74c"; +} + +.el-icon-sell:before { + content: "\e6d5"; +} + +.el-icon-sold-out:before { + content: "\e6d6"; +} + +.el-icon-shopping-bag-2:before { + content: "\e74d"; +} + +.el-icon-shopping-bag-1:before { + content: "\e74e"; +} + +.el-icon-shopping-cart-2:before { + content: "\e74f"; +} + +.el-icon-shopping-cart-1:before { + content: "\e750"; +} + +.el-icon-shopping-cart-full:before { + content: "\e751"; +} + +.el-icon-smoking:before { + content: "\e752"; +} + +.el-icon-no-smoking:before { + content: "\e753"; +} + +.el-icon-house:before { + content: "\e754"; +} + +.el-icon-table-lamp:before { + content: "\e755"; +} + +.el-icon-school:before { + content: "\e756"; +} + +.el-icon-office-building:before { + content: "\e757"; +} + +.el-icon-toilet-paper:before { + content: "\e758"; +} + +.el-icon-notebook-2:before { + content: "\e759"; +} + +.el-icon-notebook-1:before { + content: "\e75a"; +} + +.el-icon-files:before { + content: "\e75b"; +} + +.el-icon-collection:before { + content: "\e75c"; +} + +.el-icon-receiving:before { + content: "\e75d"; +} + +.el-icon-suitcase-1:before { + content: "\e760"; +} + +.el-icon-suitcase:before { + content: "\e761"; +} + +.el-icon-film:before { + content: "\e763"; +} + +.el-icon-collection-tag:before { + content: "\e765"; +} + +.el-icon-data-analysis:before { + content: "\e766"; +} + +.el-icon-pie-chart:before { + content: "\e767"; +} + +.el-icon-data-board:before { + content: "\e768"; +} + +.el-icon-data-line:before { + content: "\e76d"; +} + +.el-icon-reading:before { + content: "\e769"; +} + +.el-icon-magic-stick:before { + content: "\e76a"; +} + +.el-icon-coordinate:before { + content: "\e76b"; +} + +.el-icon-mouse:before { + content: "\e76c"; +} + +.el-icon-brush:before { + content: "\e76e"; +} + +.el-icon-headset:before { + content: "\e76f"; +} + +.el-icon-umbrella:before { + content: "\e770"; +} + +.el-icon-scissors:before { + content: "\e771"; +} + +.el-icon-mobile:before { + content: "\e773"; +} + +.el-icon-attract:before { + content: "\e774"; +} + +.el-icon-monitor:before { + content: "\e775"; +} + +.el-icon-search:before { + content: "\e778"; +} + +.el-icon-takeaway-box:before { + content: "\e77a"; +} + +.el-icon-paperclip:before { + content: "\e77d"; +} + +.el-icon-printer:before { + content: "\e77e"; +} + +.el-icon-document-add:before { + content: "\e782"; +} + +.el-icon-document:before { + content: "\e785"; +} + +.el-icon-document-checked:before { + content: "\e786"; +} + +.el-icon-document-copy:before { + content: "\e787"; +} + +.el-icon-document-delete:before { + content: "\e788"; +} + +.el-icon-document-remove:before { + content: "\e789"; +} + +.el-icon-tickets:before { + content: "\e78b"; +} + +.el-icon-folder-checked:before { + content: "\e77f"; +} + +.el-icon-folder-delete:before { + content: "\e780"; +} + +.el-icon-folder-remove:before { + content: "\e781"; +} + +.el-icon-folder-add:before { + content: "\e783"; +} + +.el-icon-folder-opened:before { + content: "\e784"; +} + +.el-icon-folder:before { + content: "\e78a"; +} + +.el-icon-edit-outline:before { + content: "\e764"; +} + +.el-icon-edit:before { + content: "\e78c"; +} + +.el-icon-date:before { + content: "\e78e"; +} + +.el-icon-c-scale-to-original:before { + content: "\e7c6"; +} + +.el-icon-view:before { + content: "\e6ce"; +} + +.el-icon-loading:before { + content: "\e6cf"; +} + +.el-icon-rank:before { + content: "\e6d1"; +} + +.el-icon-sort-down:before { + content: "\e7c4"; +} + +.el-icon-sort-up:before { + content: "\e7c5"; +} + +.el-icon-sort:before { + content: "\e6d2"; +} + +.el-icon-finished:before { + content: "\e6cd"; +} + +.el-icon-refresh-left:before { + content: "\e6c7"; +} + +.el-icon-refresh-right:before { + content: "\e6c8"; +} + +.el-icon-refresh:before { + content: "\e6d0"; +} + +.el-icon-video-play:before { + content: "\e7c0"; +} + +.el-icon-video-pause:before { + content: "\e7c1"; +} + +.el-icon-d-arrow-right:before { + content: "\e6dc"; +} + +.el-icon-d-arrow-left:before { + content: "\e6dd"; +} + +.el-icon-arrow-up:before { + content: "\e6e1"; +} + +.el-icon-arrow-down:before { + content: "\e6df"; +} + +.el-icon-arrow-right:before { + content: "\e6e0"; +} + +.el-icon-arrow-left:before { + content: "\e6de"; +} + +.el-icon-top-right:before { + content: "\e6e7"; +} + +.el-icon-top-left:before { + content: "\e6e8"; +} + +.el-icon-top:before { + content: "\e6e6"; +} + +.el-icon-bottom:before { + content: "\e6eb"; +} + +.el-icon-right:before { + content: "\e6e9"; +} + +.el-icon-back:before { + content: "\e6ea"; +} + +.el-icon-bottom-right:before { + content: "\e6ec"; +} + +.el-icon-bottom-left:before { + content: "\e6ed"; +} + +.el-icon-caret-top:before { + content: "\e78f"; +} + +.el-icon-caret-bottom:before { + content: "\e790"; +} + +.el-icon-caret-right:before { + content: "\e791"; +} + +.el-icon-caret-left:before { + content: "\e792"; +} + +.el-icon-d-caret:before { + content: "\e79a"; +} + +.el-icon-share:before { + content: "\e793"; +} + +.el-icon-menu:before { + content: "\e798"; +} + +.el-icon-s-grid:before { + content: "\e7a6"; +} + +.el-icon-s-check:before { + content: "\e7a7"; +} + +.el-icon-s-data:before { + content: "\e7a8"; +} + +.el-icon-s-opportunity:before { + content: "\e7aa"; +} + +.el-icon-s-custom:before { + content: "\e7ab"; +} + +.el-icon-s-claim:before { + content: "\e7ad"; +} + +.el-icon-s-finance:before { + content: "\e7ae"; +} + +.el-icon-s-comment:before { + content: "\e7af"; +} + +.el-icon-s-flag:before { + content: "\e7b0"; +} + +.el-icon-s-marketing:before { + content: "\e7b1"; +} + +.el-icon-s-shop:before { + content: "\e7b4"; +} + +.el-icon-s-open:before { + content: "\e7b5"; +} + +.el-icon-s-management:before { + content: "\e7b6"; +} + +.el-icon-s-ticket:before { + content: "\e7b7"; +} + +.el-icon-s-release:before { + content: "\e7b8"; +} + +.el-icon-s-home:before { + content: "\e7b9"; +} + +.el-icon-s-promotion:before { + content: "\e7ba"; +} + +.el-icon-s-operation:before { + content: "\e7bb"; +} + +.el-icon-s-unfold:before { + content: "\e7bc"; +} + +.el-icon-s-fold:before { + content: "\e7a9"; +} + +.el-icon-s-platform:before { + content: "\e7bd"; +} + +.el-icon-s-order:before { + content: "\e7be"; +} + +.el-icon-s-cooperation:before { + content: "\e7bf"; +} + +.el-icon-bell:before { + content: "\e725"; +} + +.el-icon-message-solid:before { + content: "\e799"; +} + +.el-icon-video-camera:before { + content: "\e772"; +} + +.el-icon-video-camera-solid:before { + content: "\e796"; +} + +.el-icon-camera:before { + content: "\e779"; +} + +.el-icon-camera-solid:before { + content: "\e79b"; +} + +.el-icon-download:before { + content: "\e77c"; +} + +.el-icon-upload2:before { + content: "\e77b"; +} + +.el-icon-upload:before { + content: "\e7c3"; +} + +.el-icon-picture-outline-round:before { + content: "\e75f"; +} + +.el-icon-picture-outline:before { + content: "\e75e"; +} + +.el-icon-picture:before { + content: "\e79f"; +} + +.el-icon-close:before { + content: "\e6db"; +} + +.el-icon-check:before { + content: "\e6da"; +} + +.el-icon-plus:before { + content: "\e6d9"; +} + +.el-icon-minus:before { + content: "\e6d8"; +} + +.el-icon-help:before { + content: "\e73d"; +} + +.el-icon-s-help:before { + content: "\e7b3"; +} + +.el-icon-circle-close:before { + content: "\e78d"; +} + +.el-icon-circle-check:before { + content: "\e720"; +} + +.el-icon-circle-plus-outline:before { + content: "\e723"; +} + +.el-icon-remove-outline:before { + content: "\e722"; +} + +.el-icon-zoom-out:before { + content: "\e776"; +} + +.el-icon-zoom-in:before { + content: "\e777"; +} + +.el-icon-error:before { + content: "\e79d"; +} + +.el-icon-success:before { + content: "\e79c"; +} + +.el-icon-circle-plus:before { + content: "\e7a0"; +} + +.el-icon-remove:before { + content: "\e7a2"; +} + +.el-icon-info:before { + content: "\e7a1"; +} + +.el-icon-question:before { + content: "\e7a4"; +} + +.el-icon-warning-outline:before { + content: "\e6c9"; +} + +.el-icon-warning:before { + content: "\e7a3"; +} + +.el-icon-goods:before { + content: "\e7c2"; +} + +.el-icon-s-goods:before { + content: "\e7b2"; +} + +.el-icon-star-off:before { + content: "\e717"; +} + +.el-icon-star-on:before { + content: "\e797"; +} + +.el-icon-more-outline:before { + content: "\e6cc"; +} + +.el-icon-more:before { + content: "\e794"; +} + +.el-icon-phone-outline:before { + content: "\e6cb"; +} + +.el-icon-phone:before { + content: "\e795"; +} + +.el-icon-user:before { + content: "\e6e3"; +} + +.el-icon-user-solid:before { + content: "\e7a5"; +} + +.el-icon-setting:before { + content: "\e6ca"; +} + +.el-icon-s-tools:before { + content: "\e7ac"; +} + +.el-icon-delete:before { + content: "\e6d7"; +} + +.el-icon-delete-solid:before { + content: "\e7c9"; +} + +.el-icon-eleme:before { + content: "\e7c7"; +} + +.el-icon-platform-eleme:before { + content: "\e7ca"; +} + +.el-icon-loading { + animation: rotating 2s linear infinite; +} + +.el-icon--right { + margin-left: 5px; +} +.el-icon--left { + margin-right: 5px; +} + +@keyframes rotating { + 0% { + transform: rotateZ(0deg); + } + 100% { + transform: rotateZ(360deg); + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/image.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/image.scss new file mode 100644 index 0000000..39358e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/image.scss @@ -0,0 +1,179 @@ +@import "mixins/mixins"; +@import "common/var"; + +%size { + width: 100%; + height: 100%; +} + +@include b(image) { + position: relative; + display: inline-block; + overflow: hidden; + + @include e(inner) { + @extend %size; + vertical-align: top; + + @include m(center) { + position: relative; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: block; + } + } + + @include e(placeholder) { + @extend %size; + background: $--background-color-base; + } + + @include e(error) { + @extend %size; + display: flex; + justify-content: center; + align-items: center; + font-size: 14px; + background: $--background-color-base; + color: $--color-text-placeholder; + vertical-align: middle; + } + + @include e(preview) { + cursor: pointer; + } +} + + +@include b(image-viewer) { + + + @include e(wrapper) { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + @include e(btn) { + position: absolute; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + opacity: .8; + cursor: pointer; + box-sizing: border-box; + user-select: none; + } + + @include e(close) { + top: 40px; + right: 40px; + width: 40px; + height: 40px; + font-size: 24px; + color: #fff; + background-color: #606266; + } + + @include e(canvas) { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + @include e(actions) { + left: 50%; + bottom: 30px; + transform: translateX(-50%); + width: 282px; + height: 44px; + padding: 0 23px; + background-color: #606266; + border-color: #fff; + border-radius: 22px; + + @include e(actions__inner) { + width: 100%; + height: 100%; + text-align: justify; + cursor: default; + font-size: 23px; + color: #fff; + display: flex; + align-items: center; + justify-content: space-around; + } + } + + @include e(prev){ + top: 50%; + transform: translateY(-50%); + width: 44px; + height: 44px; + font-size: 24px; + color: #fff; + background-color: #606266; + border-color: #fff; + left: 40px; + } + + @include e(next){ + top: 50%; + transform: translateY(-50%); + width: 44px; + height: 44px; + font-size: 24px; + color: #fff; + background-color: #606266; + border-color: #fff; + right: 40px; + text-indent: 2px; + } + + @include e(mask) { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + opacity: .5; + background: #000; + } +} + +.viewer-fade-enter-active { + animation: viewer-fade-in .3s; +} + +.viewer-fade-leave-active { + animation: viewer-fade-out .3s; +} + +@keyframes viewer-fade-in { + 0% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } + 100% { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes viewer-fade-out { + 0% { + transform: translate3d(0, 0, 0); + opacity: 1; + } + 100% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/index.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/index.scss new file mode 100644 index 0000000..00183c6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/index.scss @@ -0,0 +1,87 @@ +@import "./base.scss"; +@import "./pagination.scss"; +@import "./dialog.scss"; +@import "./autocomplete.scss"; +@import "./dropdown.scss"; +@import "./dropdown-menu.scss"; +@import "./dropdown-item.scss"; +@import "./menu.scss"; +@import "./submenu.scss"; +@import "./menu-item.scss"; +@import "./menu-item-group.scss"; +@import "./input.scss"; +@import "./input-number.scss"; +@import "./radio.scss"; +@import "./radio-group.scss"; +@import "./radio-button.scss"; +@import "./checkbox.scss"; +@import "./checkbox-button.scss"; +@import "./checkbox-group.scss"; +@import "./switch.scss"; +@import "./select.scss"; +@import "./button.scss"; +@import "./button-group.scss"; +@import "./table.scss"; +@import "./table-column.scss"; +@import "./date-picker.scss"; +@import "./time-select.scss"; +@import "./time-picker.scss"; +@import "./popover.scss"; +@import "./tooltip.scss"; +@import "./message-box.scss"; +@import "./breadcrumb.scss"; +@import "./breadcrumb-item.scss"; +@import "./form.scss"; +@import "./form-item.scss"; +@import "./tabs.scss"; +@import "./tab-pane.scss"; +@import "./tag.scss"; +@import "./tree.scss"; +@import "./alert.scss"; +@import "./notification.scss"; +@import "./slider.scss"; +@import "./loading.scss"; +@import "./row.scss"; +@import "./col.scss"; +@import "./upload.scss"; +@import "./progress.scss"; +@import "./spinner.scss"; +@import "./message.scss"; +@import "./badge.scss"; +@import "./card.scss"; +@import "./rate.scss"; +@import "./steps.scss"; +@import "./step.scss"; +@import "./carousel.scss"; +@import "./scrollbar.scss"; +@import "./carousel-item.scss"; +@import "./collapse.scss"; +@import "./collapse-item.scss"; +@import "./cascader.scss"; +@import "./color-picker.scss"; +@import "./transfer.scss"; +@import "./container.scss"; +@import "./header.scss"; +@import "./aside.scss"; +@import "./main.scss"; +@import "./footer.scss"; +@import "./timeline.scss"; +@import "./timeline-item.scss"; +@import "./link.scss"; +@import "./divider.scss"; +@import "./image.scss"; +@import "./calendar.scss"; +@import "./backtop.scss"; +@import "./infinite-scroll.scss"; +@import "./page-header.scss"; +@import "./cascader-panel.scss"; +@import "./avatar.scss"; +@import "./drawer.scss"; +@import "./statistic.scss"; +@import "./popconfirm.scss"; +@import "./skeleton.scss"; +@import "./skeleton-item.scss"; +@import "./empty.scss"; +@import "./descriptions.scss"; +@import "./descriptions-item.scss"; +@import "./result.scss"; diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infinite-scroll.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infinite-scroll.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infinite-scroll.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infiniteScroll.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infiniteScroll.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/infiniteScroll.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input-number.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input-number.scss new file mode 100644 index 0000000..4e5109c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input-number.scss @@ -0,0 +1,180 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "input"; + +@include b(input-number) { + position: relative; + display: inline-block; + width: 180px; + line-height: #{$--input-height - 2}; + + .el-input { + display: block; + + &__inner { + -webkit-appearance: none; + padding-left: #{$--input-height + 10}; + padding-right: #{$--input-height + 10}; + text-align: center; + } + } + + @include e((increase, decrease)) { + position: absolute; + z-index: 1; + top: 1px; + width: $--input-height; + height: auto; + text-align: center; + background: $--background-color-base; + color: $--color-text-regular; + cursor: pointer; + font-size: 13px; + + &:hover { + color: $--color-primary; + + &:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { + border-color: $--input-focus-border; + } + } + + &.is-disabled { + color: $--disabled-color-base; + cursor: not-allowed; + } + } + + @include e(increase) { + right: 1px; + border-radius: 0 $--border-radius-base $--border-radius-base 0; + border-left: $--border-base; + } + + @include e(decrease) { + left: 1px; + border-radius: $--border-radius-base 0 0 $--border-radius-base; + border-right: $--border-base; + } + + @include when(disabled) { + @include e((increase, decrease)) { + border-color: $--disabled-border-base; + color: $--disabled-border-base; + + &:hover { + color: $--disabled-border-base; + cursor: not-allowed; + } + } + } + + @include m(medium) { + width: 200px; + line-height: #{$--input-medium-height - 2}; + + @include e((increase, decrease)) { + width: $--input-medium-height; + font-size: $--input-medium-font-size; + } + + .el-input__inner { + padding-left: #{$--input-medium-height + 7}; + padding-right: #{$--input-medium-height + 7}; + } + } + + @include m(small) { + width: 130px; + line-height: #{$--input-small-height - 2}; + + @include e((increase, decrease)) { + width: $--input-small-height; + font-size: $--input-small-font-size; + + [class*=el-icon] { + transform: scale(.9); + } + } + + .el-input__inner { + padding-left: #{$--input-small-height + 7}; + padding-right: #{$--input-small-height + 7}; + } + } + + @include m(mini) { + width: 130px; + line-height: #{$--input-mini-height - 2}; + + @include e((increase, decrease)) { + width: $--input-mini-height; + font-size: $--input-mini-font-size; + + [class*=el-icon] { + transform: scale(.8); + } + } + + .el-input__inner { + padding-left: #{$--input-mini-height + 7}; + padding-right: #{$--input-mini-height + 7}; + } + } + + @include when(without-controls) { + .el-input__inner { + padding-left: 15px; + padding-right: 15px; + } + } + + @include when(controls-right) { + .el-input__inner { + padding-left: 15px; + padding-right: #{$--input-height + 10}; + } + + @include e((increase, decrease)) { + height: auto; + line-height: #{($--input-height - 2) / 2}; + + [class*=el-icon] { + transform: scale(.8); + } + } + + @include e(increase) { + border-radius: 0 $--border-radius-base 0 0; + border-bottom: $--border-base; + } + + @include e(decrease) { + right: 1px; + bottom: 1px; + top: auto; + left: auto; + border-right: none; + border-left: $--border-base; + border-radius: 0 0 $--border-radius-base 0; + } + + &[class*=medium] { + [class*=increase], [class*=decrease] { + line-height: #{($--input-medium-height - 2) / 2}; + } + } + + &[class*=small] { + [class*=increase], [class*=decrease] { + line-height: #{($--input-small-height - 2) / 2}; + } + } + + &[class*=mini] { + [class*=increase], [class*=decrease] { + line-height: #{($--input-mini-height - 2) / 2}; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input.scss new file mode 100644 index 0000000..99641eb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/input.scss @@ -0,0 +1,360 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(textarea) { + position: relative; + display: inline-block; + width: 100%; + vertical-align: bottom; + font-size: $--font-size-base; + + @include e(inner) { + display: block; + resize: vertical; + padding: 5px 15px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: inherit; + color: $--input-font-color; + background-color: $--input-background-color; + background-image: none; + border: $--input-border; + border-radius: $--input-border-radius; + transition: $--border-transition-base; + + &::placeholder { + color: $--input-placeholder-color; + } + + &:hover { + border-color: $--input-hover-border; + } + + &:focus { + outline: none; + border-color: $--input-focus-border; + } + } + + & .el-input__count { + color: $--color-info; + background: $--color-white; + position: absolute; + font-size: 12px; + bottom: 5px; + right: 10px; + } + + @include when(disabled) { + .el-textarea__inner { + background-color: $--input-disabled-fill; + border-color: $--input-disabled-border; + color: $--input-disabled-color; + cursor: not-allowed; + + &::placeholder { + color: $--input-disabled-placeholder-color; + } + } + } + + @include when(exceed) { + .el-textarea__inner { + border-color: $--color-danger; + } + + .el-input__count { + color: $--color-danger; + } + } +} + +@include b(input) { + position: relative; + font-size: $--font-size-base; + display: inline-block; + width: 100%; + @include scroll-bar; + + & .el-input__clear { + color: $--input-icon-color; + font-size: $--input-font-size; + cursor: pointer; + transition: $--color-transition-base; + + &:hover { + color: $--input-clear-hover-color; + } + } + + & .el-input__count { + height: 100%; + display: inline-flex; + align-items: center; + color: $--color-info; + font-size: 12px; + + .el-input__count-inner { + background: $--color-white; + line-height: initial; + display: inline-block; + padding: 0 5px; + } + } + + @include e(inner) { + -webkit-appearance: none; + background-color: $--input-background-color; + background-image: none; + border-radius: $--input-border-radius; + border: $--input-border; + box-sizing: border-box; + color: $--input-font-color; + display: inline-block; + font-size: inherit; + height: $--input-height; + line-height: $--input-height; + outline: none; + padding: 0 15px; + transition: $--border-transition-base; + width: 100%; + + &::-ms-reveal { + display: none; + } + + &::placeholder { + color: $--input-placeholder-color; + } + + &:hover { + border-color: $--input-hover-border; + } + + &:focus { + outline: none; + border-color: $--input-focus-border; + } + } + + @include e(suffix) { + position: absolute; + height: 100%; + right: 5px; + top: 0; + text-align: center; + color: $--input-icon-color; + transition: all .3s; + pointer-events: none; + } + + @include e(suffix-inner) { + pointer-events: all; + } + + @include e(prefix) { + position: absolute; + height: 100%; + left: 5px; + top: 0; + text-align: center; + color: $--input-icon-color; + transition: all .3s; + } + + @include e(icon) { + height: 100%; + width: 25px; + text-align: center; + transition: all .3s; + line-height: $--input-height; + + &:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; + } + } + + @include e(validateIcon) { + pointer-events: none; + } + + @include when(active) { + .el-input__inner { + outline: none; + border-color: $--input-focus-border; + } + } + + @include when(disabled) { + .el-input__inner { + background-color: $--input-disabled-fill; + border-color: $--input-disabled-border; + color: $--input-disabled-color; + cursor: not-allowed; + + &::placeholder { + color: $--input-disabled-placeholder-color; + } + } + + .el-input__icon { + cursor: not-allowed; + } + } + + @include when(exceed) { + .el-input__inner { + border-color: $--color-danger; + } + + .el-input__suffix { + .el-input__count { + color: $--color-danger; + } + } + } + + @include m(suffix) { + .el-input__inner { + padding-right: 30px; + } + } + + @include m(prefix) { + .el-input__inner { + padding-left: 30px; + } + } + + @include m(medium) { + font-size: $--input-medium-font-size; + + @include e(inner) { + height: $--input-medium-height; + line-height: $--input-medium-height; + } + + .el-input__icon { + line-height: $--input-medium-height; + } + } + @include m(small) { + font-size: $--input-small-font-size; + + @include e(inner) { + height: $--input-small-height; + line-height: $--input-small-height; + } + + .el-input__icon { + line-height: $--input-small-height; + } + } + @include m(mini) { + font-size: $--input-mini-font-size; + + @include e(inner) { + height: $--input-mini-height; + line-height: $--input-mini-height; + } + + .el-input__icon { + line-height: $--input-mini-height; + } + } +} + +@include b(input-group) { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; + border-spacing:0; + + > .el-input__inner { + vertical-align: middle; + display: table-cell; + } + + @include e((append, prepend)) { + background-color: $--background-color-base; + color: $--color-info; + vertical-align: middle; + display: table-cell; + position: relative; + border: $--border-base; + border-radius: $--input-border-radius; + padding: 0 20px; + width: 1px; + white-space: nowrap; + + &:focus { + outline: none; + } + + .el-select, + .el-button { + display: inline-block; + margin: -10px -20px; + } + + button.el-button, + div.el-select .el-input__inner, + div.el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; + } + + .el-button, + .el-input { + font-size: inherit; + } + } + + @include e(prepend) { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + @include e(append) { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + @include m(prepend) { + .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .el-select .el-input.is-focus .el-input__inner { + border-color: transparent; + } + } + + @include m(append) { + .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .el-select .el-input.is-focus .el-input__inner { + border-color: transparent; + } + } +} + +/** disalbe default clear on IE */ +.el-input__inner::-ms-clear { + display: none; + width: 0; + height: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/link.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/link.scss new file mode 100644 index 0000000..704379f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/link.scss @@ -0,0 +1,81 @@ +@import "mixins/mixins"; +@import "common/var"; + +$typeMap: ( + primary: $--link-primary-font-color, + danger: $--link-danger-font-color, + success: $--link-success-font-color, + warning: $--link-warning-font-color, + info: $--link-info-font-color); + +@include b(link) { + display: inline-flex; + flex-direction: row; + align-items: center; + justify-content: center; + vertical-align: middle; + position: relative; + text-decoration: none; + outline: none; + cursor: pointer; + padding: 0; + font-size: $--link-font-size; + font-weight: $--link-font-weight; + + @include when(underline) { + &:hover:after { + content: ""; + position: absolute; + left: 0; + right: 0; + height: 0; + bottom: 0; + border-bottom: 1px solid $--link-default-active-color + } + } + + @include when(disabled) { + cursor: not-allowed; + } + + & [class*="el-icon-"] { + & + span { + margin-left: 5px; + } + } + + + &.el-link--default { + color: $--link-default-font-color; + &:hover { + color: $--link-default-active-color + } + &:after { + border-color: $--link-default-active-color + } + @include when(disabled) { + color: $--link-disabled-font-color + } + } + + @each $type, $primaryColor in $typeMap { + &.el-link--#{$type} { + color: $primaryColor; + &:hover { + color: mix($primaryColor, $--color-white, 80%) + } + &:after { + border-color: $primaryColor + } + @include when(disabled) { + color: mix($primaryColor, $--color-white, 50%) + } + @include when(underline) { + &:hover:after { + border-color: $primaryColor + } + } + } + } + +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/loading.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/loading.scss new file mode 100644 index 0000000..d63e512 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/loading.scss @@ -0,0 +1,96 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(loading-parent) { + @include m(relative) { + position: relative !important; + } + + @include m(hidden) { + overflow: hidden !important; + } +} + +@include b(loading-mask) { + position: absolute; + z-index: 2000; + background-color: rgba(255, 255, 255, .9); + margin: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + transition: opacity 0.3s; + + @include when(fullscreen) { + position: fixed; + + .el-loading-spinner { + margin-top: #{- $--loading-fullscreen-spinner-size / 2}; + + .circular { + height: $--loading-fullscreen-spinner-size; + width: $--loading-fullscreen-spinner-size; + } + } + } +} + +@include b(loading-spinner) { + top: 50%; + margin-top: #{- $--loading-spinner-size / 2}; + width: 100%; + text-align: center; + position: absolute; + + .el-loading-text { + color: $--color-primary; + margin: 3px 0; + font-size: 14px; + } + + .circular { + height: $--loading-spinner-size; + width: $--loading-spinner-size; + animation: loading-rotate 2s linear infinite; + } + + .path { + animation: loading-dash 1.5s ease-in-out infinite; + stroke-dasharray: 90, 150; + stroke-dashoffset: 0; + stroke-width: 2; + stroke: $--color-primary; + stroke-linecap: round; + } + + i { + color: $--color-primary; + } +} + +.el-loading-fade-enter, +.el-loading-fade-leave-active { + opacity: 0; +} + +@keyframes loading-rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes loading-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -40px; + } + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -120px; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/main.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/main.scss new file mode 100644 index 0000000..3765af5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/main.scss @@ -0,0 +1,12 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(main) { + // IE11 supports the <main> element partially https://caniuse.com/#search=main + display: block; + flex: 1; + flex-basis: auto; + overflow: auto; + box-sizing: border-box; + padding: $--main-padding; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item-group.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item-group.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item-group.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu-item.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu.scss new file mode 100644 index 0000000..5b8c38e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/menu.scss @@ -0,0 +1,289 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "common/transition"; + +@mixin menu-item { + height: 56px; + line-height: 56px; + font-size: $--menu-item-font-size; + color: $--menu-item-font-color; + padding: 0 20px; + list-style: none; + cursor: pointer; + position: relative; + transition: border-color .3s, background-color .3s, color .3s; + box-sizing: border-box; + white-space: nowrap; + + * { + vertical-align: middle; + } + + i { + color: $--color-text-secondary; + } + + &:hover, + &:focus { + outline: none; + background-color: $--menu-item-hover-fill; + } + + @include when(disabled) { + opacity: 0.25; + cursor: not-allowed; + background: none !important; + } +} + +@include b(menu) { + border-right: solid 1px #e6e6e6; + list-style: none; + position: relative; + margin: 0; + padding-left: 0; + background-color: $--menu-background-color; + @include utils-clearfix; + &.el-menu--horizontal { + border-bottom: solid 1px #e6e6e6; + } + + @include m(horizontal) { + border-right: none; + & > .el-menu-item { + float: left; + height: 60px; + line-height: 60px; + margin: 0; + border-bottom: 2px solid transparent; + color: $--color-text-secondary; + + a, + a:hover { + color: inherit; + } + + &:not(.is-disabled):hover, + &:not(.is-disabled):focus{ + background-color: #fff; + } + } + & > .el-submenu { + float: left; + + &:focus, + &:hover { + outline: none; + .el-submenu__title { + color: $--color-text-primary; + } + } + + &.is-active { + .el-submenu__title { + border-bottom: 2px solid $--color-primary; + color: $--color-text-primary; + } + } + + & .el-submenu__title { + height: 60px; + line-height: 60px; + border-bottom: 2px solid transparent; + color: $--color-text-secondary; + + &:hover { + background-color: #fff; + } + } + & .el-submenu__icon-arrow { + position: static; + vertical-align: middle; + margin-left: 8px; + margin-top: -3px; + } + } + & .el-menu { + & .el-menu-item, + & .el-submenu__title { + background-color: $--color-white; + float: none; + height: 36px; + line-height: 36px; + padding: 0 10px; + color: $--color-text-secondary; + } + & .el-menu-item.is-active, + & .el-submenu.is-active > .el-submenu__title { + color: $--color-text-primary; + } + } + & .el-menu-item:not(.is-disabled):hover, + & .el-menu-item:not(.is-disabled):focus { + outline: none; + color: $--color-text-primary; + } + & > .el-menu-item.is-active { + border-bottom: 2px solid $--color-primary; + color: $--color-text-primary; + } + } + @include m(collapse) { + width: 64px; + + > .el-menu-item, + > .el-submenu > .el-submenu__title { + [class^="el-icon-"] { + margin: 0; + vertical-align: middle; + width: 24px; + text-align: center; + } + .el-submenu__icon-arrow { + display: none; + } + span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + + > .el-menu-item.is-active i { + color: inherit; + } + + .el-menu .el-submenu { + min-width: 200px; + } + + .el-submenu { + position: relative; + & .el-menu { + position: absolute; + margin-left: 5px; + top: 0; + left: 100%; + z-index: 10; + border: 1px solid $--border-color-light; + border-radius: $--border-radius-small; + box-shadow: $--box-shadow-light; + } + + &.is-opened { + > .el-submenu__title .el-submenu__icon-arrow { + transform: none; + } + } + } + } + @include m(popup) { + z-index: 100; + min-width: 200px; + border: none; + padding: 5px 0; + border-radius: $--border-radius-small; + box-shadow: $--box-shadow-light; + + &-bottom-start { + margin-top: 5px; + } + &-right-start { + margin-left: 5px; + margin-right: 5px; + } + } +} +@include b(menu-item) { + @include menu-item; + + & [class^="el-icon-"] { + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px; + vertical-align: middle; + } + @include when(active) { + color: $--color-primary; + i { + color: inherit; + } + } +} + +@include b(submenu) { + list-style: none; + margin: 0; + padding-left: 0; + + @include e(title) { + @include menu-item; + + &:hover { + background-color: $--menu-item-hover-fill; + } + } + & .el-menu { + border: none; + } + & .el-menu-item { + height: 50px; + line-height: 50px; + padding: 0 45px; + min-width: 200px; + } + @include e(icon-arrow) { + position: absolute; + top: 50%; + right: 20px; + margin-top: -7px; + transition: transform .3s; + font-size: 12px; + } + @include when(active) { + .el-submenu__title { + border-bottom-color: $--color-primary; + } + } + @include when(opened) { + > .el-submenu__title .el-submenu__icon-arrow { + transform: rotateZ(180deg); + } + } + @include when(disabled) { + .el-submenu__title, + .el-menu-item { + opacity: 0.25; + cursor: not-allowed; + background: none !important; + } + } + [class^="el-icon-"] { + vertical-align: middle; + margin-right: 5px; + width: 24px; + text-align: center; + font-size: 18px; + } +} + +@include b(menu-item-group) { + > ul { + padding: 0; + } + @include e(title) { + padding: 7px 0 7px 20px; + line-height: normal; + font-size: 12px; + color: $--color-text-secondary; + } +} + +.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { + transition: .2s; + opacity: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message-box.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message-box.scss new file mode 100644 index 0000000..b2be54b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message-box.scss @@ -0,0 +1,226 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "common/popup"; +@import "button"; +@import "input"; + +@include b(message-box) { + display: inline-block; + width: $--msgbox-width; + padding-bottom: 10px; + vertical-align: middle; + background-color: $--color-white; + border-radius: $--msgbox-border-radius; + border: 1px solid $--border-color-lighter; + font-size: $--messagebox-font-size; + box-shadow: $--box-shadow-light; + text-align: left; + overflow: hidden; + backface-visibility: hidden; + + @include e(wrapper) { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center; + + &::after { + content: ""; + display: inline-block; + height: 100%; + width: 0; + vertical-align: middle; + } + } + + @include e(header) { + position: relative; + padding: $--msgbox-padding-primary; + padding-bottom: 10px; + } + + @include e(title) { + padding-left: 0; + margin-bottom: 0; + font-size: $--messagebox-font-size; + line-height: 1; + color: $--messagebox-title-color; + } + + @include e(headerbtn) { + position: absolute; + top: $--msgbox-padding-primary; + right: $--msgbox-padding-primary; + padding: 0; + border: none; + outline: none; + background: transparent; + font-size: $--message-close-size; + cursor: pointer; + + .el-message-box__close { + color: $--color-info; + } + + &:focus, &:hover { + .el-message-box__close { + color: $--color-primary; + } + } + + } + + @include e(content) { + padding: 10px $--msgbox-padding-primary; + color: $--messagebox-content-color; + font-size: $--messagebox-content-font-size; + } + + @include e(container) { + position: relative; + } + + @include e(input) { + padding-top: 15px; + + & input.invalid { + border-color: $--color-danger; + &:focus { + border-color: $--color-danger; + } + } + } + + @include e(status) { + position: absolute; + top: 50%; + transform: translateY(-50%); + font-size: 24px !important; + + &::before { + // �甇W��� + padding-left: 1px; + } + + + .el-message-box__message { + padding-left: 36px; + padding-right: 12px; + } + + &.el-icon-success { + color: $--messagebox-success-color; + } + + &.el-icon-info { + color: $--messagebox-info-color; + } + + &.el-icon-warning { + color: $--messagebox-warning-color; + } + + &.el-icon-error { + color: $--messagebox-danger-color; + } + } + + @include e(message) { + margin: 0; + + & p { + margin: 0; + line-height: 24px; + } + } + + @include e(errormsg) { + color: $--color-danger; + font-size: $--messagebox-error-font-size; + min-height: 18px; + margin-top: 2px; + } + + @include e(btns) { + padding: 5px 15px 0; + text-align: right; + + & button:nth-child(2) { + margin-left: 10px; + } + } + + @include e(btns-reverse) { + flex-direction: row-reverse; + } + + // centerAlign 撣� + @include m(center) { + padding-bottom: 30px; + + @include e(header) { + padding-top: 30px; + } + + @include e(title) { + position: relative; + display: flex; + align-items: center; + justify-content: center; + } + + @include e(status) { + position: relative; + top: auto; + padding-right: 5px; + text-align: center; + transform: translateY(-1px); + } + + @include e(message) { + margin-left: 0; + } + + @include e((btns, content)) { + text-align: center; + } + + @include e(content) { + $padding-horizontal: $--msgbox-padding-primary + 12px; + + padding-left: $padding-horizontal; + padding-right: $padding-horizontal; + } + } +} + +.msgbox-fade-enter-active { + animation: msgbox-fade-in .3s; +} + +.msgbox-fade-leave-active { + animation: msgbox-fade-out .3s; +} + +@keyframes msgbox-fade-in { + 0% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } + 100% { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes msgbox-fade-out { + 0% { + transform: translate3d(0, 0, 0); + opacity: 1; + } + 100% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message.scss new file mode 100644 index 0000000..58de084 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/message.scss @@ -0,0 +1,120 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(message) { + min-width: $--message-min-width; + box-sizing: border-box; + border-radius: $--border-radius-base; + border-width: $--border-width-base; + border-style: $--border-style-base; + border-color: $--border-color-lighter; + position: fixed; + left: 50%; + top: 20px; + transform: translateX(-50%); + background-color: $--message-background-color; + transition: opacity 0.3s, transform .4s, top 0.4s; + overflow: hidden; + padding: $--message-padding; + display: flex; + align-items: center; + + @include when(center) { + justify-content: center; + } + + @include when(closable) { + .el-message__content { + padding-right: 16px; + } + } + + p { + margin: 0; + } + + @include m(info) { + .el-message__content { + color: $--message-info-font-color; + } + } + + @include m(success) { + background-color: $--color-success-lighter; + border-color: $--color-success-light; + + .el-message__content { + color: $--message-success-font-color; + } + } + + @include m(warning) { + background-color: $--color-warning-lighter; + border-color: $--color-warning-light; + + .el-message__content { + color: $--message-warning-font-color; + } + } + + @include m(error) { + background-color: $--color-danger-lighter; + border-color: $--color-danger-light; + + .el-message__content { + color: $--message-danger-font-color; + } + } + + @include e(icon) { + margin-right: 10px; + } + + @include e(content) { + padding: 0; + font-size: 14px; + line-height: 1; + &:focus { + outline-width: 0; + } + } + + @include e(closeBtn) { + position: absolute; + top: 50%; + right: 15px; + transform: translateY(-50%); + cursor: pointer; + color: $--message-close-icon-color; + font-size: $--message-close-size; + + &:focus { + outline-width: 0; + } + &:hover { + color: $--message-close-hover-color; + } + } + + & .el-icon-success { + color: $--message-success-font-color; + } + + & .el-icon-error { + color: $--message-danger-font-color; + } + + & .el-icon-info { + color: $--message-info-font-color; + } + + & .el-icon-warning { + color: $--message-warning-font-color; + } +} + +.el-message-fade-enter, +.el-message-fade-leave-active { + opacity: 0; + transform: translate(-50%, -100%); +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/_button.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/_button.scss new file mode 100644 index 0000000..03c86e5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/_button.scss @@ -0,0 +1,81 @@ +@import "../common/var"; +@mixin button-plain($color) { + color: $color; + background: mix($--color-white, $color, 90%); + border-color: mix($--color-white, $color, 60%); + + &:hover, + &:focus { + background: $color; + border-color: $color; + color: $--color-white; + } + + &:active { + background: mix($--color-black, $color, $--button-active-shade-percent); + border-color: mix($--color-black, $color, $--button-active-shade-percent); + color: $--color-white; + outline: none; + } + + &.is-disabled { + &, + &:hover, + &:focus, + &:active { + color: mix($--color-white, $color, 40%); + background-color: mix($--color-white, $color, 90%); + border-color: mix($--color-white, $color, 80%); + } + } +} + +@mixin button-variant($color, $background-color, $border-color) { + color: $color; + background-color: $background-color; + border-color: $border-color; + + &:hover, + &:focus { + background: mix($--color-white, $background-color, $--button-hover-tint-percent); + border-color: mix($--color-white, $border-color, $--button-hover-tint-percent); + color: $color; + } + + &:active { + background: mix($--color-black, $background-color, $--button-active-shade-percent); + border-color: mix($--color-black, $border-color, $--button-active-shade-percent); + color: $color; + outline: none; + } + + &.is-active { + background: mix($--color-black, $background-color, $--button-active-shade-percent); + border-color: mix($--color-black, $border-color, $--button-active-shade-percent); + color: $color; + } + + &.is-disabled { + &, + &:hover, + &:focus, + &:active { + color: $--color-white; + background-color: mix($background-color, $--color-white); + border-color: mix($border-color, $--color-white); + } + } + + &.is-plain { + @include button-plain($background-color); + } +} + +@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) { + padding: $padding-vertical $padding-horizontal; + font-size: $font-size; + border-radius: $border-radius; + &.is-round { + padding: $padding-vertical $padding-horizontal; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/config.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/config.scss new file mode 100644 index 0000000..87e29b4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/config.scss @@ -0,0 +1,4 @@ +$namespace: 'el'; +$element-separator: '__'; +$modifier-separator: '--'; +$state-prefix: 'is-'; diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/function.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/function.scss new file mode 100644 index 0000000..f348cb6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/function.scss @@ -0,0 +1,44 @@ +@import "config"; + +/* BEM support Func + -------------------------- */ +@function selectorToString($selector) { + $selector: inspect($selector); + $selector: str-slice($selector, 2, -2); + @return $selector; +} + +@function containsModifier($selector) { + $selector: selectorToString($selector); + + @if str-index($selector, $modifier-separator) { + @return true; + } @else { + @return false; + } +} + +@function containWhenFlag($selector) { + $selector: selectorToString($selector); + + @if str-index($selector, '.' + $state-prefix) { + @return true + } @else { + @return false + } +} + +@function containPseudoClass($selector) { + $selector: selectorToString($selector); + + @if str-index($selector, ':') { + @return true + } @else { + @return false + } +} + +@function hitAllSpecialNestRule($selector) { + + @return containsModifier($selector) or containWhenFlag($selector) or containPseudoClass($selector); +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/mixins.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/mixins.scss new file mode 100644 index 0000000..0805b07 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/mixins.scss @@ -0,0 +1,190 @@ +@import "function"; +@import "../common/var"; + +/* Break-points + -------------------------- */ +@mixin res($key, $map: $--breakpoints) { + // 敺芰��Map嚗�������� + @if map-has-key($map, $key) { + @media only screen and #{inspect(map-get($map, $key))} { + @content; + } + } @else { + @warn "Undefeined points: `#{$map}`"; + } +} + +/* Scrollbar + -------------------------- */ +@mixin scroll-bar { + $--scrollbar-thumb-background: #b4bccc; + $--scrollbar-track-background: #fff; + + &::-webkit-scrollbar { + z-index: 11; + width: 6px; + + &:horizontal { + height: 6px; + } + + &-thumb { + border-radius: 5px; + width: 6px; + background: $--scrollbar-thumb-background; + } + + &-corner { + background: $--scrollbar-track-background; + } + + &-track { + background: $--scrollbar-track-background; + + &-piece { + background: $--scrollbar-track-background; + width: 6px; + } + } + } +} + +/* Placeholder + -------------------------- */ +@mixin placeholder { + &::-webkit-input-placeholder { + @content + } + + &::-moz-placeholder { + @content + } + + &:-ms-input-placeholder { + @content + } +} + +/* BEM + -------------------------- */ +@mixin b($block) { + $B: $namespace+'-'+$block !global; + + .#{$B} { + @content; + } +} + +@mixin e($element) { + $E: $element !global; + $selector: &; + $currentSelector: ""; + @each $unit in $element { + $currentSelector: #{$currentSelector + "." + $B + $element-separator + $unit + ","}; + } + + @if hitAllSpecialNestRule($selector) { + @at-root { + #{$selector} { + #{$currentSelector} { + @content; + } + } + } + } @else { + @at-root { + #{$currentSelector} { + @content; + } + } + } +} + +@mixin m($modifier) { + $selector: &; + $currentSelector: ""; + @each $unit in $modifier { + $currentSelector: #{$currentSelector + & + $modifier-separator + $unit + ","}; + } + + @at-root { + #{$currentSelector} { + @content; + } + } +} + +@mixin configurable-m($modifier, $E-flag: false) { + $selector: &; + $interpolation: ''; + + @if $E-flag { + $interpolation: $element-separator + $E-flag; + } + + @at-root { + #{$selector} { + .#{$B+$interpolation+$modifier-separator+$modifier} { + @content; + } + } + } +} + +@mixin spec-selector($specSelector: '', $element: $E, $modifier: false, $block: $B) { + $modifierCombo: ''; + + @if $modifier { + $modifierCombo: $modifier-separator + $modifier; + } + + @at-root { + #{&}#{$specSelector}.#{$block+$element-separator+$element+$modifierCombo} { + @content + } + } +} + +@mixin meb($modifier: false, $element: $E, $block: $B) { + $selector: &; + $modifierCombo: ''; + + @if $modifier { + $modifierCombo: $modifier-separator + $modifier; + } + + @at-root { + #{$selector} { + .#{$block+$element-separator+$element+$modifierCombo} { + @content + } + } + } +} + +@mixin when($state) { + @at-root { + &.#{$state-prefix + $state} { + @content; + } + } +} + +@mixin extend-rule($name) { + @extend #{'%shared-'+$name}; +} + +@mixin share-rule($name) { + $rule-name: '%shared-'+$name; + + @at-root #{$rule-name} { + @content + } +} + +@mixin pseudo($pseudo) { + @at-root #{&}#{':#{$pseudo}'} { + @content + } +} + diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/utils.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/utils.scss new file mode 100644 index 0000000..a642326 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/mixins/utils.scss @@ -0,0 +1,39 @@ +@mixin utils-user-select($value) { + -moz-user-select: $value; + -webkit-user-select: $value; + -ms-user-select: $value; +} + +@mixin utils-clearfix { + $selector: &; + + @at-root { + #{$selector}::before, + #{$selector}::after { + display: table; + content: ""; + } + #{$selector}::after { + clear: both + } + } +} + +@mixin utils-vertical-center { + $selector: &; + + @at-root { + #{$selector}::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle + } + } +} + +@mixin utils-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/notification.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/notification.scss new file mode 100644 index 0000000..1105e23 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/notification.scss @@ -0,0 +1,99 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(notification) { + display: flex; + width: $--notification-width; + padding: $--notification-padding; + border-radius: $--notification-radius; + box-sizing: border-box; + border: 1px solid $--notification-border-color; + position: fixed; + background-color: $--color-white; + box-shadow: $--notification-shadow; + transition: opacity .3s, transform .3s, left .3s, right .3s, top 0.4s, bottom .3s; + overflow: hidden; + + &.right { + right: 16px; + } + + &.left { + left: 16px; + } + + @include e(group) { + margin-left: $--notification-group-margin-left; + margin-right: $--notification-group-margin-right; + } + + @include e(title) { + font-weight: bold; + font-size: $--notification-title-font-size; + color: $--notification-title-color; + margin: 0; + } + + @include e(content) { + font-size: $--notification-content-font-size; + line-height: 21px; + margin: 6px 0 0 0; + color: $--notification-content-color; + text-align: justify; + + p { + margin: 0; + } + } + + @include e(icon) { + height: $--notification-icon-size; + width: $--notification-icon-size; + font-size: $--notification-icon-size; + } + + @include e(closeBtn) { + position: absolute; + top: 18px; + right: 15px; + cursor: pointer; + color: $--notification-close-color; + font-size: $--notification-close-font-size; + + &:hover { + color: $--notification-close-hover-color; + } + } + + .el-icon-success { + color: $--notification-success-icon-color; + } + + .el-icon-error { + color: $--notification-danger-icon-color; + } + + .el-icon-info { + color: $--notification-info-icon-color; + } + + .el-icon-warning { + color: $--notification-warning-icon-color; + } +} + +.el-notification-fade-enter { + &.right { + right: 0; + transform: translateX(100%); + } + + &.left { + left: 0; + transform: translateX(-100%); + } +} + +.el-notification-fade-leave-active { + opacity: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option-group.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option-group.scss new file mode 100644 index 0000000..c68addb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option-group.scss @@ -0,0 +1,42 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(select-group) { + $gap: 20px; + + margin: 0; + padding: 0; + + @include e(wrap) { + position: relative; + list-style: none; + margin: 0; + padding: 0; + + &:not(:last-of-type) { + padding-bottom: 24px; + + &::after { + content: ''; + position: absolute; + display: block; + left: $gap; + right: $gap; + bottom: 12px; + height: 1px; + background: $--border-color-light; + } + } + } + + @include e(title) { + padding-left: $gap; + font-size: $--select-group-font-size; + color: $--select-group-color; + line-height: $--select-group-height; + } + + & .el-select-dropdown__item { + padding-left: $gap; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option.scss new file mode 100644 index 0000000..ee5a383 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/option.scss @@ -0,0 +1,36 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(select-dropdown) { + @include e(item) { + font-size: $--select-font-size; + padding: 0 20px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: $--select-option-color; + height: $--select-option-height; + line-height: $--select-option-height; + box-sizing: border-box; + cursor: pointer; + + @include when(disabled) { + color: $--select-option-disabled-color; + cursor: not-allowed; + + &:hover { + background-color: $--color-white; + } + } + + &.hover, &:hover { + background-color: $--select-option-hover-background; + } + + &.selected { + color: $--select-option-selected-font-color; + font-weight: bold; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/page-header.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/page-header.scss new file mode 100644 index 0000000..14c19fa --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/page-header.scss @@ -0,0 +1,41 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(page-header) { + display: flex; + line-height: 24px; + + @include e(left) { + display: flex; + cursor: pointer; + margin-right: 40px; + position: relative; + + &::after { + content: ""; + position: absolute; + width: 1px; + height: 16px; + right: -20px; + top: 50%; + transform: translateY(-50%); + background-color: $--border-color-base; + } + + .el-icon-back { + font-size: 18px; + margin-right: 6px; + align-self: center; + } + + @include e(title) { + font-size: 14px; + font-weight: 500; + } + } + + @include e(content) { + font-size: 18px; + color: $--color-text-primary; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/pagination.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/pagination.scss new file mode 100644 index 0000000..02384e6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/pagination.scss @@ -0,0 +1,295 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "select"; + +@include b(pagination) { + white-space: nowrap; + padding: 2px 5px; + color: $--pagination-font-color; + font-weight: bold; + @include utils-clearfix; + + span:not([class*=suffix]), + button { + display: inline-block; + font-size: $--pagination-font-size; + min-width: $--pagination-button-width; + height: $--pagination-button-height; + line-height: $--pagination-button-height; + vertical-align: top; + box-sizing: border-box; + } + + .el-input__inner { + text-align: center; + -moz-appearance: textfield; + line-height: normal; + } + + // pagesize ����� icon + .el-input__suffix { + right: 0; + transform: scale(.8); + } + + .el-select .el-input { + width: 100px; + margin: 0 5px; + + .el-input__inner { + padding-right: 25px; + border-radius: $--pagination-border-radius; + } + } + + button { + border: none; + padding: 0 6px; + background: transparent; + + &:focus { + outline: none; + } + + &:hover { + color: $--pagination-hover-color; + } + + &:disabled { + color: $--pagination-button-disabled-color; + background-color: $--pagination-button-disabled-background-color; + cursor: not-allowed; + } + } + + .btn-prev, + .btn-next { + background: center center no-repeat; + background-size: 16px; + background-color: $--pagination-background-color; + cursor: pointer; + margin: 0; + color: $--pagination-button-color; + + .el-icon { + display: block; + font-size: 12px; + font-weight: bold; + } + } + + .btn-prev { + padding-right: 12px; + } + + .btn-next { + padding-left: 12px; + } + + .el-pager li.disabled { + color: $--color-text-placeholder; + cursor: not-allowed; + } + + @include m(small) { + .btn-prev, + .btn-next, + .el-pager li, + .el-pager li.btn-quicknext, + .el-pager li.btn-quickprev, + .el-pager li:last-child { + border-color: transparent; + font-size: 12px; + line-height: 22px; + height: 22px; + min-width: 22px; + } + + .arrow.disabled { + visibility: hidden; + } + + .more::before, + li.more::before { + line-height: 24px; + } + + span:not([class*=suffix]), + button { + height: 22px; + line-height: 22px; + } + + @include e(editor) { + height: 22px; + &.el-input .el-input__inner { + height: 22px; + } + } + } + + @include e(sizes) { + margin: 0 10px 0 0; + font-weight: normal; + color: $--color-text-regular; + + .el-input .el-input__inner { + font-size: $--pagination-font-size; + padding-left: 8px; + + &:hover { + border-color: $--pagination-hover-color; + } + } + } + + @include e(total) { + margin-right: 10px; + font-weight: normal; + color: $--color-text-regular; + } + + @include e(jump) { + margin-left: 24px; + font-weight: normal; + color: $--color-text-regular; + + .el-input__inner { + padding: 0 3px; + } + } + + @include e(rightwrapper) { + float: right; + } + + @include e(editor) { + line-height: 18px; + padding: 0 2px; + height: $--pagination-button-height; + + text-align: center; + margin: 0 2px; + box-sizing: border-box; + border-radius: $--pagination-border-radius; + + &.el-input { + width: 50px; + } + + &.el-input .el-input__inner { + height: $--pagination-button-height; + } + + .el-input__inner::-webkit-inner-spin-button, + .el-input__inner::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + + @include when(background) { + .btn-prev, + .btn-next, + .el-pager li { + margin: 0 5px; + background-color: $--color-info-lighter; + color: $--color-text-regular; + min-width: 30px; + border-radius: 2px; + + &.disabled { + color: $--color-text-placeholder; + } + } + + .btn-prev, .btn-next { + padding: 0; + + &:disabled { + color: $--color-text-placeholder; + } + } + + .el-pager li:not(.disabled) { + &:hover { + color: $--pagination-hover-color; + } + + &.active { + background-color: $--color-primary; + color: $--color-white; + } + } + + &.el-pagination--small { + .btn-prev, + .btn-next, + .el-pager li { + margin: 0 3px; + min-width: 22px; + } + } + } +} + +@include b(pager) { + user-select: none; + list-style: none; + display: inline-block; + vertical-align: top; + font-size: 0; + padding: 0; + margin: 0; + + .more::before { + line-height: 30px; + } + + li { + padding: 0 4px; + background: $--pagination-background-color; + vertical-align: top; + display: inline-block; + font-size: $--pagination-font-size; + min-width: $--pagination-button-width; + height: $--pagination-button-height; + line-height: $--pagination-button-height; + cursor: pointer; + box-sizing: border-box; + text-align: center; + margin: 0; + + &.btn-quicknext, + &.btn-quickprev { + line-height: 28px; + color: $--pagination-button-color; + + &.disabled { + color: $--color-text-placeholder; + } + } + + &.btn-quickprev:hover { + cursor: pointer; + } + + &.btn-quicknext:hover { + cursor: pointer; + } + + &.active + li { + border-left: 0; + } + + &:hover { + color: $--pagination-hover-color; + } + + &.active { + color: $--pagination-hover-color; + cursor: default; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popconfirm.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popconfirm.scss new file mode 100644 index 0000000..bc4bb52 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popconfirm.scss @@ -0,0 +1,16 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(popconfirm) { + @include e(main) { + display: flex; + align-items: center; + } + @include e(icon) { + margin-right: 5px; + } + @include e(action) { + text-align: right; + margin: 0 + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popover.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popover.scss new file mode 100644 index 0000000..896712a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popover.scss @@ -0,0 +1,40 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "./popper"; + +@include b(popover) { + position: absolute; + background: $--popover-background-color; + min-width: 150px; + border-radius: 4px; + border: 1px solid $--popover-border-color; + padding: $--popover-padding; + z-index: $--index-popper; + color: $--color-text-regular; + line-height: 1.4; + text-align: justify; + font-size: $--popover-font-size; + box-shadow: $--box-shadow-light; + word-break: break-all; + + @include m(plain) { + padding: $--popover-padding-large; + } + + @include e(title) { + color: $--popover-title-font-color; + font-size: $--popover-title-font-size; + line-height: 1; + margin-bottom: 12px; + } + + @include e(reference) { + &:focus:not(.focusing), &:focus:hover { + outline-width: 0; + } + } + + &:focus:active, &:focus { + outline-width: 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popper.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popper.scss new file mode 100644 index 0000000..2104f59 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/popper.scss @@ -0,0 +1,101 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(popper) { + .popper__arrow, + .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } + + .popper__arrow { + border-width: $--popover-arrow-size; + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)) + } + + .popper__arrow::after { + content: " "; + border-width: $--popover-arrow-size; + } + + &[x-placement^="top"] { + margin-bottom: #{$--popover-arrow-size + 6}; + } + + &[x-placement^="top"] .popper__arrow { + bottom: -$--popover-arrow-size; + left: 50%; + margin-right: #{$--tooltip-arrow-size / 2}; + border-top-color: $--popover-border-color; + border-bottom-width: 0; + + &::after { + bottom: 1px; + margin-left: -$--popover-arrow-size; + border-top-color: $--popover-background-color; + border-bottom-width: 0; + } + } + + &[x-placement^="bottom"] { + margin-top: #{$--popover-arrow-size + 6}; + } + + &[x-placement^="bottom"] .popper__arrow { + top: -$--popover-arrow-size; + left: 50%; + margin-right: #{$--tooltip-arrow-size / 2}; + border-top-width: 0; + border-bottom-color: $--popover-border-color; + + &::after { + top: 1px; + margin-left: -$--popover-arrow-size; + border-top-width: 0; + border-bottom-color: $--popover-background-color; + } + } + + &[x-placement^="right"] { + margin-left: #{$--popover-arrow-size + 6}; + } + + &[x-placement^="right"] .popper__arrow { + top: 50%; + left: -$--popover-arrow-size; + margin-bottom: #{$--tooltip-arrow-size / 2}; + border-right-color: $--popover-border-color; + border-left-width: 0; + + &::after { + bottom: -$--popover-arrow-size; + left: 1px; + border-right-color: $--popover-background-color; + border-left-width: 0; + } + } + + &[x-placement^="left"] { + margin-right: #{$--popover-arrow-size + 6}; + } + + &[x-placement^="left"] .popper__arrow { + top: 50%; + right: -$--popover-arrow-size; + margin-bottom: #{$--tooltip-arrow-size / 2}; + border-right-width: 0; + border-left-color: $--popover-border-color; + + &::after { + right: 1px; + bottom: -$--popover-arrow-size; + margin-left: -$--popover-arrow-size; + border-right-width: 0; + border-left-color: $--popover-background-color; + } + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/progress.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/progress.scss new file mode 100644 index 0000000..e6139f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/progress.scss @@ -0,0 +1,141 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; + +@include b(progress) { + position: relative; + line-height: 1; + + @include e(text) { + font-size:14px; + color: $--color-text-regular; + display: inline-block; + vertical-align: middle; + margin-left: 10px; + line-height: 1; + + i { + vertical-align: middle; + display: block; + } + } + + @include m((circle,dashboard)) { + display: inline-block; + + .el-progress__text { + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + margin: 0; + transform: translate(0, -50%); + + i { + vertical-align: middle; + display: inline-block; + } + } + } + + + @include m(without-text) { + .el-progress__text { + display: none; + } + + .el-progress-bar { + padding-right: 0; + margin-right: 0; + display: block; + } + } + + @include m(text-inside) { + .el-progress-bar { + padding-right: 0; + margin-right: 0; + } + } + + @include when(success) { + .el-progress-bar__inner { + background-color: $--color-success; + } + + .el-progress__text { + color: $--color-success; + } + } + + @include when(warning) { + .el-progress-bar__inner { + background-color: $--color-warning; + } + + .el-progress__text { + color: $--color-warning; + } + } + + @include when(exception) { + .el-progress-bar__inner { + background-color: $--color-danger; + } + + .el-progress__text { + color: $--color-danger; + } + } +} + +@include b(progress-bar) { + padding-right: 50px; + display: inline-block; + vertical-align: middle; + width: 100%; + margin-right: -55px; + box-sizing: border-box; + + @include e(outer) { + height: 6px; + border-radius: 100px; + background-color: $--border-color-lighter; + overflow: hidden; + position: relative; + vertical-align: middle; + } + @include e(inner) { + position: absolute; + left: 0; + top: 0; + height: 100%; + background-color: $--color-primary; + text-align: right; + border-radius: 100px; + line-height: 1; + white-space: nowrap; + transition: width 0.6s ease; + + @include utils-vertical-center; + } + + @include e(innerText) { + display: inline-block; + vertical-align: middle; + color: $--color-white; + font-size: 12px; + margin: 0 5px; + } +} + +@keyframes progress { + 0% { + background-position: 0 0; + } + + 100% { + background-position: 32px 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-button.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-button.scss new file mode 100644 index 0000000..bd4215e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-button.scss @@ -0,0 +1,113 @@ +@import "mixins/mixins"; +@import "mixins/_button"; +@import "common/var"; + +@include b(radio-button) { + position: relative; + display: inline-block; + outline: none; + + @include e(inner) { + display: inline-block; + line-height: 1; + white-space: nowrap; + vertical-align: middle; + background: $--button-default-background-color; + border: $--border-base; + font-weight: $--button-font-weight; + border-left: 0; + color: $--button-default-font-color; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + position: relative; + cursor: pointer; + transition: $--all-transition; + + @include button-size($--button-padding-vertical, $--button-padding-horizontal, $--button-font-size, 0); + + &:hover { + color: $--color-primary; + } + + & [class*="el-icon-"] { + line-height: 0.9; + + & + span { + margin-left: 5px; + } + } + } + + &:first-child { + .el-radio-button__inner { + border-left: $--border-base; + border-radius: $--border-radius-base 0 0 $--border-radius-base; + box-shadow: none !important; + } + } + + @include e(orig-radio) { + opacity: 0; + outline: none; + position: absolute; + z-index: -1; + + &:checked { + & + .el-radio-button__inner { + color: $--radio-button-checked-font-color; + background-color: $--radio-button-checked-background-color; + border-color: $--radio-button-checked-border-color; + box-shadow: -1px 0 0 0 $--radio-button-checked-border-color; + } + } + + &:disabled { + & + .el-radio-button__inner { + color: $--button-disabled-font-color; + cursor: not-allowed; + background-image: none; + background-color: $--button-disabled-background-color; + border-color: $--button-disabled-border-color; + box-shadow: none; + } + &:checked + .el-radio-button__inner { + background-color: $--radio-button-disabled-checked-fill; + } + } + } + + &:last-child { + .el-radio-button__inner { + border-radius: 0 $--border-radius-base $--border-radius-base 0; + } + } + + &:first-child:last-child { + .el-radio-button__inner { + border-radius: $--border-radius-base; + } + } + + @include m(medium) { + & .el-radio-button__inner { + @include button-size($--button-medium-padding-vertical, $--button-medium-padding-horizontal, $--button-medium-font-size, 0); + } + } + @include m(small) { + & .el-radio-button__inner { + @include button-size($--button-small-padding-vertical, $--button-small-padding-horizontal, $--button-small-font-size, 0); + } + } + @include m(mini) { + & .el-radio-button__inner { + @include button-size($--button-mini-padding-vertical, $--button-mini-padding-horizontal, $--button-mini-font-size, 0); + } + } + + &:focus:not(.is-focus):not(:active):not(.is-disabled){ /*�敺�� �撘���*/ + box-shadow: 0 0 2px 2px $--radio-button-checked-border-color; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-group.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-group.scss new file mode 100644 index 0000000..2ee95a7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio-group.scss @@ -0,0 +1,9 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(radio-group) { + display: inline-block; + line-height: 1; + vertical-align: middle; + font-size: 0; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio.scss new file mode 100644 index 0000000..4d8faf1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/radio.scss @@ -0,0 +1,199 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import 'mixins/button'; +@import "common/var"; + +@include b(radio) { + color: $--radio-font-color; + font-weight: $--radio-font-weight; + line-height: 1; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + outline: none; + font-size: $--font-size-base; + margin-right: 30px; + @include utils-user-select(none); + + @include when(bordered) { + padding: $--radio-bordered-padding; + border-radius: $--border-radius-base; + border: $--border-base; + box-sizing: border-box; + height: $--radio-bordered-height; + + &.is-checked { + border-color: $--color-primary; + } + + &.is-disabled { + cursor: not-allowed; + border-color: $--border-color-lighter; + } + + & + .el-radio.is-bordered { + margin-left: 10px; + } + } + + @include m(medium) { + &.is-bordered { + padding: $--radio-bordered-medium-padding; + border-radius: $--button-medium-border-radius; + height: $--radio-bordered-medium-height; + .el-radio__label { + font-size: $--button-medium-font-size; + } + .el-radio__inner { + height: $--radio-bordered-medium-input-height; + width: $--radio-bordered-medium-input-width; + } + } + } + @include m(small) { + &.is-bordered { + padding: $--radio-bordered-small-padding; + border-radius: $--button-small-border-radius; + height: $--radio-bordered-small-height; + .el-radio__label { + font-size: $--button-small-font-size; + } + .el-radio__inner { + height: $--radio-bordered-small-input-height; + width: $--radio-bordered-small-input-width; + } + } + } + @include m(mini) { + &.is-bordered { + padding: $--radio-bordered-mini-padding; + border-radius: $--button-mini-border-radius; + height: $--radio-bordered-mini-height; + .el-radio__label { + font-size: $--button-mini-font-size; + } + .el-radio__inner { + height: $--radio-bordered-mini-input-height; + width: $--radio-bordered-mini-input-width; + } + } + } + + &:last-child { + margin-right: 0; + } + + @include e(input) { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; + + @include when(disabled) { + .el-radio__inner { + background-color: $--radio-disabled-input-fill; + border-color: $--radio-disabled-input-border-color; + cursor: not-allowed; + + &::after { + cursor: not-allowed; + background-color: $--radio-disabled-icon-color; + } + + & + .el-radio__label { + cursor: not-allowed; + } + } + &.is-checked { + .el-radio__inner { + background-color: $--radio-disabled-checked-input-fill; + border-color: $--radio-disabled-checked-input-border-color; + + &::after { + background-color: $--radio-disabled-checked-icon-color; + } + } + } + & + span.el-radio__label { + color: $--color-text-placeholder; + cursor: not-allowed; + } + } + + @include when(checked) { + .el-radio__inner { + border-color: $--radio-checked-input-border-color; + background: $--radio-checked-icon-color; + + &::after { + transform: translate(-50%, -50%) scale(1); + } + } + + & + .el-radio__label { + color: $--radio-checked-font-color; + } + } + + @include when(focus) { + .el-radio__inner { + border-color: $--radio-input-border-color-hover; + } + } + } + @include e(inner) { + border: $--radio-input-border; + border-radius: $--radio-input-border-radius; + width: $--radio-input-width; + height: $--radio-input-height; + background-color: $--radio-input-background-color; + position: relative; + cursor: pointer; + display: inline-block; + box-sizing: border-box; + + &:hover { + border-color: $--radio-input-border-color-hover; + } + + &::after { + width: 4px; + height: 4px; + border-radius: $--radio-input-border-radius; + background-color: $--color-white; + content: ""; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%) scale(0); + transition: transform .15s ease-in; + } + } + + @include e(original) { + opacity: 0; + outline: none; + position: absolute; + z-index: -1; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0; + } + + &:focus:not(.is-focus):not(:active):not(.is-disabled) { /*�敺�� �撘���*/ + .el-radio__inner { + box-shadow: 0 0 2px 2px $--radio-input-border-color-hover; + } + } + + @include e(label) { + font-size: $--radio-font-size; + padding-left: 10px; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/rate.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/rate.scss new file mode 100644 index 0000000..99d7d04 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/rate.scss @@ -0,0 +1,49 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(rate) { + height: $--rate-height; + line-height: 1; + + &:focus, &:active { + outline-width: 0; + } + + @include e(item) { + display: inline-block; + position: relative; + font-size: 0; + vertical-align: middle; + } + + @include e(icon) { + position: relative; + display: inline-block; + font-size: $--rate-icon-size; + margin-right: $--rate-icon-margin; + color: $--rate-icon-color; + transition: .3s; + &.hover { + transform: scale(1.15); + } + + .path2 { + position: absolute; + left: 0; + top: 0; + } + } + + @include e(decimal) { + position: absolute; + top: 0; + left: 0; + display: inline-block; + overflow: hidden; + } + + @include e(text) { + font-size: $--rate-font-size; + vertical-align: middle; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/reset.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/reset.scss new file mode 100644 index 0000000..a13e0de --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/reset.scss @@ -0,0 +1,79 @@ +@import 'common/var'; + +body { + font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","敺株蔓����",Arial,sans-serif; + font-weight: 400; + font-size: $--font-size-base; + color: $--color-black; + -webkit-font-smoothing: antialiased; +} + +a { + color: $--color-primary; + text-decoration: none; + + &:hover, + &:focus { + color: mix($--color-white, $--color-primary, $--button-hover-tint-percent); + } + + &:active { + color: mix($--color-black, $--color-primary, $--button-active-shade-percent); + } +} + +h1, h2, h3, h4, h5, h6 { + color: $--color-text-regular; + font-weight: inherit; + + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } +} + +h1 { + font-size: #{$--font-size-base + 6px}; +} + +h2 { + font-size: #{$--font-size-base + 4px}; +} + +h3 { + font-size: #{$--font-size-base + 2px}; +} + +h4, h5, h6, p { + font-size: inherit; +} + +p { + line-height: 1.8; + + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } +} + +sup, sub { + font-size: #{$--font-size-base - 1px}; +} + +small { + font-size: #{$--font-size-base - 2px}; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/result.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/result.scss new file mode 100644 index 0000000..2d69085 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/result.scss @@ -0,0 +1,61 @@ +@import 'mixins/mixins'; +@import 'common/var'; + +@include b(result) { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + text-align: center; + box-sizing: border-box; + padding: $--result-padding; + + @include e(icon) { + svg { + width: $--result-icon-font-size; + height: $--result-icon-font-size; + } + } + + @include e(title) { + margin-top: $--result-title-margin-top; + + p { + margin: 0; + font-size: $--result-title-font-size; + color: $--color-text-primary; + line-height: 1.3; + } + } + + @include e(subtitle) { + margin-top: $--result-subtitle-margin-top; + + p { + margin: 0; + font-size: $--font-size-base; + color: $--color-text-regular; + line-height: 1.3; + } + } + + @include e(extra) { + margin-top: $--result-extra-margin-top; + } + + .icon-success { + fill: $--result-success-color; + } + + .icon-error { + fill: $--result-danger-color; + } + + .icon-info { + fill: $--result-info-color; + } + + .icon-warning { + fill: $--result-warning-color; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/row.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/row.scss new file mode 100644 index 0000000..0f435ae --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/row.scss @@ -0,0 +1,43 @@ +@import "common/var"; +@import "mixins/mixins"; +@import "mixins/utils"; + +@include b(row) { + position: relative; + box-sizing: border-box; + @include utils-clearfix; + + @include m(flex) { + display: flex; + &:before, + &:after { + display: none; + } + + @include when(justify-center) { + justify-content: center; + } + @include when(justify-end) { + justify-content: flex-end; + } + @include when(justify-space-between) { + justify-content: space-between; + } + @include when(justify-space-around) { + justify-content: space-around; + } + + @include when(align-top) { + align-items: flex-start; + } + + @include when(align-middle) { + align-items: center; + } + @include when(align-bottom) { + align-items: flex-end; + } + } + +} + diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/scrollbar.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/scrollbar.scss new file mode 100644 index 0000000..56e5f29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/scrollbar.scss @@ -0,0 +1,72 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(scrollbar) { + overflow: hidden; + position: relative; + + &:hover, + &:active, + &:focus { + > .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; + } + } + + @include e(wrap) { + overflow: scroll; + height: 100%; + + @include m(hidden-default) { + scrollbar-width: none; + &::-webkit-scrollbar { + width: 0; + height: 0; + } + } + } + + @include e(thumb) { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: $--scrollbar-background-color; + transition: .3s background-color; + + &:hover { + background-color: $--scrollbar-hover-background-color; + } + } + + @include e(bar) { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; + + @include when(vertical) { + width: 6px; + top: 2px; + + > div { + width: 100%; + } + } + + @include when(horizontal) { + height: 6px; + left: 2px; + + > div { + height: 100%; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select-dropdown.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select-dropdown.scss new file mode 100644 index 0000000..8fb607c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select-dropdown.scss @@ -0,0 +1,62 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "./popper"; + +@include b(select-dropdown) { + position: absolute; + z-index: #{$--index-top + 1}; + border: $--select-dropdown-border; + border-radius: $--border-radius-base; + background-color: $--select-dropdown-background; + box-shadow: $--select-dropdown-shadow; + box-sizing: border-box; + margin: 5px 0; + + @include when(multiple) { + & .el-select-dropdown__item { + padding-right: 40px; + } + & .el-select-dropdown__item.selected { + color: $--select-option-selected-font-color; + background-color: $--select-dropdown-background; + + &.hover { + background-color: $--select-option-hover-background; + } + + &::after { + position: absolute; + right: 20px; + font-family: 'element-icons'; + content: "\e6da"; + font-size: 12px; + font-weight: bold; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + } + } + + .el-scrollbar.is-empty .el-select-dropdown__list{ + padding: 0; + } +} + +@include b(select-dropdown__empty) { + padding: $--select-dropdown-empty-padding; + margin: 0; + text-align: center; + color: $--select-dropdown-empty-color; + font-size: $--select-font-size; +} + +@include b(select-dropdown__wrap) { + max-height: $--select-dropdown-max-height; +} + +@include b(select-dropdown__list) { + list-style: none; + padding: $--select-dropdown-padding; + margin: 0; + box-sizing: border-box; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select.scss new file mode 100644 index 0000000..f337ae9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/select.scss @@ -0,0 +1,152 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "select-dropdown"; +@import "input"; +@import "tag"; +@import "option"; +@import "option-group"; +@import "scrollbar"; + +@include b(select) { + display: inline-block; + position: relative; + + .el-select__tags + >span { + display: contents; + } + + &:hover { + .el-input__inner { + border-color: $--select-border-color-hover; + } + } + + .el-input__inner { + cursor: pointer; + padding-right: 35px; + + &:focus { + border-color: $--select-input-focus-border-color; + } + } + + .el-input { + & .el-select__caret { + color: $--select-input-color; + font-size: $--select-input-font-size; + transition: transform .3s; + transform: rotateZ(180deg); + cursor: pointer; + + @include when(reverse) { + transform: rotateZ(0deg); + } + + @include when(show-close) { + font-size: $--select-font-size; + text-align: center; + transform: rotateZ(180deg); + border-radius: $--border-radius-circle; + color: $--select-input-color; + transition: $--color-transition-base; + + &:hover { + color: $--select-close-hover-color; + } + } + } + + &.is-disabled { + & .el-input__inner { + cursor: not-allowed; + + &:hover { + border-color: $--select-disabled-border; + } + } + } + + &.is-focus .el-input__inner { + border-color: $--select-input-focus-border-color; + } + } + + > .el-input { + display: block; + } + + @include e(input) { + border: none; + outline: none; + padding: 0; + margin-left: 15px; + color: $--select-multiple-input-color; + font-size: $--select-font-size; + appearance: none; + height: 28px; + background-color: transparent; + @include when(mini) { + height: 14px; + } + } + + @include e(close) { + cursor: pointer; + position: absolute; + top: 8px; + z-index: $--index-top; + right: 25px; + color: $--select-input-color; + line-height: 18px; + font-size: $--select-input-font-size; + + &:hover { + color: $--select-close-hover-color; + } + } + + @include e(tags) { + position: absolute; + line-height: normal; + white-space: normal; + z-index: $--index-normal; + top: 50%; + transform: translateY(-50%); + display: flex; + align-items: center; + flex-wrap: wrap; + } + + @include e(tags-text) { + overflow: hidden; + text-overflow: ellipsis; + } + + .el-tag { + box-sizing: border-box; + border-color: transparent; + margin: 2px 0 2px 6px; + background-color: #f0f2f5; + display: flex; + max-width: 100%; + align-items: center; + + &__close.el-icon-close { + background-color: $--color-text-placeholder; + top: 0; + color: $--color-white; + flex-shrink: 0; + + &:hover { + background-color: $--color-text-secondary; + } + + &::before { + display: block; + transform: translate(0, .5px); + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton-item.scss new file mode 100644 index 0000000..687c3c4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton-item.scss @@ -0,0 +1,84 @@ +@import 'mixins/mixins'; +@import 'common/var'; + +@mixin circle-size($size) { + width: $size; + height: $size; + line-height: $size; +} + +@include b(skeleton) { + @include e(item) { + background: $--skeleton-color; + display: inline-block; + height: 16px; + border-radius: $--border-radius-base; + width: 100%; + } + + @include e(circle) { + border-radius: 50%; + @include circle-size($--avatar-medium-size); + + @include m(lg) { + @include circle-size($--avatar-large-size); + } + + @include m(md) { + @include circle-size($--avatar-small-size); + } + } + + @include e(button) { + height: 40px; + width: 64px; + border-radius: 4px; + } + + @include e(p) { + width: 100%; + @include when(last) { + width: 61%; + } + + @include when(first) { + width: 33%; + } + } + + @include e(text) { + width: 100%; + height: $--font-size-small; + } + + @include e(caption) { + height: $--font-size-extra-small; + } + + @include e(h1) { + height: $--font-size-extra-large; + } + + @include e(h3) { + height: $--font-size-large; + } + + @include e(h5) { + height: $--font-size-medium; + } + + @include e(image) { + width: unset; + display: flex; + align-items: center; + justify-content: center; + border-radius: 0; + + svg { + fill: $--svg-monochrome-grey; + width: 22%; + height: 22%; + } + } + +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton.scss new file mode 100644 index 0000000..5bbfa08 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/skeleton.scss @@ -0,0 +1,40 @@ +@import 'mixins/mixins'; +@import 'common/var'; +@import "./skeleton-item.scss"; + +@mixin skeleton-color() { + background: linear-gradient( + 90deg, + $--skeleton-color 25%, + $--skeleton-to-color 37%, + $--skeleton-color 63% + ); + background-size: 400% 100%; + animation: #{$namespace}-skeleton-loading 1.4s ease infinite; +} + +@keyframes #{$namespace}-skeleton-loading { + 0% { + background-position: 100% 50%; + } + 100% { + background-position: 0 50%; + } +} + +@include b(skeleton) { + width: 100%; + @each $unit in (first-line, paragraph) { + @include e($unit) { + height: 16px; + margin-top: 16px; + background: $--skeleton-color; + } + } + + @include when(animated) { + .#{$namespace}-skeleton__item { + @include skeleton-color(); + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/slider.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/slider.scss new file mode 100644 index 0000000..666c52d --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/slider.scss @@ -0,0 +1,250 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "input-number"; +@import "tooltip"; +@import "common/var"; + +@include b(slider) { + + @include utils-clearfix; + + @include e(runway) { + width: 100%; + height: $--slider-height; + margin: $--slider-margin; + background-color: $--slider-runway-background-color; + border-radius: $--slider-border-radius; + position: relative; + cursor: pointer; + vertical-align: middle; + + &.show-input { + margin-right: 160px; + width: auto; + } + + &.disabled { + cursor: default; + + .el-slider__bar { + background-color: $--slider-disable-color; + } + + .el-slider__button { + border-color: $--slider-disable-color; + } + + .el-slider__button-wrapper { + &:hover, + &.hover { + cursor: not-allowed; + } + + &.dragging { + cursor: not-allowed; + } + } + + .el-slider__button { + &:hover, + &.hover, + &.dragging { + transform: scale(1); + } + + &:hover, + &.hover { + cursor: not-allowed; + } + + &.dragging { + cursor: not-allowed; + } + } + } + } + + @include e(input) { + float: right; + margin-top: 3px; + width: 130px; + + &.el-input-number--mini { + margin-top: 5px; + } + + &.el-input-number--medium { + margin-top: 0; + } + + &.el-input-number--large { + margin-top: -2px; + } + } + + @include e(bar) { + height: $--slider-height; + background-color: $--slider-main-background-color; + border-top-left-radius: $--slider-border-radius; + border-bottom-left-radius: $--slider-border-radius; + position: absolute; + } + + @include e(button-wrapper) { + height: $--slider-button-wrapper-size; + width: $--slider-button-wrapper-size; + position: absolute; + z-index: 1001; + top: $--slider-button-wrapper-offset; + transform: translateX(-50%); + background-color: transparent; + text-align: center; + user-select: none; + line-height: normal; + @include utils-vertical-center; + + .el-tooltip { + vertical-align: middle; + display: inline-block; + } + + &:hover, + &.hover { + cursor: grab; + } + + &.dragging { + cursor: grabbing; + } + } + + @include e(button) { + width: $--slider-button-size; + height: $--slider-button-size; + border: solid 2px $--slider-main-background-color; + background-color: $--color-white; + border-radius: 50%; + transition: .2s; + user-select: none; + + &:hover, + &.hover, + &.dragging { + transform: scale(1.2); + } + + &:hover, + &.hover { + cursor: grab; + } + + &.dragging { + cursor: grabbing; + } + } + + @include e(stop) { + position: absolute; + height: $--slider-height; + width: $--slider-height; + border-radius: $--border-radius-circle; + background-color: $--slider-stop-background-color; + transform: translateX(-50%); + } + + @include e(marks) { + top: 0; + left: 12px; + width: 18px; + height: 100%; + + @include e(marks-text) { + position: absolute; + transform: translateX(-50%); + font-size: 14px; + color: $--color-info; + margin-top: 15px; + } + } + + @include when(vertical) { + position: relative; + .el-slider__runway { + width: $--slider-height; + height: 100%; + margin: 0 16px; + } + .el-slider__bar { + width: $--slider-height; + height: auto; + border-radius: 0 0 3px 3px; + } + .el-slider__button-wrapper { + top: auto; + left: $--slider-button-wrapper-offset; + transform: translateY(50%); + } + .el-slider__stop { + transform: translateY(50%); + } + &.el-slider--with-input { + padding-bottom: #{$--input-medium-height + 22px}; + .el-slider__input { + overflow: visible; + float: none; + position: absolute; + bottom: 22px; + width: 36px; + margin-top: 15px; + .el-input__inner { + text-align: center; + padding-left: 5px; + padding-right: 5px; + } + .el-input-number__decrease, + .el-input-number__increase + { + top: $--input-small-height; + margin-top: -1px; + border: $--input-border; + line-height: 20px; + box-sizing: border-box; + transition: $--border-transition-base; + } + .el-input-number__decrease { + width: 18px; + right: 18px; + border-bottom-left-radius: $--input-border-radius; + } + .el-input-number__increase { + width: 19px; + border-bottom-right-radius: $--input-border-radius; + & ~ .el-input .el-input__inner { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + } + &:hover { + .el-input-number__decrease, + .el-input-number__increase + { + border-color: $--input-hover-border; + } + } + &:active { + .el-input-number__decrease, + .el-input-number__increase + { + border-color: $--input-focus-border; + } + } + } + } + + @include e(marks-text) { + margin-top: 0; + left: 15px; + transform: translateY(50%); + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/spinner.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/spinner.scss new file mode 100644 index 0000000..b76ffc0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/spinner.scss @@ -0,0 +1,44 @@ +@import "mixins/mixins"; + +@include b(time-spinner) { + width: 100%; + white-space: nowrap; +} + +@include b(spinner) { + display: inline-block; + vertical-align: middle; +} +@include b(spinner-inner) { + animation: rotate 2s linear infinite; + width: 50px; + height: 50px; + + & .path { + stroke: #ececec; + stroke-linecap: round; + animation: dash 1.5s ease-in-out infinite; + } + +} + +@keyframes rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes dash { + 0% { + stroke-dasharray: 1, 150; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -35; + } + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -124; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/statistic.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/statistic.scss new file mode 100644 index 0000000..16a3c65 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/statistic.scss @@ -0,0 +1,38 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(statistic) { + $statistic-justify: center; + $statistic-align: center; + width: 100%; + box-sizing: border-box; + margin: 0; + padding: 0; + color: $--color-black; + font-variant: tabular-nums; + list-style: none; + font-feature-settings: "tnum"; + text-align: center; + .head { + margin-bottom: 4px; + color: $--color-text-regular; + font-size: $--font-size-small; + } + + .con { + font-family: Sans-serif; + display: flex; + justify-content: $statistic-justify; + align-items: $statistic-align; + color: $--color-text-primary; + .number { + font-size: $--font-size-extra-large; + padding: 0 4px; + } + span { + display: inline-block; + margin: 0; + line-height: 100%; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/step.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/step.scss new file mode 100644 index 0000000..37a831c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/step.scss @@ -0,0 +1,317 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(step) { + position: relative; + flex-shrink: 1; + + @include pseudo(last-of-type) { + @include e(line) { + display: none; + } + + // ���霈曄蔭 space ���銝���捐摨� + @include when(flex) { + flex-basis: auto !important; + flex-shrink: 0; + flex-grow: 0; + } + + @include e((main, description)) { + padding-right: 0; + } + } + + @include e(head) { + position: relative; + width: 100%; + + @include when(process) { + color: $--color-text-primary; + border-color: $--color-text-primary; + } + + @include when(wait) { + color: $--color-text-placeholder; + border-color: $--color-text-placeholder; + } + + @include when(success) { + color: $--color-success; + border-color: $--color-success; + } + + @include when(error) { + color: $--color-danger; + border-color: $--color-danger; + } + + @include when(finish) { + color: $--color-primary; + border-color: $--color-primary; + } + } + + @include e(icon) { + position: relative; + z-index: 1; + display: inline-flex; + justify-content: center; + align-items: center; + width: 24px; + height: 24px; + font-size: 14px; + box-sizing: border-box; + background: $--color-white; + transition: .15s ease-out; + + @include when(text) { + border-radius: 50%; + border: 2px solid; + border-color: inherit; + } + + @include when(icon) { + width: 40px; + } + } + + @include e(icon-inner) { + display: inline-block; + user-select: none; + text-align: center; + font-weight: bold; + line-height: 1; + color: inherit; + + &[class*=el-icon]:not(.is-status) { + font-size: 25px; + font-weight: normal; + } + + // 蝏辣�頨怨”蝷箇����� + @include when(status) { + transform: translateY(1px); + } + } + + @include e(line) { + position: absolute; + border-color: inherit; + background-color: $--color-text-placeholder; + } + + @include e(line-inner) { + display: block; + border-width: 1px; + border-style: solid; + border-color: inherit; + transition: .15s ease-out; + box-sizing: border-box; + width: 0; + height: 0; + } + + @include e(main) { + white-space: normal; + text-align: left; + } + + @include e(title) { + font-size: 16px; + line-height: 38px; + + @include when(process) { + font-weight: bold; + color: $--color-text-primary; + } + + @include when(wait) { + color: $--color-text-placeholder; + } + + @include when(success) { + color: $--color-success; + } + + @include when(error) { + color: $--color-danger; + } + + @include when(finish) { + color: $--color-primary; + } + } + + @include e(description) { + padding-right: 10%; + margin-top: -5px; + font-size: 12px; + line-height: 20px; + font-weight: normal; + + @include when(process) { + color: $--color-text-primary; + } + + @include when(wait) { + color: $--color-text-placeholder; + } + + @include when(success) { + color: $--color-success; + } + + @include when(error) { + color: $--color-danger; + } + + @include when(finish) { + color: $--color-primary; + } + } + + @include when(horizontal) { + display: inline-block; + + @include e(line) { + height: 2px; + top: 11px; + left: 0; + right: 0; + } + } + + @include when(vertical) { + display: flex; + + @include e(head) { + flex-grow: 0; + width: 24px; + } + + @include e(main) { + padding-left: 10px; + flex-grow: 1; + } + + @include e(title) { + line-height: 24px; + padding-bottom: 8px; + } + + @include e(line) { + width: 2px; + top: 0; + bottom: 0; + left: 11px; + } + + @include e(icon) { + @include when(icon) { + width: 24px; + } + } + } + + @include when(center) { + + @include e(head) { + text-align: center; + } + + @include e(main) { + text-align: center; + } + + @include e(description) { + padding-left: 20%; + padding-right: 20%; + } + + @include e(line) { + left: 50%; + right: -50%; + } + } + + @include when(simple) { + display: flex; + align-items: center; + + @include e(head) { + width: auto; + font-size: 0; + padding-right: 10px; + } + + @include e(icon) { + background: transparent; + width: 16px; + height: 16px; + font-size: 12px; + } + + @include e(icon-inner) { + &[class*=el-icon]:not(.is-status) { + font-size: 18px; + } + + &.is-status { + transform: scale(.8) translateY(1px); + } + } + + @include e(main) { + position: relative; + display: flex; + align-items: stretch; + flex-grow: 1; + } + + @include e(title) { + font-size: 16px; + line-height: 20px; + } + + @include pseudo('not(:last-of-type)') { + @include e(title) { + max-width: 50%; + word-break: break-all; + } + } + + @include e(arrow) { + flex-grow: 1; + display: flex; + align-items: center; + justify-content: center; + + &::before, + &::after { + content: ''; + display: inline-block; + position: absolute; + height: 15px; + width: 1px; + background: $--color-text-placeholder; + } + + &::before { + transform: rotate(-45deg) translateY(-4px); + transform-origin: 0 0; + } + + &::after { + transform: rotate(45deg) translateY(4px); + transform-origin: 100% 100%; + } + } + + @include pseudo(last-of-type) { + @include e(arrow) { + display: none; + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/steps.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/steps.scss new file mode 100644 index 0000000..aa3464e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/steps.scss @@ -0,0 +1,20 @@ +@import "mixins/mixins"; + +@include b(steps) { + display: flex; + + @include m(simple) { + padding: 13px 8%; + border-radius: 4px; + background: $--background-color-base; + } + + @include m(horizontal) { + white-space: nowrap; + } + + @include m(vertical) { + height: 100%; + flex-flow: column; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/submenu.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/submenu.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/submenu.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/switch.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/switch.scss new file mode 100644 index 0000000..c38eede --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/switch.scss @@ -0,0 +1,116 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(switch) { + display: inline-flex; + align-items: center; + position: relative; + font-size: $--switch-font-size; + line-height: $--switch-height; + height: $--switch-height; + vertical-align: middle; + @include when(disabled) { + & .el-switch__core, + & .el-switch__label { + cursor: not-allowed; + } + } + + @include e(label) { + transition: .2s; + height: $--switch-height; + display: inline-block; + font-size: $--switch-font-size; + font-weight: 500; + cursor: pointer; + vertical-align: middle; + color: $--color-text-primary; + + @include when(active) { + color: $--color-primary; + } + + @include m(left) { + margin-right: 10px; + } + @include m(right) { + margin-left: 10px; + } + & * { + line-height: 1; + font-size: $--switch-font-size; + display: inline-block; + } + } + + @include e(input) { + position: absolute; + width: 0; + height: 0; + opacity: 0; + margin: 0; + } + + @include e(core) { + margin: 0; + display: inline-block; + position: relative; + width: $--switch-width; + height: $--switch-height; + border: 1px solid $--switch-off-color; + outline: none; + border-radius: $--switch-core-border-radius; + box-sizing: border-box; + background: $--switch-off-color; + cursor: pointer; + transition: border-color .3s, background-color .3s; + vertical-align: middle; + + &:after { + content: ""; + position: absolute; + top: 1px; + left: 1px; + border-radius: $--border-radius-circle; + transition: all .3s; + width: $--switch-button-size; + height: $--switch-button-size; + background-color: $--color-white; + } + } + + @include when(checked) { + .el-switch__core { + border-color: $--switch-on-color; + background-color: $--switch-on-color; + &::after { + left: 100%; + margin-left: -$--switch-button-size - 1px; + } + } + } + + @include when(disabled) { + opacity: 0.6; + } + + @include m(wide) { + .el-switch__label { + &.el-switch__label--left { + span { + left: 10px; + } + } + &.el-switch__label--right { + span { + right: 10px; + } + } + } + } + + & .label-fade-enter, + & .label-fade-leave-active { + opacity: 0; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tab-pane.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tab-pane.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tab-pane.scss diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table-column.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table-column.scss new file mode 100644 index 0000000..6fd54e7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table-column.scss @@ -0,0 +1,97 @@ +@import "mixins/mixins"; +@import "checkbox"; +@import "tag"; +@import "common/var"; + +@include b(table-column) { + @include m(selection) { + .cell { + padding-left: 14px; + padding-right: 14px; + } + } +} + +@include b(table-filter) { + border: solid 1px $--border-color-lighter; + border-radius: 2px; + background-color: $--color-white; + box-shadow: $--dropdown-menu-box-shadow; + box-sizing: border-box; + margin: 2px 0; + + /** used for dropdown mode */ + @include e(list) { + padding: 5px 0; + margin: 0; + list-style: none; + min-width: 100px; + } + + @include e(list-item) { + line-height: 36px; + padding: 0 10px; + cursor: pointer; + font-size: $--font-size-base; + + &:hover { + background-color: $--dropdown-menuItem-hover-fill; + color: $--dropdown-menuItem-hover-color; + } + + @include when(active) { + background-color: $--color-primary; + color: $--color-white; + } + } + + @include e(content) { + min-width: 100px; + } + + @include e(bottom) { + border-top: 1px solid $--border-color-lighter; + padding: 8px; + + button { + background: transparent; + border: none; + color: $--color-text-regular; + cursor: pointer; + font-size: $--font-size-small; + padding: 0 3px; + + &:hover { + color: $--color-primary; + } + + &:focus { + outline: none; + } + + &.is-disabled { + color: $--disabled-color-base; + cursor: not-allowed; + } + } + } + + @include e(wrap) { + max-height: 280px; + } + + @include e(checkbox-group) { + padding: 10px; + + label.el-checkbox { + display: block; + margin-right: 5px; + margin-bottom: 8px; + margin-left: 5px; + } + + .el-checkbox:last-child { + margin-bottom: 0; + } + } +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table.scss new file mode 100644 index 0000000..b7e66d5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/table.scss @@ -0,0 +1,564 @@ +@import "mixins/mixins"; +@import "checkbox"; +@import "tag"; +@import "tooltip"; +@import "common/var"; + +@include b(table) { + position: relative; + overflow: hidden; + box-sizing: border-box; + flex: 1; + width: 100%; + max-width: 100%; + background-color: $--color-white; + font-size: 14px; + color: $--table-font-color; + + // ��銝箇征 + @include e(empty-block) { + min-height: 60px; + text-align: center; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + @include e(empty-text) { + // min-height doesn't work in IE10 and IE11 https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items + // set empty text line height up to contrainer min-height as workaround. + line-height: 60px; + width: 50%; + color: $--color-text-secondary; + } + + // 撅�銵� + @include e(expand-column) { + .cell { + padding: 0; + text-align: center; + } + } + + @include e(expand-icon) { + position: relative; + cursor: pointer; + color: #666; + font-size: 12px; + transition: transform 0.2s ease-in-out; + height: 20px; + + @include m(expanded) { + transform: rotate(90deg); + } + + > .el-icon { + position: absolute; + left: 50%; + top: 50%; + margin-left: -5px; + margin-top: -5px; + } + } + + @include e(expanded-cell) { + background-color: $--color-white; + + // 蝥臬�蛹鈭����� + &[class*=cell] { + padding: 20px 50px; + } + + &:hover { + background-color: transparent !important; + } + } + + @include e(placeholder) { + display: inline-block; + width: 20px; + } + + @include e(append-wrapper) { + // ����器頝��� https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing + overflow: hidden; + } + + @include m(fit) { + border-right: 0; + border-bottom: 0; + + .el-table__cell.gutter { + border-right-width: 1px; + } + } + + @include m(scrollable-x) { + .el-table__body-wrapper { + overflow-x: auto; + } + } + + @include m(scrollable-y) { + .el-table__body-wrapper { + overflow-y: auto; + } + } + + thead { + color: $--table-header-font-color; + font-weight: 500; + + &.is-group { + th.el-table__cell { + background: $--background-color-base; + } + } + } + + .el-table__cell { + padding: 12px 0; + min-width: 0; + box-sizing: border-box; + text-overflow: ellipsis; + vertical-align: middle; + position: relative; + text-align: left; + + @include when(center) { + text-align: center; + } + + @include when(right) { + text-align: right; + } + + &.gutter { + width: 15px; + border-right-width: 0; + border-bottom-width: 0; + padding: 0; + } + + &.is-hidden { + > * { + visibility: hidden; + } + } + } + + @include m(medium) { + .el-table__cell { + padding: 10px 0; + } + } + + @include m(small) { + font-size: 12px; + .el-table__cell { + padding: 8px 0; + } + } + + @include m(mini) { + font-size: 12px; + .el-table__cell { + padding: 6px 0; + } + } + + tr { + background-color: $--color-white; + + input[type="checkbox"] { + margin: 0; + } + } + + th.el-table__cell.is-leaf, + td.el-table__cell { + border-bottom: $--table-border; + } + + th.el-table__cell.is-sortable { + cursor: pointer; + } + + th.el-table__cell { + overflow: hidden; + user-select: none; + background-color: $--table-header-background-color; + + > .cell { + display: inline-block; + box-sizing: border-box; + position: relative; + vertical-align: middle; + padding-left: 10px; + padding-right: 10px; + width: 100%; + + &.highlight { + color: $--color-primary; + } + } + + &.required > div::before { + display: inline-block; + content: ""; + width: 8px; + height: 8px; + border-radius: 50%; + background: #ff4d51; + margin-right: 5px; + vertical-align: middle; + } + } + + td.el-table__cell { + div { + box-sizing: border-box; + } + + &.gutter { + width: 0; + } + } + + .cell { + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + word-break: break-all; + line-height: 23px; + padding-left: 10px; + padding-right: 10px; + + &.el-tooltip { + white-space: nowrap; + min-width: 50px; + } + } + + // ����漣銵典仍 + @include m((group, border)) { + border: $--table-border; + + @include share-rule(border-pseudo) { + content: ''; + position: absolute; + background-color: $--table-border-color; + z-index: 1; + } + + // 銵冽��隡� border + &::after { + @include extend-rule(border-pseudo); + top: 0; + right: 0; + width: 1px; + height: 100%; + } + } + + // 銵冽摨隡� border嚗�餅���� + &::before { + @include extend-rule(border-pseudo); + left: 0; + bottom: 0; + width: 100%; + height: 1px; + } + + // table--border + @include m(border) { + border-right: none; + border-bottom: none; + + &.el-loading-parent--relative { + border-color: transparent; + } + + .el-table__cell { + border-right: $--table-border; + + &:first-child .cell { + padding-left: 10px; + } + } + + th.el-table__cell.gutter:last-of-type { + border-bottom: $--table-border; + border-bottom-width: 1px; + } + + & th.el-table__cell { + border-bottom: $--table-border; + } + } + + @include m(hidden) { + visibility: hidden; + } + + @include e((fixed, fixed-right)) { + position: absolute; + top: 0; + left: 0; + overflow-x: hidden; + overflow-y: hidden; + box-shadow: $--table-fixed-box-shadow; + + &::before { + content: ''; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 1px; + background-color: $--border-color-lighter; + z-index: 4; + } + } + + @include e(fixed-right-patch) { + position: absolute; + top: -1px; + right: 0; + background-color: $--color-white; + border-bottom: $--table-border; + } + + @include e(fixed-right) { + top: 0; + left: auto; + right: 0; + + .el-table__fixed-header-wrapper, + .el-table__fixed-body-wrapper, + .el-table__fixed-footer-wrapper { + left: auto; + right: 0; + } + } + + @include e(fixed-header-wrapper) { + position: absolute; + left: 0; + top: 0; + z-index: 3; + } + + @include e(fixed-footer-wrapper) { + position: absolute; + left: 0; + bottom: 0; + z-index: 3; + + & tbody td.el-table__cell { + border-top: $--table-border; + background-color: $--table-row-hover-background-color; + color: $--table-font-color; + } + } + + @include e(fixed-body-wrapper) { + position: absolute; + left: 0; + top: 37px; + overflow: hidden; + z-index: 3; + } + + @include e((header-wrapper, body-wrapper, footer-wrapper)) { + width: 100%; + } + + @include e(footer-wrapper) { + margin-top: -1px; + td.el-table__cell { + border-top: $--table-border; + } + } + + @include e((header, body, footer)) { + table-layout: fixed; + border-collapse: separate; + } + + @include e((header-wrapper, footer-wrapper)) { + overflow: hidden; + + & tbody td.el-table__cell { + background-color: $--table-row-hover-background-color; + color: $--table-font-color; + } + } + + @include e(body-wrapper) { + overflow: hidden; + position: relative; + + @include when(scrolling-none) { + ~ .el-table__fixed, + ~ .el-table__fixed-right { + box-shadow: none; + } + } + + @include when(scrolling-left) { + ~ .el-table__fixed { + box-shadow: none; + } + } + + @include when(scrolling-right) { + ~ .el-table__fixed-right { + box-shadow: none; + } + } + + .el-table--border { + @include when(scrolling-right) { + ~ .el-table__fixed-right { + border-left: $--table-border; + } + } + + @include when(scrolling-left) { + ~ .el-table__fixed { + border-right: $--table-border; + } + } + } + } + + .caret-wrapper { + display: inline-flex; + flex-direction: column; + align-items: center; + height: 34px; + width: 24px; + vertical-align: middle; + cursor: pointer; + overflow: initial; + position: relative; + } + + .sort-caret { + width: 0; + height: 0; + border: solid 5px transparent; + position: absolute; + left: 7px; + + &.ascending { + border-bottom-color: $--color-text-placeholder; + top: 5px; + } + + &.descending { + border-top-color: $--color-text-placeholder; + bottom: 7px; + } + } + + .ascending .sort-caret.ascending { + border-bottom-color: $--color-primary; + } + + .descending .sort-caret.descending { + border-top-color: $--color-primary; + } + + .hidden-columns { + visibility: hidden; + position: absolute; + z-index: -1; + } + + @include m(striped) { + & .el-table__body { + & tr.el-table__row--striped { + td.el-table__cell { + background: #FAFAFA; + } + + &.current-row td.el-table__cell { + background-color: $--table-current-row-background-color; + } + } + } + } + + @include e(body) { + tr.hover-row { + &, &.el-table__row--striped { + &, &.current-row { + > td.el-table__cell { + background-color: $--table-row-hover-background-color; + } + } + } + } + + tr.current-row > td.el-table__cell { + background-color: $--table-current-row-background-color; + } + } + + @include e(column-resize-proxy) { + position: absolute; + left: 200px; + top: 0; + bottom: 0; + width: 0; + border-left: $--table-border; + z-index: 10; + } + + @include e(column-filter-trigger) { + display: inline-block; + line-height: 34px; + cursor: pointer; + + & i { + color: $--color-info; + font-size: 12px; + transform: scale(.75); + } + } + + @include m(enable-row-transition) { + .el-table__body td.el-table__cell { + transition: background-color .25s ease; + } + } + + @include m(enable-row-hover) { + .el-table__body tr:hover > td.el-table__cell { + background-color: $--table-row-hover-background-color; + } + } + + @include m(fluid-height) { + .el-table__fixed, + .el-table__fixed-right { + bottom: 0; + overflow: hidden; + } + } + + [class*=el-table__row--level] { + .el-table__expand-icon { + display: inline-block; + width: 20px; + line-height: 20px; + height: 20px; + text-align: center; + margin-right: 3px; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tabs.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tabs.scss new file mode 100644 index 0000000..7385c2f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tabs.scss @@ -0,0 +1,602 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(tabs) { + @include e(header) { + padding: 0; + position: relative; + margin: 0 0 15px; + } + @include e(active-bar) { + position: absolute; + bottom: 0; + left: 0; + height: 2px; + background-color: $--color-primary; + z-index: 1; + transition: transform .3s cubic-bezier(.645,.045,.355,1); + list-style: none; + } + @include e(new-tab) { + float: right; + border: 1px solid #d3dce6; + height: 18px; + width: 18px; + line-height: 18px; + margin: 12px 0 9px 10px; + border-radius: 3px; + text-align: center; + font-size: 12px; + color: #d3dce6; + cursor: pointer; + transition: all .15s; + + .el-icon-plus { + transform: scale(0.8, 0.8); + } + + &:hover { + color: $--color-primary; + } + } + @include e(nav-wrap) { + overflow: hidden; + margin-bottom: -1px; + position: relative; + + &::after { + content: ""; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 2px; + background-color: $--border-color-light; + z-index: $--index-normal; + } + + @include when(scrollable) { + padding: 0 20px; + box-sizing: border-box; + } + } + @include e(nav-scroll) { + overflow: hidden; + } + @include e((nav-next, nav-prev)) { + position: absolute; + cursor: pointer; + line-height: 44px; + font-size: 12px; + color: $--color-text-secondary; + } + @include e(nav-next) { + right: 0; + } + @include e(nav-prev) { + left: 0; + } + @include e(nav) { + white-space: nowrap; + position: relative; + transition: transform .3s; + float: left; + z-index: #{$--index-normal + 1}; + + @include when(stretch) { + min-width: 100%; + display: flex; + & > * { + flex: 1; + text-align: center; + } + } + } + @include e(item) { + padding: 0 20px; + height: 40px; + box-sizing: border-box; + line-height: 40px; + display: inline-block; + list-style: none; + font-size: 14px; + font-weight: 500; + color: $--color-text-primary; + position: relative; + + &:focus, &:focus:active { + outline: none; + } + + &:focus.is-active.is-focus:not(:active) { + box-shadow: 0 0 2px 2px $--color-primary inset; + border-radius: 3px; + } + + & .el-icon-close { + border-radius: 50%; + text-align: center; + transition: all .3s cubic-bezier(.645,.045,.355,1); + margin-left: 5px; + &:before { + transform: scale(.9); + display: inline-block; + } + + &:hover { + background-color: $--color-text-placeholder; + color: $--color-white; + } + } + + @include when(active) { + color: $--color-primary; + } + + &:hover { + color: $--color-primary; + cursor: pointer; + } + + @include when(disabled) { + color: $--disabled-color-base; + cursor: default; + } + } + @include e(content) { + overflow: hidden; + position: relative; + } + @include m(card) { + > .el-tabs__header { + border-bottom: 1px solid $--border-color-light; + } + > .el-tabs__header .el-tabs__nav-wrap::after { + content: none; + } + > .el-tabs__header .el-tabs__nav { + border: 1px solid $--border-color-light; + border-bottom: none; + border-radius: 4px 4px 0 0; + box-sizing: border-box; + } + > .el-tabs__header .el-tabs__active-bar { + display: none; + } + > .el-tabs__header .el-tabs__item .el-icon-close { + position: relative; + font-size: 12px; + width: 0; + height: 14px; + vertical-align: middle; + line-height: 15px; + overflow: hidden; + top: -1px; + right: -2px; + transform-origin: 100% 50%; + } + > .el-tabs__header .el-tabs__item { + border-bottom: 1px solid transparent; + border-left: 1px solid $--border-color-light; + transition: color .3s cubic-bezier(.645,.045,.355,1), padding .3s cubic-bezier(.645,.045,.355,1); + &:first-child { + border-left: none; + } + &.is-closable { + &:hover { + padding-left: 13px; + padding-right: 13px; + + & .el-icon-close { + width: 14px; + } + } + } + &.is-active { + border-bottom-color: $--color-white; + + &.is-closable { + padding-left: 20px; + padding-right: 20px; + + .el-icon-close { + width: 14px; + } + } + } + } + } + @include m(border-card) { + background: $--color-white; + border: 1px solid $--border-color-base; + box-shadow: 0 2px 4px 0 rgba(0,0,0,0.12), 0 0 6px 0 rgba(0,0,0,0.04); + + > .el-tabs__content { + padding: 15px; + } + > .el-tabs__header { + background-color: $--background-color-base; + border-bottom: 1px solid $--border-color-light; + margin: 0; + } + > .el-tabs__header .el-tabs__nav-wrap::after { + content: none; + } + > .el-tabs__header .el-tabs__item { + transition: all .3s cubic-bezier(.645,.045,.355,1); + border: 1px solid transparent; + margin-top: -1px; + color: $--color-text-secondary; + + &:first-child { + margin-left: -1px; + } + + & + .el-tabs__item { + margin-left: -1px; + } + + &.is-active { + color: $--color-primary; + background-color: $--color-white; + border-right-color: $--border-color-base; + border-left-color: $--border-color-base; + } + &:not(.is-disabled):hover { + color: $--color-primary; + } + &.is-disabled { + color: $--disabled-color-base; + } + } + + > .el-tabs__header .is-scrollable .el-tabs__item:first-child { + margin-left: 0; + } + } + @include m((top, bottom)) { + .el-tabs__item.is-top:nth-child(2), + .el-tabs__item.is-bottom:nth-child(2) { + padding-left: 0; + } + .el-tabs__item.is-top:last-child, + .el-tabs__item.is-bottom:last-child { + padding-right: 0; + } + + &.el-tabs--border-card, &.el-tabs--card, + .el-tabs--left, .el-tabs--right { + > .el-tabs__header { + .el-tabs__item:nth-child(2) { + padding-left: 20px; + } + .el-tabs__item:last-child { + padding-right: 20px; + } + } + } + } + @include m(bottom) { + .el-tabs__header.is-bottom { + margin-bottom: 0; + margin-top: 10px; + } + &.el-tabs--border-card { + .el-tabs__header.is-bottom { + border-bottom: 0; + border-top: 1px solid $--border-color-base; + } + .el-tabs__nav-wrap.is-bottom { + margin-top: -1px; + margin-bottom: 0; + } + .el-tabs__item.is-bottom:not(.is-active) { + border: 1px solid transparent; + } + .el-tabs__item.is-bottom { + margin: 0 -1px -1px -1px; + } + } + } + @include m((left, right)) { + overflow: hidden; + + .el-tabs__header.is-left, + .el-tabs__header.is-right, + .el-tabs__nav-wrap.is-left, + .el-tabs__nav-wrap.is-right, + .el-tabs__nav-scroll { + height: 100%; + } + + .el-tabs__active-bar.is-left, + .el-tabs__active-bar.is-right { + top: 0; + bottom: auto; + width: 2px; + height: auto; + } + + .el-tabs__nav-wrap.is-left, + .el-tabs__nav-wrap.is-right { + margin-bottom: 0; + + > .el-tabs__nav-prev, + > .el-tabs__nav-next { + height: 30px; + line-height: 30px; + width: 100%; + text-align: center; + cursor: pointer; + + i { + transform: rotateZ(90deg); + } + } + > .el-tabs__nav-prev { + left: auto; + top: 0; + } + > .el-tabs__nav-next { + right: auto; + bottom: 0; + } + + &.is-scrollable { + padding: 30px 0; + } + + &::after { + height: 100%; + width: 2px; + bottom: auto; + top: 0; + } + } + + .el-tabs__nav.is-left, + .el-tabs__nav.is-right { + float: none; + } + .el-tabs__item.is-left, + .el-tabs__item.is-right { + display: block; + } + } + @include m(left) { + .el-tabs__header.is-left { + float: left; + margin-bottom: 0; + margin-right: 10px; + } + .el-tabs__nav-wrap.is-left { + margin-right: -1px; + &::after { + left: auto; + right: 0; + } + } + .el-tabs__active-bar.is-left { + right: 0; + left: auto; + } + .el-tabs__item.is-left { + text-align: right; + } + + &.el-tabs--card { + .el-tabs__active-bar.is-left { + display: none; + } + .el-tabs__item.is-left { + border-left: none; + border-right: 1px solid $--border-color-light; + border-bottom: none; + border-top: 1px solid $--border-color-light; + text-align: left; + } + .el-tabs__item.is-left:first-child { + border-right: 1px solid $--border-color-light; + border-top: none; + } + .el-tabs__item.is-left.is-active { + border: 1px solid $--border-color-light; + border-right-color: #fff; + border-left: none; + border-bottom: none; + + &:first-child { + border-top: none; + } + &:last-child { + border-bottom: none; + } + } + + .el-tabs__nav { + border-radius: 4px 0 0 4px; + border-bottom: 1px solid $--border-color-light; + border-right: none; + } + + .el-tabs__new-tab { + float: none; + } + } + + &.el-tabs--border-card { + .el-tabs__header.is-left { + border-right: 1px solid #dfe4ed; + } + .el-tabs__item.is-left { + border: 1px solid transparent; + margin: -1px 0 -1px -1px; + + &.is-active { + border-color: transparent; + border-top-color: rgb(209, 219, 229); + border-bottom-color: rgb(209, 219, 229); + } + } + } + } + @include m(right) { + .el-tabs__header.is-right { + float: right; + margin-bottom: 0; + margin-left: 10px; + } + + .el-tabs__nav-wrap.is-right { + margin-left: -1px; + &::after { + left: 0; + right: auto; + } + } + + .el-tabs__active-bar.is-right { + left: 0; + } + + &.el-tabs--card { + .el-tabs__active-bar.is-right { + display: none; + } + .el-tabs__item.is-right { + border-bottom: none; + border-top: 1px solid $--border-color-light; + } + .el-tabs__item.is-right:first-child { + border-left: 1px solid $--border-color-light; + border-top: none; + } + .el-tabs__item.is-right.is-active { + border: 1px solid $--border-color-light; + border-left-color: #fff; + border-right: none; + border-bottom: none; + + &:first-child { + border-top: none; + } + &:last-child { + border-bottom: none; + } + } + + .el-tabs__nav { + border-radius: 0 4px 4px 0; + border-bottom: 1px solid $--border-color-light; + border-left: none; + } + } + &.el-tabs--border-card { + .el-tabs__header.is-right { + border-left: 1px solid #dfe4ed; + } + .el-tabs__item.is-right { + border: 1px solid transparent; + margin: -1px -1px -1px 0; + + &.is-active { + border-color: transparent; + border-top-color: rgb(209, 219, 229); + border-bottom-color: rgb(209, 219, 229); + } + } + } + } +} + +.slideInRight-transition, +.slideInLeft-transition { + display: inline-block; +} +.slideInRight-enter { + animation: slideInRight-enter .3s; +} +.slideInRight-leave { + position: absolute; + left: 0; + right: 0; + animation: slideInRight-leave .3s; +} +.slideInLeft-enter { + animation: slideInLeft-enter .3s; +} +.slideInLeft-leave { + position: absolute; + left: 0; + right: 0; + animation: slideInLeft-leave .3s; +} + +@keyframes slideInRight-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} +@keyframes slideInRight-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(100%); + transform: translateX(100%); + opacity: 0 + } +} +@keyframes slideInLeft-enter { + 0% { + opacity: 0; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%) + } + + to { + opacity: 1; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0) + } +} +@keyframes slideInLeft-leave { + 0% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(0); + transform: translateX(0); + opacity: 1 + } + + 100% { + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); + opacity: 0 + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tag.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tag.scss new file mode 100644 index 0000000..1622902 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tag.scss @@ -0,0 +1,163 @@ +@import "mixins/mixins"; +@import "common/var"; + +@mixin genTheme($backgroundColorWeight, $borderColorWeight, $fontColorWeight, $hoverColorWeight) { + background-color: mix($--tag-primary-color, $--color-white, $backgroundColorWeight); + border-color: mix($--tag-primary-color, $--color-white, $borderColorWeight); + color: mix($--tag-primary-color, $--color-white, $fontColorWeight); + + @include when(hit) { + border-color: $--tag-primary-color; + } + + .el-tag__close { + color: mix($--tag-primary-color, $--color-white, $fontColorWeight); + &:hover { + color: $--color-white; + background-color: mix($--tag-primary-color, $--color-white, $hoverColorWeight); + } + } + + &.el-tag--info { + background-color: mix($--tag-info-color, $--color-white, $backgroundColorWeight); + border-color: mix($--tag-info-color, $--color-white, $borderColorWeight); + color: mix($--tag-info-color, $--color-white, $fontColorWeight); + + @include when(hit) { + border-color: $--tag-info-color; + } + + .el-tag__close { + color: mix($--tag-info-color, $--color-white, $fontColorWeight); + &:hover { + color: $--color-white; + background-color: mix($--tag-info-color, $--color-white, $hoverColorWeight); + } + } + } + + &.el-tag--success { + background-color: mix($--tag-success-color, $--color-white, $backgroundColorWeight); + border-color: mix($--tag-success-color, $--color-white, $borderColorWeight); + color: mix($--tag-success-color, $--color-white, $fontColorWeight); + + @include when(hit) { + border-color: $--tag-success-color; + } + + .el-tag__close { + color: mix($--tag-success-color, $--color-white, $fontColorWeight); + &:hover { + color: $--color-white; + background-color: mix($--tag-success-color, $--color-white, $hoverColorWeight); + } + } + } + + &.el-tag--warning { + background-color: mix($--tag-warning-color, $--color-white, $backgroundColorWeight); + border-color: mix($--tag-warning-color, $--color-white, $borderColorWeight); + color: mix($--tag-warning-color, $--color-white, $fontColorWeight); + + @include when(hit) { + border-color: $--tag-warning-color; + } + + .el-tag__close { + color: mix($--tag-warning-color, $--color-white, $fontColorWeight); + &:hover { + color: $--color-white; + background-color: mix($--tag-warning-color, $--color-white, $hoverColorWeight); + } + } + } + + &.el-tag--danger { + background-color: mix($--tag-danger-color, $--color-white, $backgroundColorWeight); + border-color: mix($--tag-danger-color, $--color-white, $borderColorWeight); + color: mix($--tag-danger-color, $--color-white, $fontColorWeight); + + @include when(hit) { + border-color: $--tag-danger-color; + } + + .el-tag__close { + color: mix($--tag-danger-color, $--color-white, $fontColorWeight); + &:hover { + color: $--color-white; + background-color: mix($--tag-danger-color, $--color-white, $hoverColorWeight); + } + } + } +} + +@include b(tag) { + @include genTheme(10%, 20%, 100%, 100%); + display: inline-block; + height: 32px; + padding: $--tag-padding; + line-height: 30px; + font-size: $--tag-font-size; + color: $--tag-primary-color; + border-width: 1px; + border-style: solid; + border-radius: $--tag-border-radius; + box-sizing: border-box; + white-space: nowrap; + + .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + height: 16px; + width: 16px; + line-height: 16px; + vertical-align: middle; + top: -1px; + right: -5px; + + &::before { + display: block; + } + } + + @include m(dark) { + @include genTheme(100%, 100%, 0, 80%); + } + + @include m(plain) { + @include genTheme(0, 40%, 100%, 100%); + } + + @include m(medium) { + height: 28px; + line-height: 26px; + + .el-icon-close { + transform: scale(.8); + } + } + + @include m(small) { + height: 24px; + padding: 0 8px; + line-height: 22px; + + .el-icon-close { + transform: scale(.8); + } + } + + @include m(mini) { + height: 20px; + padding: 0 5px; + line-height: 19px; + + .el-icon-close { + margin-left: -3px; + transform: scale(.7); + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-picker.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-picker.scss new file mode 100644 index 0000000..10aaf54 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-picker.scss @@ -0,0 +1,8 @@ +@import "./date-picker/picker.scss"; +@import "./date-picker/picker-panel.scss"; +@import "./date-picker/time-spinner.scss"; +@import "./date-picker/time-picker.scss"; +@import "./date-picker/time-range-picker.scss"; +@import "./input.scss"; +@import "./scrollbar.scss"; +@import "./popper"; diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-select.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-select.scss new file mode 100644 index 0000000..0de3853 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/time-select.scss @@ -0,0 +1,37 @@ +@import "common/var"; +@import "./date-picker/picker.scss"; +@import "./date-picker/date-picker.scss"; +@import "./scrollbar.scss"; +@import "./popper"; + +.time-select { + margin: 5px 0; + min-width: 0; +} + +.time-select .el-picker-panel__content { + max-height: 200px; + margin: 0; +} + +.time-select-item { + padding: 8px 10px; + font-size: 14px; + line-height: 20px; +} + +.time-select-item.selected:not(.disabled) { + color: $--color-primary; + font-weight: bold; +} + +.time-select-item.disabled { + color: $--datepicker-border-color; + cursor: not-allowed; +} + +.time-select-item:hover { + background-color: $--background-color-base; + font-weight: bold; + cursor: pointer; +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline-item.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline-item.scss new file mode 100644 index 0000000..b36ed2b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline-item.scss @@ -0,0 +1,86 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(timeline-item) { + position: relative; + padding-bottom: 20px; + + @include e(wrapper) { + position: relative; + padding-left: 28px; + top: -3px; + } + + @include e(tail) { + position: absolute; + left: 4px; + height: 100%; + border-left: 2px solid $--timeline-node-color; + } + + @include e(icon) { + color: $--color-white; + font-size: $--font-size-small; + } + + @include e(node) { + position: absolute; + background-color: $--timeline-node-color; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + + @include m(normal) { + left: -1px; + width: $--timeline-node-size-normal; + height: $--timeline-node-size-normal; + } + @include m(large) { + left: -2px; + width: $--timeline-node-size-large; + height: $--timeline-node-size-large; + } + + @include m(primary) { + background-color: $--color-primary; + } + @include m(success) { + background-color: $--color-success; + } + @include m(warning) { + background-color: $--color-warning; + } + @include m(danger) { + background-color: $--color-danger; + } + @include m(info) { + background-color: $--color-info; + } + } + + @include e(dot) { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + } + + @include e(content) { + color: $--color-text-primary; + } + + @include e(timestamp) { + color: $--color-text-secondary; + line-height: 1; + font-size: $--font-size-small; + + @include when(top) { + margin-bottom: 8px; + padding-top: 4px; + } + @include when(bottom) { + margin-top: 8px; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline.scss new file mode 100644 index 0000000..60a779e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/timeline.scss @@ -0,0 +1,14 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(timeline) { + margin: 0; + font-size: $--font-size-base; + list-style: none; + + & .el-timeline-item:last-child { + & .el-timeline-item__tail { + display: none; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tooltip.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tooltip.scss new file mode 100644 index 0000000..0a016a8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tooltip.scss @@ -0,0 +1,141 @@ +@import "mixins/mixins"; +@import "common/var"; + +@include b(tooltip) { + &:focus:not(.focusing), &:focus:hover { + outline-width: 0; + } + @include e(popper) { + position: absolute; + border-radius: 4px; + padding: $--tooltip-padding; + z-index: $--index-popper; + font-size: $--tooltip-font-size; + line-height: 1.2; + min-width: 10px; + word-wrap: break-word; + + .popper__arrow, + .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } + + .popper__arrow { + border-width: $--tooltip-arrow-size; + } + + .popper__arrow::after { + content: " "; + border-width: 5px; + } + + &[x-placement^="top"] { + margin-bottom: #{$--tooltip-arrow-size + 6px}; + } + + &[x-placement^="top"] .popper__arrow { + bottom: -$--tooltip-arrow-size; + border-top-color: $--tooltip-border-color; + border-bottom-width: 0; + + &::after { + bottom: 1px; + margin-left: -5px; + border-top-color: $--tooltip-fill; + border-bottom-width: 0; + } + } + + &[x-placement^="bottom"] { + margin-top: #{$--tooltip-arrow-size + 6px}; + } + + &[x-placement^="bottom"] .popper__arrow { + top: -$--tooltip-arrow-size; + border-top-width: 0; + border-bottom-color: $--tooltip-border-color; + + &::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: $--tooltip-fill; + } + } + + &[x-placement^="right"] { + margin-left: #{$--tooltip-arrow-size + 6px}; + } + + &[x-placement^="right"] .popper__arrow { + left: -$--tooltip-arrow-size; + border-right-color: $--tooltip-border-color; + border-left-width: 0; + + &::after { + bottom: -5px; + left: 1px; + border-right-color: $--tooltip-fill; + border-left-width: 0; + } + } + + &[x-placement^="left"] { + margin-right: #{$--tooltip-arrow-size + 6px}; + } + + &[x-placement^="left"] .popper__arrow { + right: -$--tooltip-arrow-size; + border-right-width: 0; + border-left-color: $--tooltip-border-color; + + &::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: $--tooltip-fill; + } + } + + @include when(dark) { + background: $--tooltip-fill; + color: $--tooltip-color; + } + + @include when(light) { + background: $--tooltip-color; + border: 1px solid $--tooltip-fill; + + &[x-placement^="top"] .popper__arrow { + border-top-color: $--tooltip-fill; + &::after { + border-top-color: $--tooltip-color; + } + } + &[x-placement^="bottom"] .popper__arrow { + border-bottom-color: $--tooltip-fill; + &::after { + border-bottom-color: $--tooltip-color; + } + } + &[x-placement^="left"] .popper__arrow { + border-left-color: $--tooltip-fill; + &::after { + border-left-color: $--tooltip-color; + } + } + &[x-placement^="right"] .popper__arrow { + border-right-color: $--tooltip-fill; + &::after { + border-right-color: $--tooltip-color; + } + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/transfer.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/transfer.scss new file mode 100644 index 0000000..fea7d7b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/transfer.scss @@ -0,0 +1,227 @@ +@import "mixins/mixins"; +@import "mixins/utils"; +@import "common/var"; +@import "input"; +@import "button"; +@import "checkbox"; +@import "checkbox-group"; + +@include b(transfer) { + font-size: $--font-size-base; + + @include e(buttons) { + display: inline-block; + vertical-align: middle; + padding: 0 30px; + } + + @include e(button) { + display: block; + margin: 0 auto; + padding: 10px; + border-radius: 50%; + color: $--color-white; + background-color: $--color-primary; + font-size: 0; + + @include when(with-texts) { + border-radius: $--border-radius-base; + } + + @include when(disabled) { + border: $--border-base; + background-color: $--background-color-base; + color: $--color-text-placeholder; + + &:hover { + border: $--border-base; + background-color: $--background-color-base; + color: $--color-text-placeholder; + } + } + + &:first-child { + margin-bottom: 10px; + } + + &:nth-child(2) { + margin: 0; + } + + i, span { + font-size: 14px; + } + + & [class*="el-icon-"] + span { + margin-left: 0; + } + } +} + +@include b(transfer-panel) { + border: 1px solid $--transfer-border-color; + border-radius: $--transfer-border-radius; + overflow: hidden; + background: $--color-white; + display: inline-block; + vertical-align: middle; + width: $--transfer-panel-width; + max-height: 100%; + box-sizing: border-box; + position: relative; + + @include e(body) { + height: $--transfer-panel-body-height; + + @include when(with-footer) { + padding-bottom: $--transfer-panel-footer-height; + } + } + + @include e(list) { + margin: 0; + padding: 6px 0; + list-style: none; + height: $--transfer-panel-body-height; + overflow: auto; + box-sizing: border-box; + + @include when(filterable) { + height: #{$--transfer-panel-body-height - $--transfer-filter-height - 20px}; + padding-top: 0; + } + } + + @include e(item) { + height: $--transfer-item-height; + line-height: $--transfer-item-height; + padding-left: 15px; + display: block !important; + + & + .el-transfer-panel__item { + margin-left: 0; + } + + &.el-checkbox { + color: $--color-text-regular; + } + + &:hover { + color: $--color-primary; + } + + &.el-checkbox .el-checkbox__label { + width: 100%; + @include utils-ellipsis; + display: block; + box-sizing: border-box; + padding-left: 24px; + line-height: $--transfer-item-height; + } + + .el-checkbox__input { + position: absolute; + top: 8px; + } + } + + @include e(filter) { + text-align: center; + margin: 15px; + box-sizing: border-box; + display: block; + width: auto; + + .el-input__inner { + height: $--transfer-filter-height; + width: 100%; + font-size: 12px; + display: inline-block; + box-sizing: border-box; + border-radius: #{$--transfer-filter-height / 2}; + padding-right: 10px; + padding-left: 30px; + } + + .el-input__icon { + margin-left: 5px; + } + + .el-icon-circle-close { + cursor: pointer; + } + } + + .el-transfer-panel__header { + height: $--transfer-panel-header-height; + line-height: $--transfer-panel-header-height; + background: $--transfer-panel-header-background-color; + margin: 0; + padding-left: 15px; + border-bottom: 1px solid $--transfer-border-color; + box-sizing: border-box; + color: $--color-black; + + .el-checkbox { + display: block; + line-height: 40px; + + .el-checkbox__label { + font-size: 16px; + color: $--color-text-primary; + font-weight: normal; + + span { + position: absolute; + right: 15px; + color: $--color-text-secondary; + font-size: 12px; + font-weight: normal; + } + } + } + } + + .el-transfer-panel__footer { + height: $--transfer-panel-footer-height; + background: $--color-white; + margin: 0; + padding: 0; + border-top: 1px solid $--transfer-border-color; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + z-index: $--index-normal; + @include utils-vertical-center; + + .el-checkbox { + padding-left: 20px; + color: $--color-text-regular; + } + } + + .el-transfer-panel__empty { + margin: 0; + height: $--transfer-item-height; + line-height: $--transfer-item-height; + padding: 6px 15px 0; + color: $--color-text-secondary; + text-align: center; + } + + .el-checkbox__label { + padding-left: 8px; + } + + .el-checkbox__inner { + height: 14px; + width: 14px; + border-radius: 3px; + &::after { + height: 6px; + width: 3px; + left: 4px; + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tree.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tree.scss new file mode 100644 index 0000000..c3b18de --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/tree.scss @@ -0,0 +1,123 @@ +@import "mixins/mixins"; +@import "common/var"; +@import "common/transition"; +@import "checkbox"; + +@include b(tree) { + position: relative; + cursor: default; + background: $--color-white; + color: $--tree-font-color; + + @include e(empty-block) { + position: relative; + min-height: 60px; + text-align: center; + width: 100%; + height: 100%; + } + + @include e(empty-text) { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: $--color-text-secondary; + font-size: $--font-size-base; + } + + @include e(drop-indicator) { + position: absolute; + left: 0; + right: 0; + height: 1px; + background-color: $--color-primary; + } +} + +@include b(tree-node) { + white-space: nowrap; + outline: none; + &:focus { /* focus */ + > .el-tree-node__content { + background-color: $--tree-node-hover-background-color; + } + } + + @include when(drop-inner) { + > .el-tree-node__content .el-tree-node__label { + background-color: $--color-primary; + color: #fff; + } + } + + @include e(content) { + display: flex; + align-items: center; + height: 26px; + cursor: pointer; + + & > .el-tree-node__expand-icon { + padding: 6px; + } + & > label.el-checkbox { + margin-right: 8px; + } + &:hover { + background-color: $--tree-node-hover-background-color; + } + + .el-tree.is-dragging & { + cursor: move; + + & * { + pointer-events: none; + } + } + + .el-tree.is-dragging.is-drop-not-allow & { + cursor: not-allowed; + } + } + + @include e(expand-icon) { + cursor: pointer; + color: $--tree-expand-icon-color; + font-size: 12px; + + transform: rotate(0deg); + transition: transform 0.3s ease-in-out; + + &.expanded { + transform: rotate(90deg); + } + + &.is-leaf { + color: transparent; + cursor: default; + } + } + + @include e(label) { + font-size: $--font-size-base; + } + + @include e(loading-icon) { + margin-right: 8px; + font-size: $--font-size-base; + color: $--tree-expand-icon-color; + } + + & > .el-tree-node__children { + overflow: hidden; + background-color: transparent; + } + + &.is-expanded > .el-tree-node__children { + display: block; + } +} + +.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { + background-color: mix($--color-white, $--color-primary, 92%); +} diff --git a/PAMapp/local_modules/element-ui/packages/theme-chalk/src/upload.scss b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/upload.scss new file mode 100644 index 0000000..aebbc1c --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/theme-chalk/src/upload.scss @@ -0,0 +1,603 @@ +@import "mixins/mixins"; +@import "progress"; +@import "common/var"; + +@include b(upload) { + display: inline-block; + text-align: center; + cursor: pointer; + outline: none; + @include e(input) { + display: none; + } + + @include e(tip) { + font-size: 12px; + color: $--color-text-regular; + margin-top: 7px; + } + + iframe { + position: absolute; + z-index: -1; + top: 0; + left: 0; + opacity: 0; + filter: alpha(opacity=0); + } + + /* ����芋撘� */ + @include m(picture-card) { + background-color: #fbfdff; + border: 1px dashed #c0ccda; + border-radius: 6px; + box-sizing: border-box; + width: 148px; + height: 148px; + cursor: pointer; + line-height: 146px; + vertical-align: top; + + i { + font-size: 28px; + color: #8c939d; + } + + &:hover { + border-color: $--color-primary; + color: $--color-primary; + } + } + &:focus { + border-color: $--color-primary; + color: $--color-primary; + + .el-upload-dragger { + border-color: $--color-primary; + } + } +} + +@include b(upload-dragger) { + background-color: #fff; + border: 1px dashed #d9d9d9; + border-radius: 6px; + box-sizing: border-box; + width: 360px; + height: 180px; + text-align: center; + cursor: pointer; + position: relative; + overflow: hidden; + + .el-icon-upload { + font-size: 67px; + color: $--color-text-placeholder; + margin: 40px 0 16px; + line-height: 50px; + } + + + .el-upload__tip { + text-align: center; + } + + ~ .el-upload__files { + border-top: $--border-base; + margin-top: 7px; + padding-top: 5px; + } + + .el-upload__text { + color: $--color-text-regular; + font-size: 14px; + text-align: center; + + em { + color: $--color-primary; + font-style: normal; + } + } + + &:hover { + border-color: $--color-primary; + } + + @include when(dragover) { + background-color: rgba(32, 159, 255, .06); + border: 2px dashed $--color-primary; + } +} + +@include b(upload-list) { + margin: 0; + padding: 0; + list-style: none; + + @include e(item) { + transition: all .5s cubic-bezier(.55,0,.1,1); + font-size: 14px; + color: $--color-text-regular; + line-height: 1.8; + margin-top: 5px; + position: relative; + box-sizing: border-box; + border-radius: 4px; + width: 100%; + + .el-progress { + position: absolute; + top: 20px; + width: 100%; + } + + .el-progress__text { + position: absolute; + right: 0; + top: -13px; + } + + .el-progress-bar { + margin-right: 0; + padding-right: 0; + } + + &:first-child { + margin-top: 10px; + } + + & .el-icon-upload-success { + color: $--color-success; + } + + .el-icon-close { + display: none; + position: absolute; + top: 5px; + right: 5px; + cursor: pointer; + opacity: .75; + color: $--color-text-regular; + //transform: scale(.7); + + &:hover { + opacity: 1; + } + } + + & .el-icon-close-tip { + display: none; + position: absolute; + top: 5px; + right: 5px; + font-size: 12px; + cursor: pointer; + opacity: 1; + color: $--color-primary; + } + + &:hover { + background-color: $--background-color-base; + + .el-icon-close { + display: inline-block; + } + + .el-progress__text { + display: none; + } + } + + @include when(success) { + .el-upload-list__item-status-label { + display: block; + } + + .el-upload-list__item-name:hover, .el-upload-list__item-name:focus { + color: $--link-hover-color; + cursor: pointer; + } + + &:focus:not(:hover) { /* ���ocus */ + .el-icon-close-tip { + display: inline-block; + } + } + + &:not(.focusing):focus, &:active { /* click� */ + outline-width: 0; + .el-icon-close-tip { + display: none; + } + } + + &:hover, &:focus { + .el-upload-list__item-status-label { + display: none; + } + } + } + } + + @include when(disabled) { + .el-upload-list__item:hover .el-upload-list__item-status-label { + display: block; + } + } + + @include e(item-name) { + color: $--color-text-regular; + display: block; + margin-right: 40px; + overflow: hidden; + padding-left: 4px; + text-overflow: ellipsis; + transition: color .3s; + white-space: nowrap; + + [class^="el-icon"] { + height: 100%; + margin-right: 7px; + color: $--color-text-secondary; + line-height: inherit; + } + } + + @include e(item-status-label) { + position: absolute; + right: 5px; + top: 0; + line-height: inherit; + display: none; + } + + @include e(item-delete) { + position: absolute; + right: 10px; + top: 0; + font-size: 12px; + color: $--color-text-regular; + display: none; + + &:hover { + color: $--color-primary; + } + } + + @include m(picture-card) { + margin: 0; + display: inline; + vertical-align: top; + + .el-upload-list__item { + overflow: hidden; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + box-sizing: border-box; + width: 148px; + height: 148px; + margin: 0 8px 8px 0; + display: inline-block; + + .el-icon-check, + .el-icon-circle-check { + color: $--color-white; + } + + .el-icon-close { + display: none; + } + &:hover { + .el-upload-list__item-status-label { + display: none; + } + + .el-progress__text { + display: block; + } + } + } + + .el-upload-list__item-name { + display: none; + } + + .el-upload-list__item-thumbnail { + width: 100%; + height: 100%; + } + + .el-upload-list__item-status-label { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 0 1pc 1px rgba(0,0,0,0.2); + + i { + font-size: 12px; + margin-top: 11px; + transform: rotate(-45deg); + } + } + + .el-upload-list__item-actions { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + cursor: default; + text-align: center; + color: #fff; + opacity: 0; + font-size: 20px; + background-color: rgba(0, 0, 0, .5); + transition: opacity .3s; + &::after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle + } + + span { + display: none; + cursor: pointer; + } + + span + span { + margin-left: 15px; + } + + .el-upload-list__item-delete { + position: static; + font-size: inherit; + color: inherit; + } + + &:hover { + opacity: 1; + span { + display: inline-block; + } + } + } + + .el-progress { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + bottom: auto; + width: 126px; + + .el-progress__text { + top: 50%; + } + } + } + + @include m(picture) { + .el-upload-list__item { + overflow: hidden; + z-index: 0; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + box-sizing: border-box; + margin-top: 10px; + padding: 10px 10px 10px 90px; + height: 92px; + + .el-icon-check, + .el-icon-circle-check { + color: $--color-white; + } + + &:hover { + .el-upload-list__item-status-label { + background: transparent; + box-shadow: none; + top: -2px; + right: -12px; + } + + .el-progress__text { + display: block; + } + } + + &.is-success { + .el-upload-list__item-name { + line-height: 70px; + margin-top: 0; + i { + display: none; + } + } + } + } + + .el-upload-list__item-thumbnail { + vertical-align: middle; + display: inline-block; + width: 70px; + height: 70px; + float: left; + position: relative; + z-index: 1; + margin-left: -80px; + background-color: $--color-white + } + + .el-upload-list__item-name { + display: block; + margin-top: 20px; + + i { + font-size: 70px; + line-height: 1; + position: absolute; + left: 9px; + top: 10px; + } + } + + .el-upload-list__item-status-label { + position: absolute; + right: -17px; + top: -7px; + width: 46px; + height: 26px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 1px 1px #ccc; + + i { + font-size: 12px; + margin-top: 12px; + transform: rotate(-45deg); + } + } + + .el-progress { + position: relative; + top: -7px; + } + } +} + +@include b(upload-cover) { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + z-index: 10; + cursor: default; + @include utils-vertical-center; + + img { + display: block; + width: 100%; + height: 100%; + } + + @include e(label) { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 0 1pc 1px rgba(0,0,0,0.2); + + i { + font-size: 12px; + margin-top: 11px; + transform: rotate(-45deg); + color: #fff; + } + } + + @include e(progress) { + display: inline-block; + vertical-align: middle; + position: static; + width: 243px; + + + .el-upload__inner { + opacity: 0; + } + } + + @include e(content) { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + @include e(interact) { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(#000, .72); + text-align: center; + + .btn { + display: inline-block; + color: $--color-white; + font-size: 14px; + cursor: pointer; + vertical-align: middle; + transition: $--md-fade-transition; + margin-top: 60px; + + i { + margin-top: 0; + } + + span { + opacity: 0; + transition: opacity .15s linear; + } + + &:not(:first-child) { + margin-left: 35px; + } + + &:hover { + transform: translateY(-13px); + + span { + opacity: 1; + } + } + + i { + color: $--color-white; + display: block; + font-size: 24px; + line-height: inherit; + margin: 0 auto 5px; + } + } + } + + @include e(title) { + position: absolute; + bottom: 0; + left: 0; + background-color: $--color-white; + height: 36px; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-weight: normal; + text-align: left; + padding: 0 10px; + margin: 0; + line-height: 36px; + font-size: 14px; + color: $--color-text-primary; + } + + + .el-upload__inner { + opacity: 0; + position: relative; + z-index: 1; + } +} diff --git a/PAMapp/local_modules/element-ui/packages/time-picker/index.js b/PAMapp/local_modules/element-ui/packages/time-picker/index.js new file mode 100644 index 0000000..ad692a7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/time-picker/index.js @@ -0,0 +1,8 @@ +import TimePicker from '../date-picker/src/picker/time-picker'; + +/* istanbul ignore next */ +TimePicker.install = function(Vue) { + Vue.component(TimePicker.name, TimePicker); +}; + +export default TimePicker; diff --git a/PAMapp/local_modules/element-ui/packages/time-select/index.js b/PAMapp/local_modules/element-ui/packages/time-select/index.js new file mode 100644 index 0000000..3a51dcd --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/time-select/index.js @@ -0,0 +1,8 @@ +import TimeSelect from '../date-picker/src/picker/time-select'; + +/* istanbul ignore next */ +TimeSelect.install = function(Vue) { + Vue.component(TimeSelect.name, TimeSelect); +}; + +export default TimeSelect; diff --git a/PAMapp/local_modules/element-ui/packages/timeline-item/index.js b/PAMapp/local_modules/element-ui/packages/timeline-item/index.js new file mode 100644 index 0000000..a9e5245 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/timeline-item/index.js @@ -0,0 +1,8 @@ +import ElTimelineItem from '../timeline/src/item'; + +/* istanbul ignore next */ +ElTimelineItem.install = function(Vue) { + Vue.component(ElTimelineItem.name, ElTimelineItem); +}; + +export default ElTimelineItem; diff --git a/PAMapp/local_modules/element-ui/packages/timeline/index.js b/PAMapp/local_modules/element-ui/packages/timeline/index.js new file mode 100644 index 0000000..ddfa6da --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/timeline/index.js @@ -0,0 +1,8 @@ +import Timeline from './src/main'; + +/* istanbul ignore next */ +Timeline.install = function(Vue) { + Vue.component(Timeline.name, Timeline); +}; + +export default Timeline; diff --git a/PAMapp/local_modules/element-ui/packages/timeline/src/item.vue b/PAMapp/local_modules/element-ui/packages/timeline/src/item.vue new file mode 100644 index 0000000..86771bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/timeline/src/item.vue @@ -0,0 +1,73 @@ +<template> + <li class="el-timeline-item"> + <div class="el-timeline-item__tail"></div> + + <div v-if="!$slots.dot" + class="el-timeline-item__node" + :class="[ + `el-timeline-item__node--${size || ''}`, + `el-timeline-item__node--${type || ''}` + ]" + :style="{ + backgroundColor: color + }" + > + <i v-if="icon" + class="el-timeline-item__icon" + :class="icon" + ></i> + </div> + <div v-if="$slots.dot" class="el-timeline-item__dot"> + <slot name="dot"></slot> + </div> + + <div class="el-timeline-item__wrapper"> + <div v-if="!hideTimestamp && placement === 'top'" + class="el-timeline-item__timestamp is-top"> + {{timestamp}} + </div> + + <div class="el-timeline-item__content"> + <slot></slot> + </div> + + <div v-if="!hideTimestamp && placement === 'bottom'" + class="el-timeline-item__timestamp is-bottom"> + {{timestamp}} + </div> + </div> + </li> +</template> + +<script> + export default { + name: 'ElTimelineItem', + + inject: ['timeline'], + + props: { + timestamp: String, + + hideTimestamp: { + type: Boolean, + default: false + }, + + placement: { + type: String, + default: 'bottom' + }, + + type: String, + + color: String, + + size: { + type: String, + default: 'normal' + }, + + icon: String + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/timeline/src/main.vue b/PAMapp/local_modules/element-ui/packages/timeline/src/main.vue new file mode 100644 index 0000000..09c8114 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/timeline/src/main.vue @@ -0,0 +1,33 @@ +<script> + export default { + name: 'ElTimeline', + + props: { + reverse: { + type: Boolean, + default: false + } + }, + + provide() { + return { + timeline: this + }; + }, + + render() { + const reverse = this.reverse; + const classes = { + 'el-timeline': true, + 'is-reverse': reverse + }; + let slots = this.$slots.default || []; + if (reverse) { + slots = slots.reverse(); + } + return (<ul class={ classes }> + { slots } + </ul>); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tooltip/index.js b/PAMapp/local_modules/element-ui/packages/tooltip/index.js new file mode 100644 index 0000000..1e9ac98 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tooltip/index.js @@ -0,0 +1,8 @@ +import Tooltip from './src/main'; + +/* istanbul ignore next */ +Tooltip.install = function(Vue) { + Vue.component(Tooltip.name, Tooltip); +}; + +export default Tooltip; diff --git a/PAMapp/local_modules/element-ui/packages/tooltip/src/main.js b/PAMapp/local_modules/element-ui/packages/tooltip/src/main.js new file mode 100644 index 0000000..dc930ec --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tooltip/src/main.js @@ -0,0 +1,242 @@ +import Popper from 'element-ui/src/utils/vue-popper'; +import debounce from 'throttle-debounce/debounce'; +import { addClass, removeClass, on, off } from 'element-ui/src/utils/dom'; +import { generateId } from 'element-ui/src/utils/util'; +import Vue from 'vue'; + +export default { + name: 'ElTooltip', + + mixins: [Popper], + + props: { + openDelay: { + type: Number, + default: 0 + }, + disabled: Boolean, + manual: Boolean, + effect: { + type: String, + default: 'dark' + }, + arrowOffset: { + type: Number, + default: 0 + }, + popperClass: String, + content: String, + visibleArrow: { + default: true + }, + transition: { + type: String, + default: 'el-fade-in-linear' + }, + popperOptions: { + default() { + return { + boundariesPadding: 10, + gpuAcceleration: false + }; + } + }, + enterable: { + type: Boolean, + default: true + }, + hideAfter: { + type: Number, + default: 0 + }, + tabindex: { + type: Number, + default: 0 + } + }, + + data() { + return { + tooltipId: `el-tooltip-${generateId()}`, + timeoutPending: null, + focusing: false + }; + }, + beforeCreate() { + if (this.$isServer) return; + + this.popperVM = new Vue({ + data: { node: '' }, + render(h) { + return this.node; + } + }).$mount(); + + this.debounceClose = debounce(200, () => this.handleClosePopper()); + }, + + render(h) { + if (this.popperVM) { + this.popperVM.node = ( + <transition + name={ this.transition } + onAfterLeave={ this.doDestroy }> + <div + onMouseleave={ () => { this.setExpectedState(false); this.debounceClose(); } } + onMouseenter= { () => { this.setExpectedState(true); } } + ref="popper" + role="tooltip" + id={this.tooltipId} + aria-hidden={ (this.disabled || !this.showPopper) ? 'true' : 'false' } + v-show={!this.disabled && this.showPopper} + class={ + ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] + }> + { this.$slots.content || this.content } + </div> + </transition>); + } + + const firstElement = this.getFirstElement(); + if (!firstElement) return null; + + const data = firstElement.data = firstElement.data || {}; + data.staticClass = this.addTooltipClass(data.staticClass); + + return firstElement; + }, + + mounted() { + this.referenceElm = this.$el; + if (this.$el.nodeType === 1) { + this.$el.setAttribute('aria-describedby', this.tooltipId); + this.$el.setAttribute('tabindex', this.tabindex); + on(this.referenceElm, 'mouseenter', this.show); + on(this.referenceElm, 'mouseleave', this.hide); + on(this.referenceElm, 'focus', () => { + if (!this.$slots.default || !this.$slots.default.length) { + this.handleFocus(); + return; + } + const instance = this.$slots.default[0].componentInstance; + if (instance && instance.focus) { + instance.focus(); + } else { + this.handleFocus(); + } + }); + on(this.referenceElm, 'blur', this.handleBlur); + on(this.referenceElm, 'click', this.removeFocusing); + } + // fix issue https://github.com/ElemeFE/element/issues/14424 + if (this.value && this.popperVM) { + this.popperVM.$nextTick(() => { + if (this.value) { + this.updatePopper(); + } + }); + } + }, + watch: { + focusing(val) { + if (val) { + addClass(this.referenceElm, 'focusing'); + } else { + removeClass(this.referenceElm, 'focusing'); + } + } + }, + methods: { + show() { + this.setExpectedState(true); + this.handleShowPopper(); + }, + + hide() { + this.setExpectedState(false); + this.debounceClose(); + }, + handleFocus() { + this.focusing = true; + this.show(); + }, + handleBlur() { + this.focusing = false; + this.hide(); + }, + removeFocusing() { + this.focusing = false; + }, + + addTooltipClass(prev) { + if (!prev) { + return 'el-tooltip'; + } else { + return 'el-tooltip ' + prev.replace('el-tooltip', ''); + } + }, + + handleShowPopper() { + if (!this.expectedState || this.manual) return; + clearTimeout(this.timeout); + this.timeout = setTimeout(() => { + this.showPopper = true; + }, this.openDelay); + + if (this.hideAfter > 0) { + this.timeoutPending = setTimeout(() => { + this.showPopper = false; + }, this.hideAfter); + } + }, + + handleClosePopper() { + if (this.enterable && this.expectedState || this.manual) return; + clearTimeout(this.timeout); + + if (this.timeoutPending) { + clearTimeout(this.timeoutPending); + } + this.showPopper = false; + + if (this.disabled) { + this.doDestroy(); + } + }, + + setExpectedState(expectedState) { + if (expectedState === false) { + clearTimeout(this.timeoutPending); + } + this.expectedState = expectedState; + }, + + getFirstElement() { + const slots = this.$slots.default; + if (!Array.isArray(slots)) return null; + let element = null; + for (let index = 0; index < slots.length; index++) { + if (slots[index] && slots[index].tag) { + element = slots[index]; + break; + }; + } + return element; + } + }, + + beforeDestroy() { + this.popperVM && this.popperVM.$destroy(); + }, + + destroyed() { + const reference = this.referenceElm; + if (reference.nodeType === 1) { + off(reference, 'mouseenter', this.show); + off(reference, 'mouseleave', this.hide); + off(reference, 'focus', this.handleFocus); + off(reference, 'blur', this.handleBlur); + off(reference, 'click', this.removeFocusing); + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/transfer/index.js b/PAMapp/local_modules/element-ui/packages/transfer/index.js new file mode 100644 index 0000000..0283e8b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/transfer/index.js @@ -0,0 +1,8 @@ +import Transfer from './src/main'; + +/* istanbul ignore next */ +Transfer.install = function(Vue) { + Vue.component(Transfer.name, Transfer); +}; + +export default Transfer; diff --git a/PAMapp/local_modules/element-ui/packages/transfer/src/main.vue b/PAMapp/local_modules/element-ui/packages/transfer/src/main.vue new file mode 100644 index 0000000..1e93e39 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/transfer/src/main.vue @@ -0,0 +1,231 @@ +<template> + <div class="el-transfer"> + <transfer-panel + v-bind="$props" + ref="leftPanel" + :data="sourceData" + :title="titles[0] || t('el.transfer.titles.0')" + :default-checked="leftDefaultChecked" + :placeholder="filterPlaceholder || t('el.transfer.filterPlaceholder')" + @checked-change="onSourceCheckedChange"> + <slot name="left-footer"></slot> + </transfer-panel> + <div class="el-transfer__buttons"> + <el-button + type="primary" + :class="['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']" + @click.native="addToLeft" + :disabled="rightChecked.length === 0"> + <i class="el-icon-arrow-left"></i> + <span v-if="buttonTexts[0] !== undefined">{{ buttonTexts[0] }}</span> + </el-button> + <el-button + type="primary" + :class="['el-transfer__button', hasButtonTexts ? 'is-with-texts' : '']" + @click.native="addToRight" + :disabled="leftChecked.length === 0"> + <span v-if="buttonTexts[1] !== undefined">{{ buttonTexts[1] }}</span> + <i class="el-icon-arrow-right"></i> + </el-button> + </div> + <transfer-panel + v-bind="$props" + ref="rightPanel" + :data="targetData" + :title="titles[1] || t('el.transfer.titles.1')" + :default-checked="rightDefaultChecked" + :placeholder="filterPlaceholder || t('el.transfer.filterPlaceholder')" + @checked-change="onTargetCheckedChange"> + <slot name="right-footer"></slot> + </transfer-panel> + </div> +</template> + +<script> + import ElButton from 'element-ui/packages/button'; + import Emitter from 'element-ui/src/mixins/emitter'; + import Locale from 'element-ui/src/mixins/locale'; + import TransferPanel from './transfer-panel.vue'; + import Migrating from 'element-ui/src/mixins/migrating'; + + export default { + name: 'ElTransfer', + + mixins: [Emitter, Locale, Migrating], + + components: { + TransferPanel, + ElButton + }, + + props: { + data: { + type: Array, + default() { + return []; + } + }, + titles: { + type: Array, + default() { + return []; + } + }, + buttonTexts: { + type: Array, + default() { + return []; + } + }, + filterPlaceholder: { + type: String, + default: '' + }, + filterMethod: Function, + leftDefaultChecked: { + type: Array, + default() { + return []; + } + }, + rightDefaultChecked: { + type: Array, + default() { + return []; + } + }, + renderContent: Function, + value: { + type: Array, + default() { + return []; + } + }, + format: { + type: Object, + default() { + return {}; + } + }, + filterable: Boolean, + props: { + type: Object, + default() { + return { + label: 'label', + key: 'key', + disabled: 'disabled' + }; + } + }, + targetOrder: { + type: String, + default: 'original' + } + }, + + data() { + return { + leftChecked: [], + rightChecked: [] + }; + }, + + computed: { + dataObj() { + const key = this.props.key; + return this.data.reduce((o, cur) => (o[cur[key]] = cur) && o, {}); + }, + + sourceData() { + return this.data.filter(item => this.value.indexOf(item[this.props.key]) === -1); + }, + + targetData() { + if (this.targetOrder === 'original') { + return this.data.filter(item => this.value.indexOf(item[this.props.key]) > -1); + } else { + return this.value.reduce((arr, cur) => { + const val = this.dataObj[cur]; + if (val) { + arr.push(val); + } + return arr; + }, []); + } + }, + + hasButtonTexts() { + return this.buttonTexts.length === 2; + } + }, + + watch: { + value(val) { + this.dispatch('ElFormItem', 'el.form.change', val); + } + }, + + methods: { + getMigratingConfig() { + return { + props: { + 'footer-format': 'footer-format is renamed to format.' + } + }; + }, + + onSourceCheckedChange(val, movedKeys) { + this.leftChecked = val; + if (movedKeys === undefined) return; + this.$emit('left-check-change', val, movedKeys); + }, + + onTargetCheckedChange(val, movedKeys) { + this.rightChecked = val; + if (movedKeys === undefined) return; + this.$emit('right-check-change', val, movedKeys); + }, + + addToLeft() { + let currentValue = this.value.slice(); + this.rightChecked.forEach(item => { + const index = currentValue.indexOf(item); + if (index > -1) { + currentValue.splice(index, 1); + } + }); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'left', this.rightChecked); + }, + + addToRight() { + let currentValue = this.value.slice(); + const itemsToBeMoved = []; + const key = this.props.key; + this.data.forEach(item => { + const itemKey = item[key]; + if ( + this.leftChecked.indexOf(itemKey) > -1 && + this.value.indexOf(itemKey) === -1 + ) { + itemsToBeMoved.push(itemKey); + } + }); + currentValue = this.targetOrder === 'unshift' + ? itemsToBeMoved.concat(currentValue) + : currentValue.concat(itemsToBeMoved); + this.$emit('input', currentValue); + this.$emit('change', currentValue, 'right', this.leftChecked); + }, + + clearQuery(which) { + if (which === 'left') { + this.$refs.leftPanel.query = ''; + } else if (which === 'right') { + this.$refs.rightPanel.query = ''; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/transfer/src/transfer-panel.vue b/PAMapp/local_modules/element-ui/packages/transfer/src/transfer-panel.vue new file mode 100644 index 0000000..6cfe754 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/transfer/src/transfer-panel.vue @@ -0,0 +1,251 @@ +<template> + <div class="el-transfer-panel"> + <p class="el-transfer-panel__header"> + <el-checkbox + v-model="allChecked" + @change="handleAllCheckedChange" + :indeterminate="isIndeterminate"> + {{ title }} + <span>{{ checkedSummary }}</span> + </el-checkbox> + </p> + + <div :class="['el-transfer-panel__body', hasFooter ? 'is-with-footer' : '']"> + <el-input + class="el-transfer-panel__filter" + v-model="query" + size="small" + :placeholder="placeholder" + @mouseenter.native="inputHover = true" + @mouseleave.native="inputHover = false" + v-if="filterable"> + <i slot="prefix" + :class="['el-input__icon', 'el-icon-' + inputIcon]" + @click="clearQuery" + ></i> + </el-input> + <el-checkbox-group + v-model="checked" + v-show="!hasNoMatch && data.length > 0" + :class="{ 'is-filterable': filterable }" + class="el-transfer-panel__list"> + <el-checkbox + class="el-transfer-panel__item" + :label="item[keyProp]" + :disabled="item[disabledProp]" + :key="item[keyProp]" + v-for="item in filteredData"> + <option-content :option="item"></option-content> + </el-checkbox> + </el-checkbox-group> + <p + class="el-transfer-panel__empty" + v-show="hasNoMatch">{{ t('el.transfer.noMatch') }}</p> + <p + class="el-transfer-panel__empty" + v-show="data.length === 0 && !hasNoMatch">{{ t('el.transfer.noData') }}</p> + </div> + <p class="el-transfer-panel__footer" v-if="hasFooter"> + <slot></slot> + </p> + </div> +</template> + +<script> + import ElCheckboxGroup from 'element-ui/packages/checkbox-group'; + import ElCheckbox from 'element-ui/packages/checkbox'; + import ElInput from 'element-ui/packages/input'; + import Locale from 'element-ui/src/mixins/locale'; + + export default { + mixins: [Locale], + + name: 'ElTransferPanel', + + componentName: 'ElTransferPanel', + + components: { + ElCheckboxGroup, + ElCheckbox, + ElInput, + OptionContent: { + props: { + option: Object + }, + render(h) { + const getParent = vm => { + if (vm.$options.componentName === 'ElTransferPanel') { + return vm; + } else if (vm.$parent) { + return getParent(vm.$parent); + } else { + return vm; + } + }; + const panel = getParent(this); + const transfer = panel.$parent || panel; + return panel.renderContent + ? panel.renderContent(h, this.option) + : transfer.$scopedSlots.default + ? transfer.$scopedSlots.default({ option: this.option }) + : <span>{ this.option[panel.labelProp] || this.option[panel.keyProp] }</span>; + } + } + }, + + props: { + data: { + type: Array, + default() { + return []; + } + }, + renderContent: Function, + placeholder: String, + title: String, + filterable: Boolean, + format: Object, + filterMethod: Function, + defaultChecked: Array, + props: Object + }, + + data() { + return { + checked: [], + allChecked: false, + query: '', + inputHover: false, + checkChangeByUser: true + }; + }, + + watch: { + checked(val, oldVal) { + this.updateAllChecked(); + if (this.checkChangeByUser) { + const movedKeys = val.concat(oldVal) + .filter(v => val.indexOf(v) === -1 || oldVal.indexOf(v) === -1); + this.$emit('checked-change', val, movedKeys); + } else { + this.$emit('checked-change', val); + this.checkChangeByUser = true; + } + }, + + data() { + const checked = []; + const filteredDataKeys = this.filteredData.map(item => item[this.keyProp]); + this.checked.forEach(item => { + if (filteredDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + }, + + checkableData() { + this.updateAllChecked(); + }, + + defaultChecked: { + immediate: true, + handler(val, oldVal) { + if (oldVal && val.length === oldVal.length && + val.every(item => oldVal.indexOf(item) > -1)) return; + const checked = []; + const checkableDataKeys = this.checkableData.map(item => item[this.keyProp]); + val.forEach(item => { + if (checkableDataKeys.indexOf(item) > -1) { + checked.push(item); + } + }); + this.checkChangeByUser = false; + this.checked = checked; + } + } + }, + + computed: { + filteredData() { + return this.data.filter(item => { + if (typeof this.filterMethod === 'function') { + return this.filterMethod(this.query, item); + } else { + const label = item[this.labelProp] || item[this.keyProp].toString(); + return label.toLowerCase().indexOf(this.query.toLowerCase()) > -1; + } + }); + }, + + checkableData() { + return this.filteredData.filter(item => !item[this.disabledProp]); + }, + + checkedSummary() { + const checkedLength = this.checked.length; + const dataLength = this.data.length; + const { noChecked, hasChecked } = this.format; + if (noChecked && hasChecked) { + return checkedLength > 0 + ? hasChecked.replace(/\${checked}/g, checkedLength).replace(/\${total}/g, dataLength) + : noChecked.replace(/\${total}/g, dataLength); + } else { + return `${ checkedLength }/${ dataLength }`; + } + }, + + isIndeterminate() { + const checkedLength = this.checked.length; + return checkedLength > 0 && checkedLength < this.checkableData.length; + }, + + hasNoMatch() { + return this.query.length > 0 && this.filteredData.length === 0; + }, + + inputIcon() { + return this.query.length > 0 && this.inputHover + ? 'circle-close' + : 'search'; + }, + + labelProp() { + return this.props.label || 'label'; + }, + + keyProp() { + return this.props.key || 'key'; + }, + + disabledProp() { + return this.props.disabled || 'disabled'; + }, + + hasFooter() { + return !!this.$slots.default; + } + }, + + methods: { + updateAllChecked() { + const checkableDataKeys = this.checkableData.map(item => item[this.keyProp]); + this.allChecked = checkableDataKeys.length > 0 && + checkableDataKeys.every(item => this.checked.indexOf(item) > -1); + }, + + handleAllCheckedChange(value) { + this.checked = value + ? this.checkableData.map(item => item[this.keyProp]) + : []; + }, + + clearQuery() { + if (this.inputIcon === 'circle-close') { + this.query = ''; + } + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tree/index.js b/PAMapp/local_modules/element-ui/packages/tree/index.js new file mode 100644 index 0000000..e52d6a5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/index.js @@ -0,0 +1,8 @@ +import Tree from './src/tree.vue'; + +/* istanbul ignore next */ +Tree.install = function(Vue) { + Vue.component(Tree.name, Tree); +}; + +export default Tree; diff --git a/PAMapp/local_modules/element-ui/packages/tree/src/model/node.js b/PAMapp/local_modules/element-ui/packages/tree/src/model/node.js new file mode 100644 index 0000000..0281d3b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/src/model/node.js @@ -0,0 +1,484 @@ +import objectAssign from 'element-ui/src/utils/merge'; +import { markNodeData, NODE_KEY } from './util'; +import { arrayFindIndex } from 'element-ui/src/utils/util'; + +export const getChildState = node => { + let all = true; + let none = true; + let allWithoutDisable = true; + for (let i = 0, j = node.length; i < j; i++) { + const n = node[i]; + if (n.checked !== true || n.indeterminate) { + all = false; + if (!n.disabled) { + allWithoutDisable = false; + } + } + if (n.checked !== false || n.indeterminate) { + none = false; + } + } + + return { all, none, allWithoutDisable, half: !all && !none }; +}; + +const reInitChecked = function(node) { + if (node.childNodes.length === 0 || node.loading) return; + + const {all, none, half} = getChildState(node.childNodes); + if (all) { + node.checked = true; + node.indeterminate = false; + } else if (half) { + node.checked = false; + node.indeterminate = true; + } else if (none) { + node.checked = false; + node.indeterminate = false; + } + + const parent = node.parent; + if (!parent || parent.level === 0) return; + + if (!node.store.checkStrictly) { + reInitChecked(parent); + } +}; + +const getPropertyFromData = function(node, prop) { + const props = node.store.props; + const data = node.data || {}; + const config = props[prop]; + + if (typeof config === 'function') { + return config(data, node); + } else if (typeof config === 'string') { + return data[config]; + } else if (typeof config === 'undefined') { + const dataProp = data[prop]; + return dataProp === undefined ? '' : dataProp; + } +}; + +let nodeIdSeed = 0; + +export default class Node { + constructor(options) { + this.id = nodeIdSeed++; + this.text = null; + this.checked = false; + this.indeterminate = false; + this.data = null; + this.expanded = false; + this.parent = null; + this.visible = true; + this.isCurrent = false; + + for (let name in options) { + if (options.hasOwnProperty(name)) { + this[name] = options[name]; + } + } + + // internal + this.level = 0; + this.loaded = false; + this.childNodes = []; + this.loading = false; + + if (this.parent) { + this.level = this.parent.level + 1; + } + + const store = this.store; + if (!store) { + throw new Error('[Node]store is required!'); + } + store.registerNode(this); + + const props = store.props; + if (props && typeof props.isLeaf !== 'undefined') { + const isLeaf = getPropertyFromData(this, 'isLeaf'); + if (typeof isLeaf === 'boolean') { + this.isLeafByUser = isLeaf; + } + } + + if (store.lazy !== true && this.data) { + this.setData(this.data); + + if (store.defaultExpandAll) { + this.expanded = true; + } + } else if (this.level > 0 && store.lazy && store.defaultExpandAll) { + this.expand(); + } + if (!Array.isArray(this.data)) { + markNodeData(this, this.data); + } + if (!this.data) return; + const defaultExpandedKeys = store.defaultExpandedKeys; + const key = store.key; + if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) { + this.expand(null, store.autoExpandParent); + } + + if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) { + store.currentNode = this; + store.currentNode.isCurrent = true; + } + + if (store.lazy) { + store._initDefaultCheckedNode(this); + } + + this.updateLeafState(); + } + + setData(data) { + if (!Array.isArray(data)) { + markNodeData(this, data); + } + + this.data = data; + this.childNodes = []; + + let children; + if (this.level === 0 && this.data instanceof Array) { + children = this.data; + } else { + children = getPropertyFromData(this, 'children') || []; + } + + for (let i = 0, j = children.length; i < j; i++) { + this.insertChild({ data: children[i] }); + } + } + + get label() { + return getPropertyFromData(this, 'label'); + } + + get key() { + const nodeKey = this.store.key; + if (this.data) return this.data[nodeKey]; + return null; + } + + get disabled() { + return getPropertyFromData(this, 'disabled'); + } + + get nextSibling() { + const parent = this.parent; + if (parent) { + const index = parent.childNodes.indexOf(this); + if (index > -1) { + return parent.childNodes[index + 1]; + } + } + return null; + } + + get previousSibling() { + const parent = this.parent; + if (parent) { + const index = parent.childNodes.indexOf(this); + if (index > -1) { + return index > 0 ? parent.childNodes[index - 1] : null; + } + } + return null; + } + + contains(target, deep = true) { + const walk = function(parent) { + const children = parent.childNodes || []; + let result = false; + for (let i = 0, j = children.length; i < j; i++) { + const child = children[i]; + if (child === target || (deep && walk(child))) { + result = true; + break; + } + } + return result; + }; + + return walk(this); + } + + remove() { + const parent = this.parent; + if (parent) { + parent.removeChild(this); + } + } + + insertChild(child, index, batch) { + if (!child) throw new Error('insertChild error: child is required.'); + + if (!(child instanceof Node)) { + if (!batch) { + const children = this.getChildren(true) || []; + if (children.indexOf(child.data) === -1) { + if (typeof index === 'undefined' || index < 0) { + children.push(child.data); + } else { + children.splice(index, 0, child.data); + } + } + } + objectAssign(child, { + parent: this, + store: this.store + }); + child = new Node(child); + } + + child.level = this.level + 1; + + if (typeof index === 'undefined' || index < 0) { + this.childNodes.push(child); + } else { + this.childNodes.splice(index, 0, child); + } + + this.updateLeafState(); + } + + insertBefore(child, ref) { + let index; + if (ref) { + index = this.childNodes.indexOf(ref); + } + this.insertChild(child, index); + } + + insertAfter(child, ref) { + let index; + if (ref) { + index = this.childNodes.indexOf(ref); + if (index !== -1) index += 1; + } + this.insertChild(child, index); + } + + removeChild(child) { + const children = this.getChildren() || []; + const dataIndex = children.indexOf(child.data); + if (dataIndex > -1) { + children.splice(dataIndex, 1); + } + + const index = this.childNodes.indexOf(child); + + if (index > -1) { + this.store && this.store.deregisterNode(child); + child.parent = null; + this.childNodes.splice(index, 1); + } + + this.updateLeafState(); + } + + removeChildByData(data) { + let targetNode = null; + + for (let i = 0; i < this.childNodes.length; i++) { + if (this.childNodes[i].data === data) { + targetNode = this.childNodes[i]; + break; + } + } + + if (targetNode) { + this.removeChild(targetNode); + } + } + + expand(callback, expandParent) { + const done = () => { + if (expandParent) { + let parent = this.parent; + while (parent.level > 0) { + parent.expanded = true; + parent = parent.parent; + } + } + this.expanded = true; + if (callback) callback(); + }; + + if (this.shouldLoadData()) { + this.loadData((data) => { + if (data instanceof Array) { + if (this.checked) { + this.setChecked(true, true); + } else if (!this.store.checkStrictly) { + reInitChecked(this); + } + done(); + } + }); + } else { + done(); + } + } + + doCreateChildren(array, defaultProps = {}) { + array.forEach((item) => { + this.insertChild(objectAssign({ data: item }, defaultProps), undefined, true); + }); + } + + collapse() { + this.expanded = false; + } + + shouldLoadData() { + return this.store.lazy === true && this.store.load && !this.loaded; + } + + updateLeafState() { + if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') { + this.isLeaf = this.isLeafByUser; + return; + } + const childNodes = this.childNodes; + if (!this.store.lazy || (this.store.lazy === true && this.loaded === true)) { + this.isLeaf = !childNodes || childNodes.length === 0; + return; + } + this.isLeaf = false; + } + + setChecked(value, deep, recursion, passValue) { + this.indeterminate = value === 'half'; + this.checked = value === true; + + if (this.store.checkStrictly) return; + + if (!(this.shouldLoadData() && !this.store.checkDescendants)) { + let { all, allWithoutDisable } = getChildState(this.childNodes); + + if (!this.isLeaf && (!all && allWithoutDisable)) { + this.checked = false; + value = false; + } + + const handleDescendants = () => { + if (deep) { + const childNodes = this.childNodes; + for (let i = 0, j = childNodes.length; i < j; i++) { + const child = childNodes[i]; + passValue = passValue || value !== false; + const isCheck = child.disabled ? child.checked : passValue; + child.setChecked(isCheck, deep, true, passValue); + } + const { half, all } = getChildState(childNodes); + if (!all) { + this.checked = all; + this.indeterminate = half; + } + } + }; + + if (this.shouldLoadData()) { + // Only work on lazy load data. + this.loadData(() => { + handleDescendants(); + reInitChecked(this); + }, { + checked: value !== false + }); + return; + } else { + handleDescendants(); + } + } + + const parent = this.parent; + if (!parent || parent.level === 0) return; + + if (!recursion) { + reInitChecked(parent); + } + } + + getChildren(forceInit = false) { // this is data + if (this.level === 0) return this.data; + const data = this.data; + if (!data) return null; + + const props = this.store.props; + let children = 'children'; + if (props) { + children = props.children || 'children'; + } + + if (data[children] === undefined) { + data[children] = null; + } + + if (forceInit && !data[children]) { + data[children] = []; + } + + return data[children]; + } + + updateChildren() { + const newData = this.getChildren() || []; + const oldData = this.childNodes.map((node) => node.data); + + const newDataMap = {}; + const newNodes = []; + + newData.forEach((item, index) => { + const key = item[NODE_KEY]; + const isNodeExists = !!key && arrayFindIndex(oldData, data => data[NODE_KEY] === key) >= 0; + if (isNodeExists) { + newDataMap[key] = { index, data: item }; + } else { + newNodes.push({ index, data: item }); + } + }); + + if (!this.store.lazy) { + oldData.forEach((item) => { + if (!newDataMap[item[NODE_KEY]]) this.removeChildByData(item); + }); + } + + newNodes.forEach(({ index, data }) => { + this.insertChild({ data }, index); + }); + + this.updateLeafState(); + } + + loadData(callback, defaultProps = {}) { + if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) { + this.loading = true; + + const resolve = (children) => { + this.childNodes = []; + + this.doCreateChildren(children, defaultProps); + this.loaded = true; + this.loading = false; + this.updateLeafState(); + if (callback) { + callback.call(this, children); + } + }; + + this.store.load(this, resolve); + } else { + if (callback) { + callback.call(this); + } + } + } +} diff --git a/PAMapp/local_modules/element-ui/packages/tree/src/model/tree-store.js b/PAMapp/local_modules/element-ui/packages/tree/src/model/tree-store.js new file mode 100644 index 0000000..d0bcd3e --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/src/model/tree-store.js @@ -0,0 +1,340 @@ +import Node from './node'; +import { getNodeKey } from './util'; + +export default class TreeStore { + constructor(options) { + this.currentNode = null; + this.currentNodeKey = null; + + for (let option in options) { + if (options.hasOwnProperty(option)) { + this[option] = options[option]; + } + } + + this.nodesMap = {}; + + this.root = new Node({ + data: this.data, + store: this + }); + + if (this.lazy && this.load) { + const loadFn = this.load; + loadFn(this.root, (data) => { + this.root.doCreateChildren(data); + this._initDefaultCheckedNodes(); + }); + } else { + this._initDefaultCheckedNodes(); + } + } + + filter(value) { + const filterNodeMethod = this.filterNodeMethod; + const lazy = this.lazy; + const traverse = function(node) { + const childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach((child) => { + child.visible = filterNodeMethod.call(child, value, child.data, child); + + traverse(child); + }); + + if (!node.visible && childNodes.length) { + let allHidden = true; + allHidden = !childNodes.some(child => child.visible); + + if (node.root) { + node.root.visible = allHidden === false; + } else { + node.visible = allHidden === false; + } + } + if (!value) return; + + if (node.visible && !node.isLeaf && !lazy) node.expand(); + }; + + traverse(this); + } + + setData(newVal) { + const instanceChanged = newVal !== this.root.data; + if (instanceChanged) { + this.root.setData(newVal); + this._initDefaultCheckedNodes(); + } else { + this.root.updateChildren(); + } + } + + getNode(data) { + if (data instanceof Node) return data; + const key = typeof data !== 'object' ? data : getNodeKey(this.key, data); + return this.nodesMap[key] || null; + } + + insertBefore(data, refData) { + const refNode = this.getNode(refData); + refNode.parent.insertBefore({ data }, refNode); + } + + insertAfter(data, refData) { + const refNode = this.getNode(refData); + refNode.parent.insertAfter({ data }, refNode); + } + + remove(data) { + const node = this.getNode(data); + + if (node && node.parent) { + if (node === this.currentNode) { + this.currentNode = null; + } + node.parent.removeChild(node); + } + } + + append(data, parentData) { + const parentNode = parentData ? this.getNode(parentData) : this.root; + + if (parentNode) { + parentNode.insertChild({ data }); + } + } + + _initDefaultCheckedNodes() { + const defaultCheckedKeys = this.defaultCheckedKeys || []; + const nodesMap = this.nodesMap; + + defaultCheckedKeys.forEach((checkedKey) => { + const node = nodesMap[checkedKey]; + + if (node) { + node.setChecked(true, !this.checkStrictly); + } + }); + } + + _initDefaultCheckedNode(node) { + const defaultCheckedKeys = this.defaultCheckedKeys || []; + + if (defaultCheckedKeys.indexOf(node.key) !== -1) { + node.setChecked(true, !this.checkStrictly); + } + } + + setDefaultCheckedKey(newVal) { + if (newVal !== this.defaultCheckedKeys) { + this.defaultCheckedKeys = newVal; + this._initDefaultCheckedNodes(); + } + } + + registerNode(node) { + const key = this.key; + if (!key || !node || !node.data) return; + + const nodeKey = node.key; + if (nodeKey !== undefined) this.nodesMap[node.key] = node; + } + + deregisterNode(node) { + const key = this.key; + if (!key || !node || !node.data) return; + + node.childNodes.forEach(child => { + this.deregisterNode(child); + }); + + delete this.nodesMap[node.key]; + } + + getCheckedNodes(leafOnly = false, includeHalfChecked = false) { + const checkedNodes = []; + const traverse = function(node) { + const childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach((child) => { + if ((child.checked || (includeHalfChecked && child.indeterminate)) && (!leafOnly || (leafOnly && child.isLeaf))) { + checkedNodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return checkedNodes; + } + + getCheckedKeys(leafOnly = false) { + return this.getCheckedNodes(leafOnly).map((data) => (data || {})[this.key]); + } + + getHalfCheckedNodes() { + const nodes = []; + const traverse = function(node) { + const childNodes = node.root ? node.root.childNodes : node.childNodes; + + childNodes.forEach((child) => { + if (child.indeterminate) { + nodes.push(child.data); + } + + traverse(child); + }); + }; + + traverse(this); + + return nodes; + } + + getHalfCheckedKeys() { + return this.getHalfCheckedNodes().map((data) => (data || {})[this.key]); + } + + _getAllNodes() { + const allNodes = []; + const nodesMap = this.nodesMap; + for (let nodeKey in nodesMap) { + if (nodesMap.hasOwnProperty(nodeKey)) { + allNodes.push(nodesMap[nodeKey]); + } + } + + return allNodes; + } + + updateChildren(key, data) { + const node = this.nodesMap[key]; + if (!node) return; + const childNodes = node.childNodes; + for (let i = childNodes.length - 1; i >= 0; i--) { + const child = childNodes[i]; + this.remove(child.data); + } + for (let i = 0, j = data.length; i < j; i++) { + const child = data[i]; + this.append(child, node.data); + } + } + + _setCheckedKeys(key, leafOnly = false, checkedKeys) { + const allNodes = this._getAllNodes().sort((a, b) => b.level - a.level); + const cache = Object.create(null); + const keys = Object.keys(checkedKeys); + allNodes.forEach(node => node.setChecked(false, false)); + for (let i = 0, j = allNodes.length; i < j; i++) { + const node = allNodes[i]; + const nodeKey = node.data[key].toString(); + let checked = keys.indexOf(nodeKey) > -1; + if (!checked) { + if (node.checked && !cache[nodeKey]) { + node.setChecked(false, false); + } + continue; + } + + let parent = node.parent; + while (parent && parent.level > 0) { + cache[parent.data[key]] = true; + parent = parent.parent; + } + + if (node.isLeaf || this.checkStrictly) { + node.setChecked(true, false); + continue; + } + node.setChecked(true, true); + + if (leafOnly) { + node.setChecked(false, false); + const traverse = function(node) { + const childNodes = node.childNodes; + childNodes.forEach((child) => { + if (!child.isLeaf) { + child.setChecked(false, false); + } + traverse(child); + }); + }; + traverse(node); + } + } + } + + setCheckedNodes(array, leafOnly = false) { + const key = this.key; + const checkedKeys = {}; + array.forEach((item) => { + checkedKeys[(item || {})[key]] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + } + + setCheckedKeys(keys, leafOnly = false) { + this.defaultCheckedKeys = keys; + const key = this.key; + const checkedKeys = {}; + keys.forEach((key) => { + checkedKeys[key] = true; + }); + + this._setCheckedKeys(key, leafOnly, checkedKeys); + } + + setDefaultExpandedKeys(keys) { + keys = keys || []; + this.defaultExpandedKeys = keys; + + keys.forEach((key) => { + const node = this.getNode(key); + if (node) node.expand(null, this.autoExpandParent); + }); + } + + setChecked(data, checked, deep) { + const node = this.getNode(data); + + if (node) { + node.setChecked(!!checked, deep); + } + } + + getCurrentNode() { + return this.currentNode; + } + + setCurrentNode(currentNode) { + const prevCurrentNode = this.currentNode; + if (prevCurrentNode) { + prevCurrentNode.isCurrent = false; + } + this.currentNode = currentNode; + this.currentNode.isCurrent = true; + } + + setUserCurrentNode(node) { + const key = node[this.key]; + const currNode = this.nodesMap[key]; + this.setCurrentNode(currNode); + } + + setCurrentNodeKey(key) { + if (key === null || key === undefined) { + this.currentNode && (this.currentNode.isCurrent = false); + this.currentNode = null; + return; + } + const node = this.getNode(key); + if (node) { + this.setCurrentNode(node); + } + } +}; diff --git a/PAMapp/local_modules/element-ui/packages/tree/src/model/util.js b/PAMapp/local_modules/element-ui/packages/tree/src/model/util.js new file mode 100644 index 0000000..dcc891b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/src/model/util.js @@ -0,0 +1,27 @@ +export const NODE_KEY = '$treeNodeId'; + +export const markNodeData = function(node, data) { + if (!data || data[NODE_KEY]) return; + Object.defineProperty(data, NODE_KEY, { + value: node.id, + enumerable: false, + configurable: false, + writable: false + }); +}; + +export const getNodeKey = function(key, data) { + if (!key) return data[NODE_KEY]; + return data[key]; +}; + +export const findNearestComponent = (element, componentName) => { + let target = element; + while (target && target.tagName !== 'BODY') { + if (target.__vue__ && target.__vue__.$options.name === componentName) { + return target.__vue__; + } + target = target.parentNode; + } + return null; +}; diff --git a/PAMapp/local_modules/element-ui/packages/tree/src/tree-node.vue b/PAMapp/local_modules/element-ui/packages/tree/src/tree-node.vue new file mode 100644 index 0000000..3c922db --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/src/tree-node.vue @@ -0,0 +1,279 @@ +<template> + <div + class="el-tree-node" + @click.stop="handleClick" + @contextmenu="($event) => this.handleContextMenu($event)" + v-show="node.visible" + :class="{ + 'is-expanded': expanded, + 'is-current': node.isCurrent, + 'is-hidden': !node.visible, + 'is-focusable': !node.disabled, + 'is-checked': !node.disabled && node.checked + }" + role="treeitem" + tabindex="-1" + :aria-expanded="expanded" + :aria-disabled="node.disabled" + :aria-checked="node.checked" + :draggable="tree.draggable" + @dragstart.stop="handleDragStart" + @dragover.stop="handleDragOver" + @dragend.stop="handleDragEnd" + @drop.stop="handleDrop" + ref="node" + > + <div class="el-tree-node__content" + :style="{ 'padding-left': (node.level - 1) * tree.indent + 'px' }"> + <span + @click.stop="handleExpandIconClick" + :class="[ + { 'is-leaf': node.isLeaf, expanded: !node.isLeaf && expanded }, + 'el-tree-node__expand-icon', + tree.iconClass ? tree.iconClass : 'el-icon-caret-right' + ]" + > + </span> + <el-checkbox + v-if="showCheckbox" + v-model="node.checked" + :indeterminate="node.indeterminate" + :disabled="!!node.disabled" + @click.native.stop + @change="handleCheckChange" + > + </el-checkbox> + <span + v-if="node.loading" + class="el-tree-node__loading-icon el-icon-loading"> + </span> + <node-content :node="node"></node-content> + </div> + <el-collapse-transition> + <div + class="el-tree-node__children" + v-if="!renderAfterExpand || childNodeRendered" + v-show="expanded" + role="group" + :aria-expanded="expanded" + > + <el-tree-node + :render-content="renderContent" + v-for="child in node.childNodes" + :render-after-expand="renderAfterExpand" + :show-checkbox="showCheckbox" + :key="getNodeKey(child)" + :node="child" + @node-expand="handleChildNodeExpand"> + </el-tree-node> + </div> + </el-collapse-transition> + </div> +</template> + +<script type="text/jsx"> + import ElCollapseTransition from 'element-ui/src/transitions/collapse-transition'; + import ElCheckbox from 'element-ui/packages/checkbox'; + import emitter from 'element-ui/src/mixins/emitter'; + import { getNodeKey } from './model/util'; + + export default { + name: 'ElTreeNode', + + componentName: 'ElTreeNode', + + mixins: [emitter], + + props: { + node: { + default() { + return {}; + } + }, + props: {}, + renderContent: Function, + renderAfterExpand: { + type: Boolean, + default: true + }, + showCheckbox: { + type: Boolean, + default: false + } + }, + + components: { + ElCollapseTransition, + ElCheckbox, + NodeContent: { + props: { + node: { + required: true + } + }, + render(h) { + const parent = this.$parent; + const tree = parent.tree; + const node = this.node; + const { data, store } = node; + return ( + parent.renderContent + ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node, data, store }) + : tree.$scopedSlots.default + ? tree.$scopedSlots.default({ node, data }) + : <span class="el-tree-node__label">{ node.label }</span> + ); + } + } + }, + + data() { + return { + tree: null, + expanded: false, + childNodeRendered: false, + oldChecked: null, + oldIndeterminate: null + }; + }, + + watch: { + 'node.indeterminate'(val) { + this.handleSelectChange(this.node.checked, val); + }, + + 'node.checked'(val) { + this.handleSelectChange(val, this.node.indeterminate); + }, + + 'node.expanded'(val) { + this.$nextTick(() => this.expanded = val); + if (val) { + this.childNodeRendered = true; + } + } + }, + + methods: { + getNodeKey(node) { + return getNodeKey(this.tree.nodeKey, node.data); + }, + + handleSelectChange(checked, indeterminate) { + if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) { + this.tree.$emit('check-change', this.node.data, checked, indeterminate); + } + this.oldChecked = checked; + this.indeterminate = indeterminate; + }, + + handleClick() { + const store = this.tree.store; + store.setCurrentNode(this.node); + this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode); + this.tree.currentNode = this; + if (this.tree.expandOnClickNode) { + this.handleExpandIconClick(); + } + if (this.tree.checkOnClickNode && !this.node.disabled) { + this.handleCheckChange(null, { + target: { checked: !this.node.checked } + }); + } + this.tree.$emit('node-click', this.node.data, this.node, this); + }, + + handleContextMenu(event) { + if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) { + event.stopPropagation(); + event.preventDefault(); + } + this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this); + }, + + handleExpandIconClick() { + if (this.node.isLeaf) return; + if (this.expanded) { + this.tree.$emit('node-collapse', this.node.data, this.node, this); + this.node.collapse(); + } else { + this.node.expand(); + this.$emit('node-expand', this.node.data, this.node, this); + } + }, + + handleCheckChange(value, ev) { + this.node.setChecked(ev.target.checked, !this.tree.checkStrictly); + this.$nextTick(() => { + const store = this.tree.store; + this.tree.$emit('check', this.node.data, { + checkedNodes: store.getCheckedNodes(), + checkedKeys: store.getCheckedKeys(), + halfCheckedNodes: store.getHalfCheckedNodes(), + halfCheckedKeys: store.getHalfCheckedKeys(), + }); + }); + }, + + handleChildNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.tree.$emit('node-expand', nodeData, node, instance); + }, + + handleDragStart(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-start', event, this); + }, + + handleDragOver(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-over', event, this); + event.preventDefault(); + }, + + handleDrop(event) { + event.preventDefault(); + }, + + handleDragEnd(event) { + if (!this.tree.draggable) return; + this.tree.$emit('tree-node-drag-end', event, this); + } + }, + + created() { + const parent = this.$parent; + + if (parent.isTree) { + this.tree = parent; + } else { + this.tree = parent.tree; + } + + const tree = this.tree; + if (!tree) { + console.warn('Can not find node\'s tree.'); + } + + const props = tree.props || {}; + const childrenKey = props['children'] || 'children'; + + this.$watch(`node.data.${childrenKey}`, () => { + this.node.updateChildren(); + }); + + if (this.node.expanded) { + this.expanded = true; + this.childNodeRendered = true; + } + + if(this.tree.accordion) { + this.$on('tree-node-expand', node => { + if(this.node !== node) { + this.node.collapse(); + } + }); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/tree/src/tree.vue b/PAMapp/local_modules/element-ui/packages/tree/src/tree.vue new file mode 100644 index 0000000..5b1c1b4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/tree/src/tree.vue @@ -0,0 +1,496 @@ +<template> + <div + class="el-tree" + :class="{ + 'el-tree--highlight-current': highlightCurrent, + 'is-dragging': !!dragState.draggingNode, + 'is-drop-not-allow': !dragState.allowDrop, + 'is-drop-inner': dragState.dropType === 'inner' + }" + role="tree" + > + <el-tree-node + v-for="child in root.childNodes" + :node="child" + :props="props" + :render-after-expand="renderAfterExpand" + :show-checkbox="showCheckbox" + :key="getNodeKey(child)" + :render-content="renderContent" + @node-expand="handleNodeExpand"> + </el-tree-node> + <div class="el-tree__empty-block" v-if="isEmpty"> + <span class="el-tree__empty-text">{{ emptyText }}</span> + </div> + <div + v-show="dragState.showDropIndicator" + class="el-tree__drop-indicator" + ref="dropIndicator"> + </div> + </div> +</template> + +<script> + import TreeStore from './model/tree-store'; + import { getNodeKey, findNearestComponent } from './model/util'; + import ElTreeNode from './tree-node.vue'; + import {t} from 'element-ui/src/locale'; + import emitter from 'element-ui/src/mixins/emitter'; + import { addClass, removeClass } from 'element-ui/src/utils/dom'; + + export default { + name: 'ElTree', + + mixins: [emitter], + + components: { + ElTreeNode + }, + + data() { + return { + store: null, + root: null, + currentNode: null, + treeItems: null, + checkboxItems: [], + dragState: { + showDropIndicator: false, + draggingNode: null, + dropNode: null, + allowDrop: true + } + }; + }, + + props: { + data: { + type: Array + }, + emptyText: { + type: String, + default() { + return t('el.tree.emptyText'); + } + }, + renderAfterExpand: { + type: Boolean, + default: true + }, + nodeKey: String, + checkStrictly: Boolean, + defaultExpandAll: Boolean, + expandOnClickNode: { + type: Boolean, + default: true + }, + checkOnClickNode: Boolean, + checkDescendants: { + type: Boolean, + default: false + }, + autoExpandParent: { + type: Boolean, + default: true + }, + defaultCheckedKeys: Array, + defaultExpandedKeys: Array, + currentNodeKey: [String, Number], + renderContent: Function, + showCheckbox: { + type: Boolean, + default: false + }, + draggable: { + type: Boolean, + default: false + }, + allowDrag: Function, + allowDrop: Function, + props: { + default() { + return { + children: 'children', + label: 'label', + disabled: 'disabled' + }; + } + }, + lazy: { + type: Boolean, + default: false + }, + highlightCurrent: Boolean, + load: Function, + filterNodeMethod: Function, + accordion: Boolean, + indent: { + type: Number, + default: 18 + }, + iconClass: String + }, + + computed: { + children: { + set(value) { + this.data = value; + }, + get() { + return this.data; + } + }, + + treeItemArray() { + return Array.prototype.slice.call(this.treeItems); + }, + + isEmpty() { + const { childNodes } = this.root; + return !childNodes || childNodes.length === 0 || childNodes.every(({visible}) => !visible); + } + }, + + watch: { + defaultCheckedKeys(newVal) { + this.store.setDefaultCheckedKey(newVal); + }, + + defaultExpandedKeys(newVal) { + this.store.defaultExpandedKeys = newVal; + this.store.setDefaultExpandedKeys(newVal); + }, + + data(newVal) { + this.store.setData(newVal); + }, + + checkboxItems(val) { + Array.prototype.forEach.call(val, (checkbox) => { + checkbox.setAttribute('tabindex', -1); + }); + }, + + checkStrictly(newVal) { + this.store.checkStrictly = newVal; + } + }, + + methods: { + filter(value) { + if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter'); + this.store.filter(value); + }, + + getNodeKey(node) { + return getNodeKey(this.nodeKey, node.data); + }, + + getNodePath(data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath'); + const node = this.store.getNode(data); + if (!node) return []; + const path = [node.data]; + let parent = node.parent; + while (parent && parent !== this.root) { + path.push(parent.data); + parent = parent.parent; + } + return path.reverse(); + }, + + getCheckedNodes(leafOnly, includeHalfChecked) { + return this.store.getCheckedNodes(leafOnly, includeHalfChecked); + }, + + getCheckedKeys(leafOnly) { + return this.store.getCheckedKeys(leafOnly); + }, + + getCurrentNode() { + const currentNode = this.store.getCurrentNode(); + return currentNode ? currentNode.data : null; + }, + + getCurrentKey() { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey'); + const currentNode = this.getCurrentNode(); + return currentNode ? currentNode[this.nodeKey] : null; + }, + + setCheckedNodes(nodes, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes'); + this.store.setCheckedNodes(nodes, leafOnly); + }, + + setCheckedKeys(keys, leafOnly) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys'); + this.store.setCheckedKeys(keys, leafOnly); + }, + + setChecked(data, checked, deep) { + this.store.setChecked(data, checked, deep); + }, + + getHalfCheckedNodes() { + return this.store.getHalfCheckedNodes(); + }, + + getHalfCheckedKeys() { + return this.store.getHalfCheckedKeys(); + }, + + setCurrentNode(node) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode'); + this.store.setUserCurrentNode(node); + }, + + setCurrentKey(key) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey'); + this.store.setCurrentNodeKey(key); + }, + + getNode(data) { + return this.store.getNode(data); + }, + + remove(data) { + this.store.remove(data); + }, + + append(data, parentNode) { + this.store.append(data, parentNode); + }, + + insertBefore(data, refNode) { + this.store.insertBefore(data, refNode); + }, + + insertAfter(data, refNode) { + this.store.insertAfter(data, refNode); + }, + + handleNodeExpand(nodeData, node, instance) { + this.broadcast('ElTreeNode', 'tree-node-expand', node); + this.$emit('node-expand', nodeData, node, instance); + }, + + updateKeyChildren(key, data) { + if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild'); + this.store.updateChildren(key, data); + }, + + initTabIndex() { + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + const checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]'); + if (checkedItem.length) { + checkedItem[0].setAttribute('tabindex', 0); + return; + } + this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0); + }, + + handleKeydown(ev) { + const currentItem = ev.target; + if (currentItem.className.indexOf('el-tree-node') === -1) return; + const keyCode = ev.keyCode; + this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]'); + const currentIndex = this.treeItemArray.indexOf(currentItem); + let nextIndex; + if ([38, 40].indexOf(keyCode) > -1) { // up�own + ev.preventDefault(); + if (keyCode === 38) { // up + nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0; + } else { + nextIndex = (currentIndex < this.treeItemArray.length - 1) ? currentIndex + 1 : 0; + } + this.treeItemArray[nextIndex].focus(); // �葉 + } + if ([37, 39].indexOf(keyCode) > -1) { // left�ight 撅� + ev.preventDefault(); + currentItem.click(); // �葉 + } + const hasInput = currentItem.querySelector('[type="checkbox"]'); + if ([13, 32].indexOf(keyCode) > -1 && hasInput) { // space enter�葉checkbox + ev.preventDefault(); + hasInput.click(); + } + } + }, + + created() { + this.isTree = true; + + this.store = new TreeStore({ + key: this.nodeKey, + data: this.data, + lazy: this.lazy, + props: this.props, + load: this.load, + currentNodeKey: this.currentNodeKey, + checkStrictly: this.checkStrictly, + checkDescendants: this.checkDescendants, + defaultCheckedKeys: this.defaultCheckedKeys, + defaultExpandedKeys: this.defaultExpandedKeys, + autoExpandParent: this.autoExpandParent, + defaultExpandAll: this.defaultExpandAll, + filterNodeMethod: this.filterNodeMethod + }); + + this.root = this.store.root; + + let dragState = this.dragState; + this.$on('tree-node-drag-start', (event, treeNode) => { + if (typeof this.allowDrag === 'function' && !this.allowDrag(treeNode.node)) { + event.preventDefault(); + return false; + } + event.dataTransfer.effectAllowed = 'move'; + + // wrap in try catch to address IE's error when first param is 'text/plain' + try { + // setData is required for draggable to work in FireFox + // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox + event.dataTransfer.setData('text/plain', ''); + } catch (e) {} + dragState.draggingNode = treeNode; + this.$emit('node-drag-start', treeNode.node, event); + }); + + this.$on('tree-node-drag-over', (event, treeNode) => { + const dropNode = findNearestComponent(event.target, 'ElTreeNode'); + const oldDropNode = dragState.dropNode; + if (oldDropNode && oldDropNode !== dropNode) { + removeClass(oldDropNode.$el, 'is-drop-inner'); + } + const draggingNode = dragState.draggingNode; + if (!draggingNode || !dropNode) return; + + let dropPrev = true; + let dropInner = true; + let dropNext = true; + let userAllowDropInner = true; + if (typeof this.allowDrop === 'function') { + dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev'); + userAllowDropInner = dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner'); + dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next'); + } + event.dataTransfer.dropEffect = dropInner ? 'move' : 'none'; + if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) { + if (oldDropNode) { + this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event); + } + this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event); + } + + if (dropPrev || dropInner || dropNext) { + dragState.dropNode = dropNode; + } + + if (dropNode.node.nextSibling === draggingNode.node) { + dropNext = false; + } + if (dropNode.node.previousSibling === draggingNode.node) { + dropPrev = false; + } + if (dropNode.node.contains(draggingNode.node, false)) { + dropInner = false; + } + if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) { + dropPrev = false; + dropInner = false; + dropNext = false; + } + + const targetPosition = dropNode.$el.getBoundingClientRect(); + const treePosition = this.$el.getBoundingClientRect(); + + let dropType; + const prevPercent = dropPrev ? (dropInner ? 0.25 : (dropNext ? 0.45 : 1)) : -1; + const nextPercent = dropNext ? (dropInner ? 0.75 : (dropPrev ? 0.55 : 0)) : 1; + + let indicatorTop = -9999; + const distance = event.clientY - targetPosition.top; + if (distance < targetPosition.height * prevPercent) { + dropType = 'before'; + } else if (distance > targetPosition.height * nextPercent) { + dropType = 'after'; + } else if (dropInner) { + dropType = 'inner'; + } else { + dropType = 'none'; + } + + const iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect(); + const dropIndicator = this.$refs.dropIndicator; + if (dropType === 'before') { + indicatorTop = iconPosition.top - treePosition.top; + } else if (dropType === 'after') { + indicatorTop = iconPosition.bottom - treePosition.top; + } + dropIndicator.style.top = indicatorTop + 'px'; + dropIndicator.style.left = (iconPosition.right - treePosition.left) + 'px'; + + if (dropType === 'inner') { + addClass(dropNode.$el, 'is-drop-inner'); + } else { + removeClass(dropNode.$el, 'is-drop-inner'); + } + + dragState.showDropIndicator = dropType === 'before' || dropType === 'after'; + dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner; + dragState.dropType = dropType; + this.$emit('node-drag-over', draggingNode.node, dropNode.node, event); + }); + + this.$on('tree-node-drag-end', (event) => { + const { draggingNode, dropType, dropNode } = dragState; + event.preventDefault(); + event.dataTransfer.dropEffect = 'move'; + + if (draggingNode && dropNode) { + const draggingNodeCopy = { data: draggingNode.node.data }; + if (dropType !== 'none') { + draggingNode.node.remove(); + } + if (dropType === 'before') { + dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node); + } else if (dropType === 'after') { + dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node); + } else if (dropType === 'inner') { + dropNode.node.insertChild(draggingNodeCopy); + } + if (dropType !== 'none') { + this.store.registerNode(draggingNodeCopy); + } + + removeClass(dropNode.$el, 'is-drop-inner'); + + this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event); + if (dropType !== 'none') { + this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event); + } + } + if (draggingNode && !dropNode) { + this.$emit('node-drag-end', draggingNode.node, null, dropType, event); + } + + dragState.showDropIndicator = false; + dragState.draggingNode = null; + dragState.dropNode = null; + dragState.allowDrop = true; + }); + }, + + mounted() { + this.initTabIndex(); + this.$el.addEventListener('keydown', this.handleKeydown); + }, + + updated() { + this.treeItems = this.$el.querySelectorAll('[role=treeitem]'); + this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]'); + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/upload/index.js b/PAMapp/local_modules/element-ui/packages/upload/index.js new file mode 100644 index 0000000..d53883b --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/index.js @@ -0,0 +1,8 @@ +import Upload from './src'; + +/* istanbul ignore next */ +Upload.install = function(Vue) { + Vue.component(Upload.name, Upload); +}; + +export default Upload; diff --git a/PAMapp/local_modules/element-ui/packages/upload/src/ajax.js b/PAMapp/local_modules/element-ui/packages/upload/src/ajax.js new file mode 100644 index 0000000..e5744c4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/src/ajax.js @@ -0,0 +1,85 @@ +function getError(action, option, xhr) { + let msg; + if (xhr.response) { + msg = `${xhr.response.error || xhr.response}`; + } else if (xhr.responseText) { + msg = `${xhr.responseText}`; + } else { + msg = `fail to post ${action} ${xhr.status}`; + } + + const err = new Error(msg); + err.status = xhr.status; + err.method = 'post'; + err.url = action; + return err; +} + +function getBody(xhr) { + const text = xhr.responseText || xhr.response; + if (!text) { + return text; + } + + try { + return JSON.parse(text); + } catch (e) { + return text; + } +} + +export default function upload(option) { + if (typeof XMLHttpRequest === 'undefined') { + return; + } + + const xhr = new XMLHttpRequest(); + const action = option.action; + + if (xhr.upload) { + xhr.upload.onprogress = function progress(e) { + if (e.total > 0) { + e.percent = e.loaded / e.total * 100; + } + option.onProgress(e); + }; + } + + const formData = new FormData(); + + if (option.data) { + Object.keys(option.data).forEach(key => { + formData.append(key, option.data[key]); + }); + } + + formData.append(option.filename, option.file, option.file.name); + + xhr.onerror = function error(e) { + option.onError(e); + }; + + xhr.onload = function onload() { + if (xhr.status < 200 || xhr.status >= 300) { + return option.onError(getError(action, option, xhr)); + } + + option.onSuccess(getBody(xhr)); + }; + + xhr.open('post', action, true); + + if (option.withCredentials && 'withCredentials' in xhr) { + xhr.withCredentials = true; + } + + const headers = option.headers || {}; + + for (let item in headers) { + if (headers.hasOwnProperty(item) && headers[item] !== null) { + xhr.setRequestHeader(item, headers[item]); + } + } + xhr.send(formData); + return xhr; +} diff --git a/PAMapp/local_modules/element-ui/packages/upload/src/index.vue b/PAMapp/local_modules/element-ui/packages/upload/src/index.vue new file mode 100644 index 0000000..e735653 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/src/index.vue @@ -0,0 +1,338 @@ +<script> +import UploadList from './upload-list'; +import Upload from './upload'; +import ElProgress from 'element-ui/packages/progress'; +import Migrating from 'element-ui/src/mixins/migrating'; + +function noop() {} + +export default { + name: 'ElUpload', + + mixins: [Migrating], + + components: { + ElProgress, + UploadList, + Upload + }, + + provide() { + return { + uploader: this + }; + }, + + inject: { + elForm: { + default: '' + } + }, + + props: { + action: { + type: String, + required: true + }, + headers: { + type: Object, + default() { + return {}; + } + }, + data: Object, + multiple: Boolean, + name: { + type: String, + default: 'file' + }, + drag: Boolean, + dragger: Boolean, + withCredentials: Boolean, + showFileList: { + type: Boolean, + default: true + }, + accept: String, + type: { + type: String, + default: 'select' + }, + beforeUpload: Function, + beforeRemove: Function, + onRemove: { + type: Function, + default: noop + }, + onChange: { + type: Function, + default: noop + }, + onPreview: { + type: Function + }, + onSuccess: { + type: Function, + default: noop + }, + onProgress: { + type: Function, + default: noop + }, + onError: { + type: Function, + default: noop + }, + fileList: { + type: Array, + default() { + return []; + } + }, + autoUpload: { + type: Boolean, + default: true + }, + listType: { + type: String, + default: 'text' // text,picture,picture-card + }, + httpRequest: Function, + disabled: Boolean, + limit: Number, + onExceed: { + type: Function, + default: noop + } + }, + + data() { + return { + uploadFiles: [], + dragOver: false, + draging: false, + tempIndex: 1 + }; + }, + + computed: { + uploadDisabled() { + return this.disabled || (this.elForm || {}).disabled; + } + }, + + watch: { + listType(type) { + if (type === 'picture-card' || type === 'picture') { + this.uploadFiles = this.uploadFiles.map(file => { + if (!file.url && file.raw) { + try { + file.url = URL.createObjectURL(file.raw); + } catch (err) { + console.error('[Element Error][Upload]', err); + } + } + return file; + }); + } + }, + fileList: { + immediate: true, + handler(fileList) { + this.uploadFiles = fileList.map(item => { + item.uid = item.uid || (Date.now() + this.tempIndex++); + item.status = item.status || 'success'; + return item; + }); + } + } + }, + + methods: { + handleStart(rawFile) { + rawFile.uid = Date.now() + this.tempIndex++; + let file = { + status: 'ready', + name: rawFile.name, + size: rawFile.size, + percentage: 0, + uid: rawFile.uid, + raw: rawFile + }; + + if (this.listType === 'picture-card' || this.listType === 'picture') { + try { + file.url = URL.createObjectURL(rawFile); + } catch (err) { + console.error('[Element Error][Upload]', err); + return; + } + } + + this.uploadFiles.push(file); + this.onChange(file, this.uploadFiles); + }, + handleProgress(ev, rawFile) { + const file = this.getFile(rawFile); + this.onProgress(ev, file, this.uploadFiles); + file.status = 'uploading'; + file.percentage = ev.percent || 0; + }, + handleSuccess(res, rawFile) { + const file = this.getFile(rawFile); + + if (file) { + file.status = 'success'; + file.response = res; + + this.onSuccess(res, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + } + }, + handleError(err, rawFile) { + const file = this.getFile(rawFile); + const fileList = this.uploadFiles; + + file.status = 'fail'; + + fileList.splice(fileList.indexOf(file), 1); + + this.onError(err, file, this.uploadFiles); + this.onChange(file, this.uploadFiles); + }, + handleRemove(file, raw) { + if (raw) { + file = this.getFile(raw); + } + let doRemove = () => { + this.abort(file); + let fileList = this.uploadFiles; + fileList.splice(fileList.indexOf(file), 1); + this.onRemove(file, fileList); + }; + + if (!this.beforeRemove) { + doRemove(); + } else if (typeof this.beforeRemove === 'function') { + const before = this.beforeRemove(file, this.uploadFiles); + if (before && before.then) { + before.then(() => { + doRemove(); + }, noop); + } else if (before !== false) { + doRemove(); + } + } + }, + getFile(rawFile) { + let fileList = this.uploadFiles; + let target; + fileList.every(item => { + target = rawFile.uid === item.uid ? item : null; + return !target; + }); + return target; + }, + abort(file) { + this.$refs['upload-inner'].abort(file); + }, + clearFiles() { + this.uploadFiles = []; + }, + submit() { + this.uploadFiles + .filter(file => file.status === 'ready') + .forEach(file => { + this.$refs['upload-inner'].upload(file.raw); + }); + }, + getMigratingConfig() { + return { + props: { + 'default-file-list': 'default-file-list is renamed to file-list.', + 'show-upload-list': 'show-upload-list is renamed to show-file-list.', + 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan' + } + }; + } + }, + + beforeDestroy() { + this.uploadFiles.forEach(file => { + if (file.url && file.url.indexOf('blob:') === 0) { + URL.revokeObjectURL(file.url); + } + }); + }, + + render(h) { + let uploadList; + + if (this.showFileList) { + uploadList = ( + <UploadList + disabled={this.uploadDisabled} + listType={this.listType} + files={this.uploadFiles} + on-remove={this.handleRemove} + handlePreview={this.onPreview}> + { + (props) => { + if (this.$scopedSlots.file) { + return this.$scopedSlots.file({ + file: props.file + }); + } + } + } + </UploadList> + ); + } + + const uploadData = { + props: { + type: this.type, + drag: this.drag, + action: this.action, + multiple: this.multiple, + 'before-upload': this.beforeUpload, + 'with-credentials': this.withCredentials, + headers: this.headers, + name: this.name, + data: this.data, + accept: this.accept, + fileList: this.uploadFiles, + autoUpload: this.autoUpload, + listType: this.listType, + disabled: this.uploadDisabled, + limit: this.limit, + 'on-exceed': this.onExceed, + 'on-start': this.handleStart, + 'on-progress': this.handleProgress, + 'on-success': this.handleSuccess, + 'on-error': this.handleError, + 'on-preview': this.onPreview, + 'on-remove': this.handleRemove, + 'http-request': this.httpRequest + }, + ref: 'upload-inner' + }; + + const trigger = this.$slots.trigger || this.$slots.default; + const uploadComponent = <upload {...uploadData}>{trigger}</upload>; + + return ( + <div> + { this.listType === 'picture-card' ? uploadList : ''} + { + this.$slots.trigger + ? [uploadComponent, this.$slots.default] + : uploadComponent + } + {this.$slots.tip} + { this.listType !== 'picture-card' ? uploadList : ''} + </div> + ); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/upload/src/upload-dragger.vue b/PAMapp/local_modules/element-ui/packages/upload/src/upload-dragger.vue new file mode 100644 index 0000000..b3293c6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/src/upload-dragger.vue @@ -0,0 +1,70 @@ +<template> + <div + class="el-upload-dragger" + :class="{ + 'is-dragover': dragover + }" + @drop.prevent="onDrop" + @dragover.prevent="onDragover" + @dragleave.prevent="dragover = false" + > + <slot></slot> + </div> +</template> +<script> + export default { + name: 'ElUploadDrag', + props: { + disabled: Boolean + }, + inject: { + uploader: { + default: '' + } + }, + data() { + return { + dragover: false + }; + }, + methods: { + onDragover() { + if (!this.disabled) { + this.dragover = true; + } + }, + onDrop(e) { + if (this.disabled || !this.uploader) return; + const accept = this.uploader.accept; + this.dragover = false; + if (!accept) { + this.$emit('file', e.dataTransfer.files); + return; + } + this.$emit('file', [].slice.call(e.dataTransfer.files).filter(file => { + const { type, name } = file; + const extension = name.indexOf('.') > -1 + ? `.${ name.split('.').pop() }` + : ''; + const baseType = type.replace(/\/.*$/, ''); + return accept.split(',') + .map(type => type.trim()) + .filter(type => type) + .some(acceptedType => { + if (/\..+$/.test(acceptedType)) { + return extension === acceptedType; + } + if (/\/\*$/.test(acceptedType)) { + return baseType === acceptedType.replace(/\/\*$/, ''); + } + if (/^[^\/]+\/[^\/]+$/.test(acceptedType)) { + return type === acceptedType; + } + return false; + }); + })); + } + } + }; +</script> + diff --git a/PAMapp/local_modules/element-ui/packages/upload/src/upload-list.vue b/PAMapp/local_modules/element-ui/packages/upload/src/upload-list.vue new file mode 100644 index 0000000..7178d4f --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/src/upload-list.vue @@ -0,0 +1,105 @@ +<template> + <transition-group + tag="ul" + :class="[ + 'el-upload-list', + 'el-upload-list--' + listType, + { 'is-disabled': disabled } + ]" + name="el-list" + > + <li + v-for="file in files" + :class="['el-upload-list__item', 'is-' + file.status, focusing ? 'focusing' : '']" + :key="file.uid" + tabindex="0" + @keydown.delete="!disabled && $emit('remove', file)" + @focus="focusing = true" + @blur="focusing = false" + @click="focusing = false" + > + <slot :file="file"> + <img + class="el-upload-list__item-thumbnail" + v-if="file.status !== 'uploading' && ['picture-card', 'picture'].indexOf(listType) > -1" + :src="file.url" alt="" + > + <a class="el-upload-list__item-name" @click="handleClick(file)"> + <i class="el-icon-document"></i>{{file.name}} + </a> + <label class="el-upload-list__item-status-label"> + <i :class="{ + 'el-icon-upload-success': true, + 'el-icon-circle-check': listType === 'text', + 'el-icon-check': ['picture-card', 'picture'].indexOf(listType) > -1 + }"></i> + </label> + <i class="el-icon-close" v-if="!disabled" @click="$emit('remove', file)"></i> + <i class="el-icon-close-tip" v-if="!disabled">{{ t('el.upload.deleteTip') }}</i> <!--��蛹close����li:focus���� display, li blur��停銝�鈭��隞仿��紡��瘞貉���� focus� close��銝�--> + <el-progress + v-if="file.status === 'uploading'" + :type="listType === 'picture-card' ? 'circle' : 'line'" + :stroke-width="listType === 'picture-card' ? 6 : 2" + :percentage="parsePercentage(file.percentage)"> + </el-progress> + <span class="el-upload-list__item-actions" v-if="listType === 'picture-card'"> + <span + class="el-upload-list__item-preview" + v-if="handlePreview && listType === 'picture-card'" + @click="handlePreview(file)" + > + <i class="el-icon-zoom-in"></i> + </span> + <span + v-if="!disabled" + class="el-upload-list__item-delete" + @click="$emit('remove', file)" + > + <i class="el-icon-delete"></i> + </span> + </span> + </slot> + </li> + </transition-group> +</template> +<script> + import Locale from 'element-ui/src/mixins/locale'; + import ElProgress from 'element-ui/packages/progress'; + + export default { + + name: 'ElUploadList', + + mixins: [Locale], + + data() { + return { + focusing: false + }; + }, + components: { ElProgress }, + + props: { + files: { + type: Array, + default() { + return []; + } + }, + disabled: { + type: Boolean, + default: false + }, + handlePreview: Function, + listType: String + }, + methods: { + parsePercentage(val) { + return parseInt(val, 10); + }, + handleClick(file) { + this.handlePreview && this.handlePreview(file); + } + } + }; +</script> diff --git a/PAMapp/local_modules/element-ui/packages/upload/src/upload.vue b/PAMapp/local_modules/element-ui/packages/upload/src/upload.vue new file mode 100644 index 0000000..200ca0a --- /dev/null +++ b/PAMapp/local_modules/element-ui/packages/upload/src/upload.vue @@ -0,0 +1,211 @@ +<script> +import ajax from './ajax'; +import UploadDragger from './upload-dragger.vue'; + +export default { + inject: ['uploader'], + components: { + UploadDragger + }, + props: { + type: String, + action: { + type: String, + required: true + }, + name: { + type: String, + default: 'file' + }, + data: Object, + headers: Object, + withCredentials: Boolean, + multiple: Boolean, + accept: String, + onStart: Function, + onProgress: Function, + onSuccess: Function, + onError: Function, + beforeUpload: Function, + drag: Boolean, + onPreview: { + type: Function, + default: function() {} + }, + onRemove: { + type: Function, + default: function() {} + }, + fileList: Array, + autoUpload: Boolean, + listType: String, + httpRequest: { + type: Function, + default: ajax + }, + disabled: Boolean, + limit: Number, + onExceed: Function + }, + + data() { + return { + mouseover: false, + reqs: {} + }; + }, + + methods: { + isImage(str) { + return str.indexOf('image') !== -1; + }, + handleChange(ev) { + const files = ev.target.files; + + if (!files) return; + this.uploadFiles(files); + }, + uploadFiles(files) { + if (this.limit && this.fileList.length + files.length > this.limit) { + this.onExceed && this.onExceed(files, this.fileList); + return; + } + + let postFiles = Array.prototype.slice.call(files); + if (!this.multiple) { postFiles = postFiles.slice(0, 1); } + + if (postFiles.length === 0) { return; } + + postFiles.forEach(rawFile => { + this.onStart(rawFile); + if (this.autoUpload) this.upload(rawFile); + }); + }, + upload(rawFile) { + this.$refs.input.value = null; + + if (!this.beforeUpload) { + return this.post(rawFile); + } + + const before = this.beforeUpload(rawFile); + if (before && before.then) { + before.then(processedFile => { + const fileType = Object.prototype.toString.call(processedFile); + + if (fileType === '[object File]' || fileType === '[object Blob]') { + if (fileType === '[object Blob]') { + processedFile = new File([processedFile], rawFile.name, { + type: rawFile.type + }); + } + for (const p in rawFile) { + if (rawFile.hasOwnProperty(p)) { + processedFile[p] = rawFile[p]; + } + } + this.post(processedFile); + } else { + this.post(rawFile); + } + }, () => { + this.onRemove(null, rawFile); + }); + } else if (before !== false) { + this.post(rawFile); + } else { + this.onRemove(null, rawFile); + } + }, + abort(file) { + const { reqs } = this; + if (file) { + let uid = file; + if (file.uid) uid = file.uid; + if (reqs[uid]) { + reqs[uid].abort(); + } + } else { + Object.keys(reqs).forEach((uid) => { + if (reqs[uid]) reqs[uid].abort(); + delete reqs[uid]; + }); + } + }, + post(rawFile) { + const { uid } = rawFile; + const options = { + headers: this.headers, + withCredentials: this.withCredentials, + file: rawFile, + data: this.data, + filename: this.name, + action: this.action, + onProgress: e => { + this.onProgress(e, rawFile); + }, + onSuccess: res => { + this.onSuccess(res, rawFile); + delete this.reqs[uid]; + }, + onError: err => { + this.onError(err, rawFile); + delete this.reqs[uid]; + } + }; + const req = this.httpRequest(options); + this.reqs[uid] = req; + if (req && req.then) { + req.then(options.onSuccess, options.onError); + } + }, + handleClick() { + if (!this.disabled) { + this.$refs.input.value = null; + this.$refs.input.click(); + } + }, + handleKeydown(e) { + if (e.target !== e.currentTarget) return; + if (e.keyCode === 13 || e.keyCode === 32) { + this.handleClick(); + } + } + }, + + render(h) { + let { + handleClick, + drag, + name, + handleChange, + multiple, + accept, + listType, + uploadFiles, + disabled, + handleKeydown + } = this; + const data = { + class: { + 'el-upload': true + }, + on: { + click: handleClick, + keydown: handleKeydown + } + }; + data.class[`el-upload--${listType}`] = true; + return ( + <div {...data} tabindex="0" > + { + drag + ? <upload-dragger disabled={disabled} on-file={uploadFiles}>{this.$slots.default}</upload-dragger> + : this.$slots.default + } + <input class="el-upload__input" type="file" ref="input" name={name} on-change={handleChange} multiple={multiple} accept={accept}></input> + </div> + ); + } +}; +</script> diff --git a/PAMapp/local_modules/element-ui/src/directives/mousewheel.js b/PAMapp/local_modules/element-ui/src/directives/mousewheel.js new file mode 100644 index 0000000..d8cbad5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/directives/mousewheel.js @@ -0,0 +1,18 @@ +import normalizeWheel from 'normalize-wheel'; + +const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; + +const mousewheel = function(element, callback) { + if (element && element.addEventListener) { + element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function(event) { + const normalized = normalizeWheel(event); + callback && callback.apply(this, [event, normalized]); + }); + } +}; + +export default { + bind(el, binding) { + mousewheel(el, binding.value); + } +}; diff --git a/PAMapp/local_modules/element-ui/src/directives/repeat-click.js b/PAMapp/local_modules/element-ui/src/directives/repeat-click.js new file mode 100644 index 0000000..f80d4cb --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/directives/repeat-click.js @@ -0,0 +1,26 @@ +import { once, on } from 'element-ui/src/utils/dom'; +import { isMac } from 'element-ui/src/utils/util'; + +export default { + bind(el, binding, vnode) { + let interval = null; + let startTime; + const maxIntervals = isMac() ? 100 : 200; + const handler = () => vnode.context[binding.expression].apply(); + const clear = () => { + if (Date.now() - startTime < maxIntervals) { + handler(); + } + clearInterval(interval); + interval = null; + }; + + on(el, 'mousedown', (e) => { + if (e.button !== 0) return; + startTime = Date.now(); + once(document, 'mouseup', clear); + clearInterval(interval); + interval = setInterval(handler, maxIntervals); + }); + } +}; diff --git a/PAMapp/local_modules/element-ui/src/index.js b/PAMapp/local_modules/element-ui/src/index.js new file mode 100644 index 0000000..b5d91bc --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/index.js @@ -0,0 +1,309 @@ +/* Automatically generated by './build/bin/build-entry.js' */ + +import Pagination from '../packages/pagination/index.js'; +import Dialog from '../packages/dialog/index.js'; +import Autocomplete from '../packages/autocomplete/index.js'; +import Dropdown from '../packages/dropdown/index.js'; +import DropdownMenu from '../packages/dropdown-menu/index.js'; +import DropdownItem from '../packages/dropdown-item/index.js'; +import Menu from '../packages/menu/index.js'; +import Submenu from '../packages/submenu/index.js'; +import MenuItem from '../packages/menu-item/index.js'; +import MenuItemGroup from '../packages/menu-item-group/index.js'; +import Input from '../packages/input/index.js'; +import InputNumber from '../packages/input-number/index.js'; +import Radio from '../packages/radio/index.js'; +import RadioGroup from '../packages/radio-group/index.js'; +import RadioButton from '../packages/radio-button/index.js'; +import Checkbox from '../packages/checkbox/index.js'; +import CheckboxButton from '../packages/checkbox-button/index.js'; +import CheckboxGroup from '../packages/checkbox-group/index.js'; +import Switch from '../packages/switch/index.js'; +import Select from '../packages/select/index.js'; +import Option from '../packages/option/index.js'; +import OptionGroup from '../packages/option-group/index.js'; +import Button from '../packages/button/index.js'; +import ButtonGroup from '../packages/button-group/index.js'; +import Table from '../packages/table/index.js'; +import TableColumn from '../packages/table-column/index.js'; +import DatePicker from '../packages/date-picker/index.js'; +import TimeSelect from '../packages/time-select/index.js'; +import TimePicker from '../packages/time-picker/index.js'; +import Popover from '../packages/popover/index.js'; +import Tooltip from '../packages/tooltip/index.js'; +import MessageBox from '../packages/message-box/index.js'; +import Breadcrumb from '../packages/breadcrumb/index.js'; +import BreadcrumbItem from '../packages/breadcrumb-item/index.js'; +import Form from '../packages/form/index.js'; +import FormItem from '../packages/form-item/index.js'; +import Tabs from '../packages/tabs/index.js'; +import TabPane from '../packages/tab-pane/index.js'; +import Tag from '../packages/tag/index.js'; +import Tree from '../packages/tree/index.js'; +import Alert from '../packages/alert/index.js'; +import Notification from '../packages/notification/index.js'; +import Slider from '../packages/slider/index.js'; +import Loading from '../packages/loading/index.js'; +import Icon from '../packages/icon/index.js'; +import Row from '../packages/row/index.js'; +import Col from '../packages/col/index.js'; +import Upload from '../packages/upload/index.js'; +import Progress from '../packages/progress/index.js'; +import Spinner from '../packages/spinner/index.js'; +import Message from '../packages/message/index.js'; +import Badge from '../packages/badge/index.js'; +import Card from '../packages/card/index.js'; +import Rate from '../packages/rate/index.js'; +import Steps from '../packages/steps/index.js'; +import Step from '../packages/step/index.js'; +import Carousel from '../packages/carousel/index.js'; +import Scrollbar from '../packages/scrollbar/index.js'; +import CarouselItem from '../packages/carousel-item/index.js'; +import Collapse from '../packages/collapse/index.js'; +import CollapseItem from '../packages/collapse-item/index.js'; +import Cascader from '../packages/cascader/index.js'; +import ColorPicker from '../packages/color-picker/index.js'; +import Transfer from '../packages/transfer/index.js'; +import Container from '../packages/container/index.js'; +import Header from '../packages/header/index.js'; +import Aside from '../packages/aside/index.js'; +import Main from '../packages/main/index.js'; +import Footer from '../packages/footer/index.js'; +import Timeline from '../packages/timeline/index.js'; +import TimelineItem from '../packages/timeline-item/index.js'; +import Link from '../packages/link/index.js'; +import Divider from '../packages/divider/index.js'; +import Image from '../packages/image/index.js'; +import Calendar from '../packages/calendar/index.js'; +import Backtop from '../packages/backtop/index.js'; +import InfiniteScroll from '../packages/infinite-scroll/index.js'; +import PageHeader from '../packages/page-header/index.js'; +import CascaderPanel from '../packages/cascader-panel/index.js'; +import Avatar from '../packages/avatar/index.js'; +import Drawer from '../packages/drawer/index.js'; +import Statistic from '../packages/statistic/index.js'; +import Popconfirm from '../packages/popconfirm/index.js'; +import Skeleton from '../packages/skeleton/index.js'; +import SkeletonItem from '../packages/skeleton-item/index.js'; +import Empty from '../packages/empty/index.js'; +import Descriptions from '../packages/descriptions/index.js'; +import DescriptionsItem from '../packages/descriptions-item/index.js'; +import Result from '../packages/result/index.js'; +import locale from 'element-ui/src/locale'; +import CollapseTransition from 'element-ui/src/transitions/collapse-transition'; + +const components = [ + Pagination, + Dialog, + Autocomplete, + Dropdown, + DropdownMenu, + DropdownItem, + Menu, + Submenu, + MenuItem, + MenuItemGroup, + Input, + InputNumber, + Radio, + RadioGroup, + RadioButton, + Checkbox, + CheckboxButton, + CheckboxGroup, + Switch, + Select, + Option, + OptionGroup, + Button, + ButtonGroup, + Table, + TableColumn, + DatePicker, + TimeSelect, + TimePicker, + Popover, + Tooltip, + Breadcrumb, + BreadcrumbItem, + Form, + FormItem, + Tabs, + TabPane, + Tag, + Tree, + Alert, + Slider, + Icon, + Row, + Col, + Upload, + Progress, + Spinner, + Badge, + Card, + Rate, + Steps, + Step, + Carousel, + Scrollbar, + CarouselItem, + Collapse, + CollapseItem, + Cascader, + ColorPicker, + Transfer, + Container, + Header, + Aside, + Main, + Footer, + Timeline, + TimelineItem, + Link, + Divider, + Image, + Calendar, + Backtop, + PageHeader, + CascaderPanel, + Avatar, + Drawer, + Statistic, + Popconfirm, + Skeleton, + SkeletonItem, + Empty, + Descriptions, + DescriptionsItem, + Result, + CollapseTransition +]; + +const install = function(Vue, opts = {}) { + locale.use(opts.locale); + locale.i18n(opts.i18n); + + components.forEach(component => { + Vue.component(component.name, component); + }); + + Vue.use(InfiniteScroll); + Vue.use(Loading.directive); + + Vue.prototype.$ELEMENT = { + size: opts.size || '', + zIndex: opts.zIndex || 2000 + }; + + Vue.prototype.$loading = Loading.service; + Vue.prototype.$msgbox = MessageBox; + Vue.prototype.$alert = MessageBox.alert; + Vue.prototype.$confirm = MessageBox.confirm; + Vue.prototype.$prompt = MessageBox.prompt; + Vue.prototype.$notify = Notification; + Vue.prototype.$message = Message; + +}; + +/* istanbul ignore if */ +if (typeof window !== 'undefined' && window.Vue) { + install(window.Vue); +} + +export default { + version: '2.15.13', + locale: locale.use, + i18n: locale.i18n, + install, + CollapseTransition, + Loading, + Pagination, + Dialog, + Autocomplete, + Dropdown, + DropdownMenu, + DropdownItem, + Menu, + Submenu, + MenuItem, + MenuItemGroup, + Input, + InputNumber, + Radio, + RadioGroup, + RadioButton, + Checkbox, + CheckboxButton, + CheckboxGroup, + Switch, + Select, + Option, + OptionGroup, + Button, + ButtonGroup, + Table, + TableColumn, + DatePicker, + TimeSelect, + TimePicker, + Popover, + Tooltip, + MessageBox, + Breadcrumb, + BreadcrumbItem, + Form, + FormItem, + Tabs, + TabPane, + Tag, + Tree, + Alert, + Notification, + Slider, + Icon, + Row, + Col, + Upload, + Progress, + Spinner, + Message, + Badge, + Card, + Rate, + Steps, + Step, + Carousel, + Scrollbar, + CarouselItem, + Collapse, + CollapseItem, + Cascader, + ColorPicker, + Transfer, + Container, + Header, + Aside, + Main, + Footer, + Timeline, + TimelineItem, + Link, + Divider, + Image, + Calendar, + Backtop, + InfiniteScroll, + PageHeader, + CascaderPanel, + Avatar, + Drawer, + Statistic, + Popconfirm, + Skeleton, + SkeletonItem, + Empty, + Descriptions, + DescriptionsItem, + Result +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/format.js b/PAMapp/local_modules/element-ui/src/locale/format.js new file mode 100644 index 0000000..dacfa31 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/format.js @@ -0,0 +1,46 @@ +import { hasOwn } from 'element-ui/src/utils/util'; + +const RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g; +/** + * String format template + * - Inspired: + * https://github.com/Matt-Esch/string-template/index.js + */ +export default function(Vue) { + + /** + * template + * + * @param {String} string + * @param {Array} ...args + * @return {String} + */ + + function template(string, ...args) { + if (args.length === 1 && typeof args[0] === 'object') { + args = args[0]; + } + + if (!args || !args.hasOwnProperty) { + args = {}; + } + + return string.replace(RE_NARGS, (match, prefix, i, index) => { + let result; + + if (string[index - 1] === '{' && + string[index + match.length] === '}') { + return i; + } else { + result = hasOwn(args, i) ? args[i] : null; + if (result === null || result === undefined) { + return ''; + } + + return result; + } + }); + } + + return template; +} diff --git a/PAMapp/local_modules/element-ui/src/locale/index.js b/PAMapp/local_modules/element-ui/src/locale/index.js new file mode 100644 index 0000000..eabeb80 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/index.js @@ -0,0 +1,48 @@ +import defaultLang from 'element-ui/src/locale/lang/zh-CN'; +import Vue from 'vue'; +import deepmerge from 'deepmerge'; +import Format from './format'; + +const format = Format(Vue); +let lang = defaultLang; +let merged = false; +let i18nHandler = function() { + const vuei18n = Object.getPrototypeOf(this || Vue).$t; + if (typeof vuei18n === 'function' && !!Vue.locale) { + if (!merged) { + merged = true; + Vue.locale( + Vue.config.lang, + deepmerge(lang, Vue.locale(Vue.config.lang) || {}, { clone: true }) + ); + } + return vuei18n.apply(this, arguments); + } +}; + +export const t = function(path, options) { + let value = i18nHandler.apply(this, arguments); + if (value !== null && value !== undefined) return value; + + const array = path.split('.'); + let current = lang; + + for (let i = 0, j = array.length; i < j; i++) { + const property = array[i]; + value = current[property]; + if (i === j - 1) return format(value, options); + if (!value) return ''; + current = value; + } + return ''; +}; + +export const use = function(l) { + lang = l || lang; +}; + +export const i18n = function(fn) { + i18nHandler = fn || i18nHandler; +}; + +export default { use, t, i18n }; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/af-ZA.js b/PAMapp/local_modules/element-ui/src/locale/lang/af-ZA.js new file mode 100644 index 0000000..8707d3a --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/af-ZA.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Maak skoon' + }, + datepicker: { + now: 'Nou', + today: 'Vandag', + cancel: 'Kanselleer', + clear: 'Maak skoon', + confirm: 'Bevestig', + selectDate: 'Kies datum', + selectTime: 'Kies tyd', + startDate: 'Begindatum', + startTime: 'Begintyd', + endDate: 'Einddatum', + endTime: 'Eindtyd', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: 'Jaar', + month1: 'Jan', + month2: 'Feb', + month3: 'Mrt', + month4: 'Apr', + month5: 'Mei', + month6: 'Jun', + month7: 'Jul', + month8: 'Aug', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Des', + // week: 'week', + weeks: { + sun: 'So', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mrt', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laai', + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + placeholder: 'Kies' + }, + cascader: { + noMatch: 'Geen toepaslike data', + loading: 'Laai', + placeholder: 'Kies', + noData: 'Geen data' + }, + pagination: { + goto: 'Gaan na', + pagesize: '/page', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Boodskap', + confirm: 'Bevestig', + cancel: 'Kanselleer', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Verwyder', + preview: 'Voorskou', + continue: 'Gaan voort' + }, + table: { + emptyText: 'Geen Data', + confirmFilter: 'Bevestig', + resetFilter: 'Herstel', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen Data' + }, + transfer: { + noMatch: 'Geen toepaslike data', + noData: 'Geen data', + titles: ['Lys 1', 'Lys 2'], + filterPlaceholder: 'Voer sleutelwoord in', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} gekies' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen Data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ar.js b/PAMapp/local_modules/element-ui/src/locale/lang/ar.js new file mode 100644 index 0000000..c27b92b --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ar.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: '�戒�', + clear: '堨堬塈��' + }, + datepicker: { + now: '塈�K�', + today: '塈��', + cancel: '堨�種忪�', + clear: '堨堬塈��', + confirm: '�戒�', + selectDate: '堨堮堛堭 塈�臾忪斬�', + selectTime: '堨堮堛堭 塈��', + startDate: '堛塈堭�� 塈�佩胰�', + startTime: '�� 塈�佩胰�', + endDate: '堛塈堭�� 塈�矛舍忪�', + endTime: '�� 塈�矛舍忪�', + prevYear: '塈�喧� 塈�喀忪佻�', + nextYear: '塈�喧� 塈�臾戒�', + prevMonth: '塈�棻� 塈�喀忪佻�', + nextMonth: '塈�棻� 塈�臾戒�', + year: '堻��', + month1: '�戒�', + month2: '�佩斛戒�', + month3: '�忪斛�', + month4: '塈堥堭��', + month5: '�戒�', + month6: '��', + month7: '��', + month8: '堧媞堻媟堻', + month9: '堻堥堛�佩�', + month10: '堧�舍佩�', + month11: '�佩�', + month12: '堹�喧佩�', + week: '堧堻堥��', + weeks: { + sun: '塈��堶堹', + mon: '塈��堳��', + tue: '塈�弈忪建忪�', + wed: '塈��堭堥媢塈堙', + thu: '塈�桓�', + fri: '塈�省壽�', + sat: '塈�喀佩�' + }, + months: { + jan: '�戒�', + feb: '�佩斛戒�', + mar: '�忪斛�', + apr: '堧堥堭��', + may: '�戒�', + jun: '��', + jul: '��', + aug: '堧媞堻媟堻', + sep: '堻堥堛�佩�', + oct: '堧�舍佩�', + nov: '�佩�', + dec: '堹�喧佩�' + } + }, + select: { + loading: '堿塈堭 塈�臾倪�', + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + placeholder: '堨堮堛堭' + }, + cascader: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + loading: '堿塈堭 塈�臾倪�', + placeholder: '堨堮堛堭', + noData: '�戒盅� 堥�戒忪�' + }, + pagination: { + goto: '堧堸�� 堨��', + pagesize: '/媯�倭�', + total: '塈�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '塈�夥戒�', + confirm: '�戒�', + cancel: '堨�種忪�', + error: '�胰桓� 媞�� 媯堶��' + }, + upload: { + delete: '堶堸��', + preview: '媢堭媔', + continue: '堨堻堛�斛忪�' + }, + table: { + emptyText: '�戒盅� 堥�戒忪�', + confirmFilter: '堛堧��', + resetFilter: '堶堸��', + clearFilter: '塈��', + sumText: '塈�省�' + }, + tree: { + emptyText: '�戒盅� 堥�戒忪�' + }, + transfer: { + noMatch: '�戒盅� 堥�戒忪� �煥忪佻�', + noData: '�戒盅� 堥�戒忪�', + titles: ['�忪肌� 1', '�忪肌� 2'], + filterPlaceholder: '塈堹堮�� ��', + noCheckedFormat: '{total} 媢�忪華�', + hasCheckedFormat: '{checked}/{total} �框臾忪�' + }, + image: { + error: '�棻�' + }, + pageHeader: { + title: '媢�胰�' + }, + popconfirm: { + confirmButtonText: '堛堧��', + cancelButtonText: '堨�種忪�' + }, + empty: { + description: '�戒盅� 堥�戒忪�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/az.js b/PAMapp/local_modules/element-ui/src/locale/lang/az.js new file mode 100644 index 0000000..86ad9f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/az.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: 'T�diql��', + clear: 'T�izl��' + }, + datepicker: { + now: '襤ndi', + today: 'Bug羹n', + cancel: '襤mtina', + clear: 'T�izl��', + confirm: 'T�diql��', + selectDate: 'Taxir se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�an�帷 Tarixi', + startTime: 'Ba�an�帷 Saat覺', + endDate: 'Bitm�� Tarixi', + endTime: 'Bitm�� Saat覺', + prevYear: '�c�i il', + nextYear: 'Sonrak覺 il', + prevMonth: '�c�i ay', + nextMonth: 'Sonrak覺 ay', + year: '', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: '襤yun', + month7: '襤yul', + month8: 'Avqust', + month9: 'Sentyabr', + month10: 'Oktyabr', + month11: 'Noyabr', + month12: 'Dekabr', + // week: 'week', + weeks: { + sun: 'Baz', + mon: 'B.e', + tue: '��.a', + wed: '�', + thu: 'C.a', + fri: 'C羹m', + sat: '�' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: '襤yn', + jul: '襤yl', + aug: 'Avq', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Y羹kl�ir', + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'N�ic�� tap覺lmad覺', + loading: 'Y羹kl�ir', + placeholder: 'Se癟', + noData: 'M�umat yoxdur' + }, + pagination: { + goto: 'Get', + pagesize: '/s�if��', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'T�diql��', + cancel: '襤mtina', + error: 'S�v' + }, + upload: { + deleteTip: 'S羹r羹�羹rm�� sonra sil', + delete: 'Sil', + preview: '� izl��', + continue: 'Davam et' + }, + table: { + emptyText: 'M�umat yoxdur', + confirmFilter: 'T�diql��', + resetFilter: 'S覺f覺rla', + clearFilter: 'B羹t羹n', + sumText: 'C�i' + }, + tree: { + emptyText: 'M�umat yoxdur' + }, + transfer: { + noMatch: 'N�ic�� tap覺lmad覺', + noData: 'M�umat yoxdur', + titles: ['List 1', 'List 2'], + filterPlaceholder: 'K�im�iri daxil et', + noCheckedFormat: '{total} ��', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'S�V' // to be translated + }, + pageHeader: { + title: 'Geri' // to be translated + }, + popconfirm: { + confirmButtonText: 'B�i', // to be translated + cancelButtonText: 'Xeyr' // to be translated + }, + empty: { + description: 'M�umat yoxdur' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/bg.js b/PAMapp/local_modules/element-ui/src/locale/lang/bg.js new file mode 100644 index 0000000..271c485 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/bg.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: '�煤解�' + }, + datepicker: { + now: '苤迮迣訄', + today: '�請萃�', + cancel: '�碟匾剷�', + clear: '�煤解�', + confirm: '��', + selectDate: '�煩教萃�邽 迡訄��', + selectTime: '�煩教萃�邽 �參�', + startDate: '�參匾鉼請� 迡訄��', + startTime: '�參匾鉼菩� �參�', + endDate: '��訄邿郇訄 迡訄��', + endTime: '��訄迮郇 �參�', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '觓郇�參�邽', + month2: '苳迮赲��參�邽', + month3: '�參���', + month4: '�謀�邽郅', + month5: '�匾�', + month6: '衩郇邽', + month7: '衩郅邽', + month8: '�紹剩�', + month9: '苤迮郈�菩標紼�邽', + month10: '�碧憶標紼�邽', + month11: '�憶菩標紼�邽', + month12: '�菩碟菩標紼�邽', + // week: '苤迮迡邾邽��', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '��', + wed: '苤���', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '觓郇��', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '衩郇邽', + jul: '衩郅邽', + aug: '�紹�', + sep: '苤迮郈', + oct: '�碧�', + nov: '�憶�', + dec: '�菩�' + } + }, + select: { + loading: '�參�迮迠迡訄郇迮', + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + placeholder: '�煩教萃�邽' + }, + cascader: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + loading: '�參�迮迠迡訄郇迮', + placeholder: '�煩教萃�邽', + noData: '�標� 迡訄郇郇邽' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽��', + total: '�敗� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤�憶敗菩請覜�', + confirm: '��', + cancel: '�碟匾剷�', + error: '�菩紹匾鉼覜棣請� 迡訄郇郇邽' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '�煤�邽邿', + preview: '��迮迣郅迮迡訄邿', + continue: '��郋迡�鉼剷�' + }, + table: { + emptyText: '�標� 迡訄郇郇邽', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�煤解�', + clearFilter: '�解碟�', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '�標� 迡訄郇郇邽' + }, + transfer: { + noMatch: '�標� 郇訄邾迮�迮郇邽', + noData: '�標� 迡訄郇郇邽', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�標� 迡訄郇郇邽' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/bn.js b/PAMapp/local_modules/element-ui/src/locale/lang/bn.js new file mode 100644 index 0000000..4e16601 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/bn.js @@ -0,0 +1,126 @@ +'use strict'; + +exports.__esModule = true; +exports.default = { + el: { + colorpicker: { + confirm: '鄏兒江鄏嗣��江鄏�', + clear: '鄏汙鄏耜江' + }, + datepicker: { + now: '鄏�成', + today: '鄏��汙鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + clear: '鄏汙鄏耜江', + confirm: '鄏兒江鄏嗣��江鄏�', + selectDate: '鄏戈汙鄏啤江鄏� 鄏兒江鄏啤�收鄏擒�成 鄏旭鄑成', + selectTime: '鄏兒江鄏啤�收鄏擒�成鄑旭 鄏詮旨鄏能汝鄏汙鄏�', + startDate: '鄏嗣�旭鄑旭 鄏戈汙鄏啤江鄏�', + startTime: '鄏嗣�旭鄑旭 鄏詮旨鄏能汝', + endDate: '鄏嗣�朵 鄏戈汙鄏啤江鄏�', + endTime: '鄏嗣�朵 鄏詮旨鄏能汝', + prevYear: '鄏忖 鄏眇�旭', + nextYear: '鄏�汙鄏桌� 鄏眇�旭', + prevMonth: '鄏忖 鄏桌汙鄏詮��', + nextMonth: '鄏芹旭鄑旭 鄏桌汙鄏詮��', + year: '鄏眇�旭', + month1: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + month2: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + month3: '鄏桌汙鄏啤���', + month4: '鄏扛鄑旭鄏賴曳', + month5: '鄏桌��', + month6: '鄏�成', + month7: '鄏�曳鄏擒��', + month8: '鄏�次鄑��', + month9: '鄏詮�扛鄑��旨鄑收鄏�', + month10: '鄏����收鄏�', + month11: '鄏兒早鄑旨鄑收鄏�', + month12: '鄏﹤江鄏詮�旨鄑收鄏�', + // week: '�甈�', + weeks: { + sun: '鄏啤收鄏賴收鄏擒旭', + mon: '鄏詮�旨鄏眇汙鄏啤��', + tue: '鄏桌���曳鄏眇汙鄏�', + wed: '鄏眇�戍鄏眇汙鄏�', + thu: '鄏眇�此鄏詮�扛鄏戈江鄏眇汙鄏�', + fri: '鄏嗣���旭鄏眇汙鄏�', + sat: '鄏嗣成鄏賴收鄏擒旭' + }, + months: { + jan: '鄏汙鄏兒�旬鄏潼汙鄏啤江', + feb: '鄏徇�收鄑旭鄑旬鄏潼汙鄏啤江', + mar: '鄏桌汙鄏啤���', + apr: '鄏扛鄑旭鄏賴曳', + may: '鄏桌��', + jun: '鄏�成', + jul: '鄏�曳鄏擒��', + aug: '鄏�次鄑��', + sep: '鄏詮�扛鄑��旨鄑收鄏�', + oct: '鄏����收鄏�', + nov: '鄏兒早鄑旨鄑收鄏�', + dec: '鄏﹤江鄏詮�旨鄑收鄏�' + } + }, + select: { + loading: '鄏耜�式 鄏嫩�����', + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + placeholder: '鄏芹�成鄑戌 鄏旭' + }, + cascader: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + loading: '鄏耜�式 鄏嫩�����', + placeholder: '鄏芹�成鄑戌 鄏旭', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + pagination: { + goto: '鄏能汙鄏�', + pagesize: '鄏芹�旭鄏眇成鄑戍/鄏芹�朵鄑�汙', + total: '鄏詮旭鄑收鄏桌��� {total} 鄏徇汙鄏耜汙', + pageClassifier: '鄏芹汙鄏戈汙' + }, + messagebox: { + title: '鄏���江鄏�', + confirm: '鄏兒江鄏嗣��江鄏�', + cancel: '鄏眇汙鄏戈江鄏� 鄏旭鄑成', + error: '鄏芹�旭鄏眇�朱 鄏旭鄏� 鄏戈戎鄑旬 鄏收鄑戍!' + }, + upload: { + deleteTip: '鄏成鄑次鄏擒旭鄑� delete 鄏桌���� 鄏徇�曳鄏�', + delete: '鄏桌���� 鄏徇�曳鄏�', + preview: '鄏冢江鄏� 鄏旨鄑��', + continue: '鄏扛鄏耜�式 鄏汙鄏耜江鄏能汝鄑� 鄏能汙鄏�' + }, + table: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���', + confirmFilter: '鄏汙鄏�成鄏�', + resetFilter: '鄏啤江鄏詮���', + clearFilter: '鄏詮收', + sumText: '鄏桌���' + }, + tree: { + emptyText: '鄏�成 鄏戈戎鄑旬 鄏兒���' + }, + transfer: { + noMatch: '鄏�成 鄏桌江鄏� 鄏戈戎鄑旬', + noData: '鄏�成 鄏戈戎鄑旬 鄏兒���', + titles: ['鄏戈汙鄏耜江鄏汙 1', '鄏戈汙鄏耜江鄏汙 2'], + filterPlaceholder: '鄏成鄑次鄏兒�戍鄏擒成 鄏眇江鄏獅旬鄏潼收鄏詮�忖鄑� 鄏耜江鄏�成', + noCheckedFormat: '鄏桌��� {total} 鄏���旨', + hasCheckedFormat: '鄏兒江鄏啤�收鄏擒�江鄏� {checked}/{total} 鄏���旨' + }, + image: { + error: '鄏耜�式 鄏旭鄏戈�� 鄏眇�旬鄏啤�戎' + }, + pageHeader: { + title: '鄏芹�旭鄏戈�旬鄏擒收鄏啤�忖鄏�' + }, + popconfirm: { + confirmButtonText: '鄏兒江鄏嗣��江鄏�', + cancelButtonText: '鄏眇汙鄏戈江鄏� 鄏旭鄑成' + }, + empty: { + description: '鄏�成 鄏戈戎鄑旬 鄏兒���' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ca.js b/PAMapp/local_modules/element-ui/src/locale/lang/ca.js new file mode 100644 index 0000000..d734dc8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ca.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Netejar' + }, + datepicker: { + now: 'Ara', + today: 'Avui', + cancel: 'Cancel繚lar', + clear: 'Netejar', + confirm: 'Confirmar', + selectDate: 'Seleccionar data', + selectTime: 'Seleccionar hora', + startDate: 'Data Inici', + startTime: 'Hora Inici', + endDate: 'Data Final', + endTime: 'Hora Final', + prevYear: 'Any anterior', + nextYear: 'Pr簷xim Any', + prevMonth: 'Mes anterior', + nextMonth: 'Pr簷xim Mes', + year: '', + month1: 'Gener', + month2: 'Febrer', + month3: 'Mar癟', + month4: 'Abril', + month5: 'Maig', + month6: 'Juny', + month7: 'Juliol', + month8: 'Agost', + month9: 'Setembre', + month10: 'Octubre', + month11: 'Novembre', + month12: 'Desembre', + // week: 'setmana', + weeks: { + sun: 'Dg', + mon: 'Dl', + tue: 'Dt', + wed: 'Dc', + thu: 'Dj', + fri: 'Dv', + sat: 'Ds' + }, + months: { + jan: 'Gen', + feb: 'Febr', + mar: 'Mar癟', + apr: 'Abr', + may: 'Maig', + jun: 'Juny', + jul: 'Jul', + aug: 'Ag', + sep: 'Set', + oct: 'Oct', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Carregant', + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hi ha dades que coincideixin', + loading: 'Carregant', + placeholder: 'Seleccionar', + noData: 'Sense Dades' + }, + pagination: { + goto: 'Anar a', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Acceptar', + cancel: 'Cancel繚lar', + error: 'Entrada inv�ida' + }, + upload: { + deleteTip: 'premi eliminar per descartar', + delete: 'Eliminar', + preview: 'Vista Pr癡via', + continue: 'Continuar' + }, + table: { + emptyText: 'Sense Dades', + confirmFilter: 'Confirmar', + resetFilter: 'Netejar', + clearFilter: 'Tot', + sumText: 'Tot' + }, + tree: { + emptyText: 'Sense Dades' + }, + transfer: { + noMatch: 'No hi ha dades que coincideixin', + noData: 'Sense Dades', + titles: ['Llista 1', 'Llista 2'], + filterPlaceholder: 'Introdueix la paraula clau', + noCheckedFormat: '{total} 穩tems', + hasCheckedFormat: '{checked}/{total} seleccionats' + }, + image: { + error: 'HA FALLAT' + }, + pageHeader: { + title: 'Tornar' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sense Dades' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/cs-CZ.js b/PAMapp/local_modules/element-ui/src/locale/lang/cs-CZ.js new file mode 100644 index 0000000..d439e19 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/cs-CZ.js @@ -0,0 +1,125 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Vymazat' + }, + datepicker: { + now: 'Te��', + today: 'Dnes', + cancel: 'Zru禳it', + clear: 'Vymazat', + confirm: 'OK', + selectDate: 'Vybrat datum', + selectTime: 'Vybrat �s', + startDate: 'Datum za�﹀ku', + startTime: '�s za�﹀ku', + endDate: 'Datum konce', + endTime: '�s konce', + prevYear: 'P�dchoz穩 rok', + nextYear: 'P�倩﹀穩 rok', + prevMonth: 'P�dchoz穩 m�穩c', + nextMonth: 'P�倩﹀穩 m�穩c', + day: 'Den', + week: 'T羸den', + month: 'M�穩c', + year: 'Rok', + month1: 'Leden', + month2: '�or', + month3: 'B�zen', + month4: 'Duben', + month5: 'Kv�en', + month6: '�rven', + month7: '�rvenec', + month8: 'Srpen', + month9: 'Z獺��', + month10: '�虻en', + month11: 'Listopad', + month12: 'Prosinec', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: '�', + wed: 'St', + thu: '�', + fri: 'P獺', + sat: 'So' + }, + months: { + jan: 'Led', + feb: '�o', + mar: 'B�', + apr: 'Dub', + may: 'Kv��', + jun: '�r', + jul: '�c', + aug: 'Srp', + sep: 'Z獺��', + oct: '�虻', + nov: 'Lis', + dec: 'Pro' + } + }, + select: { + loading: 'Na�負獺n穩', + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + placeholder: 'Vybrat' + }, + cascader: { + noMatch: '鬚獺dn獺 shoda', + loading: 'Na�負獺n穩', + placeholder: 'Vybrat', + noData: '鬚獺dn獺 data' + }, + pagination: { + goto: 'J穩t na', + pagesize: 'na stranu', + total: 'Celkem {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Zpr獺va', + confirm: 'OK', + cancel: 'Zru禳it', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'Stisknout pro smaz獺n穩', + delete: 'Vymazat', + preview: 'N獺hled', + continue: 'Pokra�vat' + }, + table: { + emptyText: '鬚獺dn獺 data', + confirmFilter: 'Potvrdit', + resetFilter: 'Resetovat', + clearFilter: 'V禳e', + sumText: 'Celkem' + }, + tree: { + emptyText: '鬚獺dn獺 data' + }, + transfer: { + noMatch: '鬚獺dn獺 shoda', + noData: '鬚獺dn獺 data', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Kl穩�v矇 slovo', + noCheckedFormat: '{total} polo鱉ek', + hasCheckedFormat: '{checked}/{total} vybr獺no' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鬚獺dn獺 data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/da.js b/PAMapp/local_modules/element-ui/src/locale/lang/da.js new file mode 100644 index 0000000..d2b90d5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/da.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Ryd' + }, + datepicker: { + now: 'Nu', + today: 'I dag', + cancel: 'Annuller', + clear: 'Ryd', + confirm: 'OK', + selectDate: 'V疆lg dato', + selectTime: 'V疆lg tidspunkt', + startDate: 'Startdato', + startTime: 'Starttidspunkt', + endDate: 'Slutdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige 疇r', + nextYear: 'N疆ste 疇r', + prevMonth: 'Forrige m疇ned', + nextMonth: 'N疆ste m疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Marts', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + week: 'uge', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Henter', + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + placeholder: 'V疆lg' + }, + cascader: { + noMatch: 'Ingen matchende data', + loading: 'Henter', + placeholder: 'V疆lg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annuller', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'tryk slet for at fjerne', + delete: 'Slet', + preview: 'Forh疇ndsvisning', + continue: 'Forts疆t' + }, + table: { + emptyText: 'Ingen data', + confirmFilter: 'Bekr疆ft', + resetFilter: 'Nulstil', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Ingen matchende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Indtast s繪geord', + noCheckedFormat: '{total} emner', + hasCheckedFormat: '{checked}/{total} valgt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ingen data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/de.js b/PAMapp/local_modules/element-ui/src/locale/lang/de.js new file mode 100644 index 0000000..319cc66 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/de.js @@ -0,0 +1,124 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Leeren' + }, + datepicker: { + now: 'Jetzt', + today: 'Heute', + cancel: 'Abbrechen', + clear: 'Leeren', + confirm: 'OK', + selectDate: 'Datum w瓣hlen', + selectTime: 'Uhrzeit w瓣hlen', + startDate: 'Startdatum', + startTime: 'Startzeit', + endDate: 'Enddatum', + endTime: 'Endzeit', + prevYear: 'Letztes Jahr', + nextYear: 'N瓣chtes Jahr', + prevMonth: 'Letzter Monat', + nextMonth: 'N瓣chster Monat', + day: 'Tag', + week: 'Woche', + month: 'Monat', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'M瓣rz', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Dezember', + weeks: { + sun: 'So', + mon: 'Mo', + tue: 'Di', + wed: 'Mi', + thu: 'Do', + fri: 'Fr', + sat: 'Sa' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'L瓣dt.', + noMatch: 'Nichts gefunden.', + noData: 'Keine Daten', + placeholder: 'Daten w瓣hlen' + }, + cascader: { + noMatch: 'Nichts gefunden.', + loading: 'L瓣dt.', + placeholder: 'Daten w瓣hlen', + noData: 'Keine Daten' + }, + pagination: { + goto: 'Gehe zu', + pagesize: ' pro Seite', + total: 'Gesamt {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Abbrechen', + error: 'Fehler' + }, + upload: { + deleteTip: 'Klicke l繹schen zum entfernen', + delete: 'L繹schen', + preview: 'Vorschau', + continue: 'Fortsetzen' + }, + table: { + emptyText: 'Keine Daten', + confirmFilter: 'Anwenden', + resetFilter: 'Zur羹cksetzen', + clearFilter: 'Alles ', + sumText: 'Summe' + }, + tree: { + emptyText: 'Keine Eintr瓣ge' + }, + transfer: { + noMatch: 'Nichts gefunden.', + noData: 'Keine Eintr瓣ge', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Eintr瓣ge filtern', + noCheckedFormat: '{total} Eintr瓣ge', + hasCheckedFormat: '{checked}/{total} ausgew瓣hlt' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Keine Daten' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ee.js b/PAMapp/local_modules/element-ui/src/locale/lang/ee.js new file mode 100644 index 0000000..7b79e58 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ee.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T羹hjenda' + }, + datepicker: { + now: 'Praegu', + today: 'T瓣na', + cancel: 'T羹hista', + clear: 'T羹hjenda', + confirm: 'OK', + selectDate: 'Vali kuup瓣ev', + selectTime: 'Vali kellaaeg', + startDate: 'Alguskuup瓣ev', + startTime: 'Algusaeg', + endDate: 'L繭pukuup瓣ev', + endTime: 'L繭puaeg', + prevYear: 'Eelmine aasta', + nextYear: 'J瓣rgmine aasta', + prevMonth: 'Eelmine kuu', + nextMonth: 'J瓣rgmine kuu', + year: '', + month1: 'Jaanuar', + month2: 'Veebruar', + month3: 'M瓣rts', + month4: 'Aprill', + month5: 'Mai', + month6: 'Juuni', + month7: 'Juuli', + month8: 'August', + month9: 'September', + month10: 'Oktoober', + month11: 'November', + month12: 'Detsember', + // week: 'n瓣dal', + weeks: { + sun: 'P', + mon: 'E', + tue: 'T', + wed: 'K', + thu: 'N', + fri: 'R', + sat: 'L' + }, + months: { + jan: 'Jaan', + feb: 'Veeb', + mar: 'M瓣r', + apr: 'Apr', + may: 'Mai', + jun: 'Juun', + jul: 'Juul', + aug: 'Aug', + sep: 'Sept', + oct: 'Okt', + nov: 'Nov', + dec: 'Dets' + } + }, + select: { + loading: 'Laadimine', + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + placeholder: 'Vali' + }, + cascader: { + noMatch: 'Sobivad andmed puuduvad', + loading: 'Laadimine', + placeholder: 'Vali', + noData: 'Andmed puuduvad' + }, + pagination: { + goto: 'Mine lehele', + pagesize: '/page', + total: 'Kokku {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Teade', + confirm: 'OK', + cancel: 'T羹hista', + error: 'Vigane sisend' + }, + upload: { + deleteTip: 'Vajuta "Kustuta", et eemaldada', + delete: 'Kustuta', + preview: 'Eelvaate', + continue: 'J瓣tka' + }, + table: { + emptyText: 'Andmed puuduvad', + confirmFilter: 'Kinnita', + resetFilter: 'Taasta', + clearFilter: 'K繭ik', + sumText: 'Summa' + }, + tree: { + emptyText: 'Andmed puuduvad' + }, + transfer: { + noMatch: 'Sobivad andmed puuduvad', + noData: 'Andmed puuduvad', + titles: ['Loend 1', 'Loend 2'], + filterPlaceholder: 'Sisesta m瓣rks繭na', + noCheckedFormat: '{total} objekti', + hasCheckedFormat: '{checked}/{total} valitud' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Andmed puuduvad' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/el.js b/PAMapp/local_modules/element-ui/src/locale/lang/el.js new file mode 100644 index 0000000..5358fdc --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/el.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '�誕疥憊舒�', + clear: '�敖裕救圖樞�' + }, + datepicker: { + now: '峇��', + today: '峉峸弮庰��', + cancel: '�磁�', + clear: '�敖裕救圖樞�', + confirm: '�誕疥憊舒�', + selectDate: '��庣弇峟徆�� 庢弮峟��', + selectTime: '��庣弇峟徆�� ��', + startDate: '�樁舜諺樁煎諄翁� �諄救憊煙�', + startTime: '峏�� �諄救憊煙�', + endDate: '�樁舜諺樁煎諄翁� �晌憊煙�', + endTime: '峏�� �晌憊煙�', + prevYear: '�諺煎割諫樁舒諄� �諫�', + nextYear: '���樁舒諄� �諫�', + prevMonth: '�諺煎割諫樁舒諄諫� �晌諄救�', + nextMonth: '���樁舒諄諫� �晌諄救�', + year: '�諫�', + month1: '�敖諄諫疢團諫�', + month2: '峖庰帣�諫疢團諫�', + month3: '�疢團諫�', + month4: '���翁銜團諫�', + month5: '�疥團諫�', + month6: '�諫諄團諫�', + month7: '�諫銜團諫�', + month8: '�割諫諫�', + month9: '峉庰��倀樁紮團諫�', + month10: '�磁紮團諫�', + month11: '�諺倀樁紮團諫�', + month12: '�舒睡倀樁紮團諫�', + // week: '庰帣帤怷弮峎帤帢', + weeks: { + sun: '��', + mon: '�舜�', + tue: '峇��', + wed: '峇庰��', + thu: '�舒�', + fri: '�救�', + sat: '峉帢帣' + }, + months: { + jan: '�敖�', + feb: '峖庰帣', + mar: '�救�', + apr: '����', + may: '�救�', + jun: '�諫�', + jul: '�諫�', + aug: '��', + sep: '峉庰�', + oct: '�磁�', + nov: '�諺�', + dec: '�舒�' + } + }, + select: { + loading: '峖��', + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + placeholder: '��庣弇怷帠峸' + }, + cascader: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + loading: '峖��', + placeholder: '��庣弇怷帠峸', + noData: '峓�耆� 帤庰帤怷弮峟彖帢' + }, + pagination: { + goto: '�舜疥統救� ��', + pagesize: '/�舒銜翁棒�', + total: '峉�諄諺銜� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�晌誕樁�', + confirm: '�誕疥憊舒�', + cancel: '�磁�', + error: '�磁� 庰庣�敖剴割�' + }, + upload: { + deleteTip: '�疢煙� �團敖剴救� 帠庣帢 帢�敖耆舜�', + delete: '�團敖剴救�', + preview: '�諺舜�庣�磁�庢��', + continue: '峉�諄倔舒團�' + }, + table: { + emptyText: '峓�耆� �舒棒諺樁倀諄�', + confirmFilter: '��庣帣庰帣帢巹��', + resetFilter: '��帢彖帢�諫�', + clearFilter: '�銜�', + sumText: '峉�諄諺銜�' + }, + tree: { + emptyText: '峓�耆� �舒棒諺樁倀諄�' + }, + transfer: { + noMatch: '�舒� 帣�倀裕煎睡敖� 帢�怷�舒銜倔樁救�', + noData: '峓�耆� 帤庰帤怷弮峟彖帢', + titles: ['�耆� 1', '�耆� 2'], + filterPlaceholder: '�諄敖僇晅煙�', + noCheckedFormat: '{total} �誕團睡舒翁樁舒諄�', + hasCheckedFormat: '{checked}/{total} 庰�庣弇庰帠弮峟彖帢' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '峓�耆� �舒棒諺樁倀諄�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/en.js b/PAMapp/local_modules/element-ui/src/locale/lang/en.js new file mode 100644 index 0000000..6c7b689 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/en.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Clear' + }, + datepicker: { + now: 'Now', + today: 'Today', + cancel: 'Cancel', + clear: 'Clear', + confirm: 'OK', + selectDate: 'Select date', + selectTime: 'Select time', + startDate: 'Start Date', + startTime: 'Start Time', + endDate: 'End Date', + endTime: 'End Time', + prevYear: 'Previous Year', + nextYear: 'Next Year', + prevMonth: 'Previous Month', + nextMonth: 'Next Month', + year: '', + month1: 'January', + month2: 'February', + month3: 'March', + month4: 'April', + month5: 'May', + month6: 'June', + month7: 'July', + month8: 'August', + month9: 'September', + month10: 'October', + month11: 'November', + month12: 'December', + week: 'week', + weeks: { + sun: 'Sun', + mon: 'Mon', + tue: 'Tue', + wed: 'Wed', + thu: 'Thu', + fri: 'Fri', + sat: 'Sat' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Loading', + noMatch: 'No matching data', + noData: 'No data', + placeholder: 'Select' + }, + cascader: { + noMatch: 'No matching data', + loading: 'Loading', + placeholder: 'Select', + noData: 'No data' + }, + pagination: { + goto: 'Go to', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Message', + confirm: 'OK', + cancel: 'Cancel', + error: 'Illegal input' + }, + upload: { + deleteTip: 'press delete to remove', + delete: 'Delete', + preview: 'Preview', + continue: 'Continue' + }, + table: { + emptyText: 'No Data', + confirmFilter: 'Confirm', + resetFilter: 'Reset', + clearFilter: 'All', + sumText: 'Sum' + }, + tree: { + emptyText: 'No Data' + }, + transfer: { + noMatch: 'No matching data', + noData: 'No data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', + cancelButtonText: 'No' + }, + empty: { + description: 'No Data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/eo.js b/PAMapp/local_modules/element-ui/src/locale/lang/eo.js new file mode 100644 index 0000000..467bb20 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/eo.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Bone', + clear: 'Malplenigi' + }, + datepicker: { + now: 'Nun', + today: 'Hodia躑', + cancel: 'Nuligi', + clear: 'Malplenigi', + confirm: 'Bone', + selectDate: 'Elektu daton', + selectTime: 'Elektu horon', + startDate: 'Komenca Dato', + startTime: 'Komenca Horo', + endDate: 'Fina Dato', + endTime: 'Fina Horo', + prevYear: 'Anta躑a Jaro', + nextYear: 'Sekva Jaro', + prevMonth: 'Anta躑a Monato', + nextMonth: 'Sekva Monato', + year: 'Jaro', + month1: 'Januaro', + month2: 'Februaro', + month3: 'Marto', + month4: 'Aprilo', + month5: 'Majo', + month6: 'Junio', + month7: 'Julio', + month8: 'A躑gusto', + month9: 'Septembro', + month10: 'Oktobro', + month11: 'Novembro', + month12: 'Decembro', + week: 'Semajno', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: '譬a躑', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'A躑g', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: '�r�nte', + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + placeholder: 'Bonvolu elekti' + }, + cascader: { + noMatch: 'Neniuj kongruaj datumoj', + loading: '�r�nte', + placeholder: 'Bonvolu elekti', + noData: 'Neniuj datumoj' + }, + pagination: { + goto: 'Iru al', + pagesize: '/ pa�', + total: 'Entute {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesa�', + confirm: 'Bone', + cancel: 'Nuligi', + error: 'Nevalida Enigo!' + }, + upload: { + deleteTip: 'Premu "Delete" por forigi', + delete: 'Forigi', + preview: 'Anta躑rigardi', + continue: 'Da躑rigi' + }, + table: { + emptyText: 'Neniuj datumoj', + confirmFilter: 'Konfirmi', + resetFilter: 'Restarigi', + clearFilter: '�uj', + sumText: 'Sumo' + }, + tree: { + emptyText: 'Neniuj datumoj' + }, + transfer: { + noMatch: 'Neniuj kongruaj datumoj', + noData: 'Neniuj datumoj', + titles: ['Listo 1', 'Listo 2'], + filterPlaceholder: 'Enigu �osilvorton', + noCheckedFormat: '{total} elementoj', + hasCheckedFormat: '{checked}/{total} elektitaj' + }, + image: { + error: 'MALSUKCESIS' + }, + pageHeader: { + title: 'Reen' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Neniuj datumoj' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/es.js b/PAMapp/local_modules/element-ui/src/locale/lang/es.js new file mode 100644 index 0000000..cb118fb --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/es.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Despejar' + }, + datepicker: { + now: 'Ahora', + today: 'Hoy', + cancel: 'Cancelar', + clear: 'Limpiar', + confirm: 'Confirmar', + selectDate: 'Seleccionar fecha', + selectTime: 'Seleccionar hora', + startDate: 'Fecha Incial', + startTime: 'Hora Inicial', + endDate: 'Fecha Final', + endTime: 'Hora Final', + prevYear: 'A簽o Anterior', + nextYear: 'Pr籀ximo A簽o', + prevMonth: 'Mes Anterior', + nextMonth: 'Pr籀ximo Mes', + year: '', + month1: 'enero', + month2: 'febrero', + month3: 'marzo', + month4: 'abril', + month5: 'mayo', + month6: 'junio', + month7: 'julio', + month8: 'agosto', + month9: 'septiembre', + month10: 'octubre', + month11: 'noviembre', + month12: 'diciembre', + // week: 'semana', + weeks: { + sun: 'dom', + mon: 'lun', + tue: 'mar', + wed: 'mi矇', + thu: 'jue', + fri: 'vie', + sat: 's獺b' + }, + months: { + jan: 'ene', + feb: 'feb', + mar: 'mar', + apr: 'abr', + may: 'may', + jun: 'jun', + jul: 'jul', + aug: 'ago', + sep: 'sep', + oct: 'oct', + nov: 'nov', + dec: 'dic' + } + }, + select: { + loading: 'Cargando', + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + placeholder: 'Seleccionar' + }, + cascader: { + noMatch: 'No hay datos que coincidan', + loading: 'Cargando', + placeholder: 'Seleccionar', + noData: 'Sin datos' + }, + pagination: { + goto: 'Ir a', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Aceptar', + cancel: 'Cancelar', + error: 'Entrada inv獺lida' + }, + upload: { + deleteTip: 'Pulse Eliminar para retirar', + delete: 'Eliminar', + preview: 'Vista Previa', + continue: 'Continuar' + }, + table: { + emptyText: 'Sin Datos', + confirmFilter: 'Confirmar', + resetFilter: 'Reiniciar', + clearFilter: 'Limpiar', + sumText: 'Suma' + }, + tree: { + emptyText: 'Sin Datos' + }, + transfer: { + noMatch: 'No hay datos que coincidan', + noData: 'Sin datos', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Ingresar palabra clave', + noCheckedFormat: '{total} art穩culos', + hasCheckedFormat: '{checked}/{total} revisados' + }, + image: { + error: 'HA FALLADO' + }, + pageHeader: { + title: 'Volver' + }, + popconfirm: { + confirmButtonText: 'Si', + cancelButtonText: 'No' + }, + empty: { + description: 'Sin Datos' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/eu.js b/PAMapp/local_modules/element-ui/src/locale/lang/eu.js new file mode 100644 index 0000000..2b14498 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/eu.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Ados', + clear: 'Garbitu' + }, + datepicker: { + now: 'Orain', + today: 'Gaur', + cancel: 'Utzi', + clear: 'Garbitu', + confirm: 'Ados', + selectDate: 'Hautatu data', + selectTime: 'Hautatu ordua', + startDate: 'Hasierako data', + startTime: 'Hasierako ordua', + endDate: 'Amaierako data', + endTime: 'Amaierako ordua', + prevYear: 'Aurreko urtea', + nextYear: 'Hurrengo urtea', + prevMonth: 'Aurreko hilabetea', + nextMonth: 'Hurrengo hilabetea', + year: '', + month1: 'Urtarrila', + month2: 'Otsaila', + month3: 'Martxoa', + month4: 'Apirila', + month5: 'Maiatza', + month6: 'Ekaina', + month7: 'Uztaila', + month8: 'Abuztua', + month9: 'Iraila', + month10: 'Urria', + month11: 'Azaroa', + month12: 'Abendua', + // week: 'astea', + weeks: { + sun: 'ig.', + mon: 'al.', + tue: 'ar.', + wed: 'az.', + thu: 'og.', + fri: 'ol.', + sat: 'lr.' + }, + months: { + jan: 'urt', + feb: 'ots', + mar: 'mar', + apr: 'api', + may: 'mai', + jun: 'eka', + jul: 'uzt', + aug: 'abu', + sep: 'ira', + oct: 'urr', + nov: 'aza', + dec: 'abe' + } + }, + select: { + loading: 'Kargatzen', + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + placeholder: 'Hautatu' + }, + cascader: { + noMatch: 'Bat datorren daturik ez', + loading: 'Kargatzen', + placeholder: 'Hautatu', + noData: 'Daturik ez' + }, + pagination: { + goto: 'Joan', + pagesize: '/orria', + total: 'Guztira {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mezua', + confirm: 'Ados', + cancel: 'Utzi', + error: 'Sarrera baliogabea' + }, + upload: { + deleteTip: 'sakatu Ezabatu kentzeko', + delete: 'Ezabatu', + preview: 'Aurrebista', + continue: 'Jarraitu' + }, + table: { + emptyText: 'Daturik ez', + confirmFilter: 'Baieztatu', + resetFilter: 'Berrezarri', + clearFilter: 'Guztia', + sumText: 'Batura' + }, + tree: { + emptyText: 'Daturik ez' + }, + transfer: { + noMatch: 'Bat datorren daturik ez', + noData: 'Daturik ez', + titles: ['Zerrenda 1', 'Zerrenda 2'], // to be translated + filterPlaceholder: 'Sartu gako-hitza', // to be translated + noCheckedFormat: '{total} elementu', // to be translated + hasCheckedFormat: '{checked}/{total} hautatuta' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Daturik ez' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/fa.js b/PAMapp/local_modules/element-ui/src/locale/lang/fa.js new file mode 100644 index 0000000..f3b9ede --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/fa.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '堥塈奡堹', + clear: '堶堸��' + }, + datepicker: { + now: '塈琠��', + today: '塈�斬�', + cancel: '�稱�', + clear: '堶堸��', + confirm: '堥塈奡��', + selectDate: '塈�臾框忪� 堛塈堭��', + selectTime: '塈�臾框忪� 堬�戒�', + startDate: '堛塈堭�� 奡堭��', + startTime: '堬�戒� 奡堭��', + endDate: '堛塈堭�� 椈塈�戒�', + endTime: '堬�戒� 椈塈�戒�', + prevYear: '堻塈�� �佻�', + nextYear: '堻塈�� 堥媢堹', + prevMonth: '�戒� �佻�', + nextMonth: '�戒� 堥媢堹', + year: '堻塈��', + month1: '�戒�', + month2: '�旋�', + month3: '�忪斛�', + month4: '堞�旋�', + month5: '��', + month6: '�肌�', + month7: '堿�抄�', + month8: '塈��', + month9: '堻椈堛塈�佩�', + month10: '塈琠堛堥堭', + month11: '�戒佩�', + month12: '堹堻塈�佩�', + // week: 'week', + weeks: { + sun: '�拂棻佻�', + mon: '堹�棻佻�', + tue: '堻��棻佻�', + wed: '�忪斛棻佻�', + thu: '椈�砂�棻佻�', + fri: '堿�夥�', + sat: '奡�佻�' + }, + months: { + jan: '�戒�', + feb: '�旋�', + mar: '�忪斛�', + apr: '堞�旋�', + may: '��', + jun: '�肌�', + jul: '堿�抄�', + aug: '塈��', + sep: '堻椈堛塈�佩�', + oct: '塈琠堛堥堭', + nov: '�戒佩�', + dec: '堹堻塈�佩�' + } + }, + select: { + loading: '堥塈堭痧�旋�', + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + placeholder: '塈�臾框忪� 琠��' + }, + cascader: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + loading: '堥塈堭痧�旋�', + placeholder: '塈�臾框忪� 琠��', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + pagination: { + goto: '堥堭�� 堥��', + pagesize: '/媯�倪�', + total: '�省� {total}', + pageClassifier: '' + }, + messagebox: { + title: '椈�戒�', + confirm: '堥塈奡��', + cancel: '�稱�', + error: '�斬胴� 媞�� �盅忪�' + }, + upload: { + deleteTip: '堥堭塈�� 椈塈琠 琠堭堹�� 堶堸�� 堭塈 �楮忪� 堹��', + delete: '堶堸��', + preview: '椈�氯�抄�', + continue: '塈堹塈��' + }, + table: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�', + confirmFilter: '堛塈��', + resetFilter: '堶堸��', + clearFilter: '��', + sumText: '堿��' + }, + tree: { + emptyText: '塈媟�忪壽忪芝� �省� �胰忪斛�' + }, + transfer: { + noMatch: '�� 堹塈堹��抄� 椈�胰� �楮�', + noData: '塈媟�忪壽忪芝� �省� �胰忪斛�', + titles: ['�喀� 1', '�喀� 2'], + filterPlaceholder: '琠�� �我� �忪斬� �忪斛� 琠��', + noCheckedFormat: '{total} �斛�', + hasCheckedFormat: '{checked} �斛� 塈堬 {total} �斛� 塈�臾框忪� 奡堹�� 塈堻堛' + }, + image: { + error: '堮媟塈 堹堭 堥塈堭痧�旋� 堛媯��' + }, + pageHeader: { + title: '堥塈堬痧奡堛' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '塈媟�忪壽忪芝� �省� �胰忪斛�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/fi.js b/PAMapp/local_modules/element-ui/src/locale/lang/fi.js new file mode 100644 index 0000000..c92a38c --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/fi.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Tyhjenn瓣' + }, + datepicker: { + now: 'Nyt', + today: 'T瓣n瓣瓣n', + cancel: 'Peruuta', + clear: 'Tyhjenn瓣', + confirm: 'OK', + selectDate: 'Valitse p瓣iv瓣', + selectTime: 'Valitse aika', + startDate: 'Aloitusp瓣iv瓣', + startTime: 'Aloitusaika', + endDate: 'Lopetusp瓣iv瓣', + endTime: 'Lopetusaika', + prevYear: 'Edellinen vuosi', + nextYear: 'Seuraava vuosi', + prevMonth: 'Edellinen kuukausi', + nextMonth: 'Seuraava kuukausi', + year: '', + month1: 'tammikuu', + month2: 'helmikuu', + month3: 'maaliskuu', + month4: 'huhtikuu', + month5: 'toukokuu', + month6: 'kes瓣kuu', + month7: 'hein瓣kuu', + month8: 'elokuu', + month9: 'syyskuu', + month10: 'lokakuu', + month11: 'marraskuu', + month12: 'joulukuu', + // week: 'week', + weeks: { + sun: 'su', + mon: 'ma', + tue: 'ti', + wed: 'ke', + thu: 'to', + fri: 'pe', + sat: 'la' + }, + months: { + jan: 'tammi', + feb: 'helmi', + mar: 'maalis', + apr: 'huhti', + may: 'touko', + jun: 'kes瓣', + jul: 'hein瓣', + aug: 'elo', + sep: 'syys', + oct: 'loka', + nov: 'marras', + dec: 'joulu' + } + }, + select: { + loading: 'Lataa', + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + placeholder: 'Valitse' + }, + cascader: { + noMatch: 'Ei vastaavia tietoja', + loading: 'Lataa', + placeholder: 'Valitse', + noData: 'Ei tietoja' + }, + pagination: { + goto: 'Mene', + pagesize: '/sivu', + total: 'Yhteens瓣 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Viesti', + confirm: 'OK', + cancel: 'Peruuta', + error: 'Virheellinen sy繹te' + }, + upload: { + deleteTip: 'Poista Delete-n瓣pp瓣imell瓣', + delete: 'Poista', + preview: 'Esikatsele', + continue: 'Jatka' + }, + table: { + emptyText: 'Ei tietoja', + confirmFilter: 'Vahvista', + resetFilter: 'Tyhjenn瓣', + clearFilter: 'Kaikki', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ei tietoja' + }, + transfer: { + noMatch: 'Ei vastaavia tietoja', + noData: 'Ei tietoja', + titles: ['Luettelo 1', 'Luettelo 2'], + filterPlaceholder: 'Sy繹t瓣 hakusana', + noCheckedFormat: '{total} kohdetta', + hasCheckedFormat: '{checked}/{total} valittu' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Ei tietoja' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/fr.js b/PAMapp/local_modules/element-ui/src/locale/lang/fr.js new file mode 100644 index 0000000..2918584 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/fr.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Effacer' + }, + datepicker: { + now: 'Maintenant', + today: 'Auj.', + cancel: 'Annuler', + clear: 'Effacer', + confirm: 'OK', + selectDate: 'Choisir date', + selectTime: 'Choisir horaire', + startDate: 'Date d矇but', + startTime: 'Horaire d矇but', + endDate: 'Date fin', + endTime: 'Horaire fin', + prevYear: 'Ann矇e pr矇c矇dente', + nextYear: 'Ann矇e suivante', + prevMonth: 'Mois pr矇c矇dent', + nextMonth: 'Mois suivant', + year: '', // In french, like in english, we don't say "Ann矇e" after the year number. + month1: 'Janvier', + month2: 'F矇vrier', + month3: 'Mars', + month4: 'Avril', + month5: 'Mai', + month6: 'Juin', + month7: 'Juillet', + month8: 'Ao羶t', + month9: 'Septembre', + month10: 'Octobre', + month11: 'Novembre', + month12: 'D矇cembre', + // week: 'Semaine', + weeks: { + sun: 'Dim', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Jeu', + fri: 'Ven', + sat: 'Sam' + }, + months: { + jan: 'Jan', + feb: 'F矇v', + mar: 'Mar', + apr: 'Avr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ao羶', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'D矇c' + } + }, + select: { + loading: 'Chargement', + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + placeholder: 'Choisir' + }, + cascader: { + noMatch: 'Aucune correspondance', + loading: 'Chargement', + placeholder: 'Choisir', + noData: 'Aucune donn矇e' + }, + pagination: { + goto: 'Aller ��', + pagesize: '/page', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'Confirmer', + cancel: 'Annuler', + error: 'Erreur' + }, + upload: { + deleteTip: 'Cliquer sur supprimer pour retirer le fichier', + delete: 'Supprimer', + preview: 'Aper癟u', + continue: 'Continuer' + }, + table: { + emptyText: 'Aucune donn矇e', + confirmFilter: 'Confirmer', + resetFilter: 'R矇initialiser', + clearFilter: 'Tous', + sumText: 'Somme' + }, + tree: { + emptyText: 'Aucune donn矇e' + }, + transfer: { + noMatch: 'Aucune correspondance', + noData: 'Aucune donn矇e', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Entrer un mot clef', + noCheckedFormat: '{total} elements', + hasCheckedFormat: '{checked}/{total} coch矇(s)' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Aucune donn矇e' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/he.js b/PAMapp/local_modules/element-ui/src/locale/lang/he.js new file mode 100644 index 0000000..232e759 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/he.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '�抿�', + clear: '�忸�' + }, + datepicker: { + now: '�I�', + today: '��', + cancel: '��', + clear: '�忸�', + confirm: '�抿�', + selectDate: '�� 蛌�侈�', + selectTime: '�� ��', + startDate: '蛌�侈� �臥�', + startTime: '�� �臥�', + endDate: '蛌�侈� 蛂��', + endTime: '�� 蛂��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '��', + month2: '蚺�侈�', + month3: '�侈�', + month4: '�尤侈�', + month5: '��', + month6: '��', + month7: '��', + month8: '�=�', + month9: '蛂蚺��', + month10: '�忸�', + month11: '��', + month12: '�肉�', + // week: 'week', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '��', + thu: '��', + fri: '��', + sat: '蚸��' + }, + months: { + jan: '��', + feb: '蚺�侈�', + mar: '�侈�', + apr: '�尤侈�', + may: '��', + jun: '��', + jul: '��', + aug: '�=�', + sep: '蛂蚺��', + oct: '�忸�', + nov: '��', + dec: '�肉�' + } + }, + select: { + loading: '�I�', + noMatch: '�� �肉� �臥�', + noData: '�� �臥�', + placeholder: '��' + }, + cascader: { + noMatch: '�� �臥� �臥�', + loading: '�I�', + placeholder: '��', + noData: '�� �臥�' + }, + pagination: { + goto: '蛁�� ��', + pagesize: '/page', + total: '�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�I�', + confirm: '�抿�', + cancel: '��', + error: '蚹�� �� 蛌蚹��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '��', + preview: '蛌蛈�� �忸�', + continue: '�抿�' + }, + table: { + emptyText: '�� �臥�', + confirmFilter: '�抿�', + resetFilter: '�忸�', + clearFilter: '��', + sumText: '蛂��' + }, + tree: { + emptyText: '�� �臥�' + }, + transfer: { + noMatch: '�� �臥� �臥�', + noData: '�� �臥�', + titles: ['蚳蚸�� 1', '蚳蚸�� 2'], + filterPlaceholder: '�忸�', + noCheckedFormat: '蚺蚳�� {total}', + hasCheckedFormat: ' �抿� {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�� �臥�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/hr.js b/PAMapp/local_modules/element-ui/src/locale/lang/hr.js new file mode 100644 index 0000000..0b718a2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/hr.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'O�sti' + }, + datepicker: { + now: 'Sada', + today: 'Danas', + cancel: 'Otka鱉i', + clear: 'O�sti', + confirm: 'OK', + selectDate: 'Odaberi datum', + selectTime: 'Odaberi vrijeme', + startDate: 'Datum po�tka', + startTime: 'Vrijeme po�tka', + endDate: 'Datum zavr禳etka', + endTime: 'Vrijeme zavr禳etka', + prevYear: 'Prethodna godina', + nextYear: 'Sljede� godina', + prevMonth: 'Prethodni mjesec', + nextMonth: 'Sljede� mjesec', + year: '', + month1: 'Sije�nj', + month2: 'Velja�', + month3: 'O鱉ujak', + month4: 'Travanj', + month5: 'Svibanj', + month6: 'Lipanj', + month7: 'Srpanj', + month8: 'Kolovoz', + month9: 'Rujan', + month10: 'Listopad', + month11: 'Studeni', + month12: 'Prosinac', + week: 'tjedan', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Uto', + wed: 'Sri', + thu: '�t', + fri: 'Pet', + sat: 'Sub' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'U�tavanje', + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + placeholder: 'Izaberi' + }, + cascader: { + noMatch: 'Nema prona�nih podataka', + loading: 'U�tavanje', + placeholder: 'Izaberi', + noData: 'Nema podataka' + }, + pagination: { + goto: 'Idi na', + pagesize: '/stranica', + total: 'Ukupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Poruka', + confirm: 'OK', + cancel: 'Otka鱉i', + error: 'Pogre禳an unos' + }, + upload: { + deleteTip: 'pritisnite izbri禳i za brisanje', + delete: 'Izbri禳i', + preview: 'Pregled', + continue: 'Nastavak' + }, + table: { + emptyText: 'Nema podataka', + confirmFilter: 'Potvrdi', + resetFilter: 'Resetiraj', + clearFilter: 'Sve', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nema podataka' + }, + transfer: { + noMatch: 'Nema prona�nih podataka', + noData: 'Nema podataka', + titles: ['Lista 1', 'Lista 2'], // to be translated + filterPlaceholder: 'Unesite klju�u rije��', // to be translated + noCheckedFormat: '{total} stavki', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nema podataka' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/hu.js b/PAMapp/local_modules/element-ui/src/locale/lang/hu.js new file mode 100644 index 0000000..750b674 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/hu.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹rl矇s' + }, + datepicker: { + now: 'Most', + today: 'Ma', + cancel: 'M矇gse', + clear: 'T繹rl矇s', + confirm: 'OK', + selectDate: 'D獺tum', + selectTime: 'Id�ont', + startDate: 'D獺tum-t籀l', + startTime: 'Id�ont-t籀l', + endDate: 'D獺tum-ig', + endTime: 'Id�ont-ig', + prevYear: 'El��� 矇v', + nextYear: 'K繹vetkez�� 矇v', + prevMonth: 'El��� h籀nap', + nextMonth: 'K繹vetkez�� h籀nap', + year: '', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'M獺rcius', + month4: '�rilis', + month5: 'M獺jus', + month6: 'J繳nius', + month7: 'J繳lius', + month8: 'Augusztus', + month9: 'Szeptember', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Vas', + mon: 'H矇t', + tue: 'Ked', + wed: 'Sze', + thu: 'Cs羹', + fri: 'P矇n', + sat: 'Szo' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'M獺r', + apr: '�r', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Szep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Bet繹lt矇s', + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + placeholder: 'V獺lassz' + }, + cascader: { + noMatch: 'Nincs tal獺lat', + loading: 'Bet繹lt矇s', + placeholder: 'V獺lassz', + noData: 'Nincs adat' + }, + pagination: { + goto: 'Ugr獺s', + pagesize: '/oldal', + total: '�sz {total}', + pageClassifier: '' + }, + messagebox: { + title: '�enet', + confirm: 'OK', + cancel: 'M矇gse', + error: 'Hib獺s adat' + }, + upload: { + deleteTip: 'kattints a t繹rl矇shez', + delete: 'T繹rl矇s', + preview: 'El�矇zet', + continue: 'Tov獺bb' + }, + table: { + emptyText: 'Nincs adat', + confirmFilter: 'Meger�穩t', + resetFilter: 'Alaphelyet', + clearFilter: 'Mind', + sumText: '�szeg' + }, + tree: { + emptyText: 'Nincs adat' + }, + transfer: { + noMatch: 'Nincs tal獺lat', + noData: 'Nincs adat', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Kulcssz籀', + noCheckedFormat: '{total} elem', + hasCheckedFormat: '{checked}/{total} kiv獺lasztva' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nincs adat' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/hy-AM.js b/PAMapp/local_modules/element-ui/src/locale/lang/hy-AM.js new file mode 100644 index 0000000..eb43c65 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/hy-AM.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '埮捸��', + clear: '�>�掍晙' + }, + datepicker: { + now: '�晛桭捸', + today: '埜桮桵��', + cancel: '�白組>�朘掍晙', + clear: '�>�掍晙', + confirm: '埮捸��', + selectDate: '堋梮梲�掍�� 捸桭桵捸晥晛��', + selectTime: '堋梮梲�掍�� 晡捸桭捸梮捸朘旍', + startDate: '�耿耳�. 捸桭桵捸晥晛��', + startTime: '�耿耳�. 晡捸桭捸梮捸朘旍', + endDate: '�皮�梬. 捸桭桵捸晥晛桴旍', + endTime: '�皮�梬. 晡捸桭捸梮捸朘旍', + prevYear: '�<倘詩�掑 梲捸�晛', + nextYear: '�<閣詩�掑 梲捸�晛', + prevMonth: '�<倘詩�掑 捸桭晛桵', + nextMonth: '�<閣詩�掑 捸桭晛桵', + year: '�>�晛', + month1: '�詩勢詩>�', + month2: '�白謁�楖�>�', + month3: '�>�梲', + month4: '埜梣�晛晙', + month5: '�<菅幽�', + month6: '�詩勢幽�', + month7: '�詩盈幽�', + month8: '��楖桵梲楖桵', + month9: '�白禎諾白椎G皮�', + month10: '�試耿諾白椎G皮�', + month11: '�試菅白椎G皮�', + month12: '埭掍朘梲掍桭掅掍�', + week: '�<G<�', + weeks: { + sun: '埥晛�', + mon: '埽�朘', + tue: '埽�', + wed: '�詩�', + thu: '�晛梮掁', + fri: '��掅', + sat: '�<�' + }, + months: { + jan: '�詩勢�', + feb: '�白�', + mar: '�>�', + apr: '埜梣�', + may: '�<�', + jun: '�詩�', + jul: '�詩�', + aug: '��', + sep: '�白禎�', + oct: '�試�', + nov: '�試�', + dec: '埭掍朘' + } + }, + select: { + loading: '埴掍梩梮楖��', + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�擅菅<盈勢皮� 桯朘捸梮', + placeholder: '堋梮梲�掍晙' + }, + cascader: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + loading: '埴掍梩梮楖��', + placeholder: '堋梮梲�掍晙', + noData: '�擅菅<盈勢皮� 桯朘捸梮' + }, + pagination: { + goto: '埜梮�勢白�', + pagesize: ' 敓梬楖��', + total: '堋梮掑捸桭掍梮旍 {total}', + pageClassifier: '' + }, + messagebox: { + title: '�捸梐楖�掑捸掁�楖�拌庠�', + confirm: '埮捸��', + cancel: '�白組>�朘掍晙', + error: '埜梮桴捸�皮� 梲楖�白<盈勢皮�晛 桭楖�謁�' + }, + upload: { + deleteTip: '�白組椎皮� [�勢閣白柵 梬梮梬掍晙楖�� 桹捸桭捸�', + delete: '�勢閣白�', + preview: '�<倘<孔幽諾詩�', + continue: '�>�楖�勢<耿白�' + }, + table: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮', + confirmFilter: '�<調諾<諾白�', + resetFilter: '�皮�捸掁楖�晢捸�朘掍晙', + clearFilter: '埴楖晙楖�旍', + sumText: '堀楖�椎>�旍' + }, + tree: { + emptyText: '�詩白<盈勢皮� 桯朘捸梮' + }, + transfer: { + noMatch: '�捸桭捸梣捸梲捸桵晜捸梮 梲楖�白<盈勢皮� 桯朘捸梮', + noData: '�詩白<盈勢皮� 桯朘捸梮', + titles: ['�詩<� 1', '�詩<� 2'], + filterPlaceholder: '�詩謁<��掍�� 掅捸梮捸晙晛 掅捸梩', + noCheckedFormat: '{total} 桭晛捸�詩�', + hasCheckedFormat: '{checked}/{total} 旍梮梲�楖�<� 敓' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�詩白<盈勢皮� 桯朘捸梮' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/id.js b/PAMapp/local_modules/element-ui/src/locale/lang/id.js new file mode 100644 index 0000000..1ac8308 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/id.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Pilih', + clear: 'Kosongkan' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Kosongkan', + confirm: 'Ya', + selectDate: 'Pilih tanggal', + selectTime: 'Pilih waktu', + startDate: 'Tanggal Mulai', + startTime: 'Waktu Mulai', + endDate: 'Tanggal Selesai', + endTime: 'Waktu Selesai', + prevYear: 'Tahun Sebelumnya', + nextYear: 'Tahun Selanjutnya', + prevMonth: 'Bulan Sebelumnya', + nextMonth: 'Bulan Selanjutnya', + year: 'Tahun', + month1: 'Januari', + month2: 'Februari', + month3: 'Maret', + month4: 'April', + month5: 'Mei', + month6: 'Juni', + month7: 'Juli', + month8: 'Agustus', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'minggu', + weeks: { + sun: 'Min', + mon: 'Sen', + tue: 'Sel', + wed: 'Rab', + thu: 'Kam', + fri: 'Jum', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mei', + jun: 'Jun', + jul: 'Jul', + aug: 'Agu', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Memuat', + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + placeholder: 'Pilih' + }, + cascader: { + noMatch: 'Tidak ada data yg cocok', + loading: 'Memuat', + placeholder: 'Pilih', + noData: 'Tidak ada data' + }, + pagination: { + goto: 'Pergi ke', + pagesize: '/laman', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pesan', + confirm: 'Ya', + cancel: 'Batal', + error: 'Masukan ilegal' + }, + upload: { + deleteTip: 'Tekan hapus untuk melanjutkan', + delete: 'Hapus', + preview: 'Pratinjau', + continue: 'Lanjutkan' + }, + table: { + emptyText: 'Tidak ada data', + confirmFilter: 'Konfirmasi', + resetFilter: 'Atur ulang', + clearFilter: 'Semua', + sumText: 'Jml' + }, + tree: { + emptyText: 'Tidak ada data' + }, + transfer: { + noMatch: 'Tidak ada data yg cocok', + noData: 'Tidak ada data', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukan kata kunci', + noCheckedFormat: '{total} butir', + hasCheckedFormat: '{checked}/{total} terpilih' + }, + image: { + error: 'GAGAL' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Ya', + cancelButtonText: 'Tidak' + }, + empty: { + description: 'Tidak ada data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/is.js b/PAMapp/local_modules/element-ui/src/locale/lang/is.js new file mode 100644 index 0000000..52cf631 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/is.js @@ -0,0 +1,124 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Hreinsa' + }, + datepicker: { + now: 'N繳na', + today: '�� dag', + cancel: 'H疆tta vi簸', + clear: 'Hreinsa', + confirm: 'OK', + selectDate: 'Velja dagsetningu', + selectTime: 'Velja t穩ma', + startDate: 'Upphafsdagsetning', + startTime: 'Upphafst穩mi', + endDate: 'Lokadagsetning', + endTime: 'Lokat穩mi', + prevYear: 'S穩簸asta 獺r', + nextYear: 'N疆sta 獺r', + prevMonth: 'S穩簸asti m獺nu簸ur', + nextMonth: 'N疆sti m獺nu簸ur', + year: '�', + month1: 'Jan繳ar', + month2: 'Febr繳ar', + month3: 'Mars', + month4: 'Apr穩l', + month5: 'Ma穩', + month6: 'J繳n穩', + month7: 'J繳l穩', + month8: '�繳st', + month9: 'September', + month10: 'Okt籀ber', + month11: 'N籀vember', + month12: 'Desember', + week: 'Vika', + weeks: { + sun: 'Sun', + mon: 'M獺n', + tue: '�i', + wed: 'Mi簸', + thu: 'Fim', + fri: 'F繹s', + sat: 'Lau' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Ma穩', + jun: 'J繳n', + jul: 'J繳l', + aug: '�繳', + sep: 'Sep', + oct: 'Okt', + nov: 'N籀v', + dec: 'Des' + } + }, + select: { + loading: 'Hle簸', + noMatch: 'Ekkert fannst', + noData: 'Engin g繹gn', + placeholder: 'Velja' + }, + cascader: { + noMatch: 'Ekkert fannst', + loading: 'Hle簸', + placeholder: 'Velja', + noData: 'Engin g繹gn' + }, + pagination: { + goto: 'Fara 獺', + pagesize: '/sida', + total: 'Samtals {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Skilabo簸', + confirm: 'OK', + cancel: 'H疆tta vi簸', + error: 'Rangt innslegi簸' + }, + upload: { + deleteTip: 'smelltu 獺 ey簸a til a簸 ey簸a', + delete: 'Ey簸a', + preview: 'Sko簸a', + continue: 'Halda 獺fram' + }, + table: { + emptyText: 'Engin g繹gn', + confirmFilter: 'Sta簸festa', + resetFilter: 'Endurstilla', + clearFilter: 'Allt', + sumText: 'Summa' + }, + tree: { + emptyText: 'Engin g繹gn' + }, + transfer: { + noMatch: 'Engin g繹gn fundust', + noData: 'Engin g繹gn', + titles: ['Listi 1', 'Listi 2'], + filterPlaceholder: 'Sl獺 inn or簸', + noCheckedFormat: '{total} atri簸i', + hasCheckedFormat: '{checked}/{total} valin' + }, + image: { + error: 'VILLA' + }, + pageHeader: { + title: 'Til baka' + }, + popconfirm: { + confirmButtonText: 'J獺', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Engin g繹gn' + } + } +}; + diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/it.js b/PAMapp/local_modules/element-ui/src/locale/lang/it.js new file mode 100644 index 0000000..7671837 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/it.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Pulisci' + }, + datepicker: { + now: 'Ora', + today: 'Oggi', + cancel: 'Cancella', + clear: 'Pulisci', + confirm: 'OK', + selectDate: 'Seleziona data', + selectTime: 'Seleziona ora', + startDate: 'Data inizio', + startTime: 'Ora inizio', + endDate: 'Data fine', + endTime: 'Ora fine', + prevYear: 'Anno precedente', + nextYear: 'Anno successivo', + prevMonth: 'Mese precedente', + nextMonth: 'Mese successivo', + year: 'anno', + month1: 'Gennaio', + month2: 'Febbraio', + month3: 'Marzo', + month4: 'Aprile', + month5: 'Maggio', + month6: 'Giugno', + month7: 'Luglio', + month8: 'Agosto', + month9: 'Settembre', + month10: 'Ottobre', + month11: 'Novembre', + month12: 'Dicembre', + // week: 'settimana', + weeks: { + sun: 'Dom', + mon: 'Lun', + tue: 'Mar', + wed: 'Mer', + thu: 'Gio', + fri: 'Ven', + sat: 'Sab' + }, + months: { + jan: 'Gen', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mag', + jun: 'Giu', + jul: 'Lug', + aug: 'Ago', + sep: 'Set', + oct: 'Ott', + nov: 'Nov', + dec: 'Dic' + } + }, + select: { + loading: 'Caricamento', + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + placeholder: 'Seleziona' + }, + cascader: { + noMatch: 'Nessuna corrispondenza', + loading: 'Caricamento', + placeholder: 'Seleziona', + noData: 'Nessun dato' + }, + pagination: { + goto: 'Vai a', + pagesize: '/pagina', + total: 'Totale {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Annulla', + error: 'Input non valido' + }, + upload: { + deleteTip: 'Premi cancella per rimuovere', + delete: 'Cancella', + preview: 'Anteprima', + continue: 'Continua' + }, + table: { + emptyText: 'Nessun dato', + confirmFilter: 'Conferma', + resetFilter: 'Reset', + clearFilter: 'Tutti', + sumText: 'Somma' + }, + tree: { + emptyText: 'Nessun dato' + }, + transfer: { + noMatch: 'Nessuna corrispondenza', + noData: 'Nessun dato', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Inserisci filtro', + noCheckedFormat: '{total} elementi', + hasCheckedFormat: '{checked}/{total} selezionati' + }, + image: { + error: 'ERRORE' + }, + pageHeader: { + title: 'Indietro' + }, + popconfirm: { + confirmButtonText: 'S穫', + cancelButtonText: 'No' + }, + empty: { + description: 'Nessun dato' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ja.js b/PAMapp/local_modules/element-ui/src/locale/lang/ja.js new file mode 100644 index 0000000..fc54e37 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ja.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: '���' + }, + datepicker: { + now: '��', + today: '隞', + cancel: '�����', + clear: '���', + confirm: 'OK', + selectDate: '�隞����', + selectTime: '�������', + startDate: '���', + startTime: '������', + endDate: '蝯�', + endTime: '蝯����', + prevYear: '��僑', + nextYear: '蝧僑', + prevMonth: '����', + nextMonth: '蝧��', + year: '撟�', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: '�望活', + weeks: { + sun: '�', + mon: '���', + tue: '�', + wed: '瘞�', + thu: '�', + fri: '���', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '����葉', + noMatch: '�������', + noData: '�������', + placeholder: '����������' + }, + cascader: { + noMatch: '�������', + loading: '����葉', + placeholder: '����������', + noData: '�������' + }, + pagination: { + goto: '', + pagesize: '隞�/���', + total: '蝺�� {total} 隞�', + pageClassifier: '�����' + }, + messagebox: { + title: '�����', + confirm: 'OK', + cancel: '�����', + error: '甇���������' + }, + upload: { + deleteTip: 'Del������������', + delete: '������', + preview: '�����', + continue: '蝬����' + }, + table: { + emptyText: '�������', + confirmFilter: '蝣箄��', + resetFilter: '�����', + clearFilter: '���', + sumText: '����' + }, + tree: { + emptyText: '�������' + }, + transfer: { + noMatch: '�������', + noData: '�������', + titles: ['����� 1', '����� 2'], + filterPlaceholder: '����������', + noCheckedFormat: '蝺�� {total} 隞�', + hasCheckedFormat: '{checked}/{total} �������' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�������' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/kg.js b/PAMapp/local_modules/element-ui/src/locale/lang/kg.js new file mode 100644 index 0000000..8dce6e5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/kg.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '���請碧�', + clear: '訄��' + }, + datepicker: { + now: '訄郱��', + today: '訇玼迣玼郇', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + clear: '訄��', + confirm: '訇迮郅迣邽郅茤茤', + selectDate: '迡訄��', + selectTime: '�匾請棣憶� �教匾碧�', + startDate: '�參匾鉼創匾� 迡訄�參�', + startTime: 'Start �教匾碧�', + endDate: '�耕碩房� 迡訄�參�', + endTime: 'End �教匾碧�', + prevYear: '茤�碩房� 迠�銑�', + nextYear: '訇邽� 迠�鉼棣匾� 郕邽邿邽郇', + prevMonth: '茖�碩房� 訄邿迡訄', + nextMonth: '�覜塵覜請碟� 訄邿', + year: '迠��', + month1: '訇邽�邽郇�� 訄邿', + month2: '衪郕邽郇�� 訄邿迡訄', + month3: '珖�耘諸� 訄邿迡訄', + month4: '苠茤��耘諸� 訄邿迡訄', + month5: '訇迮�覜諸� 訄邿迡訄', + month6: '�鉼創參碧� 訄郅�� 訄邿', + month7: '迠迮�覜諸� 訄邿迡訄', + month8: '�菩創覜煩覜諸� 訄邿', + month9: '�鉼創參碧� �憶剩� 訄邿', + month10: '郋郇�諸� 訄邿迡訄', + month11: '郋郇 訇邽�邽郇�� 訄邿', + month12: '郋郇 �碟覜諸� 訄邿迡訄', + // week: '�甈�', + weeks: { + sun: '迠迮�� 迠�標�', + mon: '迡玼邿�房標啟�', + tue: '�菩塾菩標教�', + wed: '�參��菩標教�', + thu: '訇迮邿�菩標教�', + fri: '迠�標�', + sat: '邽�菩標教�' + }, + months: { + jan: '訇邽�邽郇�� 訄邿', + feb: '衪郕邽郇�� 訄邿迡訄', + mar: '珖�耘諸� 訄邿迡訄', + apr: '苠茤��耘諸� 訄邿迡訄', + may: '訇迮�覜諸� 訄邿迡訄', + jun: '�鉼創參碧� 訄郅�� 訄邿', + jul: '迠迮�覜諸� 訄邿迡訄', + aug: '�菩創覜煩覜諸� 訄邿', + sep: '�鉼創參碧� �憶剩� 訄邿', + oct: '郋郇�諸� 訄邿迡訄', + nov: '郋郇 訇邽�邽郇�� 訄邿', + dec: '郋郇 �碟覜諸� 訄邿迡訄' + } + }, + select: { + loading: '�耘碧房閡耙耘植�', + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + placeholder: '�匾請棣憶�' + }, + cascader: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + loading: '�耘碧房閡耙耘植�', + placeholder: '�匾請棣憶�', + noData: '邾訄訄郅�標參� 迠郋郕' + }, + pagination: { + goto: '���請碧�', + pagesize: '訇邽�', + total: '訇玼�耘請植房� {total} �匾� ', + pageClassifier: '訇迮��' + }, + messagebox: { + title: '�菩�', + confirm: '訇迮郅迣邽郅茤茤', + cancel: '迠郋郕郕郋 �創參��鉼棋�', + error: '�匾匾銑標參參�迡�� 郕邽�迣邽郱玼玼 邾�塵煩匾標棋� �標萃�!' + }, + upload: { + deleteTip: '�憶� 郕�銑� 訇訄�碧� 訇訄�� 迠郋郕', + delete: '迠郋郕 郕�銑�', + preview: '�諸� 郕訄��覜請碟�', + continue: '迠玼郕�房� 訇迮�' + }, + table: { + emptyText: '邾訄訄郅�標參� 迠郋郕', + confirmFilter: '�諱碟�', + resetFilter: '郕訄邿�訄 郋�郇郋��', + clearFilter: '訇玼�碩房�', + sumText: '�參�迡�剩� 訇郋郅��' + }, + tree: { + emptyText: '邾訄訄郅�標參� 迠郋郕' + }, + transfer: { + noMatch: '�匾� 郕迮郅迣迮郇 邾訄訄郅�標參參�', + noData: '邾訄訄郅�標參� 迠郋郕', + titles: ['1 �覜煩標萃�', '2 �覜煩標萃�'], + filterPlaceholder: '苤��訄郇��, 邽郱迡茤茤 郕邽�迮��', + noCheckedFormat: '訇玼�耘請植房� {total} �匾�', + hasCheckedFormat: '苠訄郇迡訄郅迣訄郇 {checked}/{total} �匾�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '邾訄訄郅�標參� 迠郋郕' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/km.js b/PAMapp/local_modules/element-ui/src/locale/lang/km.js new file mode 100644 index 0000000..4a08e45 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/km.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '���������', + clear: '�����' + }, + datepicker: { + now: '���������', + today: '���������', + cancel: '��������', + clear: '�����', + confirm: '���������', + selectDate: '��������������', + selectTime: '��������������', + startDate: '���������������', + startTime: '���������������', + endDate: '������������', + endTime: '������������', + prevYear: '����������', + nextYear: '�������������', + prevMonth: '�������', + nextMonth: '����������', + year: '�������', + month1: '�����', + month2: '���������', + month3: '����', + month4: '����', + month5: '����', + month6: '������', + month7: '���������', + month8: '����', + month9: '������', + month10: '����', + month11: '��������', + month12: '����', + week: '���������', + weeks: { + sun: '���������', + mon: '�������', + tue: '��������', + wed: '�����', + thu: '�����.���', + fri: '��������', + sat: '������' + }, + months: { + jan: '�����', + feb: '���������', + mar: '����', + apr: '����', + may: '����', + jun: '������', + jul: '���������', + aug: '����', + sep: '������', + oct: '����', + nov: '��������', + dec: '����' + } + }, + select: { + loading: '������������', + noMatch: '�����������������', + noData: '��������������', + placeholder: '����������' + }, + cascader: { + noMatch: '�����������������', + loading: '������������', + placeholder: '����������', + noData: '��������������' + }, + pagination: { + goto: '���������', + pagesize: '/�������', + total: '������ {total}', + pageClassifier: '' + }, + messagebox: { + title: '�����', + confirm: '���������', + cancel: '��������', + error: '�����������������������' + }, + upload: { + deleteTip: '��������������������', + delete: '�����', + preview: '�����', + continue: '������' + }, + table: { + emptyText: '��������������', + confirmFilter: '���������', + resetFilter: '��������������', + clearFilter: '���������', + sumText: '����' + }, + tree: { + emptyText: '��������������' + }, + transfer: { + noMatch: '�����������������', + noData: '��������������', + titles: ['����� �', '����� �'], + filterPlaceholder: '��������������', + noCheckedFormat: '{total} ����', + hasCheckedFormat: '{checked}/{total} ����������' + }, + image: { + error: '��������' + }, + pageHeader: { + title: 'Back' + }, + popconfirm: { + confirmButtonText: '������', + cancelButtonText: '���������' + }, + empty: { + description: '��������������' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ko.js b/PAMapp/local_modules/element-ui/src/locale/lang/ko.js new file mode 100644 index 0000000..8ab8bc9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ko.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '��', + clear: '黕萼���' + }, + datepicker: { + now: '鴔�篣�', + today: '����', + cancel: '鼒到��', + clear: '黕萼���', + confirm: '��', + selectDate: '���� ����', + selectTime: '���� ����', + startDate: '���� ����', + startTime: '���� ����', + endDate: '鮈�� ����', + endTime: '鮈�� ����', + prevYear: '鴔���', + nextYear: '���', + prevMonth: '鴔���', + nextMonth: '���', + year: '���', + month1: '1���', + month2: '2���', + month3: '3���', + month4: '4���', + month5: '5���', + month6: '6���', + month7: '7���', + month8: '8���', + month9: '9���', + month10: '10���', + month11: '11���', + month12: '12���', + // week: 'week', + weeks: { + sun: '�', + mon: '���', + tue: '���', + wed: '���', + thu: '諈�', + fri: '篣�', + sat: '���' + }, + months: { + jan: '1���', + feb: '2���', + mar: '3���', + apr: '4���', + may: '5���', + jun: '6���', + jul: '7���', + aug: '8���', + sep: '9���', + oct: '10���', + nov: '11���', + dec: '12���' + } + }, + select: { + loading: '賱���� 鴗�', + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + placeholder: '����' + }, + cascader: { + noMatch: '諤�� ���穈� ����', + loading: '賱���� 鴗�', + placeholder: '����', + noData: '��� ����' + }, + pagination: { + goto: '����', + pagesize: '/page', + total: '黕� {total}', + pageClassifier: '' + }, + messagebox: { + title: '諰��', + confirm: '��', + cancel: '鼒到��', + error: '�諻打鴔� ��� ��' + }, + upload: { + deleteTip: '�謔原�� �����', + delete: '����', + preview: '諯賈收貐湊萼', + continue: '窸��萼' + }, + table: { + emptyText: '��� ����', + confirmFilter: '��', + resetFilter: '黕萼���', + clearFilter: '��眼', + sumText: '�' + }, + tree: { + emptyText: '��� ����' + }, + transfer: { + noMatch: '諤�� ���穈� ����', + noData: '��� ����', + titles: ['謔科� 1', '謔科� 2'], + filterPlaceholder: ' �������', + noCheckedFormat: '{total} �諈�', + hasCheckedFormat: '{checked}/{total} ���' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��� ����' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ku.js b/PAMapp/local_modules/element-ui/src/locale/lang/ku.js new file mode 100644 index 0000000..f9bb812 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ku.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Temam', + clear: 'Paqij bike' + }, + datepicker: { + now: 'Niha', + today: '�o', + cancel: 'Betal bike', + clear: 'Paqij bike', + confirm: 'Temam', + selectDate: 'D簾rok礙 bibij礙re', + selectTime: 'Dem礙 bibij礙re', + startDate: 'D簾roka Destp礙k礙', + startTime: 'Dema Destp礙k礙', + endDate: 'D簾roka Daw簾', + endTime: 'Dema Daw簾', + prevYear: 'Sala P礙��', + nextYear: 'Sala Pa��', + prevMonth: 'Meha P礙��', + nextMonth: 'Meha Pa��', + year: 'Sal', + month1: 'R礙bendan', + month2: 'Re�meh', + month3: 'Adar', + month4: 'Avr礙l', + month5: 'Gulan', + month6: 'P羶�er', + month7: 'T簾rmeh', + month8: 'Gilav礙j', + month9: 'Rezber', + month10: 'Kew癟礙r', + month11: 'Sarmawaz', + month12: 'Berfanbar', + // week: 'week', + weeks: { + sun: 'Yek', + mon: 'Du��', + tue: 'S礙��', + wed: '�r', + thu: 'P礙n', + fri: '�', + sat: '�m' + }, + months: { + jan: 'R礙b', + feb: 'Re��', + mar: 'Ada', + apr: 'Avr', + may: 'Gul', + jun: 'P羶��', + jul: 'T簾r', + aug: 'Gil', + sep: 'Rez', + oct: 'Kew', + nov: 'Sar', + dec: 'Ber' + } + }, + select: { + loading: 'Bardibe', + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + placeholder: 'Bibij礙re' + }, + cascader: { + noMatch: 'Li hembere ve agah簾 tune', + loading: 'Bardibe', + placeholder: 'Bibij礙re', + noData: 'Agah簾 tune' + }, + pagination: { + goto: 'Bi癟e', + pagesize: '/rupel', + total: 'Tevah簾 {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Peyam', + confirm: 'Temam', + cancel: 'Betal bike', + error: 'Beyana 癟ewt' + }, + upload: { + deleteTip: 'ji bo rake p礙l "delete" bike', + delete: 'Rake', + preview: 'P礙�簾tin', + continue: 'Berdewam' + }, + table: { + emptyText: 'Agah簾 tune', + confirmFilter: 'Pi�rast bike', + resetFilter: 'J礙 bibe', + clearFilter: 'Hem羶', + sumText: 'Kom' + }, + tree: { + emptyText: 'Agah簾 tune' + }, + transfer: { + noMatch: 'Li hembere ve agah簾 tune', + noData: 'Agah簾 tune', + titles: ['L簾ste 1', 'L簾ste 2'], + filterPlaceholder: 'Biniv簾se', + noCheckedFormat: '{total} lib', + hasCheckedFormat: '{checked}/{total} bijartin' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Agah簾 tune' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/kz.js b/PAMapp/local_modules/element-ui/src/locale/lang/kz.js new file mode 100644 index 0000000..664ae38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/kz.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '�匾敗鉼棣參�', + clear: '苠訄郱訄郅訄��' + }, + datepicker: { + now: '�匾煤�', + today: '�耘剩�', + cancel: '�憶鉼棋�邾訄��', + clear: '苠訄郱訄郅訄��', + confirm: '�匾敗鉼棣參�', + selectDate: '�耘請棋� �曼�迡訄猀��', + selectTime: '苤訄�參� �曼�迡訄猀��', + startDate: '�參匾銑� 郕玼郇��', + startTime: '�參匾銑� �曼參�', + endDate: '�匾銑� 郕玼郇��', + endTime: '�匾銑� �曼參�', + prevYear: '�鉼棋��� 迠��', + nextYear: '�菩鉼萃� 迠��', + prevMonth: '�鉼棋��� 訄邿', + nextMonth: '�菩鉼萃� 訄邿', + year: '��', + month1: '�曼��參�', + month2: '�諱匾�', + month3: '�參���', + month4: '苤��', + month5: '�匾槽�', + month6: '�參�', + month7: '虼�鉼棣�', + month8: '苠訄邾��', + month9: '��郕玼邿迮郕', + month10: '�匾煩匾�', + month11: '�參�訄��', + month12: '�菩銑懊匾�', + week: '�謀�', + weeks: { + sun: '�菩�', + mon: '�耘�', + tue: '苤迮邿', + wed: '苤��', + thu: '�菩�', + fri: '�教�', + sat: '苤迮郇' + }, + months: { + jan: '�曼�', + feb: '��', + mar: '�參�', + apr: '苤��', + may: '�匾�', + jun: '�參�', + jul: '虼��', + aug: '苠訄邾', + sep: '��', + oct: '�匾�', + nov: '�參�', + dec: '�菩�' + } + }, + select: { + loading: '�耘碧菩銑棣�', + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + placeholder: '苠訄猀迡訄猀��' + }, + cascader: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + loading: '�耘碧菩銑棣�', + placeholder: '苠訄猀迡訄猀��', + noData: '�萃�迮郕�萃� 迠郋��' + }, + pagination: { + goto: '�參���', + pagesize: '/page', + total: '�參�郅�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苭訄訇訄�', + confirm: '�匾敗鉼棣參�', + cancel: '�憶鉼棋�邾訄��', + error: '�參�訄邾�� 迮郇迣�煤鉼萃�' + }, + upload: { + deleteTip: '茖���棋� 訇訄�� 茤������', + delete: '茖����', + preview: '�鉼棋� 訄郅訄 �參�訄��', + continue: '�匾閡參���' + }, + table: { + emptyText: '�萃�迮郕�萃� 迠郋��', + confirmFilter: '�匾敗鉼棣參�', + resetFilter: '�匾鉼謀請� 郕迮郅����', + clearFilter: '�參�郅��', + sumText: '苤郋邾訄��' + }, + tree: { + emptyText: '�萃�迮郕�萃� 迠郋��' + }, + transfer: { + noMatch: '苤�塵碟萃� 迡迮�迮郕�萃� 迠郋��', + noData: '�萃�迮郕�萃� 迠郋��', + titles: ['List 1', 'List 2'], + filterPlaceholder: '�銑� �房煩棋� 迮郇迣�煤���', + noCheckedFormat: '{total} �銑槽諸�', + hasCheckedFormat: '{checked}/{total} �敗教菩鉼剩� �憶塾鉼棋�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�萃�迮郕�萃� 迠郋��' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/lt.js b/PAMapp/local_modules/element-ui/src/locale/lang/lt.js new file mode 100644 index 0000000..696a52f --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/lt.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Valyti' + }, + datepicker: { + now: 'Dabar', + today: '�andien', + cancel: 'At禳aukti', + clear: 'Valyti', + confirm: 'OK', + selectDate: 'Pasirink dat��', + selectTime: 'Pasirink laik��', + startDate: 'Data nuo', + startTime: 'Laikas nuo', + endDate: 'Data iki', + endTime: 'Laikas iki', + prevYear: 'Metai atgal', + nextYear: 'Metai 蠕 priek蠕', + prevMonth: 'M�. atgal', + nextMonth: 'M�. 蠕 priek蠕', + year: '', + month1: 'Sausis', + month2: 'Vasaris', + month3: 'Kovas', + month4: 'Balandis', + month5: 'Gegu鱉��', + month6: 'Bir鱉elis', + month7: 'Liepa', + month8: 'Rugpj贖tis', + month9: 'Rugs�is', + month10: 'Spalis', + month11: 'Lapkritis', + month12: 'Gruodis', + // week: 'savait��', + weeks: { + sun: 'S.', + mon: 'Pr.', + tue: 'A.', + wed: 'T.', + thu: 'K.', + fri: 'Pn.', + sat: '��.' + }, + months: { + jan: 'Sau', + feb: 'Vas', + mar: 'Kov', + apr: 'Bal', + may: 'Geg', + jun: 'Bir', + jul: 'Lie', + aug: 'Rugp', + sep: 'Rugs', + oct: 'Spa', + nov: 'Lap', + dec: 'Gruo' + } + }, + select: { + loading: 'Kraunasi', + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + placeholder: 'Pasirink' + }, + cascader: { + noMatch: 'Duomen鑒 nerasta', + loading: 'Kraunasi', + placeholder: 'Pasirink', + noData: 'N�a duomen鑒' + }, + pagination: { + goto: 'Eiti 蠕', + pagesize: '/p', + total: 'Viso {total}', + pageClassifier: '' + }, + messagebox: { + title: '鬚inut��', + confirm: 'OK', + cancel: 'At禳aukti', + error: 'Klaida 蠕vestuose duomenyse' + }, + upload: { + deleteTip: 'spauskite "Trinti" nor�ami pa禳alinti', + delete: 'Trinti', + preview: 'Per鱉i贖r�i', + continue: 'Toliau' + }, + table: { + emptyText: 'Duomen鑒 nerasta', + confirmFilter: 'Patvirtinti', + resetFilter: 'Atstatyti', + clearFilter: 'I禳valyti', + sumText: 'Suma' + }, + tree: { + emptyText: 'N�a duomen鑒' + }, + transfer: { + noMatch: 'Duomen鑒 nerasta', + noData: 'N�a duomen鑒', + titles: ['S�a禳as 1', 'S�a禳as 2'], + filterPlaceholder: '蠔vesk rakta鱉od蠕', + noCheckedFormat: 'Viso: {total}', + hasCheckedFormat: 'Pa鱉ym�a {checked} i禳 {total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Duomen鑒 nerasta' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/lv.js b/PAMapp/local_modules/element-ui/src/locale/lang/lv.js new file mode 100644 index 0000000..824480c --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/lv.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Labi', + clear: 'Not蘋r蘋t' + }, + datepicker: { + now: 'Tagad', + today: '�dien', + cancel: 'Atcelt', + clear: 'Not蘋r蘋t', + confirm: 'Labi', + selectDate: 'Izv��ies datumu', + selectTime: 'Izv��ies laiku', + startDate: 'S�uma datums', + startTime: 'S�uma laiks', + endDate: 'Beigu datums', + endTime: 'Beigu laiks', + prevYear: 'Iepriek禳�ais gads', + nextYear: 'N�amais gads', + prevMonth: 'Iepriek禳�ais m�esis', + nextMonth: 'N�amais m�esis', + year: '', + month1: 'Janv�is', + month2: 'Febru�is', + month3: 'Marts', + month4: 'Apr蘋lis', + month5: 'Maijs', + month6: 'J贖nijs', + month7: 'J贖lijs', + month8: 'Augusts', + month9: 'Septembris', + month10: 'Oktobris', + month11: 'Novembris', + month12: 'Decembris', + // week: 'ned�嫵', + weeks: { + sun: 'Sv', + mon: 'Pr', + tue: 'Ot', + wed: 'Tr', + thu: 'Ce', + fri: 'Pk', + sat: 'Se' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'J贖n', + jul: 'J贖l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Iel���', + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + placeholder: 'Izv��ies' + }, + cascader: { + noMatch: 'Nav atbilsto禳u datu', + loading: 'Iel���', + placeholder: 'Izv��ies', + noData: 'Nav datu' + }, + pagination: { + goto: 'Iet uz', + pagesize: '/lapa', + total: 'Kop�� {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Pazi�jums', + confirm: 'Labi', + cancel: 'Atcelt', + error: 'Neder蘋ga ievade' + }, + upload: { + deleteTip: 'Nospiediet dz�t lai iz�mtu', + delete: 'Dz�t', + preview: 'Priek禳skat蘋t', + continue: 'Turpin�' + }, + table: { + emptyText: 'Nav datu', + confirmFilter: 'Apstiprin�', + resetFilter: 'Atiestat蘋t', + clearFilter: 'Visi', + sumText: 'Summa' + }, + tree: { + emptyText: 'Nav datu' + }, + transfer: { + noMatch: 'Nav atbilsto禳u datu', + noData: 'Nav datu', + titles: ['Saraksts 1', 'Saraksts 2'], + filterPlaceholder: 'Ievad蘋t atsl�v�du', + noCheckedFormat: '{total} vien蘋bas', + hasCheckedFormat: '{checked}/{total} atz蘋m�i' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nav datu' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/mn.js b/PAMapp/local_modules/element-ui/src/locale/lang/mn.js new file mode 100644 index 0000000..6343519 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/mn.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '苠邽邿邾', + clear: '虷�紼�郅��' + }, + datepicker: { + now: '�棣憶�', + today: '茖郇茤茤迡茤�', + cancel: '�憶鉼解�', + clear: '虷�紼�郅��', + confirm: '苠邽邿邾', + selectDate: '�創請憶憶� �憶請創�', + selectTime: '虷訄迣邽邿迣 �憶請創�', + startDate: '衪�銑� 郋迣郇郋郋', + startTime: '衪�銑� �匾�', + endDate: '�參� 郋迣郇郋郋', + endTime: '�參� �匾�', + prevYear: '茖邾郇茤�� 迠邽郅', + nextYear: '�參�訄訄 迠邽郅', + prevMonth: '茖邾郇茤�� �參�', + nextMonth: '�參�訄訄 �參�', + year: '郋郇', + month1: '1 �參�', + month2: '2 �參�', + month3: '3 �參�', + month4: '4 �參�', + month5: '5 �參�', + month6: '6 �參�', + month7: '7 �參�', + month8: '8 �參�', + month9: '9 �參�', + month10: '10 �參�', + month11: '11 �參�', + month12: '12 �參�', + week: '�憶鉼憶� �憶請憶�', + weeks: { + sun: '��', + mon: '�匾�', + tue: '��', + wed: '��', + thu: '�耕�', + fri: '�匾�', + sat: '��' + }, + months: { + jan: '1 �參�', + feb: '2 �參�', + mar: '3 �參�', + apr: '4 �參�', + may: '5 �參�', + jun: '6 �參�', + jul: '7 �參�', + aug: '8 �參�', + sep: '9 �參�', + oct: '10 �參�', + nov: '11 �參�', + dec: '12 �參�' + } + }, + select: { + loading: '�匾匾鉼� 訇訄邿郇訄', + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + placeholder: '苤郋郇迣郋��' + }, + cascader: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + loading: '�匾匾鉼� 訇訄邿郇訄', + placeholder: '苤郋郇迣郋��', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + pagination: { + goto: '�解�', + pagesize: '/�棣參�', + total: '�覜塾� {total}', + pageClassifier: '' + }, + messagebox: { + title: '��赲訄��', + confirm: '苠邽邿邾', + cancel: '�憶鉼解�', + error: '���� �創�' + }, + upload: { + deleteTip: '苺�創參� 迡訄�迠 訄�邽郅迣訄', + delete: '苺�創參�', + preview: '茖邾郇茤��', + continue: '珖�迣�鉼剷閡耙耘銑�' + }, + table: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + confirmFilter: '�房紼承戾�茤��', + resetFilter: '虷�紼�郅��', + clearFilter: '�耘創�', + sumText: '�覜塾�' + }, + tree: { + emptyText: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + }, + transfer: { + noMatch: '苠郋�解�郋�� 茤迣茤迣迡茤郅 訇訄邿�勞耘�', + noData: '茖迣茤迣迡茤郅 訇訄邿�勞耘�', + titles: ['�匾剩匾匾銑� 1', '�匾剩匾匾銑� 2'], + filterPlaceholder: '苺�創� 郋���', + noCheckedFormat: '{total} 茤迣茤迣迡茤郅', + hasCheckedFormat: '{checked}/{total} �憶請創憾憶�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '茖迣茤迣迡茤郅 訇訄邿�勞耘�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ms.js b/PAMapp/local_modules/element-ui/src/locale/lang/ms.js new file mode 100644 index 0000000..cdf4331 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ms.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'Sah', + clear: 'Padam' + }, + datepicker: { + now: 'Sekarang', + today: 'Hari ini', + cancel: 'Batal', + clear: 'Padam', + confirm: 'Sah', + selectDate: 'Pilih Tarikh', + selectTime: 'Pilih Masa', + startDate: 'Tarikh Mula', + startTime: 'Masa Mula', + endDate: 'Tarikh Tamat', + endTime: 'Masa Tamat', + prevYear: 'Tahun Lepas', + nextYear: 'Tahun Depan', + prevMonth: 'Bulan Lepas', + nextMonth: 'Bulan Depan', + year: 'Tahun', + month1: 'Januari', + month2: 'Febuari', + month3: 'Mac', + month4: 'April', + month5: 'Mei', + month6: 'Jun', + month7: 'Julai', + month8: 'Ogos', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Disember', + weeks: { + sun: 'Ahad', + mon: 'Isnin', + tue: 'Selasa', + wed: 'Rabu', + thu: 'Khamis', + fri: 'Jumaat', + sat: 'Sabtu' + }, + months: { + jan: 'Januari', + feb: 'Febuari', + mar: 'Mac', + apr: 'April', + may: 'Mei', + jun: 'Jun', + jul: 'Julai', + aug: 'Ogos', + sep: 'September', + oct: 'Oktober', + nov: 'November', + dec: 'Disember' + } + }, + select: { + loading: 'Sedang dimuat turun', + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + placeholder: 'Sila pilih' + }, + cascader: { + noMatch: 'Tiada maklumat yang sepadan', + loading: 'Sedang dimuat turun', + placeholder: 'Sila pilih', + noData: 'Tiada maklumat' + }, + pagination: { + goto: 'Seterusnya', + pagesize: 'x/Halaman', + total: 'Jumlah {total} ', + pageClassifier: 'Halaman' + }, + messagebox: { + title: 'Tip', + confirm: 'Sah', + cancel: 'Batal', + error: 'Data yang diisi tidak sah!' + }, + upload: { + deleteTip: 'Tekan "Padam" untuk memadam', + delete: 'Padam', + preview: 'Pratonton gambar', + continue: 'Meneruskan muat naik' + }, + table: { + emptyText: 'Tiada maklumat', + confirmFilter: 'Tapis', + resetFilter: 'Set Semula', + clearFilter: 'Semua', + sumText: 'Jumlah' + }, + tree: { + emptyText: 'Tiada maklumat' + }, + transfer: { + noMatch: 'Tiada maklumat yang sepadan', + noData: 'Tiada maklumat', + titles: ['Senarai 1', 'Senarai 2'], + filterPlaceholder: 'Masukkan kandungan carian', + noCheckedFormat: 'Jumlah {total} item', + hasCheckedFormat: 'Telah memilih {checked}/{total} item' + }, + image: { + error: 'Muat turun gagal' + }, + pageHeader: { + title: 'Kembali' + }, + popconfirm: { + confirmButtonText: 'Sah', + cancelButtonText: 'Batal' + }, + empty: { + description: 'Tiada maklumat' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/nb-NO.js b/PAMapp/local_modules/element-ui/src/locale/lang/nb-NO.js new file mode 100644 index 0000000..a5246af --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/nb-NO.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繪m' + }, + datepicker: { + now: 'N疇', + today: 'I dag', + cancel: 'Avbryt', + clear: 'T繪m', + confirm: 'OK', + selectDate: 'Velg dato', + selectTime: 'Velg tidspunkt', + startDate: 'Start Dato', + startTime: 'Start Tidspunkt', + endDate: 'Sluttdato', + endTime: 'Sluttidspunkt', + prevYear: 'Forrige �', + nextYear: 'Neste �', + prevMonth: 'Forrige M疇ned', + nextMonth: 'Neste M疇ned', + year: '', + month1: 'Januar', + month2: 'Februar', + month3: 'Mars', + month4: 'April', + month5: 'Mai', + month6: 'Juni', + month7: 'Juli', + month8: 'August', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'Desember', + // week: 'week', + weeks: { + sun: 'S繪n', + mon: 'Man', + tue: 'Tir', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繪r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Des' + } + }, + select: { + loading: 'Laster', + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + placeholder: 'Velg' + }, + cascader: { + noMatch: 'Ingen samsvarende data', + loading: 'Laster', + placeholder: 'Velg', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 til', + pagesize: '/side', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + confirm: 'OK', + cancel: 'Avbryt', + error: 'Ugyldig input' + }, + upload: { + deleteTip: 'trykk slett for 疇 ta bort', + delete: 'Slett', + preview: 'Forh疇ndsvisning', + continue: 'Fortsett' + }, + table: { + emptyText: 'Ingen Data', + confirmFilter: 'Bekreft', + resetFilter: 'Tilbakestill', + clearFilter: 'Alle', + sumText: 'Sum' + }, + tree: { + emptyText: 'Ingen Data' + }, + transfer: { + noMatch: 'Ingen samsvarende data', + noData: 'Ingen data', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Tast inn n繪kkelord', + noCheckedFormat: '{total} gjenstander', + hasCheckedFormat: '{checked}/{total} sjekket' + }, + image: { + error: 'MISLYKTES' + }, + pageHeader: { + title: 'Tilbake' + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nei' + }, + empty: { + description: 'Ingen Data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/nl.js b/PAMapp/local_modules/element-ui/src/locale/lang/nl.js new file mode 100644 index 0000000..1fb7cb2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/nl.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Bevestig', + clear: 'Wissen' + }, + datepicker: { + now: 'Nu', + today: 'Vandaag', + cancel: 'Annuleren', + clear: 'Legen', + confirm: 'Bevestig', + selectDate: 'Selecteer datum', + selectTime: 'Selecteer tijd', + startDate: 'Startdatum', + startTime: 'Starttijd', + endDate: 'Einddatum', + endTime: 'Eindtijd', + prevYear: 'Vorig jaar', + nextYear: 'Volgend jaar', + prevMonth: 'Vorige maand', + nextMonth: 'Volgende maand', + year: '', + month1: 'januari', + month2: 'februari', + month3: 'maart', + month4: 'april', + month5: 'mei', + month6: 'juni', + month7: 'juli', + month8: 'augustus', + month9: 'september', + month10: 'oktober', + month11: 'november', + month12: 'december', + // week: 'week', + weeks: { + sun: 'Zo', + mon: 'Ma', + tue: 'Di', + wed: 'Wo', + thu: 'Do', + fri: 'Vr', + sat: 'Za' + }, + months: { + jan: 'jan', + feb: 'feb', + mar: 'maa', + apr: 'apr', + may: 'mei', + jun: 'jun', + jul: 'jul', + aug: 'aug', + sep: 'sep', + oct: 'okt', + nov: 'nov', + dec: 'dec' + } + }, + select: { + loading: 'Laden', + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + placeholder: 'Selecteer' + }, + cascader: { + noMatch: 'Geen overeenkomende resultaten', + loading: 'Laden', + placeholder: 'Selecteer', + noData: 'Geen data' + }, + pagination: { + goto: 'Ga naar', + pagesize: '/pagina', + total: 'Totaal {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Bericht', + confirm: 'Bevestig', + cancel: 'Annuleren', + error: 'Ongeldige invoer' + }, + upload: { + deleteTip: 'Kies verwijder om te wissen', + delete: 'Verwijder', + preview: 'Voorbeeld', + continue: 'Doorgaan' + }, + table: { + emptyText: 'Geen data', + confirmFilter: 'Bevestigen', + resetFilter: 'Reset', + clearFilter: 'Alles', + sumText: 'Som' + }, + tree: { + emptyText: 'Geen data' + }, + transfer: { + noMatch: 'Geen overeenkomende resultaten', + noData: 'Geen data', + titles: ['Lijst 1', 'Lijst 2'], + filterPlaceholder: 'Geef zoekwoerd', + noCheckedFormat: '{total} items', + hasCheckedFormat: '{checked}/{total} geselecteerd' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Geen data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/pl.js b/PAMapp/local_modules/element-ui/src/locale/lang/pl.js new file mode 100644 index 0000000..9be5b99 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/pl.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Wyczy��' + }, + datepicker: { + now: 'Teraz', + today: 'Dzisiaj', + cancel: 'Anuluj', + clear: 'Wyczy��', + confirm: 'OK', + selectDate: 'Wybierz dat��', + selectTime: 'Wybierz godzin��', + startDate: 'Data pocz�kowa', + startTime: 'Godzina pocz�kowa', + endDate: 'Data ko�owa', + endTime: 'Czas ko�owa', + prevYear: 'Poprzedni rok', + nextYear: 'Nast�ny rok', + prevMonth: 'Poprzedni miesi�', + nextMonth: 'Nast�ny miesi�', + year: 'rok', + month1: 'stycze��', + month2: 'luty', + month3: 'marzec', + month4: 'kwiecie��', + month5: 'maj', + month6: 'czerwiec', + month7: 'lipiec', + month8: 'sierpie��', + month9: 'wrzesie��', + month10: 'pa驕dziernik', + month11: 'listopad', + month12: 'grudzie��', + week: 'tydzie��', + weeks: { + sun: 'niedz.', + mon: 'pon.', + tue: 'wt.', + wed: '�.', + thu: 'czw.', + fri: 'pt.', + sat: 'sob.' + }, + months: { + jan: 'STY', + feb: 'LUT', + mar: 'MAR', + apr: 'KWI', + may: 'MAJ', + jun: 'CZE', + jul: 'LIP', + aug: 'SIE', + sep: 'WRZ', + oct: 'PA饕', + nov: 'LIS', + dec: 'GRU' + } + }, + select: { + loading: '�dowanie', + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + placeholder: 'Wybierz' + }, + cascader: { + noMatch: 'Brak dopasowa��', + loading: '�dowanie', + placeholder: 'Wybierz', + noData: 'Brak danych' + }, + pagination: { + goto: 'Id驕 do', + pagesize: '/strona', + total: 'Wszystkich {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Wiadomo��', + confirm: 'OK', + cancel: 'Anuluj', + error: 'Wiadomo�� zawiera niedozwolone znaki' + }, + upload: { + deleteTip: 'kliknij kasuj aby usun��', + delete: 'Kasuj', + preview: 'Podgl�', + continue: 'Kontynuuj' + }, + table: { + emptyText: 'Brak danych', + confirmFilter: 'Potwierd驕', + resetFilter: 'Resetuj', + clearFilter: 'Wszystko', + sumText: 'Razem' + }, + tree: { + emptyText: 'Brak danych' + }, + transfer: { + noMatch: 'Brak dopasowa��', + noData: 'Brak danych', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Wpisz szukan�� fraz��', + noCheckedFormat: 'razem: {total}', + hasCheckedFormat: 'wybranych: {checked}/{total}' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Brak danych' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/pt-br.js b/PAMapp/local_modules/element-ui/src/locale/lang/pt-br.js new file mode 100644 index 0000000..8516c9e --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/pt-br.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data inicial', + startTime: 'Hora inicial', + endDate: 'Data final', + endTime: 'Hora final', + prevYear: 'Ano anterior', + nextYear: 'Pr籀ximo ano', + prevMonth: 'M礙s anterior', + nextMonth: 'Pr籀ximo m礙s', + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'Carregando', + noMatch: 'Sem resultados', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem resultados', + loading: 'Carregando', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/p獺gina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'aperte delete para apagar', + delete: 'Apagar', + preview: 'Pr矇-visualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Total' + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem resultados', + noData: 'Sem dados', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Digite uma palavra-chave', + noCheckedFormat: '{total} itens', + hasCheckedFormat: '{checked}/{total} selecionados' + }, + image: { + error: 'Erro ao carregar imagem' + }, + pageHeader: { + title: 'Voltar' + }, + popconfirm: { + confirmButtonText: 'Sim', + cancelButtonText: 'N瓊o' + }, + empty: { + description: 'Sem dados' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/pt.js b/PAMapp/local_modules/element-ui/src/locale/lang/pt.js new file mode 100644 index 0000000..23155be --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/pt.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Confirmar', + clear: 'Limpar' + }, + datepicker: { + now: 'Agora', + today: 'Hoje', + cancel: 'Cancelar', + clear: 'Limpar', + confirm: 'Confirmar', + selectDate: 'Selecione a data', + selectTime: 'Selecione a hora', + startDate: 'Data de inicio', + startTime: 'Hora de inicio', + endDate: 'Data de fim', + endTime: 'Hora de fim', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: 'Janeiro', + month2: 'Fevereiro', + month3: 'Mar癟o', + month4: 'Abril', + month5: 'Maio', + month6: 'Junho', + month7: 'Julho', + month8: 'Agosto', + month9: 'Setembro', + month10: 'Outubro', + month11: 'Novembro', + month12: 'Dezembro', + // week: 'semana', + weeks: { + sun: 'Dom', + mon: 'Seg', + tue: 'Ter', + wed: 'Qua', + thu: 'Qui', + fri: 'Sex', + sat: 'Sab' + }, + months: { + jan: 'Jan', + feb: 'Fev', + mar: 'Mar', + apr: 'Abr', + may: 'Mai', + jun: 'Jun', + jul: 'Jul', + aug: 'Ago', + sep: 'Set', + oct: 'Out', + nov: 'Nov', + dec: 'Dez' + } + }, + select: { + loading: 'A carregar', + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + placeholder: 'Selecione' + }, + cascader: { + noMatch: 'Sem correspond礙ncia', + loading: 'A carregar', + placeholder: 'Selecione', + noData: 'Sem dados' + }, + pagination: { + goto: 'Ir para', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mensagem', + confirm: 'Confirmar', + cancel: 'Cancelar', + error: 'Erro!' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Apagar', + preview: 'Previsualizar', + continue: 'Continuar' + }, + table: { + emptyText: 'Sem dados', + confirmFilter: 'Confirmar', + resetFilter: 'Limpar', + clearFilter: 'Todos', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: 'Sem dados' + }, + transfer: { + noMatch: 'Sem correspond礙ncia', + noData: 'Sem dados', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Sem dados' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ro.js b/PAMapp/local_modules/element-ui/src/locale/lang/ro.js new file mode 100644 index 0000000..0362394 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ro.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: '�erge' + }, + datepicker: { + now: 'Acum', + today: 'Azi', + cancel: 'Anuleaz��', + clear: '�erge', + confirm: 'OK', + selectDate: 'Selecteaz�� data', + selectTime: 'Selecteaz�� ora', + startDate: 'Data de 簾nceput', + startTime: 'Ora de 簾nceput', + endDate: 'Data de sf璽r�t', + endTime: 'Ora de sf璽r�t', + prevYear: 'Anul trecut', + nextYear: 'Anul urm�or', + prevMonth: 'Luna trecut��', + nextMonth: 'Luna urm�oare', + year: '', + month1: 'Ianuarie', + month2: 'Februarie', + month3: 'Martie', + month4: 'Aprilie', + month5: 'Mai', + month6: 'Iunie', + month7: 'Iulie', + month8: 'August', + month9: 'Septembrie', + month10: 'Octombrie', + month11: 'Noiembrie', + month12: 'Decembrie', + // week: 'week', + weeks: { + sun: 'Du', + mon: 'Lu', + tue: 'Ma', + wed: 'Mi', + thu: 'Jo', + fri: 'Vi', + sat: 'S璽' + }, + months: { + jan: 'Ian', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Mai', + jun: 'Iun', + jul: 'Iul', + aug: 'Aug', + sep: 'Sep', + oct: 'Oct', + nov: 'Noi', + dec: 'Dec' + } + }, + select: { + loading: 'Se 簾ncarc��', + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + placeholder: 'Selecteaz��' + }, + cascader: { + noMatch: 'Nu exist�� date potrivite', + loading: 'Se 簾ncarc��', + placeholder: 'Selecteaz��', + noData: 'Nu exist�� date' + }, + pagination: { + goto: 'Go to', + pagesize: '/pagina', + total: 'Total {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'OK', + cancel: 'Anuleaz��', + error: 'Date introduse eronate' + }, + upload: { + deleteTip: 'ap�a� pe �erge� pentru a elimina', + delete: '�erge', + preview: 'previzualizare', + continue: 'continu��' + }, + table: { + emptyText: 'Nu exist�� date', + confirmFilter: 'Confirm��', + resetFilter: 'Reseteaz��', + clearFilter: 'Tot', + sumText: 'Suma' + }, + tree: { + emptyText: 'Nu exist�� date' + }, + transfer: { + noMatch: 'Nu exist�� date potrivite', + noData: 'Nu exist�� date', + titles: ['Lista 1', 'Lista 2'], + filterPlaceholder: 'Introduce� cuv璽ntul cheie', + noCheckedFormat: '{total} elemente', + hasCheckedFormat: '{checked}/{total} verificate' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Nu exist�� date' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ru-RU.js b/PAMapp/local_modules/element-ui/src/locale/lang/ru-RU.js new file mode 100644 index 0000000..d7bcf8e --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ru-RU.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: '�解解�' + }, + datepicker: { + now: '苤迮邿�參�', + today: '苤迮迣郋迡郇��', + cancel: '�標菩請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�敗�訄�� 迡訄��', + selectTime: '�敗�訄�� 赲�迮邾��', + startDate: '�參� 郇訄�匾鉼�', + startTime: '��迮邾�� 郇訄�匾鉼�', + endDate: '�參� 郋郕郋郇�匾請解�', + endTime: '��迮邾�� 郋郕郋郇�匾請解�', + prevYear: '��迮迡�棋覜� 迣郋迡', + nextYear: '苤郅迮迡�覜� 迣郋迡', + prevMonth: '��迮迡�棋覜� 邾迮��', + nextMonth: '苤郅迮迡�覜� 邾迮��', + year: '', + month1: '觓郇赲訄���', + month2: '苳迮赲�訄郅��', + month3: '�參���', + month4: '�謀�迮郅��', + month5: '�匾�', + month6: '�諸�', + month7: '�銑�', + month8: '�紹剩�', + month9: '苤迮郇�敗���', + month10: '�碧敗���', + month11: '�憾敗���', + month12: '�菩碟匾敗���', + week: '郇迮迡迮郅��', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '觓郇赲', + feb: '苳迮赲', + mar: '�參�', + apr: '�謀�', + may: '�匾�', + jun: '��', + jul: '��', + aug: '�紹�', + sep: '苤迮郇', + oct: '�碧�', + nov: '�憾�', + dec: '�菩�' + } + }, + select: { + loading: '�匾剩��煩碟�', + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + loading: '�匾剩��煩碟�', + placeholder: '�敗�訄��', + noData: '�萃� 迡訄郇郇��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: ' 郇訄 ��訄郇邽��', + total: '�菩創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '苤郋郋訇�菩請覜�', + confirm: 'OK', + cancel: '�標菩請�', + error: '�菩棣憶謀覜槽� 赲赲郋迡 迡訄郇郇��' + }, + upload: { + deleteTip: '�匾剷標解� [苺迡訄郅邽� 迡郅�� �棣匾鉼菩請解�', + delete: '苺迡訄郅邽��', + preview: '��迮迡郈�郋�標憾�', + continue: '��郋迡郋郅迠邽��' + }, + table: { + emptyText: '�萃� 迡訄郇郇��', + confirmFilter: '�憶棋紹萃�迡邽��', + resetFilter: '苤訇�郋�解�', + clearFilter: '��', + sumText: '苤�標標�' + }, + tree: { + emptyText: '�萃� 迡訄郇郇��' + }, + transfer: { + noMatch: '苤郋赲郈訄迡迮郇邽邿 郇迮 郇訄邿迡迮郇郋', + noData: '�萃� 迡訄郇郇��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棣解� 郕郅�菩紹憶� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧憶�', + hasCheckedFormat: '{checked}/{total} 赲�敗�訄郇郋' + }, + image: { + error: '��郋邽郱郋�鉼� 郋�覜教碟�' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: 'OK', + cancelButtonText: '�標菩請�' + }, + empty: { + description: '�萃� 迡訄郇郇��' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/si.js b/PAMapp/local_modules/element-ui/src/locale/lang/si.js new file mode 100644 index 0000000..fb155bf --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/si.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '鈮飩鈮�', + clear: '鈮���� 銃飩銃晤�雇' + }, + datepicker: { + now: '銃能�雇鈮�', + today: '銃雄', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + clear: '鈮���� 銃飩銃晤�雇', + confirm: '鈮飩鈮�', + selectDate: '銃能�雇銃� 銃冢�飩銃晤�雇', + selectTime: '鈮�鈮飭鈮� 銃冢�飩銃晤�雇', + startDate: '銃飩銃詮�須銃� 銃能�雇銃�', + startTime: '銃飩銃詮�須銃� 鈮�鈮飭鈮�', + endDate: '銃�鈮雇鈮� 鈮�銃� 銃能�雇銃�', + endTime: '銃�鈮雇鈮� 鈮�銃� 鈮�鈮飭鈮�', + prevYear: '銃飭鈮雇鈮� 銃�鈮飩鈮雄鈮雄', + nextYear: '銃��� 銃�鈮飩鈮雄鈮雄', + prevMonth: '銃飭鈮雇鈮� 銃詮��飯', + nextMonth: '銃��� 銃詮��飯', + year: '', + month1: '銃能�飩鈮雁鈮�', + month2: '銃晤�銃詮��', + month3: '銃詮�雄鈮雇鈮�', + month4: '銃嗣���', + month5: '鈮�鈮����', + month6: '銃毯���雇鈮�', + month7: '銃���', + month8: '銃晤���陲鈮�', + month9: '銃嗣�雇銃�', + month10: '鈮�銃毯��', + month11: '銃飭鈮�', + month12: '銃雲鈮�銃毯��', + week: '鈮雁鈮飯', + weeks: { + sun: '銃飩鈮雄鈮�', + mon: '鈮雲鈮雄鈮�', + tue: '銃���', + wed: '銃嗣雄鈮雄鈮�', + thu: '銃嗣��飩鈮���', + fri: '鈮����', + sat: '鈮�雇' + }, + months: { + jan: '銃能�飩鈮雁鈮�', + feb: '銃晤�銃詮��', + mar: '銃詮�雄鈮雇鈮�', + apr: '銃嗣���', + may: '鈮�鈮����', + jun: '銃毯����雇鈮�', + jul: '銃���', + aug: '銃晤���陲鈮�', + sep: '銃嗣�雇銃�', + oct: '鈮�銃毯��', + nov: '銃飭鈮�', + dec: '銃雲鈮�' + } + }, + select: { + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃能雁鈮雁 銃晤�雁', + placeholder: '銃冢�飩銃晤�雇' + }, + cascader: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + loading: '銃毯�飩銃徇飯 鈮�鈮飧鈮雇鈮�', + placeholder: '銃冢�飩銃晤�雇', + noData: '銃能雁鈮雁 銃晤�雁' + }, + pagination: { + goto: '鈮�鈮雁 銃箋雇鈮雇', + pagesize: '/銃毯�陽鈮�', + total: '銃詮���� {total}', + pageClassifier: '' + }, + messagebox: { + title: '銃毯陲鈮�鈮隆銃�', + confirm: '鈮飩鈮�', + cancel: '銃�銃賞���� 銃飩銃晤�雇', + error: '銃雇鈮雁鈮�� 銃雄鈮雇銃箋���' + }, + upload: { + deleteTip: '銃�銃冢飭鈮飧銃� 銃詮�雇鈮雇 銃順銃晤�雇', + delete: '銃詮�雇鈮雇', + preview: '銃毯�飩銃能��雇', + continue: '銃雄鈮飩鈮飯銃�' + }, + table: { + emptyText: '銃能雁鈮雁 銃晤�雁', + confirmFilter: '銃冢��鈮飩鈮�', + resetFilter: '銃箋��� 鈮��雇鈮雇', + clearFilter: '鈮�飯銃賞�飭', + sumText: '銃�雁鈮�' + }, + tree: { + emptyText: '銃能雁鈮雁 銃晤�雁' + }, + transfer: { + noMatch: '銃��韌鈮雇 銃能雁鈮雁 銃晤�雁', + noData: '銃冢�飩銃晤�雇', + titles: ['銃賞��雇銃� 1', '銃賞��雇銃� 2'], // to be translated + filterPlaceholder: '銃詮�飭銃毯雄銃� 銃箋�雄銃晤�雇', // to be translated + noCheckedFormat: '銃雅銃� {total}', // to be translated + hasCheckedFormat: '{checked}/{total} 銃毯飩鈮������ 鈮�鈮飯' // to be translated + }, + image: { + error: '銃�飧銃冢�� 鈮�鈮飯' + }, + pageHeader: { + title: '銃韌鈮��' // to be translated + }, + popconfirm: { + confirmButtonText: '銃�鈮�', + cancelButtonText: '銃晤����' + }, + empty: { + description: '銃能雁鈮雁 銃晤�雁' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/sk.js b/PAMapp/local_modules/element-ui/src/locale/lang/sk.js new file mode 100644 index 0000000..049f557 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/sk.js @@ -0,0 +1,125 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Zmaza聽' + }, + datepicker: { + now: 'Teraz', + today: 'Dnes', + cancel: 'Zru禳i聽', + clear: 'Zmaza聽', + confirm: 'OK', + selectDate: 'Vybra聽 d獺tum', + selectTime: 'Vybra聽 �s', + startDate: 'D獺tum za�atku', + startTime: '�s za�atku', + endDate: 'D獺tum konca', + endTime: '�s konca', + prevYear: 'Predo禳l羸 rok', + nextYear: '�l禳穩 rok', + prevMonth: 'Predo禳l羸 mesiac', + nextMonth: '�l禳穩 mesiac', + day: 'De��', + week: 'T羸鱉de��', + month: 'Mesiac', + year: 'Rok', + month1: 'Janu獺r', + month2: 'Febru獺r', + month3: 'Marec', + month4: 'Apr穩l', + month5: 'M獺j', + month6: 'J繳n', + month7: 'J繳l', + month8: 'August', + month9: 'September', + month10: 'Okt籀ber', + month11: 'November', + month12: 'December', + weeks: { + sun: 'Ne', + mon: 'Po', + tue: 'Ut', + wed: 'St', + thu: '�', + fri: 'Pi', + sat: 'So' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'M獺j', + jun: 'J繳n', + jul: 'J繳l', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Na�負avanie', + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + placeholder: 'Vybra聽' + }, + cascader: { + noMatch: '鬚iadna zhoda', + loading: 'Na�負avanie', + placeholder: 'Vybra聽', + noData: '鬚iadne d獺ta' + }, + pagination: { + goto: 'Cho�� na', + pagesize: 'na stranu', + total: 'V禳etko {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Spr獺va', + confirm: 'OK', + cancel: 'Zru禳i聽', + error: 'Neplatn羸 vstup' + }, + upload: { + deleteTip: 'pre odstr獺nenie stisni kl獺vesu Delete', + delete: 'Vymaza聽', + preview: 'Prehliada聽', + continue: 'Pokra�va聽' + }, + table: { + emptyText: '鬚iadne d獺ta', + confirmFilter: 'Potvrdi聽', + resetFilter: 'Zresetova聽', + clearFilter: 'V禳etko', + sumText: 'Spolu' + }, + tree: { + emptyText: '鬚iadne d獺ta' + }, + transfer: { + noMatch: '鬚iadna zhoda', + noData: '鬚iadne d獺ta', + titles: ['Zoznam 1', 'Zoznam 2'], + filterPlaceholder: 'Filtrova聽 pod躂a', + noCheckedFormat: '{total} polo鱉iek', + hasCheckedFormat: '{checked}/{total} ozna�n羸ch' + }, + image: { + error: 'Chyba na�負ania' + }, + pageHeader: { + title: 'Sp瓣聽' + }, + popconfirm: { + confirmButtonText: 'Potvrdi聽', + cancelButtonText: 'Zru禳i聽' + }, + empty: { + description: '鬚iadne d獺ta' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/sl.js b/PAMapp/local_modules/element-ui/src/locale/lang/sl.js new file mode 100644 index 0000000..66efda3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/sl.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'V redu', + clear: 'Po�sti' + }, + datepicker: { + now: 'Zdaj', + today: 'Danes', + cancel: 'Prekli�', + clear: 'Po�sti', + confirm: 'Potrdi', + selectDate: 'Izberi datum', + selectTime: 'Izberi �s', + startDate: 'Za�tni datum', + startTime: 'Za�tni �s', + endDate: 'Kon�i datum', + endTime: 'Kon�i �s', + prevYear: 'Prej禳nje leto', + nextYear: 'Naslednje leto', + prevMonth: 'Prej禳nji mesec', + nextMonth: 'Naslednji mesec', + year: '', + month1: 'Jan', + month2: 'Feb', + month3: 'Mar', + month4: 'Apr', + month5: 'Maj', + month6: 'Jun', + month7: 'Jul', + month8: 'Avg', + month9: 'Sep', + month10: 'Okt', + month11: 'Nov', + month12: 'Dec', + week: 'teden', + weeks: { + sun: 'Ned', + mon: 'Pon', + tue: 'Tor', + wed: 'Sre', + thu: '�t', + fri: 'Pet', + sat: 'Sob' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Avg', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Nalaganje', + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + placeholder: 'Izberi' + }, + cascader: { + noMatch: 'Ni ustreznih podatkov', + loading: 'Nalaganje', + placeholder: 'Izberi', + noData: 'Ni podatkov' + }, + pagination: { + goto: 'Pojdi na', + pagesize: '/stran', + total: 'Skupno {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Sporo�lo', + confirm: 'V redu', + cancel: 'Prekli�', + error: 'Nedovoljen vnos' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Izbri禳i', + preview: 'Predogled', + continue: 'Nadaljuj' + }, + table: { + emptyText: 'Ni podatkov', + confirmFilter: 'Potrdi', + resetFilter: 'Ponastavi', + clearFilter: 'Vse', + sumText: 'Skupno' + }, + tree: { + emptyText: 'Ni podatkov' + }, + transfer: { + noMatch: 'Ni ustreznih podatkov', + noData: 'Ni podatkov', + titles: ['Seznam 1', 'Seznam 2'], + filterPlaceholder: 'Vnesi klju�o besedo', + noCheckedFormat: '{total} elementov', + hasCheckedFormat: '{checked}/{total} izbranih' + }, + image: { + error: 'NEUSPELO' + }, + pageHeader: { + title: 'Nazaj' + }, + popconfirm: { + confirmButtonText: 'Da', + cancelButtonText: 'Ne' + }, + empty: { + description: 'Ni podatkov' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/sr.js b/PAMapp/local_modules/element-ui/src/locale/lang/sr.js new file mode 100644 index 0000000..915be08 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/sr.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: '�憶請解�' + }, + datepicker: { + now: '苤訄迡', + today: '�匾請參�', + cancel: '�碟匾剷�', + clear: '��邽��', + confirm: 'OK', + selectDate: '�煩匾教萃�邽 迡訄��', + selectTime: '�煩匾教萃�邽 赲�迮邾迮', + startDate: '�參� 郈郋�萃碟�', + startTime: '��迮邾迮 郈郋�萃碟�', + endDate: '�參� 郱訄赲��萃碟�', + endTime: '��迮邾迮 郱訄赲��萃碟�', + prevYear: '��迮�憶棣請� 迣郋迡邽郇訄', + nextYear: '苤郅迮迡迮�� 迣郋迡邽郇訄', + prevMonth: '��迮�憶棣請� 邾迮�萃�', + nextMonth: '苤郅迮迡迮�� 邾迮�萃�', + year: '迣郋迡邽郇訄', + month1: '�匾諸參�', + month2: '�菩敗��參�', + month3: '邾訄���', + month4: '訄郈�邽郅', + month5: '邾訄��', + month6: '��', + month7: '��', + month8: '訄赲迣��', + month9: '�菩謀菩標教參�', + month10: '郋郕�憶教參�', + month11: '郇郋赲迮邾訇訄�', + month12: '迡迮�菩標教參�', + week: '�菩棣標解�', + weeks: { + sun: '�菩�', + mon: '�憶�', + tue: '苺��', + wed: '苤�迮', + thu: '虴迮��', + fri: '�萃�', + sat: '苤��' + }, + months: { + jan: '�匾�', + feb: '�菩�', + mar: '邾訄�', + apr: '訄郈�', + may: '邾訄��', + jun: '��', + jul: '��', + aug: '訄赲迣', + sep: '�菩�', + oct: '郋郕��', + nov: '郇郋赲', + dec: '迡迮��' + } + }, + select: { + loading: '苺�解匾紹參�', + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + placeholder: '�煩匾教萃�邽' + }, + cascader: { + noMatch: '�菩標� �迮郱�銑參�', + loading: '苺�解匾紹參�', + placeholder: '�煩匾教萃�邽', + noData: '�菩標� 郈郋迡訄�匾碟�' + }, + pagination: { + goto: '�棣� 郇訄', + pagesize: '/��訄郇邽', + total: '苺郕�諱請� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憾��碟�', + confirm: 'OK', + cancel: '�碟匾剷�', + error: '�菩解謀�訄赲訄郇 �請憾�' + }, + upload: { + deleteTip: '郈�邽�解請� �佬� 迡訄 郋訇�邽�萃�', + delete: '��邽��', + preview: '�覜棣�', + continue: '�參匾紹�' + }, + table: { + emptyText: '�菩標� 郈郋迡訄�匾碟�', + confirmFilter: '�憾紼�迡邽', + resetFilter: '�萃萃�', + clearFilter: '苤赲迮', + sumText: '�教解�' + }, + tree: { + emptyText: '�菩標� 郈郋迡訄�匾碟�' + }, + transfer: { + noMatch: '�菩標� �迮郱�銑參�', + noData: '�菩標� 郈郋迡訄�匾碟�', + titles: ['�解� 1', '�解� 2'], // to be translated + filterPlaceholder: '苺郇迮�� 郕�諸� �迮��', // to be translated + noCheckedFormat: '{total} �匾紹碟�', // to be translated + hasCheckedFormat: '{checked}/{total} 郋訇迮郅迮迠迮郇邽��' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '�菩標� 郈郋迡訄�匾碟�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/sv-SE.js b/PAMapp/local_modules/element-ui/src/locale/lang/sv-SE.js new file mode 100644 index 0000000..c2fd7af --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/sv-SE.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'T繹m' + }, + datepicker: { + now: 'Nu', + today: 'Idag', + cancel: 'Avbryt', + clear: 'T繹m', + confirm: 'OK', + selectDate: 'V瓣lj datum', + selectTime: 'V瓣lj tid', + startDate: 'Startdatum', + startTime: 'Starttid', + endDate: 'Slutdatum', + endTime: 'Sluttid', + prevYear: 'F繹reg疇ende 疇r', + nextYear: 'N瓣sta 疇r', + prevMonth: 'F繹reg疇ende m疇nad', + nextMonth: 'N瓣sta m疇nad', + year: '', + month1: 'Januari', + month2: 'Februari', + month3: 'Mars', + month4: 'April', + month5: 'Maj', + month6: 'Juni', + month7: 'Juli', + month8: 'Augusti', + month9: 'September', + month10: 'Oktober', + month11: 'November', + month12: 'December', + // week: 'week', + weeks: { + sun: 'S繹n', + mon: 'M疇n', + tue: 'Tis', + wed: 'Ons', + thu: 'Tor', + fri: 'Fre', + sat: 'L繹r' + }, + months: { + jan: 'Jan', + feb: 'Feb', + mar: 'Mar', + apr: 'Apr', + may: 'Maj', + jun: 'Jun', + jul: 'Jul', + aug: 'Aug', + sep: 'Sep', + oct: 'Okt', + nov: 'Nov', + dec: 'Dec' + } + }, + select: { + loading: 'Laddar', + noMatch: 'Hittade inget', + noData: 'Ingen data', + placeholder: 'V瓣lj' + }, + cascader: { + noMatch: 'Hittade inget', + loading: 'Laddar', + placeholder: 'V瓣lj', + noData: 'Ingen data' + }, + pagination: { + goto: 'G疇 till', + pagesize: '/sida', + total: 'Totalt {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Meddelande', + confirm: 'OK', + cancel: 'Avbryt', + error: 'Felaktig inmatning' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: 'Radera', + preview: 'F繹rhandsvisa', + continue: 'Forts瓣tt' + }, + table: { + emptyText: 'Inga Data', + confirmFilter: 'Bekr瓣fta', + resetFilter: '�erst瓣ll', + clearFilter: 'Alla', + sumText: 'Summa' + }, + tree: { + emptyText: 'Ingen data' + }, + transfer: { + noMatch: 'Hittade inget', + noData: 'Ingen data', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Bak疇t' // to be translated + }, + popconfirm: { + confirmButtonText: 'Ja', + cancelButtonText: 'Nej' + }, + empty: { + description: 'Inga Data' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ta.js b/PAMapp/local_modules/element-ui/src/locale/lang/ta.js new file mode 100644 index 0000000..5b04f8f --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ta.js @@ -0,0 +1,122 @@ +export default { + el: { + colorpicker: { + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + clear: '鉈戈�拿鉈賴挾鉈擒�����' + }, + datepicker: { + now: '鉈戈拳鉒悚鉒恕鉒�', + today: '鉈悟鉒拳鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + clear: '鉈扇鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + selectDate: '鉈戈�恕鉈賴悖鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + selectTime: '鉈兒�扇鉈戈�恕鉒� 鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + startDate: '鉈戈������悅鉒� 鉈兒挽鉈喪��', + startTime: '鉈戈������悅鉒� 鉈兒�扇鉈桌��', + endDate: '鉈桌��挪鉈能�悅鉒� 鉈戈�恕鉈�', + endTime: '鉈桌��挪鉈能�悅鉒� 鉈兒�扇鉈桌��', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '鉈菽扇鉒�悅鉒�', + month1: '鉈悟鉈菽扇鉈�', + month2: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + month3: '鉈桌挽鉈啤����', + month4: '鉈悚鉒扇鉈耜��', + month5: '鉈桌��', + month6: '鉈�悟鉒�', + month7: '鉈�挈鉒�', + month8: '鉈�捂鉒���', + month9: '鉈�悚鉒�悅鉒悚鉈啤��', + month10: '鉈����悚鉈啤��', + month11: '鉈兒挾鉈桌�悚鉈啤��', + month12: '鉈挪鉈悅鉒悚鉈啤��', + weeks: { + sun: '鉈挽鉈能挪鉈晤��', + mon: '鉈戈挪鉈��拿鉒�', + tue: '鉈�挾鉒挾鉈擒悖鉒�', + wed: '鉈芹�恕鉈拈��', + thu: '鉈菽挪鉈能挽鉈毯悟鉒�', + fri: '鉈菽�拿鉒拿鉈�', + sat: '鉈悟鉈�' + }, + months: { + jan: '鉈悟鉈菽扇鉈�', + feb: '鉈芹挪鉈芹�扇鉈菽扇鉈�', + mar: '鉈桌挽鉈啤����', + apr: '鉈悚鉒扇鉈耜��', + may: '鉈桌��', + jun: '鉈�悟鉒�', + jul: '鉈�挈鉒�', + aug: '鉈�捂鉒���', + sep: '鉈�悚鉒�悅鉒悚鉈啤��', + oct: '鉈����悚鉈啤��', + nov: '鉈兒挾鉈桌�悚鉈啤��', + dec: '鉈挪鉈悅鉒悚鉈啤��' + } + }, + select: { + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�' + }, + cascader: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + loading: '鉈戈悖鉈擒扇鉈擒�挪鉈���恐鉒�挪鉈啤����挪鉈晤恕鉒�', + placeholder: '鉈戈�扇鉒挾鉒� 鉈�悖鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + pagination: { + goto: '鉈戈�挾鉒悖鉈擒悟鉒� 鉈芹��恕鉈賴����� 鉈�挈鉒�', + pagesize: '/page', + total: '鉈桌�恕鉒恕鉈桌�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉈�悖鉒恕鉈�', + confirm: '鉈拳鉒恕鉈� 鉈�悖鉒�', + cancel: '鉈啤恕鉒恕鉒� 鉈�悖鉒�', + error: '鉈芹�扇鉒恕鉒恕鉈擒悅鉈賴挈鉒挈鉈擒恕 鉈拿鉒拿鉒�鉈��' + }, + upload: { + deleteTip: 'press delete to remove', // to be translated + delete: '鉈兒�鉈����', + preview: '鉈桌�悟鉒悟鉒���悅鉒� 鉈芹挽鉈啤��', + continue: '鉈戈��扇鉒�' + }, + table: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + confirmFilter: '鉈拳鉒恕鉈� 鉈�悖鉒�', + resetFilter: '鉈芹�恕鉒悅鉈擒拳鉒拳鉈桌�� 鉈�悖鉒�', + clearFilter: '鉈悟鉒恕鉒恕鉒悅鉒�', + sumText: '鉈������' + }, + tree: { + emptyText: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + }, + transfer: { + noMatch: '鉈芹�扇鉒恕鉒恕鉈桌挽鉈� 鉈戈扇鉈菽�� 鉈挪鉈����挾鉈賴挈鉒挈鉒�', + noData: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�', + titles: ['鉈芹���挪鉈能挈鉒� 1', '鉈芹���挪鉈能挈鉒� 2'], + filterPlaceholder: '鉈�挈鉒挈鉒� 鉈拿鉒拿鉒�鉈�� 鉈�悖鉒�', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} 鉈戈�扇鉒挾鉒� 鉈�悖鉒悖鉈芹�悚鉈��挾鉒�拿鉒�' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉈戈扇鉈菽�� 鉈挈鉒挈鉒�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/th.js b/PAMapp/local_modules/element-ui/src/locale/lang/th.js new file mode 100644 index 0000000..a5484a0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/th.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '鉊�艇鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�' + }, + datepicker: { + now: '鉊葉鉊�葭鉆�', + today: '鉊抉萵鉊�葭鉆�', + cancel: '鉊R��鉊丞葩鉊�', + clear: '鉊丞�葡鉊��葉鉊﹤號鉊�', + confirm: '鉊�艇鉊�', + selectDate: '鉆�鉊丞虞鉊冢�葷鉊晤��葭鉆�', + selectTime: '鉆�鉊丞虞鉊冢��鉊抉艇鉊�', + startDate: '鉊抉萵鉊�葭鉆�鉊�鉊毯�腹鉊���', + startTime: '鉆�鉊抉艇鉊耜�鉊�鉊毯�腹鉊���', + endDate: '鉊抉萵鉊�葭鉆葵鉊毯��葵鉊詮��', + endTime: '鉆�鉊抉艇鉊耜葵鉊毯��葵鉊詮��', + prevYear: '鉊葭鉊�葉鉊葦鉊�葡', + nextYear: '鉊葭鉊萵鉊���', + prevMonth: '鉆�鉊虞鉊冢���葉鉊葦鉊�葡', + nextMonth: '鉆�鉊虞鉊冢��萵鉊���', + year: '鉊葭', + month1: '鉊﹤�腦鉊耜�腹', + month2: '鉊虜鉊﹤�葡鉊萵鉊���', + month3: '鉊﹤葭鉊葡鉊腹', + month4: '鉆�鉊﹤萱鉊耜腺鉊�', + month5: '鉊舅鉊拈�葡鉊腹', + month6: '鉊﹤葩鉊虜鉊葡鉊R��', + month7: '鉊腦鉊�葡鉊腹', + month8: '鉊芹葩鉊葦鉊耜�腹', + month9: '鉊萵鉊腺鉊耜腺鉊�', + month10: '鉊虜鉊丞葡鉊腹', + month11: '鉊舅鉊兒�葩鉊葡鉊R��', + month12: '鉊萵鉊葷鉊耜�腹', + // week: 'week', + weeks: { + sun: '鉊冢葡', + mon: '鉊�', + tue: '鉊�', + wed: '鉊�', + thu: '鉊舅', + fri: '鉊�', + sat: '鉊�' + }, + months: { + jan: '鉊﹤�腦鉊�', + feb: '鉊虜鉊﹤�葡', + mar: '鉊﹤葭鉊葡', + apr: '鉆�鉊﹤萱鉊�', + may: '鉊舅鉊拈�葡', + jun: '鉊﹤葩鉊虜鉊葡', + jul: '鉊腦鉊�葡', + aug: '鉊芹葩鉊葦鉊�', + sep: '鉊萵鉊腺鉊�', + oct: '鉊虜鉊丞葡', + nov: '鉊舅鉊兒�葩鉊葡', + dec: '鉊萵鉊葷鉊�' + } + }, + select: { + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + placeholder: '鉆�鉊丞虞鉊冢��' + }, + cascader: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + loading: '鉊董鉊丞萵鉊�葦鉊丞��', + placeholder: '鉆�鉊丞虞鉊冢��', + noData: '鉆腹鉆����葉鉊﹤號鉊�' + }, + pagination: { + goto: '鉆��葭鉆�', + pagesize: '/鉊徇��葡', + total: '鉊萵鉆�葦鉊﹤�� {total}', + pageClassifier: '' + }, + messagebox: { + title: '鉊�葉鉊葷鉊耜腹', + confirm: '鉊�艇鉊�', + cancel: '鉊R��鉊丞葩鉊�', + error: '鉊虜鉊��葉鉊��葉鉊﹤號鉊丞�腹鉆�號鉊��葉鉊�' + }, + upload: { + deleteTip: '鉊��虜鉆腹 "鉊丞��" 鉆�鉊虞鉆葉鉊丞�葉鉊冢��', + delete: '鉊丞��', + preview: '鉊萵鉊抉葉鉊R�葡鉊�', + continue: '鉊董鉊�葉' + }, + table: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�', + confirmFilter: '鉊R虞鉊腺鉊晤��', + resetFilter: '鉊�鉊菽�鉊���', + clearFilter: '鉊萵鉆�葦鉊﹤��', + sumText: '鉊�鉊抉腹' + }, + tree: { + emptyText: '鉆腹鉆����葉鉊﹤號鉊�' + }, + transfer: { + noMatch: '鉆腹鉆����葉鉊﹤號鉊丞�葭鉆�腦鉊�萵鉊�', + noData: '鉆腹鉆����葉鉊﹤號鉊�', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: '鉊腦鉊冢��葭鉊R��鉊抉葩鉊�鉆��', + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: '鉊R�葉鉊�艇鉊晤��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '鉆腹鉆����葉鉊﹤號鉊�' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/tk.js b/PAMapp/local_modules/element-ui/src/locale/lang/tk.js new file mode 100644 index 0000000..f510cc8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/tk.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'Arassala' + }, + datepicker: { + now: '�wagt', + today: '�寫羹n', + cancel: 'Bes et', + clear: 'Arassala', + confirm: 'OK', + selectDate: 'G羹ni sa羸la��', + selectTime: 'Wagty sa羸la��', + startDate: 'Ba�a羸an g羹ni', + startTime: 'Ba�a羸an wagty', + endDate: 'Gutar羸an g羹ni', + endTime: 'Gutar羸an wagty', + prevYear: 'Previous Year', // to be translated + nextYear: 'Next Year', // to be translated + prevMonth: 'Previous Month', // to be translated + nextMonth: 'Next Month', // to be translated + year: '', + month1: '�n', + month2: 'Few', + month3: 'Mar', + month4: 'Apr', + month5: 'Ma羸', + month6: 'I羸n', + month7: 'I羸l', + month8: 'Awg', + month9: 'Sen', + month10: 'Okt', + month11: 'No羸', + month12: 'Dek', + // week: 'week', + weeks: { + sun: '�k', + mon: 'Du��', + tue: 'Si��', + wed: '�r', + thu: 'Pen', + fri: 'Ann', + sat: '�n' + }, + months: { + jan: '�n', + feb: 'Few', + mar: 'Mar', + apr: 'Apr', + may: 'Ma羸', + jun: 'I羸n', + jul: 'I羸l', + aug: 'Awg', + sep: 'Sep', + oct: 'Okt', + nov: 'No羸', + dec: 'Dek' + } + }, + select: { + loading: 'Indiril羸瓣r', + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + placeholder: 'Sa羸la' + }, + cascader: { + noMatch: 'Hi癟zat tapylmady', + loading: 'Indiril羸瓣r', + placeholder: 'Sa羸la��', + noData: 'Hi癟zat 羸ok' + }, + pagination: { + goto: 'Git', + pagesize: '/sahypa', + total: 'Umumy {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Hat', + confirm: 'OK', + cancel: 'Bes et', + error: '�l��� girizme' + }, + upload: { + deleteTip: 'Pozmak 羹癟in "poz" d羹wm瓣 basy��', + delete: 'Poz', + preview: 'G繹r', + continue: 'Dowam et' + }, + table: { + emptyText: 'Maglumat 羸ok', + confirmFilter: 'Tassykla', + resetFilter: 'Arassala', + clearFilter: 'Hemmesi', + sumText: 'Jemi' + }, + tree: { + emptyText: 'Maglumat 羸ok' + }, + transfer: { + noMatch: 'Hi癟zat tapylmady', + noData: 'Hi癟zat 羸ok', + titles: ['Sanaw 1', 'Sanaw 2'], + filterPlaceholder: 'G繹zleg s繹zlerini girizi��', + noCheckedFormat: '{total} sany', + hasCheckedFormat: '{checked}/{total} sa羸lanan' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Maglumat 羸ok' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/tr-TR.js b/PAMapp/local_modules/element-ui/src/locale/lang/tr-TR.js new file mode 100644 index 0000000..547b60e --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/tr-TR.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Onayla', + clear: 'Temizle' + }, + datepicker: { + now: '�mdi', + today: 'Bug羹n', + cancel: '襤ptal', + clear: 'Temizle', + confirm: 'Onayla', + selectDate: 'Tarih se癟', + selectTime: 'Saat se癟', + startDate: 'Ba�ang覺癟 Tarihi', + startTime: 'Ba�ang覺癟 Saati', + endDate: 'Biti�� Tarihi', + endTime: 'Biti�� Saati', + prevYear: '�ceki Y覺l', + nextYear: 'Sonraki Y覺l', + prevMonth: '�ceki Ay', + nextMonth: 'Sonraki Ay', + year: '', + month1: 'Ocak', + month2: '�bat', + month3: 'Mart', + month4: 'Nisan', + month5: 'May覺s', + month6: 'Haziran', + month7: 'Temmuz', + month8: 'A�stos', + month9: 'Eyl羹l', + month10: 'Ekim', + month11: 'Kas覺m', + month12: 'Aral覺k', + // week: 'week', + weeks: { + sun: 'Paz', + mon: 'Pzt', + tue: 'Sal', + wed: '�r', + thu: 'Per', + fri: 'Cum', + sat: 'Cmt' + }, + months: { + jan: 'Oca', + feb: '�b', + mar: 'Mar', + apr: 'Nis', + may: 'May', + jun: 'Haz', + jul: 'Tem', + aug: 'A�', + sep: 'Eyl', + oct: 'Eki', + nov: 'Kas', + dec: 'Ara' + } + }, + select: { + loading: 'Y羹kleniyor', + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + placeholder: 'Se癟' + }, + cascader: { + noMatch: 'E�e�n veri bulunamad覺', + loading: 'Y羹kleniyor', + placeholder: 'Se癟', + noData: 'Veri yok' + }, + pagination: { + goto: 'Git', + pagesize: '/sayfa', + total: 'Toplam {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Mesaj', + confirm: 'Onayla', + cancel: '襤ptal', + error: '襤llegal giri��' + }, + upload: { + deleteTip: 'kald覺rmak i癟in delete tu�na bas', + delete: 'Sil', + preview: 'G繹r羹nt羹le', + continue: 'Devam' + }, + table: { + emptyText: 'Veri yok', + confirmFilter: 'Onayla', + resetFilter: 'S覺f覺rla', + clearFilter: 'Hepsi', + sumText: 'Sum' + }, + tree: { + emptyText: 'Veri yok' + }, + transfer: { + noMatch: 'E�e�n veri bulunamad覺', + noData: 'Veri yok', + titles: ['Liste 1', 'Liste 2'], + filterPlaceholder: 'Anahtar kelimeleri gir', + noCheckedFormat: '{total} adet', + hasCheckedFormat: '{checked}/{total} se癟ildi' + }, + image: { + error: 'FAILED' // to be translated + }, + pageHeader: { + title: 'Back' // to be translated + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Veri yok' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ua.js b/PAMapp/local_modules/element-ui/src/locale/lang/ua.js new file mode 100644 index 0000000..7327a9b --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ua.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '�敗�訄��', + clear: '�解解�' + }, + datepicker: { + now: '�參�訄郱', + today: '苤�憶創憶棣諸�', + cancel: '�棣槽請�', + clear: '�解解�', + confirm: 'OK', + selectDate: '�覜敗�訄�� 迡訄��', + selectTime: '�覜敗�訄�� �參�', + startDate: '�參� 郈郋�參碧�', + startTime: '虴訄�� 郈郋�參碧�', + endDate: '�參� 郱訄赲迮��菩請諸�', + endTime: '虴訄�� 郱訄赲迮��菩請諸�', + prevYear: '�憶諱萃�迮迡郇�� ��', + nextYear: '�參諱請覜� ��', + prevMonth: '�憶諱萃�迮迡郇�� ��', + nextMonth: '�參諱請覜� ��', + year: '', + month1: '苤�菩諸�', + month2: '�覜�', + month3: '�萃�迮郱迮郇��', + month4: '�紼菩諸�', + month5: '苠�訄赲迮郇��', + month6: '虴迮�赲迮郇��', + month7: '�覜諱菩諸�', + month8: '苤迮�郈迮郇��', + month9: '�萃�迮�菩諸�', + month10: '�憶紼菩諸�', + month11: '�解憶諱匾�', + month12: '���棣菩諸�', + week: '�覜剷棣菩諸�', + weeks: { + sun: '��', + mon: '��', + tue: '��', + wed: '苤�', + thu: '虴��', + fri: '��', + sat: '苤訇' + }, + months: { + jan: '苤��', + feb: '��', + mar: '�萃�', + apr: '�紼�', + may: '苠�訄', + jun: '虴迮�', + jul: '�覜�', + aug: '苤迮�', + sep: '�萃�', + oct: '�憶�', + nov: '�解�', + dec: '����' + } + }, + select: { + loading: '�匾紹匾諸匾剷菩請諸�', + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�菩標參� 迡訄郇邽��', + placeholder: '�敗�訄��' + }, + cascader: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + loading: '�匾紹匾諸匾剷菩請諸�', + placeholder: '�敗�訄��', + noData: '�菩標參� 迡訄郇邽��' + }, + pagination: { + goto: '�萃�迮邿��', + pagesize: '郇訄 �憾��諸�', + total: '�憶創� {total}', + pageClassifier: '' + }, + messagebox: { + title: '�憶紼棣憶標鉼菩請諸�', + confirm: 'OK', + cancel: '�棣槽請�', + error: '�菩謀�邽郈�覜標覜� 赲赲�� 迡訄郇邽��' + }, + upload: { + deleteTip: '郇訄�解諸� 郕郇郋郈郕�� �憶� 赲邽迡訄郅邽��', + delete: '�覜棣匾鉼解�', + preview: '�萃�迮迣郅��', + continue: '��郋迡郋赲迠邽��' + }, + table: { + emptyText: '�菩標參� 迡訄郇邽��', + confirmFilter: '�棋紹萃�迡邽��', + resetFilter: '苤郕邽郇��', + clearFilter: '��', + sumText: '苤�標�' + }, + tree: { + emptyText: '�菩標參� 迡訄郇邽��' + }, + transfer: { + noMatch: '苤郈�紹諱匾棋諸� 郇迮 郱郇訄邿迡迮郇郋', + noData: '�敗�訄��', + titles: ['苤郈邽�憶� 1', '苤郈邽�憶� 2'], + filterPlaceholder: '�紹菩棋� 郕郅�憶紹� �鉼憶紹�', + noCheckedFormat: '{total} 郈�請碧�', + hasCheckedFormat: '{checked}/{total} 赲邽訇�訄郇郋' + }, + image: { + error: '��' + }, + pageHeader: { + title: '�匾煩匾�' + }, + popconfirm: { + confirmButtonText: '苠訄郕', + cancelButtonText: '��' + }, + empty: { + description: '�菩標參� 迡訄郇邽��' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/ug-CN.js b/PAMapp/local_modules/element-ui/src/locale/lang/ug-CN.js new file mode 100644 index 0000000..20e125e --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/ug-CN.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '堿�紱�', + clear: '�旋胰忪�' + }, + datepicker: { + now: '睅塈堬�斬� �戒�', + today: '堥�胴�', + cancel: '堥�忪� ��', + clear: '�旋胰忪�', + confirm: '堿�紱�', + selectDate: '�喧� 堛塈�我�', + selectTime: '�戒� 堛塈�我�', + startDate: '堥塈奡�戒種戒� �喧�', + startTime: '堥塈奡�戒種戒� �戒�', + endDate: '埵塈堮�斬忪棻戒� �喧�', + endTime: '埵塈堮�斬忪棻戒� �戒�', + prevYear: '埵塈�脅� ��', + nextYear: '�� ��', + prevMonth: '埵塈�脅� 埵塈��', + nextMonth: '�� 埵塈��', + year: '- ��', + month1: '1-埵塈��', + month2: '2-埵塈��', + month3: '3-埵塈��', + month4: '4-埵塈��', + month5: '5-埵塈��', + month6: '6-埵塈��', + month7: '7-埵塈��', + month8: '8-埵塈��', + month9: '9-埵塈��', + month10: '10-埵塈��', + month11: '11-埵塈��', + month12: '12-埵塈��', + // week: '�甈�', + weeks: { + sun: '�欺佾�', + mon: '堹�欺佾�', + tue: '堻�欺佾�', + wed: '�忪斛欺佾�', + thu: '椈�欺佾�', + fri: '堿��', + sat: '奡�佾�' + }, + months: { + jan: '1-埵塈��', + feb: '2-埵塈��', + mar: '3-埵塈��', + apr: '4-埵塈��', + may: '5-埵塈��', + jun: '6-埵塈��', + jul: '7-埵塈��', + aug: '8-埵塈��', + sep: '9-埵塈��', + oct: '10-埵塈��', + nov: '11-埵塈��', + dec: '12-埵塈��' + } + }, + select: { + loading: '�忪舍胴�', + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + placeholder: '堛塈�我�' + }, + cascader: { + noMatch: '埵�� 堛�撼脅�', + loading: '�忪舍胴�', + placeholder: '堛塈�我�', + noData: '埵�� ��' + }, + pagination: { + goto: '�� 堥��', + pagesize: '堛塈��/堥��', + total: '堿�肌� {total} 堛塈��', + pageClassifier: '堥��' + }, + messagebox: { + title: '埵�喧斛舍�', + confirm: '堿�紱�', + cancel: '堥�忪� ��', + error: '�族胴缽胴� 埵�斬倪紲胰� 堮塈堛塈�� 堥塈堭!' + }, + upload: { + deleteTip: 'delete �撼喧� 堥�喧� 埵�旋喧�', + delete: '埵�旋�', + preview: '堭�喧� �旋�', + continue: '堭�喧� �忪�' + }, + table: { + emptyText: '埵�� ��', + confirmFilter: '堻�缽胴�', + resetFilter: '�戒臾� 堛�胴旋�', + clearFilter: '睅��', + sumText: '堿�肌�' + }, + tree: { + emptyText: '埵�� ��' + }, + transfer: { + noMatch: '埵�� 堛�撼脅�', + noData: '埵�� ��', + titles: ['堿�胴� 1', '堿�胴� 2'], + filterPlaceholder: '埵�紲脅� 堥�種戒� �紱� �族胴羞�', + noCheckedFormat: '堿�肌� {total} 堛��', + hasCheckedFormat: '堛塈�戒稱� {checked}/{total} 堛��' + }, + image: { + error: '�稱� 堥�脅�' + }, + pageHeader: { + title: '�戒舍�' + }, + popconfirm: { + confirmButtonText: '睅�自�', + cancelButtonText: '�戒�' + }, + empty: { + description: '埵�� ��' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/uz-UZ.js b/PAMapp/local_modules/element-ui/src/locale/lang/uz-UZ.js new file mode 100644 index 0000000..de06bf1 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/uz-UZ.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'Qabul qilish', + clear: 'Tozalash' + }, + datepicker: { + now: 'Hozir', + today: 'Bugun', + cancel: 'Bekor qilish', + clear: 'Tozalash', + confirm: 'Qabul qilish', + selectDate: 'Kunni tanlash', + selectTime: 'Soatni tanlash', + startDate: 'Boshlanish sanasi', + startTime: 'Boshlanish vaqti', + endDate: 'Tugash sanasi', + endTime: 'Tugash vaqti', + prevYear: 'O妡tgan yil', + nextYear: 'Kelgusi yil', + prevMonth: 'O妡tgan oy', + nextMonth: 'Kelgusi oy', + year: 'Yil', + month1: 'Yanvar', + month2: 'Fevral', + month3: 'Mart', + month4: 'Aprel', + month5: 'May', + month6: 'Iyun', + month7: 'Iyul', + month8: 'Avgust', + month9: 'Sentabr', + month10: 'Oktabr', + month11: 'Noyabr', + month12: 'Dekabr', + week: 'Hafta', + weeks: { + sun: 'Yak', + mon: 'Dush', + tue: 'Sesh', + wed: 'Chor', + thu: 'Pay', + fri: 'Jum', + sat: 'Shan' + }, + months: { + jan: 'Yan', + feb: 'Fev', + mar: 'Mar', + apr: 'Apr', + may: 'May', + jun: 'Iyun', + jul: 'Iyul', + aug: 'Avg', + sep: 'Sen', + oct: 'Okt', + nov: 'Noy', + dec: 'Dek' + } + }, + select: { + loading: 'Yuklanmoqda', + noMatch: 'Mos ma宎lumot yo妡q', + noData: 'Ma宎lumot yo妡q', + placeholder: 'Tanladizngiz' + }, + cascader: { + noMatch: 'Mos ma宎lumot topilmadi', + loading: 'Yuklanmoqda', + placeholder: 'Tanlash', + noData: 'Ma宎lumot yo妡q' + }, + pagination: { + goto: 'O妡tish', + pagesize: '/sahifa', + total: 'Barchasi {total} ta', + pageClassifier: '' + }, + messagebox: { + title: 'Xabar', + confirm: 'Qabul qilish', + cancel: 'Bekor qilish', + error: 'Xatolik' + }, + upload: { + deleteTip: 'O妡chirish tugmasini bosib o妡chiring', + delete: 'O妡chirish', + preview: 'Oldin ko妡rish', + continue: 'Davom qilish' + }, + table: { + emptyText: 'Bo妡sh', + confirmFilter: 'Qabul qilish', + resetFilter: 'Oldingi holatga qaytarish', + clearFilter: 'Jami', + sumText: 'Summasi' + }, + tree: { + emptyText: 'Ma宎lumot yo妡q' + }, + transfer: { + noMatch: 'Mos ma宎lumot topilmadi', + noData: 'Ma宎lumot yo妡q', + titles: ['1-jadval', '2-jadval'], + filterPlaceholder: 'Kalit so妡zni kiriting', + noCheckedFormat: '{total} ta element', + hasCheckedFormat: '{checked}/{total} ta belgilandi' + }, + image: { + error: 'Xatolik' + }, + pageHeader: { + title: 'Orqaga' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: 'Bo妡sh' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/vi.js b/PAMapp/local_modules/element-ui/src/locale/lang/vi.js new file mode 100644 index 0000000..58f2d2b --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/vi.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: 'OK', + clear: 'X籀a' + }, + datepicker: { + now: 'Hi廙 t廕【', + today: 'H繫m nay', + cancel: 'H廙囤', + clear: 'X籀a', + confirm: 'OK', + selectDate: 'Ch廙 ng�', + selectTime: 'Ch廙 gi廙�', + startDate: 'Ng� b廕眩 �漣u', + startTime: 'Th廙 gian b廕眩 �漣u', + endDate: 'Ng� k廕篙 th繳c', + endTime: 'Th廙 gian k廕篙 th繳c', + prevYear: 'N� tr廙', + nextYear: 'N� t廙', + prevMonth: 'Th獺ng tr廙', + nextMonth: 'Th獺ng t廙', + year: 'N�', + month1: 'Th獺ng 1', + month2: 'Th獺ng 2', + month3: 'Th獺ng 3', + month4: 'Th獺ng 4', + month5: 'Th獺ng 5', + month6: 'Th獺ng 6', + month7: 'Th獺ng 7', + month8: 'Th獺ng 8', + month9: 'Th獺ng 9', + month10: 'Th獺ng 10', + month11: 'Th獺ng 11', + month12: 'Th獺ng 12', + // week: 'week', + weeks: { + sun: 'CN', + mon: 'T2', + tue: 'T3', + wed: 'T4', + thu: 'T5', + fri: 'T6', + sat: 'T7' + }, + months: { + jan: 'Th.1', + feb: 'Th.2', + mar: 'Th.3', + apr: 'Th.4', + may: 'Th.5', + jun: 'Th.6', + jul: 'Th.7', + aug: 'Th.8', + sep: 'Th.9', + oct: 'Th.10', + nov: 'Th.11', + dec: 'Th.12' + } + }, + select: { + loading: '�ng t廕ξ', + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + placeholder: 'Ch廙' + }, + cascader: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + loading: '�ng t廕ξ', + placeholder: 'Ch廙', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙' + }, + pagination: { + goto: 'Nh廕ㄊ t廙', + pagesize: '/trang', + total: 'T廙g {total}', + pageClassifier: '' + }, + messagebox: { + title: 'Th繫ng b獺o', + confirm: 'OK', + cancel: 'H廙囤', + error: 'D廙� li廙 kh繫ng h廙φ l廙�' + }, + upload: { + deleteTip: 'Nh廕叩 xo獺 ��� xo獺', + delete: 'X籀a', + preview: 'Xem tr廙', + continue: 'Ti廕穆 t廙卉' + }, + table: { + emptyText: 'Kh繫ng c籀 d廙� li廙', + confirmFilter: 'X獺c nh廕要', + resetFilter: 'L� m廙', + clearFilter: 'X籀a h廕篙', + sumText: 'T廙g' + }, + tree: { + emptyText: 'Kh繫ng c籀 d廙� li廙' + }, + transfer: { + noMatch: 'D廙� li廙 kh繫ng ph羅 h廙φ', + noData: 'Kh繫ng t穫m th廕句 d廙� li廙', + titles: ['Danh s獺ch 1', 'Danh s獺ch 2'], + filterPlaceholder: 'Nh廕計 t廙� kh籀a', + noCheckedFormat: '{total} m廙卉', + hasCheckedFormat: '{checked}/{total} �� ch廙 ' + }, + image: { + error: 'L廙' + }, + pageHeader: { + title: 'Quay l廕【' + }, + popconfirm: { + confirmButtonText: 'Ok', + cancelButtonText: 'Hu廙�' + }, + empty: { + description: 'Kh繫ng c籀 d廙� li廙' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/zh-CN.js b/PAMapp/local_modules/element-ui/src/locale/lang/zh-CN.js new file mode 100644 index 0000000..d0f70e9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/zh-CN.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '蝖桀��', + clear: '皜征' + }, + datepicker: { + now: '甇文', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝖桀��', + selectDate: '�����', + selectTime: '���', + startDate: '撘�憪���', + startTime: '撘�憪�', + endDate: '蝏����', + endTime: '蝏��', + prevYear: '���撟�', + nextYear: '���撟�', + prevMonth: '銝葵���', + nextMonth: '銝葵���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '��蝸銝�', + noMatch: '�����', + noData: '���', + placeholder: '霂琿�' + }, + cascader: { + noMatch: '�����', + loading: '��蝸銝�', + placeholder: '霂琿�', + noData: '����' + }, + pagination: { + goto: '���', + pagesize: '�/憿�', + total: '� {total} �', + pageClassifier: '憿�' + }, + messagebox: { + title: '��內', + confirm: '蝖桀��', + cancel: '����', + error: '颲���銝���!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝏抒賒銝��' + }, + table: { + emptyText: '����', + confirmFilter: '蝑��', + resetFilter: '��蔭', + clearFilter: '��', + sumText: '��恣' + }, + tree: { + emptyText: '����' + }, + transfer: { + noMatch: '�����', + noData: '���', + titles: ['��” 1', '��” 2'], + filterPlaceholder: '霂瑁���揣��捆', + noCheckedFormat: '� {total} 憿�', + hasCheckedFormat: '撌脤�� {checked}/{total} 憿�' + }, + image: { + error: '��蝸憭梯揖' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: '蝖桀��', + cancelButtonText: '����' + }, + empty: { + description: '����' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/locale/lang/zh-TW.js b/PAMapp/local_modules/element-ui/src/locale/lang/zh-TW.js new file mode 100644 index 0000000..3e37dc8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/locale/lang/zh-TW.js @@ -0,0 +1,123 @@ +export default { + el: { + colorpicker: { + confirm: '蝣箄��', + clear: '皜征' + }, + datepicker: { + now: '��', + today: '隞予', + cancel: '����', + clear: '皜征', + confirm: '蝣箄��', + selectDate: '������', + selectTime: '������', + startDate: '������', + startTime: '������', + endDate: '蝯����', + endTime: '蝯����', + prevYear: '���撟�', + nextYear: '敺�撟�', + prevMonth: '銝���', + nextMonth: '銝���', + year: '撟�', + month1: '1 ���', + month2: '2 ���', + month3: '3 ���', + month4: '4 ���', + month5: '5 ���', + month6: '6 ���', + month7: '7 ���', + month8: '8 ���', + month9: '9 ���', + month10: '10 ���', + month11: '11 ���', + month12: '12 ���', + // week: '�甈�', + weeks: { + sun: '�', + mon: '銝�', + tue: '鈭�', + wed: '銝�', + thu: '���', + fri: '鈭�', + sat: '�' + }, + months: { + jan: '銝����', + feb: '鈭��', + mar: '銝��', + apr: '����', + may: '鈭��', + jun: '����', + jul: '銝��', + aug: '����', + sep: '銋��', + oct: '����', + nov: '������', + dec: '�����' + } + }, + select: { + loading: '���葉', + noMatch: '�������', + noData: '�鞈��', + placeholder: '隢���' + }, + cascader: { + noMatch: '�������', + loading: '���葉', + placeholder: '隢���', + noData: '�鞈��' + }, + pagination: { + goto: '���', + pagesize: '���/���', + total: '� {total} ���', + pageClassifier: '���' + }, + messagebox: { + title: '��內', + confirm: '蝣箏��', + cancel: '����', + error: '頛詨�����泵閬��!' + }, + upload: { + deleteTip: '��� delete ����', + delete: '��', + preview: '������', + continue: '蝜潛��' + }, + table: { + emptyText: '��鞈��', + confirmFilter: '蝭拚', + resetFilter: '��蔭', + clearFilter: '��', + sumText: 'Sum' // to be translated + }, + tree: { + emptyText: '��鞈��' + }, + transfer: { + noMatch: '�������', + noData: '�鞈��', + titles: ['List 1', 'List 2'], // to be translated + filterPlaceholder: 'Enter keyword', // to be translated + noCheckedFormat: '{total} items', // to be translated + hasCheckedFormat: '{checked}/{total} checked' // to be translated + }, + image: { + error: '���仃���' + }, + pageHeader: { + title: '餈��' + }, + popconfirm: { + confirmButtonText: 'Yes', // to be translated + cancelButtonText: 'No' // to be translated + }, + empty: { + description: '��鞈��' + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/mixins/emitter.js b/PAMapp/local_modules/element-ui/src/mixins/emitter.js new file mode 100644 index 0000000..c12d167 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/mixins/emitter.js @@ -0,0 +1,33 @@ +function broadcast(componentName, eventName, params) { + this.$children.forEach(child => { + var name = child.$options.componentName; + + if (name === componentName) { + child.$emit.apply(child, [eventName].concat(params)); + } else { + broadcast.apply(child, [componentName, eventName].concat([params])); + } + }); +} +export default { + methods: { + dispatch(componentName, eventName, params) { + var parent = this.$parent || this.$root; + var name = parent.$options.componentName; + + while (parent && (!name || name !== componentName)) { + parent = parent.$parent; + + if (parent) { + name = parent.$options.componentName; + } + } + if (parent) { + parent.$emit.apply(parent, [eventName].concat(params)); + } + }, + broadcast(componentName, eventName, params) { + broadcast.call(this, componentName, eventName, params); + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/mixins/focus.js b/PAMapp/local_modules/element-ui/src/mixins/focus.js new file mode 100644 index 0000000..768ba50 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/mixins/focus.js @@ -0,0 +1,9 @@ +export default function(ref) { + return { + methods: { + focus() { + this.$refs[ref].focus(); + } + } + }; +}; diff --git a/PAMapp/local_modules/element-ui/src/mixins/locale.js b/PAMapp/local_modules/element-ui/src/mixins/locale.js new file mode 100644 index 0000000..f41173f --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/mixins/locale.js @@ -0,0 +1,9 @@ +import { t } from 'element-ui/src/locale'; + +export default { + methods: { + t(...args) { + return t.apply(this, args); + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/mixins/migrating.js b/PAMapp/local_modules/element-ui/src/mixins/migrating.js new file mode 100644 index 0000000..cf7400b --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/mixins/migrating.js @@ -0,0 +1,54 @@ +import { kebabCase } from 'element-ui/src/utils/util'; +/** + * Show migrating guide in browser console. + * + * Usage: + * import Migrating from 'element-ui/src/mixins/migrating'; + * + * mixins: [Migrating] + * + * add getMigratingConfig method for your component. + * getMigratingConfig() { + * return { + * props: { + * 'allow-no-selection': 'allow-no-selection is removed.', + * 'selection-mode': 'selection-mode is removed.' + * }, + * events: { + * selectionchange: 'selectionchange is renamed to selection-change.' + * } + * }; + * }, + */ +export default { + mounted() { + if (process.env.NODE_ENV === 'production') return; + if (!this.$vnode) return; + const { props = {}, events = {} } = this.getMigratingConfig(); + const { data, componentOptions } = this.$vnode; + const definedProps = data.attrs || {}; + const definedEvents = componentOptions.listeners || {}; + + for (let propName in definedProps) { + propName = kebabCase(propName); // compatible with camel case + if (props[propName]) { + console.warn(`[Element Migrating][${this.$options.name}][Attribute]: ${props[propName]}`); + } + } + + for (let eventName in definedEvents) { + eventName = kebabCase(eventName); // compatible with camel case + if (events[eventName]) { + console.warn(`[Element Migrating][${this.$options.name}][Event]: ${events[eventName]}`); + } + } + }, + methods: { + getMigratingConfig() { + return { + props: {}, + events: {} + }; + } + } +}; diff --git a/PAMapp/local_modules/element-ui/src/transitions/collapse-transition.js b/PAMapp/local_modules/element-ui/src/transitions/collapse-transition.js new file mode 100644 index 0000000..5e25d52 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/transitions/collapse-transition.js @@ -0,0 +1,77 @@ +import { addClass, removeClass } from 'element-ui/src/utils/dom'; + +class Transition { + beforeEnter(el) { + addClass(el, 'collapse-transition'); + if (!el.dataset) el.dataset = {}; + + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; + + el.style.height = '0'; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; + } + + enter(el) { + el.dataset.oldOverflow = el.style.overflow; + if (el.scrollHeight !== 0) { + el.style.height = el.scrollHeight + 'px'; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } else { + el.style.height = ''; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } + + el.style.overflow = 'hidden'; + } + + afterEnter(el) { + // for safari: remove class then reset height is necessary + removeClass(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + } + + beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; + el.dataset.oldOverflow = el.style.overflow; + + el.style.height = el.scrollHeight + 'px'; + el.style.overflow = 'hidden'; + } + + leave(el) { + if (el.scrollHeight !== 0) { + // for safari: add class after set height, or it will jump to zero height suddenly, weired + addClass(el, 'collapse-transition'); + el.style.height = 0; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; + } + } + + afterLeave(el) { + removeClass(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } +} + +export default { + name: 'ElCollapseTransition', + functional: true, + render(h, { children }) { + const data = { + on: new Transition() + }; + + return h('transition', data, children); + } +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/after-leave.js b/PAMapp/local_modules/element-ui/src/utils/after-leave.js new file mode 100644 index 0000000..dd6cf2a --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/after-leave.js @@ -0,0 +1,27 @@ +/** + * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. + * + * @param {Vue} instance Vue instance. + * @param {Function} callback callback of after-leave event + * @param {Number} speed the speed of transition, default value is 300ms + * @param {Boolean} once weather bind after-leave once. default value is false. + */ +export default function(instance, callback, speed = 300, once = false) { + if (!instance || !callback) throw new Error('instance & callback is required'); + let called = false; + const afterLeaveCallback = function() { + if (called) return; + called = true; + if (callback) { + callback.apply(null, arguments); + } + }; + if (once) { + instance.$once('after-leave', afterLeaveCallback); + } else { + instance.$on('after-leave', afterLeaveCallback); + } + setTimeout(() => { + afterLeaveCallback(); + }, speed + 100); +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/aria-dialog.js b/PAMapp/local_modules/element-ui/src/utils/aria-dialog.js new file mode 100644 index 0000000..c56ae42 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/aria-dialog.js @@ -0,0 +1,90 @@ +import Utils from './aria-utils'; + +/** + * @constructor + * @desc Dialog object providing modal focus management. + * + * Assumptions: The element serving as the dialog container is present in the + * DOM and hidden. The dialog container has role='dialog'. + * + * @param dialogId + * The ID of the element serving as the dialog container. + * @param focusAfterClosed + * Either the DOM node or the ID of the DOM node to focus when the + * dialog closes. + * @param focusFirst + * Optional parameter containing either the DOM node or the ID of the + * DOM node to focus when the dialog opens. If not specified, the + * first focusable element in the dialog will receive focus. + */ +var aria = aria || {}; +var tabEvent; + +aria.Dialog = function(dialog, focusAfterClosed, focusFirst) { + this.dialogNode = dialog; + if (this.dialogNode === null || this.dialogNode.getAttribute('role') !== 'dialog') { + throw new Error('Dialog() requires a DOM element with ARIA role of dialog.'); + } + + if (typeof focusAfterClosed === 'string') { + this.focusAfterClosed = document.getElementById(focusAfterClosed); + } else if (typeof focusAfterClosed === 'object') { + this.focusAfterClosed = focusAfterClosed; + } else { + this.focusAfterClosed = null; + } + + if (typeof focusFirst === 'string') { + this.focusFirst = document.getElementById(focusFirst); + } else if (typeof focusFirst === 'object') { + this.focusFirst = focusFirst; + } else { + this.focusFirst = null; + } + + if (this.focusFirst) { + this.focusFirst.focus(); + } else { + Utils.focusFirstDescendant(this.dialogNode); + } + + this.lastFocus = document.activeElement; + tabEvent = (e) => { + this.trapFocus(e); + }; + this.addListeners(); +}; + +aria.Dialog.prototype.addListeners = function() { + document.addEventListener('focus', tabEvent, true); +}; + +aria.Dialog.prototype.removeListeners = function() { + document.removeEventListener('focus', tabEvent, true); +}; + +aria.Dialog.prototype.closeDialog = function() { + this.removeListeners(); + if (this.focusAfterClosed) { + setTimeout(() => { + this.focusAfterClosed.focus(); + }); + } +}; + +aria.Dialog.prototype.trapFocus = function(event) { + if (Utils.IgnoreUtilFocusChanges) { + return; + } + if (this.dialogNode.contains(event.target)) { + this.lastFocus = event.target; + } else { + Utils.focusFirstDescendant(this.dialogNode); + if (this.lastFocus === document.activeElement) { + Utils.focusLastDescendant(this.dialogNode); + } + this.lastFocus = document.activeElement; + } +}; + +export default aria.Dialog; diff --git a/PAMapp/local_modules/element-ui/src/utils/aria-utils.js b/PAMapp/local_modules/element-ui/src/utils/aria-utils.js new file mode 100644 index 0000000..5bccfab --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/aria-utils.js @@ -0,0 +1,122 @@ +var aria = aria || {}; + +aria.Utils = aria.Utils || {}; + +/** + * @desc Set focus on descendant nodes until the first focusable element is + * found. + * @param element + * DOM node for which to find the first focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ +aria.Utils.focusFirstDescendant = function(element) { + for (var i = 0; i < element.childNodes.length; i++) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Find the last descendant node that is focusable. + * @param element + * DOM node for which to find the last focusable descendant. + * @returns + * true if a focusable element is found and focus is set. + */ + +aria.Utils.focusLastDescendant = function(element) { + for (var i = element.childNodes.length - 1; i >= 0; i--) { + var child = element.childNodes[i]; + if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) { + return true; + } + } + return false; +}; + +/** + * @desc Set Attempt to set focus on the current node. + * @param element + * The node to attempt to focus on. + * @returns + * true if element is focused. + */ +aria.Utils.attemptFocus = function(element) { + if (!aria.Utils.isFocusable(element)) { + return false; + } + aria.Utils.IgnoreUtilFocusChanges = true; + try { + element.focus(); + } catch (e) { + } + aria.Utils.IgnoreUtilFocusChanges = false; + return (document.activeElement === element); +}; + +aria.Utils.isFocusable = function(element) { + if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) { + return true; + } + + if (element.disabled) { + return false; + } + + switch (element.nodeName) { + case 'A': + return !!element.href && element.rel !== 'ignore'; + case 'INPUT': + return element.type !== 'hidden' && element.type !== 'file'; + case 'BUTTON': + case 'SELECT': + case 'TEXTAREA': + return true; + default: + return false; + } +}; + +/** + * 閫血��銝芯�辣 + * mouseenter, mouseleave, mouseover, keyup, change, click 蝑� + * @param {Element} elm + * @param {String} name + * @param {*} opts + */ +aria.Utils.triggerEvent = function(elm, name, ...opts) { + let eventName; + + if (/^mouse|click/.test(name)) { + eventName = 'MouseEvents'; + } else if (/^key/.test(name)) { + eventName = 'KeyboardEvent'; + } else { + eventName = 'HTMLEvents'; + } + const evt = document.createEvent(eventName); + + evt.initEvent(name, ...opts); + elm.dispatchEvent + ? elm.dispatchEvent(evt) + : elm.fireEvent('on' + name, evt); + + return elm; +}; + +aria.Utils.keys = { + tab: 9, + enter: 13, + space: 32, + left: 37, + up: 38, + right: 39, + down: 40, + esc: 27 +}; + +export default aria.Utils; diff --git a/PAMapp/local_modules/element-ui/src/utils/clickoutside.js b/PAMapp/local_modules/element-ui/src/utils/clickoutside.js new file mode 100644 index 0000000..e002548 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/clickoutside.js @@ -0,0 +1,76 @@ +import Vue from 'vue'; +import { on } from 'element-ui/src/utils/dom'; + +const nodeList = []; +const ctx = '@@clickoutsideContext'; + +let startClick; +let seed = 0; + +!Vue.prototype.$isServer && on(document, 'mousedown', e => (startClick = e)); + +!Vue.prototype.$isServer && on(document, 'mouseup', e => { + nodeList.forEach(node => node[ctx].documentHandler(e, startClick)); +}); + +function createDocumentHandler(el, binding, vnode) { + return function(mouseup = {}, mousedown = {}) { + if (!vnode || + !vnode.context || + !mouseup.target || + !mousedown.target || + el.contains(mouseup.target) || + el.contains(mousedown.target) || + el === mouseup.target || + (vnode.context.popperElm && + (vnode.context.popperElm.contains(mouseup.target) || + vnode.context.popperElm.contains(mousedown.target)))) return; + + if (binding.expression && + el[ctx].methodName && + vnode.context[el[ctx].methodName]) { + vnode.context[el[ctx].methodName](); + } else { + el[ctx].bindingFn && el[ctx].bindingFn(); + } + }; +} + +/** + * v-clickoutside + * @desc ���������圻����辣 + * @example + * ```vue + * <div v-element-clickoutside="handleClose"> + * ``` + */ +export default { + bind(el, binding, vnode) { + nodeList.push(el); + const id = seed++; + el[ctx] = { + id, + documentHandler: createDocumentHandler(el, binding, vnode), + methodName: binding.expression, + bindingFn: binding.value + }; + }, + + update(el, binding, vnode) { + el[ctx].documentHandler = createDocumentHandler(el, binding, vnode); + el[ctx].methodName = binding.expression; + el[ctx].bindingFn = binding.value; + }, + + unbind(el) { + let len = nodeList.length; + + for (let i = 0; i < len; i++) { + if (nodeList[i][ctx].id === el[ctx].id) { + nodeList.splice(i, 1); + break; + } + } + delete el[ctx]; + } +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/date-util.js b/PAMapp/local_modules/element-ui/src/utils/date-util.js new file mode 100644 index 0000000..9e8a2f4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/date-util.js @@ -0,0 +1,282 @@ +import fecha from 'element-ui/src/utils/date'; +import { t } from 'element-ui/src/locale'; + +const weeks = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; +const months = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']; + +const newArray = function(start, end) { + let result = []; + for (let i = start; i <= end; i++) { + result.push(i); + } + return result; +}; + +export const getI18nSettings = () => { + return { + dayNamesShort: weeks.map(week => t(`el.datepicker.weeks.${ week }`)), + dayNames: weeks.map(week => t(`el.datepicker.weeks.${ week }`)), + monthNamesShort: months.map(month => t(`el.datepicker.months.${ month }`)), + monthNames: months.map((month, index) => t(`el.datepicker.month${ index + 1 }`)), + amPm: ['am', 'pm'] + }; +}; + +export const toDate = function(date) { + return isDate(date) ? new Date(date) : null; +}; + +export const isDate = function(date) { + if (date === null || date === undefined) return false; + if (isNaN(new Date(date).getTime())) return false; + if (Array.isArray(date)) return false; // deal with `new Date([ new Date() ]) -> new Date()` + return true; +}; + +export const isDateObject = function(val) { + return val instanceof Date; +}; + +export const formatDate = function(date, format) { + date = toDate(date); + if (!date) return ''; + return fecha.format(date, format || 'yyyy-MM-dd', getI18nSettings()); +}; + +export const parseDate = function(string, format) { + return fecha.parse(string, format || 'yyyy-MM-dd', getI18nSettings()); +}; + +export const getDayCountOfMonth = function(year, month) { + if (isNaN(+month)) return 31; + + return new Date(year, +month + 1, 0).getDate(); +}; + +export const getDayCountOfYear = function(year) { + const isLeapYear = year % 400 === 0 || (year % 100 !== 0 && year % 4 === 0); + return isLeapYear ? 366 : 365; +}; + +export const getFirstDayOfMonth = function(date) { + const temp = new Date(date.getTime()); + temp.setDate(1); + return temp.getDay(); +}; + +// see: https://stackoverflow.com/questions/3674539/incrementing-a-date-in-javascript +// {prev, next} Date should work for Daylight Saving Time +// Adding 24 * 60 * 60 * 1000 does not work in the above scenario +export const prevDate = function(date, amount = 1) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate() - amount); +}; + +export const nextDate = function(date, amount = 1) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount); +}; + +export const getStartDateOfMonth = function(year, month) { + const result = new Date(year, month, 1); + const day = result.getDay(); + + if (day === 0) { + return prevDate(result, 7); + } else { + return prevDate(result, day); + } +}; + +export const getWeekNumber = function(src) { + if (!isDate(src)) return null; + const date = new Date(src.getTime()); + date.setHours(0, 0, 0, 0); + // Thursday in current week decides the year. + date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7); + // January 4 is always in week 1. + const week1 = new Date(date.getFullYear(), 0, 4); + // Adjust to Thursday in week 1 and count number of weeks from date to week 1. + // Rounding should be fine for Daylight Saving Time. Its shift should never be more than 12 hours. + return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7); +}; + +export const getRangeHours = function(ranges) { + const hours = []; + let disabledHours = []; + + (ranges || []).forEach(range => { + const value = range.map(date => date.getHours()); + + disabledHours = disabledHours.concat(newArray(value[0], value[1])); + }); + + if (disabledHours.length) { + for (let i = 0; i < 24; i++) { + hours[i] = disabledHours.indexOf(i) === -1; + } + } else { + for (let i = 0; i < 24; i++) { + hours[i] = false; + } + } + + return hours; +}; + +export const getPrevMonthLastDays = (date, amount) => { + if (amount <= 0) return []; + const temp = new Date(date.getTime()); + temp.setDate(0); + const lastDay = temp.getDate(); + return range(amount).map((_, index) => lastDay - (amount - index - 1)); +}; + +export const getMonthDays = (date) => { + const temp = new Date(date.getFullYear(), date.getMonth() + 1, 0); + const days = temp.getDate(); + return range(days).map((_, index) => index + 1); +}; + +function setRangeData(arr, start, end, value) { + for (let i = start; i < end; i++) { + arr[i] = value; + } +} + +export const getRangeMinutes = function(ranges, hour) { + const minutes = new Array(60); + + if (ranges.length > 0) { + ranges.forEach(range => { + const start = range[0]; + const end = range[1]; + const startHour = start.getHours(); + const startMinute = start.getMinutes(); + const endHour = end.getHours(); + const endMinute = end.getMinutes(); + if (startHour === hour && endHour !== hour) { + setRangeData(minutes, startMinute, 60, true); + } else if (startHour === hour && endHour === hour) { + setRangeData(minutes, startMinute, endMinute + 1, true); + } else if (startHour !== hour && endHour === hour) { + setRangeData(minutes, 0, endMinute + 1, true); + } else if (startHour < hour && endHour > hour) { + setRangeData(minutes, 0, 60, true); + } + }); + } else { + setRangeData(minutes, 0, 60, true); + } + return minutes; +}; + +export const range = function(n) { + // see https://stackoverflow.com/questions/3746725/create-a-javascript-array-containing-1-n + return Array.apply(null, {length: n}).map((_, n) => n); +}; + +export const modifyDate = function(date, y, m, d) { + return new Date(y, m, d, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()); +}; + +export const modifyTime = function(date, h, m, s) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h, m, s, date.getMilliseconds()); +}; + +export const modifyWithTimeString = (date, time) => { + if (date == null || !time) { + return date; + } + time = parseDate(time, 'HH:mm:ss'); + return modifyTime(date, time.getHours(), time.getMinutes(), time.getSeconds()); +}; + +export const clearTime = function(date) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate()); +}; + +export const clearMilliseconds = function(date) { + return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0); +}; + +export const limitTimeRange = function(date, ranges, format = 'HH:mm:ss') { + // TODO: refactory a more elegant solution + if (ranges.length === 0) return date; + const normalizeDate = date => fecha.parse(fecha.format(date, format), format); + const ndate = normalizeDate(date); + const nranges = ranges.map(range => range.map(normalizeDate)); + if (nranges.some(nrange => ndate >= nrange[0] && ndate <= nrange[1])) return date; + + let minDate = nranges[0][0]; + let maxDate = nranges[0][0]; + + nranges.forEach(nrange => { + minDate = new Date(Math.min(nrange[0], minDate)); + maxDate = new Date(Math.max(nrange[1], minDate)); + }); + + const ret = ndate < minDate ? minDate : maxDate; + // preserve Year/Month/Date + return modifyDate( + ret, + date.getFullYear(), + date.getMonth(), + date.getDate() + ); +}; + +export const timeWithinRange = function(date, selectableRange, format) { + const limitedDate = limitTimeRange(date, selectableRange, format); + return limitedDate.getTime() === date.getTime(); +}; + +export const changeYearMonthAndClampDate = function(date, year, month) { + // clamp date to the number of days in `year`, `month` + // eg: (2010-1-31, 2010, 2) => 2010-2-28 + const monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month)); + return modifyDate(date, year, month, monthDate); +}; + +export const prevMonth = function(date) { + const year = date.getFullYear(); + const month = date.getMonth(); + return month === 0 + ? changeYearMonthAndClampDate(date, year - 1, 11) + : changeYearMonthAndClampDate(date, year, month - 1); +}; + +export const nextMonth = function(date) { + const year = date.getFullYear(); + const month = date.getMonth(); + return month === 11 + ? changeYearMonthAndClampDate(date, year + 1, 0) + : changeYearMonthAndClampDate(date, year, month + 1); +}; + +export const prevYear = function(date, amount = 1) { + const year = date.getFullYear(); + const month = date.getMonth(); + return changeYearMonthAndClampDate(date, year - amount, month); +}; + +export const nextYear = function(date, amount = 1) { + const year = date.getFullYear(); + const month = date.getMonth(); + return changeYearMonthAndClampDate(date, year + amount, month); +}; + +export const extractDateFormat = function(format) { + return format + .replace(/\W?m{1,2}|\W?ZZ/g, '') + .replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi, '') + .trim(); +}; + +export const extractTimeFormat = function(format) { + return format + .replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g, '') + .trim(); +}; + +export const validateRangeInOneMonth = function(start, end) { + return (start.getMonth() === end.getMonth()) && (start.getFullYear() === end.getFullYear()); +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/date.js b/PAMapp/local_modules/element-ui/src/utils/date.js new file mode 100644 index 0000000..001692c --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/date.js @@ -0,0 +1,368 @@ +/* Modified from https://github.com/taylorhakes/fecha + * + * The MIT License (MIT) + * + * Copyright (c) 2015 Taylor Hakes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/*eslint-disable*/ +// ��� YYYY-MM-DD ����� yyyy-MM-dd +(function (main) { + 'use strict'; + + /** + * Parse or format dates + * @class fecha + */ + var fecha = {}; + var token = /d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g; + var twoDigits = '\\d\\d?'; + var threeDigits = '\\d{3}'; + var fourDigits = '\\d{4}'; + var word = '[^\\s]+'; + var literal = /\[([^]*?)\]/gm; + var noop = function () { + }; + + function regexEscape(str) { + return str.replace( /[|\\{()[^$+*?.-]/g, '\\$&'); + } + + function shorten(arr, sLen) { + var newArr = []; + for (var i = 0, len = arr.length; i < len; i++) { + newArr.push(arr[i].substr(0, sLen)); + } + return newArr; + } + + function monthUpdate(arrName) { + return function (d, v, i18n) { + var index = i18n[arrName].indexOf(v.charAt(0).toUpperCase() + v.substr(1).toLowerCase()); + if (~index) { + d.month = index; + } + }; + } + + function pad(val, len) { + val = String(val); + len = len || 2; + while (val.length < len) { + val = '0' + val; + } + return val; + } + + var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + var monthNamesShort = shorten(monthNames, 3); + var dayNamesShort = shorten(dayNames, 3); + fecha.i18n = { + dayNamesShort: dayNamesShort, + dayNames: dayNames, + monthNamesShort: monthNamesShort, + monthNames: monthNames, + amPm: ['am', 'pm'], + DoFn: function DoFn(D) { + return D + ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D - D % 10 !== 10) * D % 10]; + } + }; + + var formatFlags = { + D: function(dateObj) { + return dateObj.getDay(); + }, + DD: function(dateObj) { + return pad(dateObj.getDay()); + }, + Do: function(dateObj, i18n) { + return i18n.DoFn(dateObj.getDate()); + }, + d: function(dateObj) { + return dateObj.getDate(); + }, + dd: function(dateObj) { + return pad(dateObj.getDate()); + }, + ddd: function(dateObj, i18n) { + return i18n.dayNamesShort[dateObj.getDay()]; + }, + dddd: function(dateObj, i18n) { + return i18n.dayNames[dateObj.getDay()]; + }, + M: function(dateObj) { + return dateObj.getMonth() + 1; + }, + MM: function(dateObj) { + return pad(dateObj.getMonth() + 1); + }, + MMM: function(dateObj, i18n) { + return i18n.monthNamesShort[dateObj.getMonth()]; + }, + MMMM: function(dateObj, i18n) { + return i18n.monthNames[dateObj.getMonth()]; + }, + yy: function(dateObj) { + return pad(String(dateObj.getFullYear()), 4).substr(2); + }, + yyyy: function(dateObj) { + return pad(dateObj.getFullYear(), 4); + }, + h: function(dateObj) { + return dateObj.getHours() % 12 || 12; + }, + hh: function(dateObj) { + return pad(dateObj.getHours() % 12 || 12); + }, + H: function(dateObj) { + return dateObj.getHours(); + }, + HH: function(dateObj) { + return pad(dateObj.getHours()); + }, + m: function(dateObj) { + return dateObj.getMinutes(); + }, + mm: function(dateObj) { + return pad(dateObj.getMinutes()); + }, + s: function(dateObj) { + return dateObj.getSeconds(); + }, + ss: function(dateObj) { + return pad(dateObj.getSeconds()); + }, + S: function(dateObj) { + return Math.round(dateObj.getMilliseconds() / 100); + }, + SS: function(dateObj) { + return pad(Math.round(dateObj.getMilliseconds() / 10), 2); + }, + SSS: function(dateObj) { + return pad(dateObj.getMilliseconds(), 3); + }, + a: function(dateObj, i18n) { + return dateObj.getHours() < 12 ? i18n.amPm[0] : i18n.amPm[1]; + }, + A: function(dateObj, i18n) { + return dateObj.getHours() < 12 ? i18n.amPm[0].toUpperCase() : i18n.amPm[1].toUpperCase(); + }, + ZZ: function(dateObj) { + var o = dateObj.getTimezoneOffset(); + return (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4); + } + }; + + var parseFlags = { + d: [twoDigits, function (d, v) { + d.day = v; + }], + Do: [twoDigits + word, function (d, v) { + d.day = parseInt(v, 10); + }], + M: [twoDigits, function (d, v) { + d.month = v - 1; + }], + yy: [twoDigits, function (d, v) { + var da = new Date(), cent = +('' + da.getFullYear()).substr(0, 2); + d.year = '' + (v > 68 ? cent - 1 : cent) + v; + }], + h: [twoDigits, function (d, v) { + d.hour = v; + }], + m: [twoDigits, function (d, v) { + d.minute = v; + }], + s: [twoDigits, function (d, v) { + d.second = v; + }], + yyyy: [fourDigits, function (d, v) { + d.year = v; + }], + S: ['\\d', function (d, v) { + d.millisecond = v * 100; + }], + SS: ['\\d{2}', function (d, v) { + d.millisecond = v * 10; + }], + SSS: [threeDigits, function (d, v) { + d.millisecond = v; + }], + D: [twoDigits, noop], + ddd: [word, noop], + MMM: [word, monthUpdate('monthNamesShort')], + MMMM: [word, monthUpdate('monthNames')], + a: [word, function (d, v, i18n) { + var val = v.toLowerCase(); + if (val === i18n.amPm[0]) { + d.isPm = false; + } else if (val === i18n.amPm[1]) { + d.isPm = true; + } + }], + ZZ: ['[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z', function (d, v) { + var parts = (v + '').match(/([+-]|\d\d)/gi), minutes; + + if (parts) { + minutes = +(parts[1] * 60) + parseInt(parts[2], 10); + d.timezoneOffset = parts[0] === '+' ? minutes : -minutes; + } + }] + }; + parseFlags.dd = parseFlags.d; + parseFlags.dddd = parseFlags.ddd; + parseFlags.DD = parseFlags.D; + parseFlags.mm = parseFlags.m; + parseFlags.hh = parseFlags.H = parseFlags.HH = parseFlags.h; + parseFlags.MM = parseFlags.M; + parseFlags.ss = parseFlags.s; + parseFlags.A = parseFlags.a; + + + // Some common format strings + fecha.masks = { + default: 'ddd MMM dd yyyy HH:mm:ss', + shortDate: 'M/D/yy', + mediumDate: 'MMM d, yyyy', + longDate: 'MMMM d, yyyy', + fullDate: 'dddd, MMMM d, yyyy', + shortTime: 'HH:mm', + mediumTime: 'HH:mm:ss', + longTime: 'HH:mm:ss.SSS' + }; + + /*** + * Format a date + * @method format + * @param {Date|number} dateObj + * @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate' + */ + fecha.format = function (dateObj, mask, i18nSettings) { + var i18n = i18nSettings || fecha.i18n; + + if (typeof dateObj === 'number') { + dateObj = new Date(dateObj); + } + + if (Object.prototype.toString.call(dateObj) !== '[object Date]' || isNaN(dateObj.getTime())) { + throw new Error('Invalid Date in fecha.format'); + } + + mask = fecha.masks[mask] || mask || fecha.masks['default']; + + var literals = []; + + // Make literals inactive by replacing them with ?? + mask = mask.replace(literal, function($0, $1) { + literals.push($1); + return '@@@'; + }); + // Apply formatting rules + mask = mask.replace(token, function ($0) { + return $0 in formatFlags ? formatFlags[$0](dateObj, i18n) : $0.slice(1, $0.length - 1); + }); + // Inline literal values back into the formatted value + return mask.replace(/@@@/g, function() { + return literals.shift(); + }); + }; + + /** + * Parse a date string into an object, changes - into / + * @method parse + * @param {string} dateStr Date string + * @param {string} format Date parse format + * @returns {Date|boolean} + */ + fecha.parse = function (dateStr, format, i18nSettings) { + var i18n = i18nSettings || fecha.i18n; + + if (typeof format !== 'string') { + throw new Error('Invalid format in fecha.parse'); + } + + format = fecha.masks[format] || format; + + // Avoid regular expression denial of service, fail early for really long strings + // https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS + if (dateStr.length > 1000) { + return null; + } + + var dateInfo = {}; + var parseInfo = []; + var literals = []; + format = format.replace(literal, function($0, $1) { + literals.push($1); + return '@@@'; + }); + var newFormat = regexEscape(format).replace(token, function ($0) { + if (parseFlags[$0]) { + var info = parseFlags[$0]; + parseInfo.push(info[1]); + return '(' + info[0] + ')'; + } + + return $0; + }); + newFormat = newFormat.replace(/@@@/g, function() { + return literals.shift(); + }); + var matches = dateStr.match(new RegExp(newFormat, 'i')); + if (!matches) { + return null; + } + + for (var i = 1; i < matches.length; i++) { + parseInfo[i - 1](dateInfo, matches[i], i18n); + } + + var today = new Date(); + if (dateInfo.isPm === true && dateInfo.hour != null && +dateInfo.hour !== 12) { + dateInfo.hour = +dateInfo.hour + 12; + } else if (dateInfo.isPm === false && +dateInfo.hour === 12) { + dateInfo.hour = 0; + } + + var date; + if (dateInfo.timezoneOffset != null) { + dateInfo.minute = +(dateInfo.minute || 0) - +dateInfo.timezoneOffset; + date = new Date(Date.UTC(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, + dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0)); + } else { + date = new Date(dateInfo.year || today.getFullYear(), dateInfo.month || 0, dateInfo.day || 1, + dateInfo.hour || 0, dateInfo.minute || 0, dateInfo.second || 0, dateInfo.millisecond || 0); + } + return date; + }; + + /* istanbul ignore next */ + if (typeof module !== 'undefined' && module.exports) { + module.exports = fecha; + } else if (typeof define === 'function' && define.amd) { + define(function () { + return fecha; + }); + } else { + main.fecha = fecha; + } +})(this); diff --git a/PAMapp/local_modules/element-ui/src/utils/dom.js b/PAMapp/local_modules/element-ui/src/utils/dom.js new file mode 100644 index 0000000..c3ee8ba --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/dom.js @@ -0,0 +1,227 @@ +/* istanbul ignore next */ + +import Vue from 'vue'; + +const isServer = Vue.prototype.$isServer; +const SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; +const MOZ_HACK_REGEXP = /^moz([A-Z])/; +const ieVersion = isServer ? 0 : Number(document.documentMode); + +/* istanbul ignore next */ +const trim = function(string) { + return (string || '').replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ''); +}; +/* istanbul ignore next */ +const camelCase = function(name) { + return name.replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }).replace(MOZ_HACK_REGEXP, 'Moz$1'); +}; + +/* istanbul ignore next */ +export const on = (function() { + if (!isServer && document.addEventListener) { + return function(element, event, handler) { + if (element && event && handler) { + element.addEventListener(event, handler, false); + } + }; + } else { + return function(element, event, handler) { + if (element && event && handler) { + element.attachEvent('on' + event, handler); + } + }; + } +})(); + +/* istanbul ignore next */ +export const off = (function() { + if (!isServer && document.removeEventListener) { + return function(element, event, handler) { + if (element && event) { + element.removeEventListener(event, handler, false); + } + }; + } else { + return function(element, event, handler) { + if (element && event) { + element.detachEvent('on' + event, handler); + } + }; + } +})(); + +/* istanbul ignore next */ +export const once = function(el, event, fn) { + var listener = function() { + if (fn) { + fn.apply(this, arguments); + } + off(el, event, listener); + }; + on(el, event, listener); +}; + +/* istanbul ignore next */ +export function hasClass(el, cls) { + if (!el || !cls) return false; + if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.'); + if (el.classList) { + return el.classList.contains(cls); + } else { + return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1; + } +}; + +/* istanbul ignore next */ +export function addClass(el, cls) { + if (!el) return; + var curClass = el.className; + var classes = (cls || '').split(' '); + + for (var i = 0, j = classes.length; i < j; i++) { + var clsName = classes[i]; + if (!clsName) continue; + + if (el.classList) { + el.classList.add(clsName); + } else if (!hasClass(el, clsName)) { + curClass += ' ' + clsName; + } + } + if (!el.classList) { + el.setAttribute('class', curClass); + } +}; + +/* istanbul ignore next */ +export function removeClass(el, cls) { + if (!el || !cls) return; + var classes = cls.split(' '); + var curClass = ' ' + el.className + ' '; + + for (var i = 0, j = classes.length; i < j; i++) { + var clsName = classes[i]; + if (!clsName) continue; + + if (el.classList) { + el.classList.remove(clsName); + } else if (hasClass(el, clsName)) { + curClass = curClass.replace(' ' + clsName + ' ', ' '); + } + } + if (!el.classList) { + el.setAttribute('class', trim(curClass)); + } +}; + +/* istanbul ignore next */ +export const getStyle = ieVersion < 9 ? function(element, styleName) { + if (isServer) return; + if (!element || !styleName) return null; + styleName = camelCase(styleName); + if (styleName === 'float') { + styleName = 'styleFloat'; + } + try { + switch (styleName) { + case 'opacity': + try { + return element.filters.item('alpha').opacity / 100; + } catch (e) { + return 1.0; + } + default: + return (element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null); + } + } catch (e) { + return element.style[styleName]; + } +} : function(element, styleName) { + if (isServer) return; + if (!element || !styleName) return null; + styleName = camelCase(styleName); + if (styleName === 'float') { + styleName = 'cssFloat'; + } + try { + var computed = document.defaultView.getComputedStyle(element, ''); + return element.style[styleName] || computed ? computed[styleName] : null; + } catch (e) { + return element.style[styleName]; + } +}; + +/* istanbul ignore next */ +export function setStyle(element, styleName, value) { + if (!element || !styleName) return; + + if (typeof styleName === 'object') { + for (var prop in styleName) { + if (styleName.hasOwnProperty(prop)) { + setStyle(element, prop, styleName[prop]); + } + } + } else { + styleName = camelCase(styleName); + if (styleName === 'opacity' && ieVersion < 9) { + element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')'; + } else { + element.style[styleName] = value; + } + } +}; + +export const isScroll = (el, vertical) => { + if (isServer) return; + + const determinedDirection = vertical !== null && vertical !== undefined; + const overflow = determinedDirection + ? vertical + ? getStyle(el, 'overflow-y') + : getStyle(el, 'overflow-x') + : getStyle(el, 'overflow'); + + return overflow.match(/(scroll|auto|overlay)/); +}; + +export const getScrollContainer = (el, vertical) => { + if (isServer) return; + + let parent = el; + while (parent) { + if ([window, document, document.documentElement].includes(parent)) { + return window; + } + if (isScroll(parent, vertical)) { + return parent; + } + parent = parent.parentNode; + } + + return parent; +}; + +export const isInContainer = (el, container) => { + if (isServer || !el || !container) return false; + + const elRect = el.getBoundingClientRect(); + let containerRect; + + if ([window, document, document.documentElement, null, undefined].includes(container)) { + containerRect = { + top: 0, + right: window.innerWidth, + bottom: window.innerHeight, + left: 0 + }; + } else { + containerRect = container.getBoundingClientRect(); + } + + return elRect.top < containerRect.bottom && + elRect.bottom > containerRect.top && + elRect.right > containerRect.left && + elRect.left < containerRect.right; +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/lodash.js b/PAMapp/local_modules/element-ui/src/utils/lodash.js new file mode 100644 index 0000000..4131e93 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/lodash.js @@ -0,0 +1,17209 @@ +/** + * @license + * Lodash <https://lodash.com/> + * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** 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/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '<p>' + func(text) + '</p>'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '<p>fred, barney, & pebbles</p>' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement('<body>'); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('d矇j�� vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<b><%- value %></b>'); + * compiled({ 'value': '<script>' }); + * // => '<b><script></b>' + * + * // Use the "evaluate" delimiter to execute JavaScript and generate HTML. + * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the internal `print` function in "evaluate" delimiters. + * var compiled = _.template('<% print("hello " + user); %>!'); + * compiled({ 'user': 'barney' }); + * // => 'hello barney!' + * + * // Use the ES template literal delimiter as an "interpolate" delimiter. + * // Disable support by replacing the "interpolate" delimiter. + * var compiled = _.template('hello ${ user }!'); + * compiled({ 'user': 'pebbles' }); + * // => 'hello pebbles!' + * + * // Use backslashes to treat delimiters as plain text. + * var compiled = _.template('<%= "\\<%- value %\\>" %>'); + * compiled({ 'value': 'ignored' }); + * // => '<%- value %>' + * + * // Use the `imports` option to import `jQuery` as `jq`. + * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>'; + * var compiled = _.template(text, { 'imports': { 'jq': jQuery } }); + * compiled({ 'users': ['fred', 'barney'] }); + * // => '<li>fred</li><li>barney</li>' + * + * // Use the `sourceURL` option to specify a custom sourceURL for the template. + * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' }); + * compiled(data); + * // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector. + * + * // Use the `variable` option to ensure a with-statement isn't used in the compiled template. + * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' }); + * compiled.source; + * // => function(data) { + * // var __t, __p = ''; + * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!'; + * // return __p; + * // } + * + * // Use custom template delimiters. + * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; + * var compiled = _.template('hello {{ user }}!'); + * compiled({ 'user': 'mustache' }); + * // => 'hello mustache!' + * + * // Use the `source` property to inline compiled templates for meaningful + * // line numbers in error messages and stack traces. + * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ + * var JST = {\ + * "main": ' + _.template(mainText).source + '\ + * };\ + * '); + */ + function template(string, options, guard) { + // Based on John Resig's `tmpl` implementation + // (http://ejohn.org/blog/javascript-micro-templating/) + // and Laura Doktorova's doT.js (https://github.com/olado/doT). + var settings = lodash.templateSettings; + + if (guard && isIterateeCall(string, options, guard)) { + options = undefined; + } + string = toString(string); + options = assignInWith({}, options, settings, customDefaultsAssignIn); + + var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), + importsKeys = keys(imports), + importsValues = baseValues(imports, importsKeys); + + var isEscaping, + isEvaluating, + index = 0, + interpolate = options.interpolate || reNoMatch, + source = "__p += '"; + + // Compile the regexp to match each delimiter. + var reDelimiters = RegExp( + (options.escape || reNoMatch).source + '|' + + interpolate.source + '|' + + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + + (options.evaluate || reNoMatch).source + '|$' + , 'g'); + + // Use a sourceURL for easier debugging. + // The sourceURL gets injected into the source that's eval-ed, so be careful + // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in + // and escape the comment, thus injecting code that gets evaled. + var sourceURL = '//# sourceURL=' + + (hasOwnProperty.call(options, 'sourceURL') + ? (options.sourceURL + '').replace(/\s/g, ' ') + : ('lodash.templateSources[' + (++templateCounter) + ']') + ) + '\n'; + + string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { + interpolateValue || (interpolateValue = esTemplateValue); + + // Escape characters that can't be included in string literals. + source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); + + // Replace delimiters with snippets. + if (escapeValue) { + isEscaping = true; + source += "' +\n__e(" + escapeValue + ") +\n'"; + } + if (evaluateValue) { + isEvaluating = true; + source += "';\n" + evaluateValue + ";\n__p += '"; + } + if (interpolateValue) { + source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; + } + index = offset + match.length; + + // The JS engine embedded in Adobe products needs `match` returned in + // order to produce the correct `offset` value. + return match; + }); + + source += "';\n"; + + // If `variable` is not specified wrap a with-statement around the generated + // code to add the data object to the top of the scope chain. + var variable = hasOwnProperty.call(options, 'variable') && options.variable; + if (!variable) { + source = 'with (obj) {\n' + source + '\n}\n'; + } + // Throw an error if a forbidden character was found in `variable`, to prevent + // potential command injection attacks. + else if (reForbiddenIdentifierChars.test(variable)) { + throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); + } + + // Cleanup code by stripping empty strings. + source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) + .replace(reEmptyStringMiddle, '$1') + .replace(reEmptyStringTrailing, '$1;'); + + // Frame code as the function body. + source = 'function(' + (variable || 'obj') + ') {\n' + + (variable + ? '' + : 'obj || (obj = {});\n' + ) + + "var __t, __p = ''" + + (isEscaping + ? ', __e = _.escape' + : '' + ) + + (isEvaluating + ? ', __j = Array.prototype.join;\n' + + "function print() { __p += __j.call(arguments, '') }\n" + : ';\n' + ) + + source + + 'return __p\n}'; + + var result = attempt(function() { + return Function(importsKeys, sourceURL + 'return ' + source) + .apply(undefined, importsValues); + }); + + // Provide the compiled function's source by its `toString` method or + // the `source` property as a convenience for inlining compiled templates. + result.source = source; + if (isError(result)) { + throw result; + } + return result; + } + + /** + * Converts `string`, as a whole, to lower case just like + * [String#toLowerCase](https://mdn.io/toLowerCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.toLower('--Foo-Bar--'); + * // => '--foo-bar--' + * + * _.toLower('fooBar'); + * // => 'foobar' + * + * _.toLower('__FOO_BAR__'); + * // => '__foo_bar__' + */ + function toLower(value) { + return toString(value).toLowerCase(); + } + + /** + * Converts `string`, as a whole, to upper case just like + * [String#toUpperCase](https://mdn.io/toUpperCase). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.toUpper('--foo-bar--'); + * // => '--FOO-BAR--' + * + * _.toUpper('fooBar'); + * // => 'FOOBAR' + * + * _.toUpper('__foo_bar__'); + * // => '__FOO_BAR__' + */ + function toUpper(value) { + return toString(value).toUpperCase(); + } + + /** + * Removes leading and trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trim(' abc '); + * // => 'abc' + * + * _.trim('-_-abc-_-', '_-'); + * // => 'abc' + * + * _.map([' foo ', ' bar '], _.trim); + * // => ['foo', 'bar'] + */ + function trim(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return baseTrim(string); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + chrSymbols = stringToArray(chars), + start = charsStartIndex(strSymbols, chrSymbols), + end = charsEndIndex(strSymbols, chrSymbols) + 1; + + return castSlice(strSymbols, start, end).join(''); + } + + /** + * Removes trailing whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimEnd(' abc '); + * // => ' abc' + * + * _.trimEnd('-_-abc-_-', '_-'); + * // => '-_-abc' + */ + function trimEnd(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.slice(0, trimmedEndIndex(string) + 1); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; + + return castSlice(strSymbols, 0, end).join(''); + } + + /** + * Removes leading whitespace or specified characters from `string`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to trim. + * @param {string} [chars=whitespace] The characters to trim. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the trimmed string. + * @example + * + * _.trimStart(' abc '); + * // => 'abc ' + * + * _.trimStart('-_-abc-_-', '_-'); + * // => 'abc-_-' + */ + function trimStart(string, chars, guard) { + string = toString(string); + if (string && (guard || chars === undefined)) { + return string.replace(reTrimStart, ''); + } + if (!string || !(chars = baseToString(chars))) { + return string; + } + var strSymbols = stringToArray(string), + start = charsStartIndex(strSymbols, stringToArray(chars)); + + return castSlice(strSymbols, start).join(''); + } + + /** + * Truncates `string` if it's longer than the given maximum string length. + * The last characters of the truncated string are replaced with the omission + * string which defaults to "...". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to truncate. + * @param {Object} [options={}] The options object. + * @param {number} [options.length=30] The maximum string length. + * @param {string} [options.omission='...'] The string to indicate text is omitted. + * @param {RegExp|string} [options.separator] The separator pattern to truncate to. + * @returns {string} Returns the truncated string. + * @example + * + * _.truncate('hi-diddly-ho there, neighborino'); + * // => 'hi-diddly-ho there, neighbo...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': ' ' + * }); + * // => 'hi-diddly-ho there,...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'length': 24, + * 'separator': /,? +/ + * }); + * // => 'hi-diddly-ho there...' + * + * _.truncate('hi-diddly-ho there, neighborino', { + * 'omission': ' [...]' + * }); + * // => 'hi-diddly-ho there, neig [...]' + */ + function truncate(string, options) { + var length = DEFAULT_TRUNC_LENGTH, + omission = DEFAULT_TRUNC_OMISSION; + + if (isObject(options)) { + var separator = 'separator' in options ? options.separator : separator; + length = 'length' in options ? toInteger(options.length) : length; + omission = 'omission' in options ? baseToString(options.omission) : omission; + } + string = toString(string); + + var strLength = string.length; + if (hasUnicode(string)) { + var strSymbols = stringToArray(string); + strLength = strSymbols.length; + } + if (length >= strLength) { + return string; + } + var end = length - stringSize(omission); + if (end < 1) { + return omission; + } + var result = strSymbols + ? castSlice(strSymbols, 0, end).join('') + : string.slice(0, end); + + if (separator === undefined) { + return result + omission; + } + if (strSymbols) { + end += (result.length - end); + } + if (isRegExp(separator)) { + if (string.slice(end).search(separator)) { + var match, + substring = result; + + if (!separator.global) { + separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); + } + separator.lastIndex = 0; + while ((match = separator.exec(substring))) { + var newEnd = match.index; + } + result = result.slice(0, newEnd === undefined ? end : newEnd); + } + } else if (string.indexOf(baseToString(separator), end) != end) { + var index = result.lastIndexOf(separator); + if (index > -1) { + result = result.slice(0, index); + } + } + return result + omission; + } + + /** + * The inverse of `_.escape`; this method converts the HTML entities + * `&`, `<`, `>`, `"`, and `'` in `string` to + * their corresponding characters. + * + * **Note:** No other HTML entities are unescaped. To unescape additional + * HTML entities use a third-party library like [_he_](https://mths.be/he). + * + * @static + * @memberOf _ + * @since 0.6.0 + * @category String + * @param {string} [string=''] The string to unescape. + * @returns {string} Returns the unescaped string. + * @example + * + * _.unescape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function unescape(string) { + string = toString(string); + return (string && reHasEscapedHtml.test(string)) + ? string.replace(reEscapedHtml, unescapeHtmlChar) + : string; + } + + /** + * Converts `string`, as space separated words, to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the upper cased string. + * @example + * + * _.upperCase('--foo-bar'); + * // => 'FOO BAR' + * + * _.upperCase('fooBar'); + * // => 'FOO BAR' + * + * _.upperCase('__foo_bar__'); + * // => 'FOO BAR' + */ + var upperCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toUpperCase(); + }); + + /** + * Converts the first character of `string` to upper case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.upperFirst('fred'); + * // => 'Fred' + * + * _.upperFirst('FRED'); + * // => 'FRED' + */ + var upperFirst = createCaseFirst('toUpperCase'); + + /** + * Splits `string` into an array of its words. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {RegExp|string} [pattern] The pattern to match words. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the words of `string`. + * @example + * + * _.words('fred, barney, & pebbles'); + * // => ['fred', 'barney', 'pebbles'] + * + * _.words('fred, barney, & pebbles', /[^, ]+/g); + * // => ['fred', 'barney', '&', 'pebbles'] + */ + function words(string, pattern, guard) { + string = toString(string); + pattern = guard ? undefined : pattern; + + if (pattern === undefined) { + return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); + } + return string.match(pattern) || []; + } + + /*------------------------------------------------------------------------*/ + + /** + * Attempts to invoke `func`, returning either the result or the caught error + * object. Any additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Function} func The function to attempt. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {*} Returns the `func` result or error object. + * @example + * + * // Avoid throwing errors for invalid selectors. + * var elements = _.attempt(function(selector) { + * return document.querySelectorAll(selector); + * }, '>_>'); + * + * if (_.isError(elements)) { + * elements = []; + * } + */ + var attempt = baseRest(function(func, args) { + try { + return apply(func, undefined, args); + } catch (e) { + return isError(e) ? e : new Error(e); + } + }); + + /** + * Binds methods of an object to the object itself, overwriting the existing + * method. + * + * **Note:** This method doesn't set the "length" property of bound functions. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...(string|string[])} methodNames The object method names to bind. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'click': function() { + * console.log('clicked ' + this.label); + * } + * }; + * + * _.bindAll(view, ['click']); + * jQuery(element).on('click', view.click); + * // => Logs 'clicked docs' when clicked. + */ + var bindAll = flatRest(function(object, methodNames) { + arrayEach(methodNames, function(key) { + key = toKey(key); + baseAssignValue(object, key, bind(object[key], object)); + }); + return object; + }); + + /** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Array} pairs The predicate-function pairs. + * @returns {Function} Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ + function cond(pairs) { + var length = pairs == null ? 0 : pairs.length, + toIteratee = getIteratee(); + + pairs = !length ? [] : arrayMap(pairs, function(pair) { + if (typeof pair[1] != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return [toIteratee(pair[0]), pair[1]]; + }); + + return baseRest(function(args) { + var index = -1; + while (++index < length) { + var pair = pairs[index]; + if (apply(pair[0], this, args)) { + return apply(pair[1], this, args); + } + } + }); + } + + /** + * Creates a function that invokes the predicate properties of `source` with + * the corresponding property values of a given object, returning `true` if + * all predicates return truthy, else `false`. + * + * **Note:** The created function is equivalent to `_.conformsTo` with + * `source` partially applied. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 2, 'b': 1 }, + * { 'a': 1, 'b': 2 } + * ]; + * + * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); + * // => [{ 'a': 1, 'b': 2 }] + */ + function conforms(source) { + return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new constant function. + * @example + * + * var objects = _.times(2, _.constant({ 'a': 1 })); + * + * console.log(objects); + * // => [{ 'a': 1 }, { 'a': 1 }] + * + * console.log(objects[0] === objects[1]); + * // => true + */ + function constant(value) { + return function() { + return value; + }; + } + + /** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Util + * @param {*} value The value to check. + * @param {*} defaultValue The default value. + * @returns {*} Returns the resolved value. + * @example + * + * _.defaultTo(1, 10); + * // => 1 + * + * _.defaultTo(undefined, 10); + * // => 10 + */ + function defaultTo(value, defaultValue) { + return (value == null || value !== value) ? defaultValue : value; + } + + /** + * Creates a function that returns the result of invoking the given functions + * with the `this` binding of the created function, where each successive + * invocation is supplied the return value of the previous. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flowRight + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flow([_.add, square]); + * addSquare(1, 2); + * // => 9 + */ + var flow = createFlow(); + + /** + * This method is like `_.flow` except that it creates a function that + * invokes the given functions from right to left. + * + * @static + * @since 3.0.0 + * @memberOf _ + * @category Util + * @param {...(Function|Function[])} [funcs] The functions to invoke. + * @returns {Function} Returns the new composite function. + * @see _.flow + * @example + * + * function square(n) { + * return n * n; + * } + * + * var addSquare = _.flowRight([square, _.add]); + * addSquare(1, 2); + * // => 9 + */ + var flowRight = createFlow(true); + + /** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ + function identity(value) { + return value; + } + + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name, the created function returns the + * property value for a given element. If `func` is an array or object, the + * created function returns `true` for elements that contain the equivalent + * source properties, otherwise it returns `false`. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Util + * @param {*} [func=_.identity] The value to convert to a callback. + * @returns {Function} Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); + * // => [{ 'user': 'barney', 'age': 36, 'active': true }] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, _.iteratee(['user', 'fred'])); + * // => [{ 'user': 'fred', 'age': 40 }] + * + * // The `_.property` iteratee shorthand. + * _.map(users, _.iteratee('user')); + * // => ['barney', 'fred'] + * + * // Create custom iteratee shorthands. + * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { + * return !_.isRegExp(func) ? iteratee(func) : function(string) { + * return func.test(string); + * }; + * }); + * + * _.filter(['abc', 'def'], /ef/); + * // => ['def'] + */ + function iteratee(func) { + return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between a given + * object and `source`, returning `true` if the given object has equivalent + * property values, else `false`. + * + * **Note:** The created function is equivalent to `_.isMatch` with `source` + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); + * // => [{ 'a': 4, 'b': 5, 'c': 6 }] + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matches(source) { + return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that performs a partial deep comparison between the + * value at `path` of a given object to `srcValue`, returning `true` if the + * object value is equivalent, else `false`. + * + * **Note:** Partial comparisons will match empty array and empty object + * `srcValue` values against any array or object value, respectively. See + * `_.isEqual` for a list of supported value comparisons. + * + * **Note:** Multiple values can be checked by combining several matchers + * using `_.overSome` + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + * @example + * + * var objects = [ + * { 'a': 1, 'b': 2, 'c': 3 }, + * { 'a': 4, 'b': 5, 'c': 6 } + * ]; + * + * _.find(objects, _.matchesProperty('a', 4)); + * // => { 'a': 4, 'b': 5, 'c': 6 } + * + * // Checking for several possible values + * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); + * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] + */ + function matchesProperty(path, srcValue) { + return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); + } + + /** + * Creates a function that invokes the method at `path` of a given object. + * Any additional arguments are provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var objects = [ + * { 'a': { 'b': _.constant(2) } }, + * { 'a': { 'b': _.constant(1) } } + * ]; + * + * _.map(objects, _.method('a.b')); + * // => [2, 1] + * + * _.map(objects, _.method(['a', 'b'])); + * // => [2, 1] + */ + var method = baseRest(function(path, args) { + return function(object) { + return baseInvoke(object, path, args); + }; + }); + + /** + * The opposite of `_.method`; this method creates a function that invokes + * the method at a given path of `object`. Any additional arguments are + * provided to the invoked method. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Util + * @param {Object} object The object to query. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {Function} Returns the new invoker function. + * @example + * + * var array = _.times(3, _.constant), + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.methodOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); + * // => [2, 0] + */ + var methodOf = baseRest(function(object, args) { + return function(path) { + return baseInvoke(object, path, args); + }; + }); + + /** + * Adds all own enumerable string keyed function properties of a source + * object to the destination object. If `object` is a function, then methods + * are added to its prototype as well. + * + * **Note:** Use `_.runInContext` to create a pristine `lodash` function to + * avoid conflicts caused by modifying the original. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {Function|Object} [object=lodash] The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.chain=true] Specify whether mixins are chainable. + * @returns {Function|Object} Returns `object`. + * @example + * + * function vowels(string) { + * return _.filter(string, function(v) { + * return /[aeiou]/i.test(v); + * }); + * } + * + * _.mixin({ 'vowels': vowels }); + * _.vowels('fred'); + * // => ['e'] + * + * _('fred').vowels().value(); + * // => ['e'] + * + * _.mixin({ 'vowels': vowels }, { 'chain': false }); + * _('fred').vowels(); + * // => ['e'] + */ + function mixin(object, source, options) { + var props = keys(source), + methodNames = baseFunctions(source, props); + + if (options == null && + !(isObject(source) && (methodNames.length || !props.length))) { + options = source; + source = object; + object = this; + methodNames = baseFunctions(source, keys(source)); + } + var chain = !(isObject(options) && 'chain' in options) || !!options.chain, + isFunc = isFunction(object); + + arrayEach(methodNames, function(methodName) { + var func = source[methodName]; + object[methodName] = func; + if (isFunc) { + object.prototype[methodName] = function() { + var chainAll = this.__chain__; + if (chain || chainAll) { + var result = object(this.__wrapped__), + actions = result.__actions__ = copyArray(this.__actions__); + + actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); + result.__chain__ = chainAll; + return result; + } + return func.apply(object, arrayPush([this.value()], arguments)); + }; + } + }); + + return object; + } + + /** + * Reverts the `_` variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + if (root._ === this) { + root._ = oldDash; + } + return this; + } + + /** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ + function noop() { + // No operation performed. + } + + /** + * Creates a function that gets the argument at index `n`. If `n` is negative, + * the nth argument from the end is returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [n=0] The index of the argument to return. + * @returns {Function} Returns the new pass-thru function. + * @example + * + * var func = _.nthArg(1); + * func('a', 'b', 'c', 'd'); + * // => 'b' + * + * var func = _.nthArg(-2); + * func('a', 'b', 'c', 'd'); + * // => 'c' + */ + function nthArg(n) { + n = toInteger(n); + return baseRest(function(args) { + return baseNth(args, n); + }); + } + + /** + * Creates a function that invokes `iteratees` with the arguments it receives + * and returns their results. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to invoke. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.over([Math.max, Math.min]); + * + * func(1, 2, 3, 4); + * // => [4, 1] + */ + var over = createOver(arrayMap); + + /** + * Creates a function that checks if **all** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overEvery([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => false + * + * func(NaN); + * // => false + */ + var overEvery = createOver(arrayEvery); + + /** + * Creates a function that checks if **any** of the `predicates` return + * truthy when invoked with the arguments it receives. + * + * Following shorthands are possible for providing predicates. + * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. + * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {...(Function|Function[])} [predicates=[_.identity]] + * The predicates to check. + * @returns {Function} Returns the new function. + * @example + * + * var func = _.overSome([Boolean, isFinite]); + * + * func('1'); + * // => true + * + * func(null); + * // => true + * + * func(NaN); + * // => false + * + * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) + * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) + */ + var overSome = createOver(arraySome); + + /** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ + function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); + } + + /** + * The opposite of `_.property`; this method creates a function that returns + * the value at a given path of `object`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Util + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + * @example + * + * var array = [0, 1, 2], + * object = { 'a': array, 'b': array, 'c': array }; + * + * _.map(['a[2]', 'c[0]'], _.propertyOf(object)); + * // => [2, 0] + * + * _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); + * // => [2, 0] + */ + function propertyOf(object) { + return function(path) { + return object == null ? undefined : baseGet(object, path); + }; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to, but not including, `end`. A step of `-1` is used if a negative + * `start` is specified without an `end` or `step`. If `end` is not specified, + * it's set to `start` with `start` then set to `0`. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.rangeRight + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(-4); + * // => [0, -1, -2, -3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ + var range = createRange(); + + /** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns the range of numbers. + * @see _.inRange, _.range + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ + var rangeRight = createRange(true); + + /** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ + function stubArray() { + return []; + } + + /** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ + function stubFalse() { + return false; + } + + /** + * This method returns a new empty object. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Object} Returns the new empty object. + * @example + * + * var objects = _.times(2, _.stubObject); + * + * console.log(objects); + * // => [{}, {}] + * + * console.log(objects[0] === objects[1]); + * // => false + */ + function stubObject() { + return {}; + } + + /** + * This method returns an empty string. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {string} Returns the empty string. + * @example + * + * _.times(2, _.stubString); + * // => ['', ''] + */ + function stubString() { + return ''; + } + + /** + * This method returns `true`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `true`. + * @example + * + * _.times(2, _.stubTrue); + * // => [true, true] + */ + function stubTrue() { + return true; + } + + /** + * Invokes the iteratee `n` times, returning an array of the results of + * each invocation. The iteratee is invoked with one argument; (index). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of results. + * @example + * + * _.times(3, String); + * // => ['0', '1', '2'] + * + * _.times(4, _.constant(0)); + * // => [0, 0, 0, 0] + */ + function times(n, iteratee) { + n = toInteger(n); + if (n < 1 || n > MAX_SAFE_INTEGER) { + return []; + } + var index = MAX_ARRAY_LENGTH, + length = nativeMin(n, MAX_ARRAY_LENGTH); + + iteratee = getIteratee(iteratee); + n -= MAX_ARRAY_LENGTH; + + var result = baseTimes(length, iteratee); + while (++index < n) { + iteratee(index); + } + return result; + } + + /** + * Converts `value` to a property path array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Util + * @param {*} value The value to convert. + * @returns {Array} Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + */ + function toPath(value) { + if (isArray(value)) { + return arrayMap(value, toKey); + } + return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); + } + + /** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ + function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; + } + + /*------------------------------------------------------------------------*/ + + /** + * Adds two numbers. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {number} augend The first number in an addition. + * @param {number} addend The second number in an addition. + * @returns {number} Returns the total. + * @example + * + * _.add(6, 4); + * // => 10 + */ + var add = createMathOperation(function(augend, addend) { + return augend + addend; + }, 0); + + /** + * Computes `number` rounded up to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round up. + * @param {number} [precision=0] The precision to round up to. + * @returns {number} Returns the rounded up number. + * @example + * + * _.ceil(4.006); + * // => 5 + * + * _.ceil(6.004, 2); + * // => 6.01 + * + * _.ceil(6040, -2); + * // => 6100 + */ + var ceil = createRound('ceil'); + + /** + * Divide two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} dividend The first number in a division. + * @param {number} divisor The second number in a division. + * @returns {number} Returns the quotient. + * @example + * + * _.divide(6, 4); + * // => 1.5 + */ + var divide = createMathOperation(function(dividend, divisor) { + return dividend / divisor; + }, 1); + + /** + * Computes `number` rounded down to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round down. + * @param {number} [precision=0] The precision to round down to. + * @returns {number} Returns the rounded down number. + * @example + * + * _.floor(4.006); + * // => 4 + * + * _.floor(0.046, 2); + * // => 0.04 + * + * _.floor(4060, -2); + * // => 4000 + */ + var floor = createRound('floor'); + + /** + * Computes the maximum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * _.max([]); + * // => undefined + */ + function max(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseGt) + : undefined; + } + + /** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.n; }); + * // => { 'n': 2 } + * + * // The `_.property` iteratee shorthand. + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ + function maxBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) + : undefined; + } + + /** + * Computes the mean of the values in `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ + function mean(array) { + return baseMean(array, identity); + } + + /** + * This method is like `_.mean` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be averaged. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the mean. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.meanBy(objects, function(o) { return o.n; }); + * // => 5 + * + * // The `_.property` iteratee shorthand. + * _.meanBy(objects, 'n'); + * // => 5 + */ + function meanBy(array, iteratee) { + return baseMean(array, getIteratee(iteratee, 2)); + } + + /** + * Computes the minimum value of `array`. If `array` is empty or falsey, + * `undefined` is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Math + * @param {Array} array The array to iterate over. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * _.min([]); + * // => undefined + */ + function min(array) { + return (array && array.length) + ? baseExtremum(array, identity, baseLt) + : undefined; + } + + /** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {*} Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.n; }); + * // => { 'n': 1 } + * + * // The `_.property` iteratee shorthand. + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ + function minBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) + : undefined; + } + + /** + * Multiply two numbers. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Math + * @param {number} multiplier The first number in a multiplication. + * @param {number} multiplicand The second number in a multiplication. + * @returns {number} Returns the product. + * @example + * + * _.multiply(6, 4); + * // => 24 + */ + var multiply = createMathOperation(function(multiplier, multiplicand) { + return multiplier * multiplicand; + }, 1); + + /** + * Computes `number` rounded to `precision`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Math + * @param {number} number The number to round. + * @param {number} [precision=0] The precision to round to. + * @returns {number} Returns the rounded number. + * @example + * + * _.round(4.006); + * // => 4 + * + * _.round(4.006, 2); + * // => 4.01 + * + * _.round(4060, -2); + * // => 4100 + */ + var round = createRound('round'); + + /** + * Subtract two numbers. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {number} minuend The first number in a subtraction. + * @param {number} subtrahend The second number in a subtraction. + * @returns {number} Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ + var subtract = createMathOperation(function(minuend, subtrahend) { + return minuend - subtrahend; + }, 0); + + /** + * Computes the sum of the values in `array`. + * + * @static + * @memberOf _ + * @since 3.4.0 + * @category Math + * @param {Array} array The array to iterate over. + * @returns {number} Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ + function sum(array) { + return (array && array.length) + ? baseSum(array, identity) + : 0; + } + + /** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // The `_.property` iteratee shorthand. + * _.sumBy(objects, 'n'); + * // => 20 + */ + function sumBy(array, iteratee) { + return (array && array.length) + ? baseSum(array, getIteratee(iteratee, 2)) + : 0; + } + + /*------------------------------------------------------------------------*/ + + // Add methods that return wrapped values in chain sequences. + lodash.after = after; + lodash.ary = ary; + lodash.assign = assign; + lodash.assignIn = assignIn; + lodash.assignInWith = assignInWith; + lodash.assignWith = assignWith; + lodash.at = at; + lodash.before = before; + lodash.bind = bind; + lodash.bindAll = bindAll; + lodash.bindKey = bindKey; + lodash.castArray = castArray; + lodash.chain = chain; + lodash.chunk = chunk; + lodash.compact = compact; + lodash.concat = concat; + lodash.cond = cond; + lodash.conforms = conforms; + lodash.constant = constant; + lodash.countBy = countBy; + lodash.create = create; + lodash.curry = curry; + lodash.curryRight = curryRight; + lodash.debounce = debounce; + lodash.defaults = defaults; + lodash.defaultsDeep = defaultsDeep; + lodash.defer = defer; + lodash.delay = delay; + lodash.difference = difference; + lodash.differenceBy = differenceBy; + lodash.differenceWith = differenceWith; + lodash.drop = drop; + lodash.dropRight = dropRight; + lodash.dropRightWhile = dropRightWhile; + lodash.dropWhile = dropWhile; + lodash.fill = fill; + lodash.filter = filter; + lodash.flatMap = flatMap; + lodash.flatMapDeep = flatMapDeep; + lodash.flatMapDepth = flatMapDepth; + lodash.flatten = flatten; + lodash.flattenDeep = flattenDeep; + lodash.flattenDepth = flattenDepth; + lodash.flip = flip; + lodash.flow = flow; + lodash.flowRight = flowRight; + lodash.fromPairs = fromPairs; + lodash.functions = functions; + lodash.functionsIn = functionsIn; + lodash.groupBy = groupBy; + lodash.initial = initial; + lodash.intersection = intersection; + lodash.intersectionBy = intersectionBy; + lodash.intersectionWith = intersectionWith; + lodash.invert = invert; + lodash.invertBy = invertBy; + lodash.invokeMap = invokeMap; + lodash.iteratee = iteratee; + lodash.keyBy = keyBy; + lodash.keys = keys; + lodash.keysIn = keysIn; + lodash.map = map; + lodash.mapKeys = mapKeys; + lodash.mapValues = mapValues; + lodash.matches = matches; + lodash.matchesProperty = matchesProperty; + lodash.memoize = memoize; + lodash.merge = merge; + lodash.mergeWith = mergeWith; + lodash.method = method; + lodash.methodOf = methodOf; + lodash.mixin = mixin; + lodash.negate = negate; + lodash.nthArg = nthArg; + lodash.omit = omit; + lodash.omitBy = omitBy; + lodash.once = once; + lodash.orderBy = orderBy; + lodash.over = over; + lodash.overArgs = overArgs; + lodash.overEvery = overEvery; + lodash.overSome = overSome; + lodash.partial = partial; + lodash.partialRight = partialRight; + lodash.partition = partition; + lodash.pick = pick; + lodash.pickBy = pickBy; + lodash.property = property; + lodash.propertyOf = propertyOf; + lodash.pull = pull; + lodash.pullAll = pullAll; + lodash.pullAllBy = pullAllBy; + lodash.pullAllWith = pullAllWith; + lodash.pullAt = pullAt; + lodash.range = range; + lodash.rangeRight = rangeRight; + lodash.rearg = rearg; + lodash.reject = reject; + lodash.remove = remove; + lodash.rest = rest; + lodash.reverse = reverse; + lodash.sampleSize = sampleSize; + lodash.set = set; + lodash.setWith = setWith; + lodash.shuffle = shuffle; + lodash.slice = slice; + lodash.sortBy = sortBy; + lodash.sortedUniq = sortedUniq; + lodash.sortedUniqBy = sortedUniqBy; + lodash.split = split; + lodash.spread = spread; + lodash.tail = tail; + lodash.take = take; + lodash.takeRight = takeRight; + lodash.takeRightWhile = takeRightWhile; + lodash.takeWhile = takeWhile; + lodash.tap = tap; + lodash.throttle = throttle; + lodash.thru = thru; + lodash.toArray = toArray; + lodash.toPairs = toPairs; + lodash.toPairsIn = toPairsIn; + lodash.toPath = toPath; + lodash.toPlainObject = toPlainObject; + lodash.transform = transform; + lodash.unary = unary; + lodash.union = union; + lodash.unionBy = unionBy; + lodash.unionWith = unionWith; + lodash.uniq = uniq; + lodash.uniqBy = uniqBy; + lodash.uniqWith = uniqWith; + lodash.unset = unset; + lodash.unzip = unzip; + lodash.unzipWith = unzipWith; + lodash.update = update; + lodash.updateWith = updateWith; + lodash.values = values; + lodash.valuesIn = valuesIn; + lodash.without = without; + lodash.words = words; + lodash.wrap = wrap; + lodash.xor = xor; + lodash.xorBy = xorBy; + lodash.xorWith = xorWith; + lodash.zip = zip; + lodash.zipObject = zipObject; + lodash.zipObjectDeep = zipObjectDeep; + lodash.zipWith = zipWith; + + // Add aliases. + lodash.entries = toPairs; + lodash.entriesIn = toPairsIn; + lodash.extend = assignIn; + lodash.extendWith = assignInWith; + + // Add methods to `lodash.prototype`. + mixin(lodash, lodash); + + /*------------------------------------------------------------------------*/ + + // Add methods that return unwrapped values in chain sequences. + lodash.add = add; + lodash.attempt = attempt; + lodash.camelCase = camelCase; + lodash.capitalize = capitalize; + lodash.ceil = ceil; + lodash.clamp = clamp; + lodash.clone = clone; + lodash.cloneDeep = cloneDeep; + lodash.cloneDeepWith = cloneDeepWith; + lodash.cloneWith = cloneWith; + lodash.conformsTo = conformsTo; + lodash.deburr = deburr; + lodash.defaultTo = defaultTo; + lodash.divide = divide; + lodash.endsWith = endsWith; + lodash.eq = eq; + lodash.escape = escape; + lodash.escapeRegExp = escapeRegExp; + lodash.every = every; + lodash.find = find; + lodash.findIndex = findIndex; + lodash.findKey = findKey; + lodash.findLast = findLast; + lodash.findLastIndex = findLastIndex; + lodash.findLastKey = findLastKey; + lodash.floor = floor; + lodash.forEach = forEach; + lodash.forEachRight = forEachRight; + lodash.forIn = forIn; + lodash.forInRight = forInRight; + lodash.forOwn = forOwn; + lodash.forOwnRight = forOwnRight; + lodash.get = get; + lodash.gt = gt; + lodash.gte = gte; + lodash.has = has; + lodash.hasIn = hasIn; + lodash.head = head; + lodash.identity = identity; + lodash.includes = includes; + lodash.indexOf = indexOf; + lodash.inRange = inRange; + lodash.invoke = invoke; + lodash.isArguments = isArguments; + lodash.isArray = isArray; + lodash.isArrayBuffer = isArrayBuffer; + lodash.isArrayLike = isArrayLike; + lodash.isArrayLikeObject = isArrayLikeObject; + lodash.isBoolean = isBoolean; + lodash.isBuffer = isBuffer; + lodash.isDate = isDate; + lodash.isElement = isElement; + lodash.isEmpty = isEmpty; + lodash.isEqual = isEqual; + lodash.isEqualWith = isEqualWith; + lodash.isError = isError; + lodash.isFinite = isFinite; + lodash.isFunction = isFunction; + lodash.isInteger = isInteger; + lodash.isLength = isLength; + lodash.isMap = isMap; + lodash.isMatch = isMatch; + lodash.isMatchWith = isMatchWith; + lodash.isNaN = isNaN; + lodash.isNative = isNative; + lodash.isNil = isNil; + lodash.isNull = isNull; + lodash.isNumber = isNumber; + lodash.isObject = isObject; + lodash.isObjectLike = isObjectLike; + lodash.isPlainObject = isPlainObject; + lodash.isRegExp = isRegExp; + lodash.isSafeInteger = isSafeInteger; + lodash.isSet = isSet; + lodash.isString = isString; + lodash.isSymbol = isSymbol; + lodash.isTypedArray = isTypedArray; + lodash.isUndefined = isUndefined; + lodash.isWeakMap = isWeakMap; + lodash.isWeakSet = isWeakSet; + lodash.join = join; + lodash.kebabCase = kebabCase; + lodash.last = last; + lodash.lastIndexOf = lastIndexOf; + lodash.lowerCase = lowerCase; + lodash.lowerFirst = lowerFirst; + lodash.lt = lt; + lodash.lte = lte; + lodash.max = max; + lodash.maxBy = maxBy; + lodash.mean = mean; + lodash.meanBy = meanBy; + lodash.min = min; + lodash.minBy = minBy; + lodash.stubArray = stubArray; + lodash.stubFalse = stubFalse; + lodash.stubObject = stubObject; + lodash.stubString = stubString; + lodash.stubTrue = stubTrue; + lodash.multiply = multiply; + lodash.nth = nth; + lodash.noConflict = noConflict; + lodash.noop = noop; + lodash.now = now; + lodash.pad = pad; + lodash.padEnd = padEnd; + lodash.padStart = padStart; + lodash.parseInt = parseInt; + lodash.random = random; + lodash.reduce = reduce; + lodash.reduceRight = reduceRight; + lodash.repeat = repeat; + lodash.replace = replace; + lodash.result = result; + lodash.round = round; + lodash.runInContext = runInContext; + lodash.sample = sample; + lodash.size = size; + lodash.snakeCase = snakeCase; + lodash.some = some; + lodash.sortedIndex = sortedIndex; + lodash.sortedIndexBy = sortedIndexBy; + lodash.sortedIndexOf = sortedIndexOf; + lodash.sortedLastIndex = sortedLastIndex; + lodash.sortedLastIndexBy = sortedLastIndexBy; + lodash.sortedLastIndexOf = sortedLastIndexOf; + lodash.startCase = startCase; + lodash.startsWith = startsWith; + lodash.subtract = subtract; + lodash.sum = sum; + lodash.sumBy = sumBy; + lodash.template = template; + lodash.times = times; + lodash.toFinite = toFinite; + lodash.toInteger = toInteger; + lodash.toLength = toLength; + lodash.toLower = toLower; + lodash.toNumber = toNumber; + lodash.toSafeInteger = toSafeInteger; + lodash.toString = toString; + lodash.toUpper = toUpper; + lodash.trim = trim; + lodash.trimEnd = trimEnd; + lodash.trimStart = trimStart; + lodash.truncate = truncate; + lodash.unescape = unescape; + lodash.uniqueId = uniqueId; + lodash.upperCase = upperCase; + lodash.upperFirst = upperFirst; + + // Add aliases. + lodash.each = forEach; + lodash.eachRight = forEachRight; + lodash.first = head; + + mixin(lodash, (function() { + var source = {}; + baseForOwn(lodash, function(func, methodName) { + if (!hasOwnProperty.call(lodash.prototype, methodName)) { + source[methodName] = func; + } + }); + return source; + }()), { 'chain': false }); + + /*------------------------------------------------------------------------*/ + + /** + * The semantic version number. + * + * @static + * @memberOf _ + * @type {string} + */ + lodash.VERSION = VERSION; + + // Assign default placeholders. + arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) { + lodash[methodName].placeholder = lodash; + }); + + // Add `LazyWrapper` methods for `_.drop` and `_.take` variants. + arrayEach(['drop', 'take'], function(methodName, index) { + LazyWrapper.prototype[methodName] = function(n) { + n = n === undefined ? 1 : nativeMax(toInteger(n), 0); + + var result = (this.__filtered__ && !index) + ? new LazyWrapper(this) + : this.clone(); + + if (result.__filtered__) { + result.__takeCount__ = nativeMin(n, result.__takeCount__); + } else { + result.__views__.push({ + 'size': nativeMin(n, MAX_ARRAY_LENGTH), + 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') + }); + } + return result; + }; + + LazyWrapper.prototype[methodName + 'Right'] = function(n) { + return this.reverse()[methodName](n).reverse(); + }; + }); + + // Add `LazyWrapper` methods that accept an `iteratee` value. + arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) { + var type = index + 1, + isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; + + LazyWrapper.prototype[methodName] = function(iteratee) { + var result = this.clone(); + result.__iteratees__.push({ + 'iteratee': getIteratee(iteratee, 3), + 'type': type + }); + result.__filtered__ = result.__filtered__ || isFilter; + return result; + }; + }); + + // Add `LazyWrapper` methods for `_.head` and `_.last`. + arrayEach(['head', 'last'], function(methodName, index) { + var takeName = 'take' + (index ? 'Right' : ''); + + LazyWrapper.prototype[methodName] = function() { + return this[takeName](1).value()[0]; + }; + }); + + // Add `LazyWrapper` methods for `_.initial` and `_.tail`. + arrayEach(['initial', 'tail'], function(methodName, index) { + var dropName = 'drop' + (index ? '' : 'Right'); + + LazyWrapper.prototype[methodName] = function() { + return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); + }; + }); + + LazyWrapper.prototype.compact = function() { + return this.filter(identity); + }; + + LazyWrapper.prototype.find = function(predicate) { + return this.filter(predicate).head(); + }; + + LazyWrapper.prototype.findLast = function(predicate) { + return this.reverse().find(predicate); + }; + + LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { + if (typeof path == 'function') { + return new LazyWrapper(this); + } + return this.map(function(value) { + return baseInvoke(value, path, args); + }); + }); + + LazyWrapper.prototype.reject = function(predicate) { + return this.filter(negate(getIteratee(predicate))); + }; + + LazyWrapper.prototype.slice = function(start, end) { + start = toInteger(start); + + var result = this; + if (result.__filtered__ && (start > 0 || end < 0)) { + return new LazyWrapper(result); + } + if (start < 0) { + result = result.takeRight(-start); + } else if (start) { + result = result.drop(start); + } + if (end !== undefined) { + end = toInteger(end); + result = end < 0 ? result.dropRight(-end) : result.take(end - start); + } + return result; + }; + + LazyWrapper.prototype.takeRightWhile = function(predicate) { + return this.reverse().takeWhile(predicate).reverse(); + }; + + LazyWrapper.prototype.toArray = function() { + return this.take(MAX_ARRAY_LENGTH); + }; + + // Add `LazyWrapper` methods to `lodash.prototype`. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), + isTaker = /^(?:head|last)$/.test(methodName), + lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], + retUnwrapped = isTaker || /^find/.test(methodName); + + if (!lodashFunc) { + return; + } + lodash.prototype[methodName] = function() { + var value = this.__wrapped__, + args = isTaker ? [1] : arguments, + isLazy = value instanceof LazyWrapper, + iteratee = args[0], + useLazy = isLazy || isArray(value); + + var interceptor = function(value) { + var result = lodashFunc.apply(lodash, arrayPush([value], args)); + return (isTaker && chainAll) ? result[0] : result; + }; + + if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { + // Avoid lazy use if the iteratee has a "length" value other than `1`. + isLazy = useLazy = false; + } + var chainAll = this.__chain__, + isHybrid = !!this.__actions__.length, + isUnwrapped = retUnwrapped && !chainAll, + onlyLazy = isLazy && !isHybrid; + + if (!retUnwrapped && useLazy) { + value = onlyLazy ? value : new LazyWrapper(this); + var result = func.apply(value, args); + result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); + return new LodashWrapper(result, chainAll); + } + if (isUnwrapped && onlyLazy) { + return func.apply(this, args); + } + result = this.thru(interceptor); + return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; + }; + }); + + // Add `Array` methods to `lodash.prototype`. + arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { + var func = arrayProto[methodName], + chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', + retUnwrapped = /^(?:pop|shift)$/.test(methodName); + + lodash.prototype[methodName] = function() { + var args = arguments; + if (retUnwrapped && !this.__chain__) { + var value = this.value(); + return func.apply(isArray(value) ? value : [], args); + } + return this[chainName](function(value) { + return func.apply(isArray(value) ? value : [], args); + }); + }; + }); + + // Map minified method names to their real names. + baseForOwn(LazyWrapper.prototype, function(func, methodName) { + var lodashFunc = lodash[methodName]; + if (lodashFunc) { + var key = lodashFunc.name + ''; + if (!hasOwnProperty.call(realNames, key)) { + realNames[key] = []; + } + realNames[key].push({ 'name': methodName, 'func': lodashFunc }); + } + }); + + realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ + 'name': 'wrapper', + 'func': undefined + }]; + + // Add methods to `LazyWrapper`. + LazyWrapper.prototype.clone = lazyClone; + LazyWrapper.prototype.reverse = lazyReverse; + LazyWrapper.prototype.value = lazyValue; + + // Add chain sequence methods to the `lodash` wrapper. + lodash.prototype.at = wrapperAt; + lodash.prototype.chain = wrapperChain; + lodash.prototype.commit = wrapperCommit; + lodash.prototype.next = wrapperNext; + lodash.prototype.plant = wrapperPlant; + lodash.prototype.reverse = wrapperReverse; + lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; + + // Add lazy aliases. + lodash.prototype.first = lodash.prototype.head; + + if (symIterator) { + lodash.prototype[symIterator] = wrapperToIterator; + } + return lodash; + }); + + /*--------------------------------------------------------------------------*/ + + // Export lodash. + var _ = runInContext(); + + // Some AMD build optimizers, like r.js, check for condition patterns like: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Expose Lodash on the global object to prevent errors when Lodash is + // loaded by a script tag in the presence of an AMD loader. + // See http://requirejs.org/docs/errors.html#mismatch for more details. + // Use `_.noConflict` to remove Lodash from the global object. + root._ = _; + + // Define as an anonymous module so, through path mapping, it can be + // referenced as the "underscore" module. + define(function() { + return _; + }); + } + // Check for `exports` after `define` in case a build optimizer adds it. + else if (freeModule) { + // Export for Node.js. + (freeModule.exports = _)._ = _; + // Export for CommonJS support. + freeExports._ = _; + } + else { + // Export to the global object. + root._ = _; + } +}.call(this)); diff --git a/PAMapp/local_modules/element-ui/src/utils/menu/aria-menubar.js b/PAMapp/local_modules/element-ui/src/utils/menu/aria-menubar.js new file mode 100644 index 0000000..a5edc50 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/menu/aria-menubar.js @@ -0,0 +1,14 @@ +import MenuItem from './aria-menuitem'; + +const Menu = function(domNode) { + this.domNode = domNode; + this.init(); +}; + +Menu.prototype.init = function() { + let menuChildren = this.domNode.childNodes; + [].filter.call(menuChildren, child => child.nodeType === 1).forEach(child => { + new MenuItem(child); // eslint-disable-line + }); +}; +export default Menu; diff --git a/PAMapp/local_modules/element-ui/src/utils/menu/aria-menuitem.js b/PAMapp/local_modules/element-ui/src/utils/menu/aria-menuitem.js new file mode 100644 index 0000000..3431ac0 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/menu/aria-menuitem.js @@ -0,0 +1,49 @@ +import Utils from '../aria-utils'; +import SubMenu from './aria-submenu'; + +const MenuItem = function(domNode) { + this.domNode = domNode; + this.submenu = null; + this.init(); +}; + +MenuItem.prototype.init = function() { + this.domNode.setAttribute('tabindex', '0'); + let menuChild = this.domNode.querySelector('.el-menu'); + if (menuChild) { + this.submenu = new SubMenu(this, menuChild); + } + this.addListeners(); +}; + +MenuItem.prototype.addListeners = function() { + const keys = Utils.keys; + this.domNode.addEventListener('keydown', event => { + let prevDef = false; + switch (event.keyCode) { + case keys.down: + Utils.triggerEvent(event.currentTarget, 'mouseenter'); + this.submenu && this.submenu.gotoSubIndex(0); + prevDef = true; + break; + case keys.up: + Utils.triggerEvent(event.currentTarget, 'mouseenter'); + this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1); + prevDef = true; + break; + case keys.tab: + Utils.triggerEvent(event.currentTarget, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + } + }); +}; + +export default MenuItem; diff --git a/PAMapp/local_modules/element-ui/src/utils/menu/aria-submenu.js b/PAMapp/local_modules/element-ui/src/utils/menu/aria-submenu.js new file mode 100644 index 0000000..06a77bb --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/menu/aria-submenu.js @@ -0,0 +1,59 @@ +import Utils from '../aria-utils'; + +const SubMenu = function(parent, domNode) { + this.domNode = domNode; + this.parent = parent; + this.subMenuItems = []; + this.subIndex = 0; + this.init(); +}; + +SubMenu.prototype.init = function() { + this.subMenuItems = this.domNode.querySelectorAll('li'); + this.addListeners(); +}; + +SubMenu.prototype.gotoSubIndex = function(idx) { + if (idx === this.subMenuItems.length) { + idx = 0; + } else if (idx < 0) { + idx = this.subMenuItems.length - 1; + } + this.subMenuItems[idx].focus(); + this.subIndex = idx; +}; + +SubMenu.prototype.addListeners = function() { + const keys = Utils.keys; + const parentNode = this.parent.domNode; + Array.prototype.forEach.call(this.subMenuItems, el => { + el.addEventListener('keydown', event => { + let prevDef = false; + switch (event.keyCode) { + case keys.down: + this.gotoSubIndex(this.subIndex + 1); + prevDef = true; + break; + case keys.up: + this.gotoSubIndex(this.subIndex - 1); + prevDef = true; + break; + case keys.tab: + Utils.triggerEvent(parentNode, 'mouseleave'); + break; + case keys.enter: + case keys.space: + prevDef = true; + event.currentTarget.click(); + break; + } + if (prevDef) { + event.preventDefault(); + event.stopPropagation(); + } + return false; + }); + }); +}; + +export default SubMenu; diff --git a/PAMapp/local_modules/element-ui/src/utils/merge.js b/PAMapp/local_modules/element-ui/src/utils/merge.js new file mode 100644 index 0000000..4ad7f91 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/merge.js @@ -0,0 +1,15 @@ +export default function(target) { + for (let i = 1, j = arguments.length; i < j; i++) { + let source = arguments[i] || {}; + for (let prop in source) { + if (source.hasOwnProperty(prop)) { + let value = source[prop]; + if (value !== undefined) { + target[prop] = value; + } + } + } + } + + return target; +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/popper.js b/PAMapp/local_modules/element-ui/src/utils/popper.js new file mode 100644 index 0000000..cb3b6d9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/popper.js @@ -0,0 +1,1276 @@ +/** + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version {{version}} + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +// +// Cross module loader +// Supported: Node, AMD, Browser globals +// +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof module === 'object' && module.exports) { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.Popper = factory(); + } +}(this, function () { + + 'use strict'; + + var root = window; + + // default options + var DEFAULTS = { + // placement of the popper + placement: 'bottom', + + gpuAcceleration: true, + + // shift popper from its origin by the given amount of pixels (can be negative) + offset: 0, + + // the element which will act as boundary of the popper + boundariesElement: 'viewport', + + // amount of pixel used to define a minimum distance between the boundaries and the popper + boundariesPadding: 5, + + // popper will try to prevent overflow following this order, + // by default, then, it could overflow on the left and on top of the boundariesElement + preventOverflowOrder: ['left', 'right', 'top', 'bottom'], + + // the behavior used by flip to change the placement of the popper + flipBehavior: 'flip', + + arrowElement: '[x-arrow]', + + arrowOffset: 0, + + // list of functions used to modify the offsets before they are applied to the popper + modifiers: [ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'], + + modifiersIgnored: [], + + forceAbsolute: false + }; + + /** + * Create a new Popper.js instance + * @constructor Popper + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement|Object} popper + * The HTML element used as popper, or a configuration used to generate the popper. + * @param {String} [popper.tagName='div'] The tag name of the generated popper. + * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper. + * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it. + * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string. + * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`. + * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is. + * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element. + * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element. + * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element. + * @param {Object} options + * @param {String} [options.placement=bottom] + * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right), + * left(-start, -end)` + * + * @param {HTMLElement|String} [options.arrowElement='[x-arrow]'] + * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of + * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its + * reference element. + * By default, it will look for a child node of the popper with the `x-arrow` attribute. + * + * @param {Boolean} [options.gpuAcceleration=true] + * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the + * browser to use the GPU to accelerate the rendering. + * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU. + * + * @param {Number} [options.offset=0] + * Amount of pixels the popper will be shifted (can be negative). + * + * @param {String|Element} [options.boundariesElement='viewport'] + * The element which will define the boundaries of the popper position, the popper will never be placed outside + * of the defined boundaries (except if `keepTogether` is enabled) + * + * @param {Number} [options.boundariesPadding=5] + * Additional padding for the boundaries + * + * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']] + * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order, + * this means that the last ones will never overflow + * + * @param {String|Array} [options.flipBehavior='flip'] + * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to + * overlap its reference element. Defining `flip` as value, the placement will be flipped on + * its axis (`right - left`, `top - bottom`). + * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify + * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left, + * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top) + * + * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']] + * List of functions used to modify the data before they are applied to the popper, add your custom functions + * to this array to edit the offsets and placement. + * The function should reflect the @params and @returns of preventOverflow + * + * @param {Array} [options.modifiersIgnored=[]] + * Put here any built-in modifier name you want to exclude from the modifiers list + * The function should reflect the @params and @returns of preventOverflow + * + * @param {Boolean} [options.removeOnDestroy=false] + * Set to true if you want to automatically remove the popper when you call the `destroy` method. + */ + function Popper(reference, popper, options) { + this._reference = reference.jquery ? reference[0] : reference; + this.state = {}; + + // if the popper variable is a configuration object, parse it to generate an HTMLElement + // generate a default popper if is not defined + var isNotDefined = typeof popper === 'undefined' || popper === null; + var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]'; + if (isNotDefined || isConfig) { + this._popper = this.parse(isConfig ? popper : {}); + } + // otherwise, use the given HTMLElement as popper + else { + this._popper = popper.jquery ? popper[0] : popper; + } + + // with {} we create a new object with the options inside it + this._options = Object.assign({}, DEFAULTS, options); + + // refactoring modifiers' list + this._options.modifiers = this._options.modifiers.map(function(modifier){ + // remove ignored modifiers + if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return; + + // set the x-placement attribute before everything else because it could be used to add margins to the popper + // margins needs to be calculated to get the correct popper offsets + if (modifier === 'applyStyle') { + this._popper.setAttribute('x-placement', this._options.placement); + } + + // return predefined modifier identified by string or keep the custom one + return this.modifiers[modifier] || modifier; + }.bind(this)); + + // make sure to apply the popper position before any computation + this.state.position = this._getPosition(this._popper, this._reference); + setStyle(this._popper, { position: this.state.position, top: 0 }); + + // fire the first update to position the popper in the right place + this.update(); + + // setup event listeners, they will take care of update the position in specific situations + this._setupEventListeners(); + return this; + } + + + // + // Methods + // + /** + * Destroy the popper + * @method + * @memberof Popper + */ + Popper.prototype.destroy = function() { + this._popper.removeAttribute('x-placement'); + this._popper.style.left = ''; + this._popper.style.position = ''; + this._popper.style.top = ''; + this._popper.style[getSupportedPropertyName('transform')] = ''; + this._removeEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + if (this._options.removeOnDestroy) { + this._popper.remove(); + } + return this; + }; + + /** + * Updates the position of the popper, computing the new offsets and applying the new style + * @method + * @memberof Popper + */ + Popper.prototype.update = function() { + var data = { instance: this, styles: {} }; + + // store placement inside the data object, modifiers will be able to edit `placement` if needed + // and refer to _originalPlacement to know the original value + data.placement = this._options.placement; + data._originalPlacement = this._options.placement; + + // compute the popper and reference offsets and put them inside data.offsets + data.offsets = this._getOffsets(this._popper, this._reference, data.placement); + + // get boundaries + data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement); + + data = this.runModifiers(data, this._options.modifiers); + + if (typeof this.state.updateCallback === 'function') { + this.state.updateCallback(data); + } + }; + + /** + * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance. + * @method + * @memberof Popper + * @param {Function} callback + */ + Popper.prototype.onCreate = function(callback) { + // the createCallbacks return as first argument the popper instance + callback(this); + return this; + }; + + /** + * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations + * used to style popper and its arrow. + * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor! + * @method + * @memberof Popper + * @param {Function} callback + */ + Popper.prototype.onUpdate = function(callback) { + this.state.updateCallback = callback; + return this; + }; + + /** + * Helper used to generate poppers from a configuration file + * @method + * @memberof Popper + * @param config {Object} configuration + * @returns {HTMLElement} popper + */ + Popper.prototype.parse = function(config) { + var defaultConfig = { + tagName: 'div', + classNames: [ 'popper' ], + attributes: [], + parent: root.document.body, + content: '', + contentType: 'text', + arrowTagName: 'div', + arrowClassNames: [ 'popper__arrow' ], + arrowAttributes: [ 'x-arrow'] + }; + config = Object.assign({}, defaultConfig, config); + + var d = root.document; + + var popper = d.createElement(config.tagName); + addClassNames(popper, config.classNames); + addAttributes(popper, config.attributes); + if (config.contentType === 'node') { + popper.appendChild(config.content.jquery ? config.content[0] : config.content); + }else if (config.contentType === 'html') { + popper.innerHTML = config.content; + } else { + popper.textContent = config.content; + } + + if (config.arrowTagName) { + var arrow = d.createElement(config.arrowTagName); + addClassNames(arrow, config.arrowClassNames); + addAttributes(arrow, config.arrowAttributes); + popper.appendChild(arrow); + } + + var parent = config.parent.jquery ? config.parent[0] : config.parent; + + // if the given parent is a string, use it to match an element + // if more than one element is matched, the first one will be used as parent + // if no elements are matched, the script will throw an error + if (typeof parent === 'string') { + parent = d.querySelectorAll(config.parent); + if (parent.length > 1) { + console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used'); + } + if (parent.length === 0) { + throw 'ERROR: the given `parent` doesn\'t exists!'; + } + parent = parent[0]; + } + // if the given parent is a DOM nodes list or an array of nodes with more than one element, + // the first one will be used as parent + if (parent.length > 1 && parent instanceof Element === false) { + console.warn('WARNING: you have passed as parent a list of elements, the first one will be used'); + parent = parent[0]; + } + + // append the generated popper to its parent + parent.appendChild(popper); + + return popper; + + /** + * Adds class names to the given element + * @function + * @ignore + * @param {HTMLElement} target + * @param {Array} classes + */ + function addClassNames(element, classNames) { + classNames.forEach(function(className) { + element.classList.add(className); + }); + } + + /** + * Adds attributes to the given element + * @function + * @ignore + * @param {HTMLElement} target + * @param {Array} attributes + * @example + * addAttributes(element, [ 'data-info:foobar' ]); + */ + function addAttributes(element, attributes) { + attributes.forEach(function(attribute) { + element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || ''); + }); + } + + }; + + /** + * Helper used to get the position which will be applied to the popper + * @method + * @memberof Popper + * @param config {HTMLElement} popper element + * @param reference {HTMLElement} reference element + * @returns {String} position + */ + Popper.prototype._getPosition = function(popper, reference) { + var container = getOffsetParent(reference); + + if (this._options.forceAbsolute) { + return 'absolute'; + } + + // Decide if the popper will be fixed + // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together + var isParentFixed = isFixed(reference, container); + return isParentFixed ? 'fixed' : 'absolute'; + }; + + /** + * Get offsets to the popper + * @method + * @memberof Popper + * @access private + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + Popper.prototype._getOffsets = function(popper, reference, placement) { + placement = placement.split('-')[0]; + var popperOffsets = {}; + + popperOffsets.position = this.state.position; + var isParentFixed = popperOffsets.position === 'fixed'; + + // + // Get reference element position + // + var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed); + + // + // Get popper sizes + // + var popperRect = getOuterSizes(popper); + + // + // Compute offsets of popper + // + + // depending by the popper placement we have to compute its offsets slightly differently + if (['right', 'left'].indexOf(placement) !== -1) { + popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2; + if (placement === 'left') { + popperOffsets.left = referenceOffsets.left - popperRect.width; + } else { + popperOffsets.left = referenceOffsets.right; + } + } else { + popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2; + if (placement === 'top') { + popperOffsets.top = referenceOffsets.top - popperRect.height; + } else { + popperOffsets.top = referenceOffsets.bottom; + } + } + + // Add width and height to our offsets object + popperOffsets.width = popperRect.width; + popperOffsets.height = popperRect.height; + + return { + popper: popperOffsets, + reference: referenceOffsets + }; + }; + + + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper + * @access private + */ + Popper.prototype._setupEventListeners = function() { + // NOTE: 1 DOM access here + this.state.updateBound = this.update.bind(this); + root.addEventListener('resize', this.state.updateBound); + // if the boundariesElement is window we don't need to listen for the scroll event + if (this._options.boundariesElement !== 'window') { + var target = getScrollParent(this._reference); + // here it could be both `body` or `documentElement` thanks to Firefox, we then check both + if (target === root.document.body || target === root.document.documentElement) { + target = root; + } + target.addEventListener('scroll', this.state.updateBound); + this.state.scrollTarget = target; + } + }; + + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper + * @access private + */ + Popper.prototype._removeEventListeners = function() { + // NOTE: 1 DOM access here + root.removeEventListener('resize', this.state.updateBound); + if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) { + this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound); + this.state.scrollTarget = null; + } + this.state.updateBound = null; + }; + + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper + * @access private + * @param {Object} data - Object containing the property "offsets" generated by `_getOffsets` + * @param {Number} padding - Boundaries padding + * @param {Element} boundariesElement - Element used to define the boundaries + * @returns {Object} Coordinates of the boundaries + */ + Popper.prototype._getBoundaries = function(data, padding, boundariesElement) { + // NOTE: 1 DOM access here + var boundaries = {}; + var width, height; + if (boundariesElement === 'window') { + var body = root.document.body, + html = root.document.documentElement; + + height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight ); + width = Math.max( body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth ); + + boundaries = { + top: 0, + right: width, + bottom: height, + left: 0 + }; + } else if (boundariesElement === 'viewport') { + var offsetParent = getOffsetParent(this._popper); + var scrollParent = getScrollParent(this._popper); + var offsetParentRect = getOffsetRect(offsetParent); + + // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop` + var getScrollTopValue = function (element) { + return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop; + } + var getScrollLeftValue = function (element) { + return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft; + } + + // if the popper is fixed we don't have to substract scrolling from the boundaries + var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent); + var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent); + + boundaries = { + top: 0 - (offsetParentRect.top - scrollTop), + right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft), + bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop), + left: 0 - (offsetParentRect.left - scrollLeft) + }; + } else { + if (getOffsetParent(this._popper) === boundariesElement) { + boundaries = { + top: 0, + left: 0, + right: boundariesElement.clientWidth, + bottom: boundariesElement.clientHeight + }; + } else { + boundaries = getOffsetRect(boundariesElement); + } + } + boundaries.left += padding; + boundaries.right -= padding; + boundaries.top = boundaries.top + padding; + boundaries.bottom = boundaries.bottom - padding; + return boundaries; + }; + + + /** + * Loop trough the list of modifiers and run them in order, each of them will then edit the data object + * @method + * @memberof Popper + * @access public + * @param {Object} data + * @param {Array} modifiers + * @param {Function} ends + */ + Popper.prototype.runModifiers = function(data, modifiers, ends) { + var modifiersToRun = modifiers.slice(); + if (ends !== undefined) { + modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends)); + } + + modifiersToRun.forEach(function(modifier) { + if (isFunction(modifier)) { + data = modifier.call(this, data); + } + }.bind(this)); + + return data; + }; + + /** + * Helper used to know if the given modifier depends from another one. + * @method + * @memberof Popper + * @param {String} requesting - name of requesting modifier + * @param {String} requested - name of requested modifier + * @returns {Boolean} + */ + Popper.prototype.isModifierRequired = function(requesting, requested) { + var index = getArrayKeyIndex(this._options.modifiers, requesting); + return !!this._options.modifiers.slice(0, index).filter(function(modifier) { + return modifier === requested; + }).length; + }; + + // + // Modifiers + // + + /** + * Modifiers list + * @namespace Popper.modifiers + * @memberof Popper + * @type {Object} + */ + Popper.prototype.modifiers = {}; + + /** + * Apply the computed styles to the popper element + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The same data object + */ + Popper.prototype.modifiers.applyStyle = function(data) { + // apply the final offsets to the popper + // NOTE: 1 DOM access here + var styles = { + position: data.offsets.popper.position + }; + + // round top and left to avoid blurry text + var left = Math.round(data.offsets.popper.left); + var top = Math.round(data.offsets.popper.top); + + // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper + // we automatically use the supported prefixed version if needed + var prefixedProperty; + if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles.top = 0; + styles.left = 0; + } + // othwerise, we use the standard `left` and `top` properties + else { + styles.left =left; + styles.top = top; + } + + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + Object.assign(styles, data.styles); + + setStyle(this._popper, styles); + + // set an attribute which will be useful to style the tooltip (use it to properly position its arrow) + // NOTE: 1 DOM access here + this._popper.setAttribute('x-placement', data.placement); + + // if the arrow modifier is required and the arrow style has been computed, apply the arrow style + if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) { + setStyle(data.arrowElement, data.offsets.arrow); + } + + return data; + }; + + /** + * Modifier used to shift the popper on the start or end of its reference element side + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.shift = function(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftVariation = placement.split('-')[1]; + + // if shift shiftVariation is specified, run the modifier + if (shiftVariation) { + var reference = data.offsets.reference; + var popper = getPopperClientRect(data.offsets.popper); + + var shiftOffsets = { + y: { + start: { top: reference.top }, + end: { top: reference.top + reference.height - popper.height } + }, + x: { + start: { left: reference.left }, + end: { left: reference.left + reference.width - popper.width } + } + }; + + var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y'; + + data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]); + } + + return data; + }; + + + /** + * Modifier used to make sure the popper does not overflows from it's boundaries + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by `update` method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.preventOverflow = function(data) { + var order = this._options.preventOverflowOrder; + var popper = getPopperClientRect(data.offsets.popper); + + var check = { + left: function() { + var left = popper.left; + if (popper.left < data.boundaries.left) { + left = Math.max(popper.left, data.boundaries.left); + } + return { left: left }; + }, + right: function() { + var left = popper.left; + if (popper.right > data.boundaries.right) { + left = Math.min(popper.left, data.boundaries.right - popper.width); + } + return { left: left }; + }, + top: function() { + var top = popper.top; + if (popper.top < data.boundaries.top) { + top = Math.max(popper.top, data.boundaries.top); + } + return { top: top }; + }, + bottom: function() { + var top = popper.top; + if (popper.bottom > data.boundaries.bottom) { + top = Math.min(popper.top, data.boundaries.bottom - popper.height); + } + return { top: top }; + } + }; + + order.forEach(function(direction) { + data.offsets.popper = Object.assign(popper, check[direction]()); + }); + + return data; + }; + + /** + * Modifier used to make sure the popper is always near its reference + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.keepTogether = function(data) { + var popper = getPopperClientRect(data.offsets.popper); + var reference = data.offsets.reference; + var f = Math.floor; + + if (popper.right < f(reference.left)) { + data.offsets.popper.left = f(reference.left) - popper.width; + } + if (popper.left > f(reference.right)) { + data.offsets.popper.left = f(reference.right); + } + if (popper.bottom < f(reference.top)) { + data.offsets.popper.top = f(reference.top) - popper.height; + } + if (popper.top > f(reference.bottom)) { + data.offsets.popper.top = f(reference.bottom); + } + + return data; + }; + + /** + * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element. + * Requires the `preventOverflow` modifier before it in order to work. + * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper! + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.flip = function(data) { + // check if preventOverflow is in the list of modifiers before the flip modifier. + // otherwise flip would not work as expected. + if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) { + console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!'); + return data; + } + + if (data.flipped && data.placement === data._originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + if(this._options.flipBehavior === 'flip') { + flipOrder = [ + placement, + placementOpposite + ]; + } else { + flipOrder = this._options.flipBehavior; + } + + flipOrder.forEach(function(step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = getPopperClientRect(data.offsets.popper); + + // this boolean is used to distinguish right and bottom from top and left + // they need different computations to get flipped + var a = ['right', 'bottom'].indexOf(placement) !== -1; + + // using Math.floor because the reference offsets may contain decimals we are not going to consider here + if ( + a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || + !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite]) + ) { + // we'll use this boolean to detect any flip loop + data.flipped = true; + data.placement = flipOrder[index + 1]; + if (variation) { + data.placement += '-' + variation; + } + data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper; + + data = this.runModifiers(data, this._options.modifiers, this._flip); + } + }.bind(this)); + return data; + }; + + /** + * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper. + * The offsets will shift the popper on the side of its reference element. + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.offset = function(data) { + var offset = this._options.offset; + var popper = data.offsets.popper; + + if (data.placement.indexOf('left') !== -1) { + popper.top -= offset; + } + else if (data.placement.indexOf('right') !== -1) { + popper.top += offset; + } + else if (data.placement.indexOf('top') !== -1) { + popper.left -= offset; + } + else if (data.placement.indexOf('bottom') !== -1) { + popper.left += offset; + } + return data; + }; + + /** + * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element + * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed + * @method + * @memberof Popper.modifiers + * @argument {Object} data - The data object generated by _update method + * @returns {Object} The data object, properly modified + */ + Popper.prototype.modifiers.arrow = function(data) { + var arrow = this._options.arrowElement; + var arrowOffset = this._options.arrowOffset; + + // if the arrowElement is a string, suppose it's a CSS selector + if (typeof arrow === 'string') { + arrow = this._popper.querySelector(arrow); + } + + // if arrow element is not found, don't run the modifier + if (!arrow) { + return data; + } + + // the arrow element must be child of its popper + if (!this._popper.contains(arrow)) { + console.warn('WARNING: `arrowElement` must be child of its popper element!'); + return data; + } + + // arrow depends on keepTogether in order to work + if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) { + console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!'); + return data; + } + + var arrowStyle = {}; + var placement = data.placement.split('-')[0]; + var popper = getPopperClientRect(data.offsets.popper); + var reference = data.offsets.reference; + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var side = isVertical ? 'top' : 'left'; + var translate = isVertical ? 'translateY' : 'translateX'; + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowSize = getOuterSizes(arrow)[len]; + + // + // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction + // + + // top/left side + if (reference[opSide] - arrowSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize); + } + // bottom/right side + if (reference[side] + arrowSize > popper[opSide]) { + data.offsets.popper[side] += (reference[side] + arrowSize) - popper[opSide]; + } + + // compute center of the popper + var center = reference[side] + (arrowOffset || (reference[len] / 2) - (arrowSize / 2)); + + var sideValue = center - popper[side]; + + // prevent arrow from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8); + arrowStyle[side] = sideValue; + arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow + + data.offsets.arrow = arrowStyle; + data.arrowElement = arrow; + + return data; + }; + + + // + // Helpers + // + + /** + * Get the outer sizes of the given element (offset size + margins) + * @function + * @ignore + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + // NOTE: 1 DOM access here + var _display = element.style.display, _visibility = element.style.visibility; + element.style.display = 'block'; element.style.visibility = 'hidden'; + var calcWidthToForceRepaint = element.offsetWidth; + + // original method + var styles = root.getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { width: element.offsetWidth + y, height: element.offsetHeight + x }; + + // reset element styles + element.style.display = _display; element.style.visibility = _visibility; + return result; + } + + /** + * Get the opposite placement of the given one/ + * @function + * @ignore + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = {left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function(matched){ + return hash[matched]; + }); + } + + /** + * Given the popper offsets, generate an output similar to getBoundingClientRect + * @function + * @ignore + * @argument {Object} popperOffsets + * @returns {Object} ClientRect like output + */ + function getPopperClientRect(popperOffsets) { + var offsets = Object.assign({}, popperOffsets); + offsets.right = offsets.left + offsets.width; + offsets.bottom = offsets.top + offsets.height; + return offsets; + } + + /** + * Given an array and the key to find, returns its index + * @function + * @ignore + * @argument {Array} arr + * @argument keyToFind + * @returns index or null + */ + function getArrayKeyIndex(arr, keyToFind) { + var i = 0, key; + for (key in arr) { + if (arr[key] === keyToFind) { + return i; + } + i++; + } + return null; + } + + /** + * Get CSS computed property of the given element + * @function + * @ignore + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + // NOTE: 1 DOM access here + var css = root.getComputedStyle(element, null); + return css[property]; + } + + /** + * Returns the offset parent of the given element + * @function + * @ignore + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent; + return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent; + } + + /** + * Returns the scrolling parent of the given element + * @function + * @ignore + * @argument {Element} element + * @returns {Element} offset parent + */ + function getScrollParent(element) { + var parent = element.parentNode; + + if (!parent) { + return element; + } + + if (parent === root.document) { + // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is + // greater than 0 and return the proper element + if (root.document.body.scrollTop || root.document.body.scrollLeft) { + return root.document.body; + } else { + return root.document.documentElement; + } + } + + // Firefox want us to check `-x` and `-y` variations as well + if ( + ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || + ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || + ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1 + ) { + // If the detected scrollParent is body, we perform an additional check on its parentNode + // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise + // fixes issue #65 + return parent; + } + return getScrollParent(element.parentNode); + } + + /** + * Check if the given element is fixed or is inside a fixed parent + * @function + * @ignore + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + if (element === root.document.body) { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return element.parentNode ? isFixed(element.parentNode) : element; + } + + /** + * Set the style to the given popper + * @function + * @ignore + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles - Object with a list of properties and values which will be applied to the element + */ + function setStyle(element, styles) { + function is_numeric(n) { + return (n !== '' && !isNaN(parseFloat(n)) && isFinite(n)); + } + Object.keys(styles).forEach(function(prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); + } + + /** + * Check if the given variable is a function + * @function + * @ignore + * @argument {*} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; + } + + /** + * Get the position of the given element, relative to its offset parent + * @function + * @ignore + * @param {Element} element + * @return {Object} position - Coordinates of the element and its `scrollTop` + */ + function getOffsetRect(element) { + var elementRect = { + width: element.offsetWidth, + height: element.offsetHeight, + left: element.offsetLeft, + top: element.offsetTop + }; + + elementRect.right = elementRect.left + elementRect.width; + elementRect.bottom = elementRect.top + elementRect.height; + + // position + return elementRect; + } + + /** + * Get bounding client rect of given element + * @function + * @ignore + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = element.getBoundingClientRect(); + + // whether the IE version is lower than 11 + var isIE = navigator.userAgent.indexOf("MSIE") != -1; + + // fix ie document bounding top always 0 bug + var rectTop = isIE && element.tagName === 'HTML' + ? -element.scrollTop + : rect.top; + + return { + left: rect.left, + top: rectTop, + right: rect.right, + bottom: rect.bottom, + width: rect.right - rect.left, + height: rect.bottom - rectTop + }; + } + + /** + * Given an element and one of its parents, return the offset + * @function + * @ignore + * @param {HTMLElement} element + * @param {HTMLElement} parent + * @return {Object} rect + */ + function getOffsetRectRelativeToCustomParent(element, parent, fixed) { + var elementRect = getBoundingClientRect(element); + var parentRect = getBoundingClientRect(parent); + + if (fixed) { + var scrollParent = getScrollParent(parent); + parentRect.top += scrollParent.scrollTop; + parentRect.bottom += scrollParent.scrollTop; + parentRect.left += scrollParent.scrollLeft; + parentRect.right += scrollParent.scrollLeft; + } + + var rect = { + top: elementRect.top - parentRect.top , + left: elementRect.left - parentRect.left , + bottom: (elementRect.top - parentRect.top) + elementRect.height, + right: (elementRect.left - parentRect.left) + elementRect.width, + width: elementRect.width, + height: elementRect.height + }; + return rect; + } + + /** + * Get the prefixed supported property name + * @function + * @ignore + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase) + */ + function getSupportedPropertyName(property) { + var prefixes = ['', 'ms', 'webkit', 'moz', 'o']; + + for (var i = 0; i < prefixes.length; i++) { + var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property; + if (typeof root.document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; + } + + /** + * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source + * objects to a target object. It will return the target object. + * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway + * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + * @function + * @ignore + */ + if (!Object.assign) { + Object.defineProperty(Object, 'assign', { + enumerable: false, + configurable: true, + writable: true, + value: function(target) { + if (target === undefined || target === null) { + throw new TypeError('Cannot convert first argument to object'); + } + + var to = Object(target); + for (var i = 1; i < arguments.length; i++) { + var nextSource = arguments[i]; + if (nextSource === undefined || nextSource === null) { + continue; + } + nextSource = Object(nextSource); + + var keysArray = Object.keys(nextSource); + for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) { + var nextKey = keysArray[nextIndex]; + var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey); + if (desc !== undefined && desc.enumerable) { + to[nextKey] = nextSource[nextKey]; + } + } + } + return to; + } + }); + } + + return Popper; +})); diff --git a/PAMapp/local_modules/element-ui/src/utils/popup/index.js b/PAMapp/local_modules/element-ui/src/utils/popup/index.js new file mode 100644 index 0000000..0fc1bbd --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/popup/index.js @@ -0,0 +1,218 @@ +import Vue from 'vue'; +import merge from 'element-ui/src/utils/merge'; +import PopupManager from 'element-ui/src/utils/popup/popup-manager'; +import getScrollBarWidth from '../scrollbar-width'; +import { getStyle, addClass, removeClass, hasClass } from '../dom'; + +let idSeed = 1; + +let scrollBarWidth; + +export default { + props: { + visible: { + type: Boolean, + default: false + }, + openDelay: {}, + closeDelay: {}, + zIndex: {}, + modal: { + type: Boolean, + default: false + }, + modalFade: { + type: Boolean, + default: true + }, + modalClass: {}, + modalAppendToBody: { + type: Boolean, + default: false + }, + lockScroll: { + type: Boolean, + default: true + }, + closeOnPressEscape: { + type: Boolean, + default: false + }, + closeOnClickModal: { + type: Boolean, + default: false + } + }, + + beforeMount() { + this._popupId = 'popup-' + idSeed++; + PopupManager.register(this._popupId, this); + }, + + beforeDestroy() { + PopupManager.deregister(this._popupId); + PopupManager.closeModal(this._popupId); + + this.restoreBodyStyle(); + }, + + data() { + return { + opened: false, + bodyPaddingRight: null, + computedBodyPaddingRight: 0, + withoutHiddenClass: true, + rendered: false + }; + }, + + watch: { + visible(val) { + if (val) { + if (this._opening) return; + if (!this.rendered) { + this.rendered = true; + Vue.nextTick(() => { + this.open(); + }); + } else { + this.open(); + } + } else { + this.close(); + } + } + }, + + methods: { + open(options) { + if (!this.rendered) { + this.rendered = true; + } + + const props = merge({}, this.$props || this, options); + + if (this._closeTimer) { + clearTimeout(this._closeTimer); + this._closeTimer = null; + } + clearTimeout(this._openTimer); + + const openDelay = Number(props.openDelay); + if (openDelay > 0) { + this._openTimer = setTimeout(() => { + this._openTimer = null; + this.doOpen(props); + }, openDelay); + } else { + this.doOpen(props); + } + }, + + doOpen(props) { + if (this.$isServer) return; + if (this.willOpen && !this.willOpen()) return; + if (this.opened) return; + + this._opening = true; + + const dom = this.$el; + + const modal = props.modal; + + const zIndex = props.zIndex; + if (zIndex) { + PopupManager.zIndex = zIndex; + } + + if (modal) { + if (this._closing) { + PopupManager.closeModal(this._popupId); + this._closing = false; + } + PopupManager.openModal(this._popupId, PopupManager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade); + if (props.lockScroll) { + this.withoutHiddenClass = !hasClass(document.body, 'el-popup-parent--hidden'); + if (this.withoutHiddenClass) { + this.bodyPaddingRight = document.body.style.paddingRight; + this.computedBodyPaddingRight = parseInt(getStyle(document.body, 'paddingRight'), 10); + } + scrollBarWidth = getScrollBarWidth(); + let bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight; + let bodyOverflowY = getStyle(document.body, 'overflowY'); + if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) { + document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px'; + } + addClass(document.body, 'el-popup-parent--hidden'); + } + } + + if (getComputedStyle(dom).position === 'static') { + dom.style.position = 'absolute'; + } + + dom.style.zIndex = PopupManager.nextZIndex(); + this.opened = true; + + this.onOpen && this.onOpen(); + + this.doAfterOpen(); + }, + + doAfterOpen() { + this._opening = false; + }, + + close() { + if (this.willClose && !this.willClose()) return; + + if (this._openTimer !== null) { + clearTimeout(this._openTimer); + this._openTimer = null; + } + clearTimeout(this._closeTimer); + + const closeDelay = Number(this.closeDelay); + + if (closeDelay > 0) { + this._closeTimer = setTimeout(() => { + this._closeTimer = null; + this.doClose(); + }, closeDelay); + } else { + this.doClose(); + } + }, + + doClose() { + this._closing = true; + + this.onClose && this.onClose(); + + if (this.lockScroll) { + setTimeout(this.restoreBodyStyle, 200); + } + + this.opened = false; + + this.doAfterClose(); + }, + + doAfterClose() { + PopupManager.closeModal(this._popupId); + this._closing = false; + }, + + restoreBodyStyle() { + if (this.modal && this.withoutHiddenClass) { + document.body.style.paddingRight = this.bodyPaddingRight; + removeClass(document.body, 'el-popup-parent--hidden'); + } + this.withoutHiddenClass = true; + } + } +}; + +export { + PopupManager +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/popup/popup-manager.js b/PAMapp/local_modules/element-ui/src/utils/popup/popup-manager.js new file mode 100644 index 0000000..598f8b8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/popup/popup-manager.js @@ -0,0 +1,194 @@ +import Vue from 'vue'; +import { addClass, removeClass } from 'element-ui/src/utils/dom'; + +let hasModal = false; +let hasInitZIndex = false; +let zIndex; + +const getModal = function() { + if (Vue.prototype.$isServer) return; + let modalDom = PopupManager.modalDom; + if (modalDom) { + hasModal = true; + } else { + hasModal = false; + modalDom = document.createElement('div'); + PopupManager.modalDom = modalDom; + + modalDom.addEventListener('touchmove', function(event) { + event.preventDefault(); + event.stopPropagation(); + }); + + modalDom.addEventListener('click', function() { + PopupManager.doOnModalClick && PopupManager.doOnModalClick(); + }); + } + + return modalDom; +}; + +const instances = {}; + +const PopupManager = { + modalFade: true, + + getInstance: function(id) { + return instances[id]; + }, + + register: function(id, instance) { + if (id && instance) { + instances[id] = instance; + } + }, + + deregister: function(id) { + if (id) { + instances[id] = null; + delete instances[id]; + } + }, + + nextZIndex: function() { + return PopupManager.zIndex++; + }, + + modalStack: [], + + doOnModalClick: function() { + const topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1]; + if (!topItem) return; + + const instance = PopupManager.getInstance(topItem.id); + if (instance && instance.closeOnClickModal) { + instance.close(); + } + }, + + openModal: function(id, zIndex, dom, modalClass, modalFade) { + if (Vue.prototype.$isServer) return; + if (!id || zIndex === undefined) return; + this.modalFade = modalFade; + + const modalStack = this.modalStack; + + for (let i = 0, j = modalStack.length; i < j; i++) { + const item = modalStack[i]; + if (item.id === id) { + return; + } + } + + const modalDom = getModal(); + + addClass(modalDom, 'v-modal'); + if (this.modalFade && !hasModal) { + addClass(modalDom, 'v-modal-enter'); + } + if (modalClass) { + let classArr = modalClass.trim().split(/\s+/); + classArr.forEach(item => addClass(modalDom, item)); + } + setTimeout(() => { + removeClass(modalDom, 'v-modal-enter'); + }, 200); + + if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) { + dom.parentNode.appendChild(modalDom); + } else { + document.body.appendChild(modalDom); + } + + if (zIndex) { + modalDom.style.zIndex = zIndex; + } + modalDom.tabIndex = 0; + modalDom.style.display = ''; + + this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass }); + }, + + closeModal: function(id) { + const modalStack = this.modalStack; + const modalDom = getModal(); + + if (modalStack.length > 0) { + const topItem = modalStack[modalStack.length - 1]; + if (topItem.id === id) { + if (topItem.modalClass) { + let classArr = topItem.modalClass.trim().split(/\s+/); + classArr.forEach(item => removeClass(modalDom, item)); + } + + modalStack.pop(); + if (modalStack.length > 0) { + modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex; + } + } else { + for (let i = modalStack.length - 1; i >= 0; i--) { + if (modalStack[i].id === id) { + modalStack.splice(i, 1); + break; + } + } + } + } + + if (modalStack.length === 0) { + if (this.modalFade) { + addClass(modalDom, 'v-modal-leave'); + } + setTimeout(() => { + if (modalStack.length === 0) { + if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom); + modalDom.style.display = 'none'; + PopupManager.modalDom = undefined; + } + removeClass(modalDom, 'v-modal-leave'); + }, 200); + } + } +}; + +Object.defineProperty(PopupManager, 'zIndex', { + configurable: true, + get() { + if (!hasInitZIndex) { + zIndex = zIndex || (Vue.prototype.$ELEMENT || {}).zIndex || 2000; + hasInitZIndex = true; + } + return zIndex; + }, + set(value) { + zIndex = value; + } +}); + +const getTopPopup = function() { + if (Vue.prototype.$isServer) return; + if (PopupManager.modalStack.length > 0) { + const topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1]; + if (!topPopup) return; + const instance = PopupManager.getInstance(topPopup.id); + + return instance; + } +}; + +if (!Vue.prototype.$isServer) { + // handle `esc` key when the popup is shown + window.addEventListener('keydown', function(event) { + if (event.keyCode === 27) { + const topPopup = getTopPopup(); + + if (topPopup && topPopup.closeOnPressEscape) { + topPopup.handleClose + ? topPopup.handleClose() + : (topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close()); + } + } + }); +} + +export default PopupManager; diff --git a/PAMapp/local_modules/element-ui/src/utils/resize-event.js b/PAMapp/local_modules/element-ui/src/utils/resize-event.js new file mode 100644 index 0000000..b274612 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/resize-event.js @@ -0,0 +1,36 @@ +import ResizeObserver from 'resize-observer-polyfill'; +import { debounce } from 'throttle-debounce'; + +const isServer = typeof window === 'undefined'; + +/* istanbul ignore next */ +const resizeHandler = function(entries) { + for (let entry of entries) { + const listeners = entry.target.__resizeListeners__ || []; + if (listeners.length) { + listeners.forEach(fn => { + fn(); + }); + } + } +}; + +/* istanbul ignore next */ +export const addResizeListener = function(element, fn) { + if (isServer) return; + if (!element.__resizeListeners__) { + element.__resizeListeners__ = []; + element.__ro__ = new ResizeObserver(debounce(16, resizeHandler)); + element.__ro__.observe(element); + } + element.__resizeListeners__.push(fn); +}; + +/* istanbul ignore next */ +export const removeResizeListener = function(element, fn) { + if (!element || !element.__resizeListeners__) return; + element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); + if (!element.__resizeListeners__.length) { + element.__ro__.disconnect(); + } +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/scroll-into-view.js b/PAMapp/local_modules/element-ui/src/utils/scroll-into-view.js new file mode 100644 index 0000000..6d5b692 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/scroll-into-view.js @@ -0,0 +1,27 @@ +import Vue from 'vue'; + +export default function scrollIntoView(container, selected) { + if (Vue.prototype.$isServer) return; + + if (!selected) { + container.scrollTop = 0; + return; + } + + const offsetParents = []; + let pointer = selected.offsetParent; + while (pointer && container !== pointer && container.contains(pointer)) { + offsetParents.push(pointer); + pointer = pointer.offsetParent; + } + const top = selected.offsetTop + offsetParents.reduce((prev, curr) => (prev + curr.offsetTop), 0); + const bottom = top + selected.offsetHeight; + const viewRectTop = container.scrollTop; + const viewRectBottom = viewRectTop + container.clientHeight; + + if (top < viewRectTop) { + container.scrollTop = top; + } else if (bottom > viewRectBottom) { + container.scrollTop = bottom - container.clientHeight; + } +} diff --git a/PAMapp/local_modules/element-ui/src/utils/scrollbar-width.js b/PAMapp/local_modules/element-ui/src/utils/scrollbar-width.js new file mode 100644 index 0000000..bbaa925 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/scrollbar-width.js @@ -0,0 +1,29 @@ +import Vue from 'vue'; + +let scrollBarWidth; + +export default function() { + if (Vue.prototype.$isServer) return 0; + if (scrollBarWidth !== undefined) return scrollBarWidth; + + const outer = document.createElement('div'); + outer.className = 'el-scrollbar__wrap'; + outer.style.visibility = 'hidden'; + outer.style.width = '100px'; + outer.style.position = 'absolute'; + outer.style.top = '-9999px'; + document.body.appendChild(outer); + + const widthNoScroll = outer.offsetWidth; + outer.style.overflow = 'scroll'; + + const inner = document.createElement('div'); + inner.style.width = '100%'; + outer.appendChild(inner); + + const widthWithScroll = inner.offsetWidth; + outer.parentNode.removeChild(outer); + scrollBarWidth = widthNoScroll - widthWithScroll; + + return scrollBarWidth; +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/shared.js b/PAMapp/local_modules/element-ui/src/utils/shared.js new file mode 100644 index 0000000..3b1ea11 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/shared.js @@ -0,0 +1,7 @@ +export function isDef(val) { + return val !== undefined && val !== null; +} +export function isKorean(text) { + const reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; + return reg.test(text); +} diff --git a/PAMapp/local_modules/element-ui/src/utils/types.js b/PAMapp/local_modules/element-ui/src/utils/types.js new file mode 100644 index 0000000..7f6bdeb --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/types.js @@ -0,0 +1,40 @@ +import Vue from 'vue'; + +export function isString(obj) { + return Object.prototype.toString.call(obj) === '[object String]'; +} + +export function isObject(obj) { + return Object.prototype.toString.call(obj) === '[object Object]'; +} + +export function isHtmlElement(node) { + return node && node.nodeType === Node.ELEMENT_NODE; +} + +/** + * - Inspired: + * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js + */ +let isFunction = (functionToCheck) => { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +}; + +if (typeof /./ !== 'function' && typeof Int8Array !== 'object' && (Vue.prototype.$isServer || typeof document.childNodes !== 'function')) { + isFunction = function(obj) { + return typeof obj === 'function' || false; + }; +} + +export { + isFunction +}; + +export const isUndefined = (val)=> { + return val === void 0; +}; + +export const isDefined = (val) => { + return val !== undefined && val !== null; +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/util.js b/PAMapp/local_modules/element-ui/src/utils/util.js new file mode 100644 index 0000000..a9634d7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/util.js @@ -0,0 +1,245 @@ +import Vue from 'vue'; +import { isString, isObject } from 'element-ui/src/utils/types'; + +const hasOwnProperty = Object.prototype.hasOwnProperty; + +export function noop() {}; + +export function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key); +}; + +function extend(to, _from) { + for (let key in _from) { + to[key] = _from[key]; + } + return to; +}; + +export function toObject(arr) { + var res = {}; + for (let i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res; +}; + +export const getValueByPath = function(object, prop) { + prop = prop || ''; + const paths = prop.split('.'); + let current = object; + let result = null; + for (let i = 0, j = paths.length; i < j; i++) { + const path = paths[i]; + if (!current) break; + + if (i === j - 1) { + result = current[path]; + break; + } + current = current[path]; + } + return result; +}; + +export function getPropByPath(obj, path, strict) { + let tempObj = obj; + path = path.replace(/\[(\w+)\]/g, '.$1'); + path = path.replace(/^\./, ''); + + let keyArr = path.split('.'); + let i = 0; + for (let len = keyArr.length; i < len - 1; ++i) { + if (!tempObj && !strict) break; + let key = keyArr[i]; + if (key in tempObj) { + tempObj = tempObj[key]; + } else { + if (strict) { + throw new Error('please transfer a valid prop path to form item!'); + } + break; + } + } + return { + o: tempObj, + k: keyArr[i], + v: tempObj ? tempObj[keyArr[i]] : null + }; +}; + +export const generateId = function() { + return Math.floor(Math.random() * 10000); +}; + +export const valueEquals = (a, b) => { + // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript + if (a === b) return true; + if (!(a instanceof Array)) return false; + if (!(b instanceof Array)) return false; + if (a.length !== b.length) return false; + for (let i = 0; i !== a.length; ++i) { + if (a[i] !== b[i]) return false; + } + return true; +}; + +export const escapeRegexpString = (value = '') => String(value).replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'); + +// TODO: use native Array.find, Array.findIndex when IE support is dropped +export const arrayFindIndex = function(arr, pred) { + for (let i = 0; i !== arr.length; ++i) { + if (pred(arr[i])) { + return i; + } + } + return -1; +}; + +export const arrayFind = function(arr, pred) { + const idx = arrayFindIndex(arr, pred); + return idx !== -1 ? arr[idx] : undefined; +}; + +// coerce truthy value to array +export const coerceTruthyValueToArray = function(val) { + if (Array.isArray(val)) { + return val; + } else if (val) { + return [val]; + } else { + return []; + } +}; + +export const isIE = function() { + return !Vue.prototype.$isServer && !isNaN(Number(document.documentMode)); +}; + +export const isEdge = function() { + return !Vue.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1; +}; + +export const isFirefox = function() { + return !Vue.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i); +}; + +export const autoprefixer = function(style) { + if (typeof style !== 'object') return style; + const rules = ['transform', 'transition', 'animation']; + const prefixes = ['ms-', 'webkit-']; + rules.forEach(rule => { + const value = style[rule]; + if (rule && value) { + prefixes.forEach(prefix => { + style[prefix + rule] = value; + }); + } + }); + return style; +}; + +export const kebabCase = function(str) { + const hyphenateRE = /([^-])([A-Z])/g; + return str + .replace(hyphenateRE, '$1-$2') + .replace(hyphenateRE, '$1-$2') + .toLowerCase(); +}; + +export const capitalize = function(str) { + if (!isString(str)) return str; + return str.charAt(0).toUpperCase() + str.slice(1); +}; + +export const looseEqual = function(a, b) { + const isObjectA = isObject(a); + const isObjectB = isObject(b); + if (isObjectA && isObjectB) { + return JSON.stringify(a) === JSON.stringify(b); + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b); + } else { + return false; + } +}; + +export const arrayEquals = function(arrayA, arrayB) { + arrayA = arrayA || []; + arrayB = arrayB || []; + + if (arrayA.length !== arrayB.length) { + return false; + } + + for (let i = 0; i < arrayA.length; i++) { + if (!looseEqual(arrayA[i], arrayB[i])) { + return false; + } + } + + return true; +}; + +export const isEqual = function(value1, value2) { + if (Array.isArray(value1) && Array.isArray(value2)) { + return arrayEquals(value1, value2); + } + return looseEqual(value1, value2); +}; + +export const isEmpty = function(val) { + // null or undefined + if (val == null) return true; + + if (typeof val === 'boolean') return false; + + if (typeof val === 'number') return !val; + + if (val instanceof Error) return val.message === ''; + + switch (Object.prototype.toString.call(val)) { + // String or Array + case '[object String]': + case '[object Array]': + return !val.length; + + // Map or Set or File + case '[object File]': + case '[object Map]': + case '[object Set]': { + return !val.size; + } + // Plain Object + case '[object Object]': { + return !Object.keys(val).length; + } + } + + return false; +}; + +export function rafThrottle(fn) { + let locked = false; + return function(...args) { + if (locked) return; + locked = true; + window.requestAnimationFrame(_ => { + fn.apply(this, args); + locked = false; + }); + }; +} + +export function objToArray(obj) { + if (Array.isArray(obj)) { + return obj; + } + return isEmpty(obj) ? [] : [obj]; +} + +export const isMac = function() { + return !Vue.prototype.$isServer && /macintosh|mac os x/i.test(navigator.userAgent); +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/vdom.js b/PAMapp/local_modules/element-ui/src/utils/vdom.js new file mode 100644 index 0000000..6bf7028 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/vdom.js @@ -0,0 +1,5 @@ +import { hasOwn } from 'element-ui/src/utils/util'; + +export function isVNode(node) { + return node !== null && typeof node === 'object' && hasOwn(node, 'componentOptions'); +}; diff --git a/PAMapp/local_modules/element-ui/src/utils/vue-popper.js b/PAMapp/local_modules/element-ui/src/utils/vue-popper.js new file mode 100644 index 0000000..ca35df9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/src/utils/vue-popper.js @@ -0,0 +1,198 @@ +import Vue from 'vue'; +import { + PopupManager +} from 'element-ui/src/utils/popup'; + +const PopperJS = Vue.prototype.$isServer ? function() {} : require('./popper'); +const stop = e => e.stopPropagation(); + +/** + * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper. + * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper. + * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end) + * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative). + * @param {Boolean} [visible=false] Visibility of the popup element. + * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style. + */ +export default { + props: { + transformOrigin: { + type: [Boolean, String], + default: true + }, + placement: { + type: String, + default: 'bottom' + }, + boundariesPadding: { + type: Number, + default: 5 + }, + reference: {}, + popper: {}, + offset: { + default: 0 + }, + value: Boolean, + visibleArrow: Boolean, + arrowOffset: { + type: Number, + default: 35 + }, + appendToBody: { + type: Boolean, + default: true + }, + popperOptions: { + type: Object, + default() { + return { + gpuAcceleration: false + }; + } + } + }, + + data() { + return { + showPopper: false, + currentPlacement: '' + }; + }, + + watch: { + value: { + immediate: true, + handler(val) { + this.showPopper = val; + this.$emit('input', val); + } + }, + + showPopper(val) { + if (this.disabled) return; + val ? this.updatePopper() : this.destroyPopper(); + this.$emit('input', val); + } + }, + + methods: { + createPopper() { + if (this.$isServer) return; + this.currentPlacement = this.currentPlacement || this.placement; + if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) { + return; + } + + const options = this.popperOptions; + const popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper; + let reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference; + + if (!reference && + this.$slots.reference && + this.$slots.reference[0]) { + reference = this.referenceElm = this.$slots.reference[0].elm; + } + + if (!popper || !reference) return; + if (this.visibleArrow) this.appendArrow(popper); + if (this.appendToBody) document.body.appendChild(this.popperElm); + if (this.popperJS && this.popperJS.destroy) { + this.popperJS.destroy(); + } + + options.placement = this.currentPlacement; + options.offset = this.offset; + options.arrowOffset = this.arrowOffset; + this.popperJS = new PopperJS(reference, popper, options); + this.popperJS.onCreate(_ => { + this.$emit('created', this); + this.resetTransformOrigin(); + this.$nextTick(this.updatePopper); + }); + if (typeof options.onUpdate === 'function') { + this.popperJS.onUpdate(options.onUpdate); + } + this.popperJS._popper.style.zIndex = PopupManager.nextZIndex(); + this.popperElm.addEventListener('click', stop); + }, + + updatePopper() { + const popperJS = this.popperJS; + if (popperJS) { + popperJS.update(); + if (popperJS._popper) { + popperJS._popper.style.zIndex = PopupManager.nextZIndex(); + } + } else { + this.createPopper(); + } + }, + + doDestroy(forceDestroy) { + /* istanbul ignore if */ + if (!this.popperJS || (this.showPopper && !forceDestroy)) return; + this.popperJS.destroy(); + this.popperJS = null; + }, + + destroyPopper() { + if (this.popperJS) { + this.resetTransformOrigin(); + } + }, + + resetTransformOrigin() { + if (!this.transformOrigin) return; + let placementMap = { + top: 'bottom', + bottom: 'top', + left: 'right', + right: 'left' + }; + let placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0]; + let origin = placementMap[placement]; + this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' + ? this.transformOrigin + : ['top', 'bottom'].indexOf(placement) > -1 ? `center ${ origin }` : `${ origin } center`; + }, + + appendArrow(element) { + let hash; + if (this.appended) { + return; + } + + this.appended = true; + + for (let item in element.attributes) { + if (/^_v-/.test(element.attributes[item].name)) { + hash = element.attributes[item].name; + break; + } + } + + const arrow = document.createElement('div'); + + if (hash) { + arrow.setAttribute(hash, ''); + } + arrow.setAttribute('x-arrow', ''); + arrow.className = 'popper__arrow'; + element.appendChild(arrow); + } + }, + + beforeDestroy() { + this.doDestroy(true); + if (this.popperElm && this.popperElm.parentNode === document.body) { + this.popperElm.removeEventListener('click', stop); + document.body.removeChild(this.popperElm); + } + }, + + // call destroy in keep-alive mode + deactivated() { + this.$options.beforeDestroy[0].call(this); + } +}; diff --git a/PAMapp/local_modules/element-ui/types/alert.d.ts b/PAMapp/local_modules/element-ui/types/alert.d.ts new file mode 100644 index 0000000..1698119 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/alert.d.ts @@ -0,0 +1,31 @@ +import { ElementUIComponent } from './component' + +export type AlertType = 'success' | 'warning' | 'info' | 'error' +export type AlertEffect = 'dark' | 'light' + +/** Alert Component */ +export declare class ElAlert extends ElementUIComponent { + /** Title */ + title: string + + /** Component type */ + type: AlertType + + /** Descriptive text. Can also be passed with the default slot */ + description: string + + /** If closable or not */ + closable: boolean + + /** whether to center the text */ + center: boolean + + /** Customized close button text */ + closeText: string + + /** If a type icon is displayed */ + showIcon: boolean + + /** Choose effect */ + effect: AlertEffect +} diff --git a/PAMapp/local_modules/element-ui/types/aside.d.ts b/PAMapp/local_modules/element-ui/types/aside.d.ts new file mode 100644 index 0000000..1d51fea --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/aside.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Aside Component */ +export declare class ElAside extends ElementUIComponent { + /** Width of the side section */ + width: string +} diff --git a/PAMapp/local_modules/element-ui/types/autocomplete.d.ts b/PAMapp/local_modules/element-ui/types/autocomplete.d.ts new file mode 100644 index 0000000..a56e8f3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/autocomplete.d.ts @@ -0,0 +1,78 @@ +import { ElementUIComponent } from './component' + +export type SuggestionPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' + +export interface FetchSuggestionsCallback { + /** + * Callback function used in fetch-suggestions function + * + * @param data Suggestions to use + */ + (data: any[]): void +} + +export interface FetchSuggestions { + /** + * The function passed into the fetch-suggestions property + * + * @param queryString Current value of the text input + * @param callback Callback function used to indicate that suggestions have completely fetched + */ + (queryString: string, callback: FetchSuggestionsCallback): void +} + +/** Autocomplete Component */ +export declare class ElAutocomplete extends ElementUIComponent { + /** The placeholder of Autocomplete */ + placeholder: string + + /** Whether to show clear button */ + clearable: boolean + + /** Whether Autocomplete is disabled */ + disabled: boolean + + /** Binding value */ + value: string + + /** Debounce delay when typing */ + debounce: number + + /** Placement of the popup menu */ + placement: SuggestionPlacement + + /** Name for the inner native input */ + name: string + + /** Key name of the input suggestion object for display */ + valueKey: string + + /** Whether to emit select event on enter when there is no autocomplete match */ + selectWhenUnmatched: boolean + + /** A method to fetch input suggestions. When suggestions are ready, invoke callback(data:[]) to return them to Autocomplete */ + fetchSuggestions: FetchSuggestions + + /** Custom class name for autocomplete's dropdown */ + popperClass: string + + /** Whether show suggestions when input focus */ + triggerOnFocus: boolean + + /** Prefix icon class */ + prefixIcon: string + + /** Suffix icon class */ + suffixIcon: string + + /** Whether to hide the loading icon in remote search */ + hideLoading: boolean + + /** Whether to append the dropdown to body */ + popperAppendToBody: boolean + + /** + * Focus the Input component + */ + focus (): void +} diff --git a/PAMapp/local_modules/element-ui/types/avatar.d.ts b/PAMapp/local_modules/element-ui/types/avatar.d.ts new file mode 100644 index 0000000..4002e0e --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/avatar.d.ts @@ -0,0 +1,20 @@ +import { ElementUIComponent } from './component' + +/** Avatar Component */ +export declare class ElAvatar extends ElementUIComponent { + icon: string; + + size: string | number; + + shape: string; + + src: string; + + error: () => false; + + srcSet: string; + + alt: string; + + fit: string; +} diff --git a/PAMapp/local_modules/element-ui/types/backtop.d.ts b/PAMapp/local_modules/element-ui/types/backtop.d.ts new file mode 100644 index 0000000..a171c76 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/backtop.d.ts @@ -0,0 +1,16 @@ +import { ElementUIComponent } from './component' + +/** Backtop Component */ +export declare class ElBacktop extends ElementUIComponent { + /** Backtop target */ + target: string + + /** Backtop visibility height */ + visibilityHeight: string | number + + /** Backtop right position */ + right: string | number + + /** Backtop bottom position */ + bottom: string | number +} diff --git a/PAMapp/local_modules/element-ui/types/badge.d.ts b/PAMapp/local_modules/element-ui/types/badge.d.ts new file mode 100644 index 0000000..38e763f --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/badge.d.ts @@ -0,0 +1,16 @@ +import { ElementUIComponent } from './component' + +/** Badge Component */ +export declare class ElBadge extends ElementUIComponent { + /** Display value */ + value: string | number + + /** Maximum value, shows '{max}+' when exceeded. Only works if `value` is a number */ + max: number + + /** If a little dot is displayed */ + isDot: boolean + + /** Hidden badge */ + hidden: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/breadcrumb-item.d.ts b/PAMapp/local_modules/element-ui/types/breadcrumb-item.d.ts new file mode 100644 index 0000000..fb55c25 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/breadcrumb-item.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Breadcrumb Item Component */ +export declare class ElBreadcrumbItem extends ElementUIComponent { + /** Target route of the link, same as to of vue-router */ + to: string | object + + /** If true, the navigation will not leave a history record */ + replace: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/breadcrumb.d.ts b/PAMapp/local_modules/element-ui/types/breadcrumb.d.ts new file mode 100644 index 0000000..24d5ef7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/breadcrumb.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Displays the location of the current page, making it easier to browser back */ +export declare class ElBreadcrumb extends ElementUIComponent { + /** Separator character */ + separator: string + + /** Class name of the icon separator */ + separatorClass: string +} diff --git a/PAMapp/local_modules/element-ui/types/button-group.d.ts b/PAMapp/local_modules/element-ui/types/button-group.d.ts new file mode 100644 index 0000000..e8738bd --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/button-group.d.ts @@ -0,0 +1,4 @@ +import { ElementUIComponent } from './component' + +/** Button Group Component */ +export declare class ElButtonGroup extends ElementUIComponent {} diff --git a/PAMapp/local_modules/element-ui/types/button.d.ts b/PAMapp/local_modules/element-ui/types/button.d.ts new file mode 100644 index 0000000..b81b8f6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/button.d.ts @@ -0,0 +1,37 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +/** Button type */ +export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text' + +/** Same as native button's type */ +export type ButtonNativeType = 'button' | 'submit' | 'reset' | 'menu' + +/** Button Component */ +export declare class ElButton extends ElementUIComponent { + /** Button size */ + size: ElementUIComponentSize + + /** Button type */ + type: ButtonType + + /** Determine whether it's a plain button */ + plain: boolean + + /** Determine whether it's a round button */ + round: boolean + + /** Determine whether it's loading */ + loading: boolean + + /** Disable the button */ + disabled: boolean + + /** Button icon, accepts an icon name of Element icon component */ + icon: string + + /** Same as native button's autofocus */ + autofocus: boolean + + /** Same as native button's type */ + nativeType: ButtonNativeType +} diff --git a/PAMapp/local_modules/element-ui/types/calendar.d.ts b/PAMapp/local_modules/element-ui/types/calendar.d.ts new file mode 100644 index 0000000..d487867 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/calendar.d.ts @@ -0,0 +1,15 @@ +import { ElementUIComponent } from './component' + +export type DateType = Date | String | Number + +/** Calendar Component */ +export declare class ElCalendar extends ElementUIComponent { + /** Binding value */ + value: DateType + + /** Specify the display range of the calendar */ + range: DateType[] + + /** First day of week */ + firstDayOfWeek: number +} diff --git a/PAMapp/local_modules/element-ui/types/card.d.ts b/PAMapp/local_modules/element-ui/types/card.d.ts new file mode 100644 index 0000000..7c5f122 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/card.d.ts @@ -0,0 +1,26 @@ +import { VNode, VNodeDirective } from 'vue' +import { ElementUIComponent } from './component' + +export interface CardSlots { + /** Content of the card */ + default: VNode[], + + /** Title of the card */ + header: VNode[] + + [key: string]: VNode[] +} + +/** Integrate information in a card container */ +export declare class ElCard extends ElementUIComponent { + /** Title of the card */ + header: string + + /** CSS style of body */ + bodyStyle: object + + /** When to show card shadows */ + shadow: string + + $slots: CardSlots +} diff --git a/PAMapp/local_modules/element-ui/types/carousel-item.d.ts b/PAMapp/local_modules/element-ui/types/carousel-item.d.ts new file mode 100644 index 0000000..9ae7ce2 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/carousel-item.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Carousel Item Component */ +export declare class ElCarouselItem extends ElementUIComponent { + /** Name of the item, can be used in setActiveItem */ + name: string + + /** Text content for the corresponding indicator */ + label: string +} diff --git a/PAMapp/local_modules/element-ui/types/carousel.d.ts b/PAMapp/local_modules/element-ui/types/carousel.d.ts new file mode 100644 index 0000000..994a048 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/carousel.d.ts @@ -0,0 +1,57 @@ +import { ElementUIComponent } from './component' + +export type CarouselIndicatorTrigger = 'hover' | 'click' +export type CarouselIndicatorPosition = 'outside' | 'none' +export type CarouselArrowVisibility = 'always' | 'hover' | 'never' +export type CarouselType = 'card' +export type CarouselDirection = 'horizontal' | 'vertical' + +/** Loop a series of images or texts in a limited space */ +export declare class ElCarousel extends ElementUIComponent { + /** Height of the carousel */ + height: number + + /** Index of the initially active slide (starting from 0) */ + initialIndex: number + + /** How indicators are triggered */ + trigger: CarouselIndicatorTrigger + + /** Whether automatically loop the slides */ + autoplay: boolean + + /** Interval of the auto loop, in milliseconds */ + interval: number + + /** Position of the indicators */ + indicatorPosition: CarouselIndicatorPosition + + /** When arrows are shown */ + arrow: CarouselArrowVisibility + + /** Type of the Carousel */ + type: CarouselType + + /** Display direction */ + direction: CarouselDirection + + /** + * Manually switch slide by index + * + * @param index Index of the slide to be switched to (starting from 0) + */ + setActiveItem (index: number): void + + /** + * Manually switch slide by carousel item's name + * + * @param name The name of the corresponding `el-carousel-item` + */ + setActiveItem (name: string): void + + /** Switch to the previous slide */ + prev (): void + + /** Switch to the next slide */ + next (): void +} diff --git a/PAMapp/local_modules/element-ui/types/cascader-panel.d.ts b/PAMapp/local_modules/element-ui/types/cascader-panel.d.ts new file mode 100644 index 0000000..5c2049c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/cascader-panel.d.ts @@ -0,0 +1,72 @@ +import { VNode, CreateElement } from 'vue'; +import { ElementUIComponent } from './component' + +/** Trigger mode of expanding current item */ +export type ExpandTrigger = 'click' | 'hover' + +/** Cascader Option */ +export interface CascaderOption { + label: string, + value: any, + children?: CascaderOption[], + disabled?: boolean, + leaf?: boolean +} + +/** Cascader Props */ +export interface CascaderProps<V, D> { + expandTrigger?: ExpandTrigger, + multiple?: boolean, + checkStrictly?: boolean, + emitPath?: boolean, + lazy?: boolean, + lazyLoad?: (node: CascaderNode<V, D>, resolve: Resolve<D>) => void, + value?: string, + label?: string, + children?: string, + disabled?: string + leaf?: string +} + +/** Cascader Node */ +export interface CascaderNode<V, D> { + uid: number, + data: D, + value: V, + label: string, + level: number, + isDisabled: boolean, + isLeaf: boolean, + parent: CascaderNode<V, D> | null, + children: CascaderNode<V, D>[] + config: CascaderProps<V, D> +} + +type Resolve<D> = (dataList?: D[]) => void + +export interface CascaderPanelSlots { + /** Custom label content */ + default: VNode[] + + [key: string]: VNode[] +} + +/** CascaderPanel Component */ +export declare class ElCascaderPanel<V = any, D = CascaderOption> extends ElementUIComponent { + /** Selected value */ + value: V | V[] + + /** Data of the options */ + options: D[] + + /** Configuration options */ + props: CascaderProps<V, D> + + /** Whether to add border */ + border: boolean + + /** Render function of custom label content */ + renderLabel: (h: CreateElement, context: { node: CascaderNode<V, D>; data: D }) => VNode + + $slots: CascaderPanelSlots +} diff --git a/PAMapp/local_modules/element-ui/types/cascader.d.ts b/PAMapp/local_modules/element-ui/types/cascader.d.ts new file mode 100644 index 0000000..4d79973 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/cascader.d.ts @@ -0,0 +1,65 @@ +import { VNode } from 'vue'; +import { ElementUIComponent, ElementUIComponentSize } from './component' +import { CascaderOption, CascaderProps, CascaderNode } from './cascader-panel'; + +export { CascaderOption, CascaderProps, CascaderNode }; + +export interface CascaderSlots { + /** Custom label content */ + default: VNode[], + + /** Empty content when no option matches */ + empty: VNode[] + + [key: string]: VNode[] +} + +/** Cascader Component */ +export declare class ElCascader<V = any, D = CascaderOption> extends ElementUIComponent { + /** Data of the options */ + options: CascaderOption[] + + /** Configuration options */ + props: CascaderProps<V, D> + + /** Selected value */ + value: V | V[] + + /** Size of Input */ + size: ElementUIComponentSize + + /** Input placeholder */ + placeholder: string + + /** Whether Cascader is disabled */ + disabled: boolean + + /** Whether selected value can be cleared */ + clearable: boolean + + /** Whether to display all levels of the selected value in the input */ + showAllLevels: boolean + + /** Whether to collapse selected tags in multiple selection mode */ + collapseTags: boolean + + /** Separator of option labels */ + separator: string + + /** Whether the options can be searched */ + filterable: boolean + + /** filter method to match options according to input keyword */ + filterMethod: (node: CascaderNode<V, D>, keyword: string) => boolean + + /** Debounce delay when typing filter keyword, in millisecond */ + debounce: number + + /** Custom class name for Cascader's dropdown */ + popperClass: string + + /** Hook function before filtering with the value to be filtered as its parameter */ + beforeFilter: (value: string) => boolean | Promise<any> + + $slots: CascaderSlots +} diff --git a/PAMapp/local_modules/element-ui/types/checkbox-button.d.ts b/PAMapp/local_modules/element-ui/types/checkbox-button.d.ts new file mode 100644 index 0000000..dce7562 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/checkbox-button.d.ts @@ -0,0 +1,22 @@ +import { ElementUIComponent } from './component' + +/** Checkbox Button Component */ +export declare class ElCheckboxButton extends ElementUIComponent { + /** Value of the checkbox when used inside a checkbox-group */ + label: string | number | boolean + + /** Value of the checkbox if it's checked */ + trueLabel: string | number + + /** Value of the checkbox if it's not checked */ + falseLabel: string | number + + /** Native 'name' attribute */ + name: string + + /** If the checkbox is disabled */ + disabled: boolean + + /** If the checkbox is checked */ + checked: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/checkbox-group.d.ts b/PAMapp/local_modules/element-ui/types/checkbox-group.d.ts new file mode 100644 index 0000000..250554c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/checkbox-group.d.ts @@ -0,0 +1,22 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +/** Checkbox Group Component */ +export declare class ElCheckboxGroup extends ElementUIComponent { + /** Size of checkbox buttons or bordered checkboxes */ + size: ElementUIComponentSize + + /** Whether the nesting checkboxes are disabled */ + disabled: boolean + + /** Minimum number of checkbox checked */ + min: number + + /** Maximum number of checkbox checked */ + max: number + + /** Font color when button is active */ + textColor: string + + /** Border and background color when button is active */ + fill: string +} diff --git a/PAMapp/local_modules/element-ui/types/checkbox.d.ts b/PAMapp/local_modules/element-ui/types/checkbox.d.ts new file mode 100644 index 0000000..aec7c57 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/checkbox.d.ts @@ -0,0 +1,34 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +/** Checkbox Component */ +export declare class ElCheckbox extends ElementUIComponent { + /** The form input value */ + value: string | string[] + + /** Value of the checkbox when used inside a checkbox-group */ + label: string | number | boolean + + /** Value of the checkbox if it's checked */ + trueLabel: string | number + + /** Value of the checkbox if it's not checked */ + falseLabel: string | number + + /** Native 'name' attribute */ + name: string + + /** Whether to add a border around Checkbox */ + border: boolean + + /** Size of the Checkbox, only works when border is true */ + size: ElementUIComponentSize + + /** If the checkbox is disabled */ + disabled: boolean + + /** If the checkbox is checked */ + checked: boolean + + /** Same as indeterminate in native checkbox */ + indeterminate: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/col.d.ts b/PAMapp/local_modules/element-ui/types/col.d.ts new file mode 100644 index 0000000..bbdb332 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/col.d.ts @@ -0,0 +1,46 @@ +import { ElementUIComponent } from './component' + +/** Responsive column props */ +export interface ResponsiveColumnProperties { + /** Number of column the grid spans */ + span: number, + + /** Number of spacing on the left side of the grid */ + offset: number +} + +/** Responsive column property */ +export type ResponsiveColumn = number | ResponsiveColumnProperties + +/** Colunm Layout Component */ +export declare class ElCol extends ElementUIComponent { + /** Number of column the grid spans */ + span: number + + /** Number of spacing on the left side of the grid */ + offset: number + + /** Number of columns that grid moves to the right */ + push: number + + /** Number of columns that grid moves to the left */ + pull: number + + /** <768px Responsive columns or column props object */ + xs: ResponsiveColumn + + /** �768px Responsive columns or column props object */ + sm: ResponsiveColumn + + /** �992px Responsive columns or column props object */ + md: ResponsiveColumn + + /** �1200px Responsive columns or column props object */ + lg: ResponsiveColumn + + /** �1920px Responsive columns or column props object */ + xl: ResponsiveColumn + + /** custom element tag */ + tag: string +} diff --git a/PAMapp/local_modules/element-ui/types/collapse-item.d.ts b/PAMapp/local_modules/element-ui/types/collapse-item.d.ts new file mode 100644 index 0000000..f780dd7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/collapse-item.d.ts @@ -0,0 +1,26 @@ +import { VNode } from 'vue' +import { ElementUIComponent } from './component' + +export interface CollapseItemSlots { + /** Content of the collapse item */ + default: VNode[], + + /** Title of the collapse item */ + title: VNode[] + + [key: string]: VNode[] +} + +/** Collapse Item Component */ +export declare class ElCollapseItem extends ElementUIComponent { + /** Unique identification of the panel */ + name: string | number + + /** Title of the panel */ + title: string + + $slots: CollapseItemSlots + + /** Disable the collapse item */ + disabled: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/collapse.d.ts b/PAMapp/local_modules/element-ui/types/collapse.d.ts new file mode 100644 index 0000000..78af337 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/collapse.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Use Collapse to store contents. */ +export declare class ElCollapse extends ElementUIComponent { + /** Whether to activate accordion mode */ + accordion: boolean + + /** Currently active panel */ + value: string | number | string[] | number[] +} diff --git a/PAMapp/local_modules/element-ui/types/color-picker.d.ts b/PAMapp/local_modules/element-ui/types/color-picker.d.ts new file mode 100644 index 0000000..a3bc53c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/color-picker.d.ts @@ -0,0 +1,21 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +export type ColorFormat = 'hsl' | 'hsv' | 'hex' | 'rgb' + +/** ColorPicker Component */ +export declare class ElColorPicker extends ElementUIComponent { + /** Whether to display the alpha slider */ + showAlpha: boolean + + /** Whether to disable the ColorPicker */ + disabled: boolean + + /** Size of ColorPicker */ + size: ElementUIComponentSize + + /** Whether to display the alpha slider */ + popperClass: string + + /** Custom class name for ColorPicker's dropdown */ + colorFormat: ColorFormat +} diff --git a/PAMapp/local_modules/element-ui/types/component.d.ts b/PAMapp/local_modules/element-ui/types/component.d.ts new file mode 100644 index 0000000..61bf6bc --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/component.d.ts @@ -0,0 +1,13 @@ +import Vue from 'vue' + +/** ElementUI component common definition */ +export declare class ElementUIComponent extends Vue { + /** Install component into Vue */ + static install (vue: typeof Vue): void +} + +/** Component size definition for button, input, etc */ +export type ElementUIComponentSize = 'large' | 'medium' | 'small' | 'mini' + +/** Horizontal alignment */ +export type ElementUIHorizontalAlignment = 'left' | 'center' | 'right' diff --git a/PAMapp/local_modules/element-ui/types/container.d.ts b/PAMapp/local_modules/element-ui/types/container.d.ts new file mode 100644 index 0000000..b0fc5d5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/container.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Container Component */ +export declare class ElContainer extends ElementUIComponent { + /** Layout direction for child elements */ + direction: 'horizontal' | 'vertical' +} diff --git a/PAMapp/local_modules/element-ui/types/date-picker.d.ts b/PAMapp/local_modules/element-ui/types/date-picker.d.ts new file mode 100644 index 0000000..b4e9e6f --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/date-picker.d.ts @@ -0,0 +1,124 @@ +import { ElementUIComponent, ElementUIComponentSize, ElementUIHorizontalAlignment } from './component' + +export type DatePickerType = 'year' | 'month' | 'date' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'dates' +export type FirstDayOfWeek = 1 | 2 | 3 | 4 | 5 | 6 | 7 + +export interface DisabledDateChecker { + /** + * Determine if `date` will be disabled in the picker + * + * @param date The date to check + * @returns if `date` will be disabled in the picker + */ + (date: Date): boolean +} + +// Picked date range +export interface DateRange { + minDate: Date, + maxDate: Date +} + +export interface PickEventHandler { + /** + * Callback function that triggers when picks a date range + * + * @param dateRange The selected date range + */ + (dateRange: DateRange): void +} + +export interface ShortcutClickEventHandler { + /** + * Callback function that triggers when clicking on a shortcut. + * You can change the picker value by emitting the pick event. + * Example: `vm.$emit('pick', new Date())` + */ + (vm: ElDatePicker): void +} + +/** Shortcut options */ +export interface Shortcut { + /** Title of the shortcut */ + text: string, + + /** Callback function that triggers when picks a date range */ + onClick?: ShortcutClickEventHandler +} + +/** Options of el-date-picker */ +export interface DatePickerOptions { + /** An object array to set shortcut options */ + shortcuts?: Shortcut[] + + /** A function determining if a date is disabled. */ + disabledDate?: DisabledDateChecker + + /** First day of week */ + firstDayOfWeek?: FirstDayOfWeek + + /** A callback that triggers when the seleted date is changed. Only for daterange and datetimerange. */ + onPick?: PickEventHandler +} + +/** DatePicker Component */ +export declare class ElDatePicker extends ElementUIComponent { + /** The value of the date picker */ + value: Date | string | Date[] | string[] + + /** Whether DatePicker is read only */ + readonly: boolean + + /** Whether DatePicker is disabled */ + disabled: boolean + + /** Size of Input */ + size: ElementUIComponentSize + + /** Whether the input is editable */ + editable: boolean + + /** Whether to show clear button */ + clearable: boolean + + /** Placeholder */ + placeholder: string + + /** Placeholder for the start date in range mode */ + startPlaceholder: string + + /** Placeholder for the end date in range mode */ + endPlaceholder: string + + /** Type of the picker */ + type: DatePickerType + + /** Format of the picker */ + format: string + + /** Alignment */ + align: ElementUIHorizontalAlignment + + /** Custom class name for DatePicker's dropdown */ + popperClass: string + + /** Additional options, check the table below */ + pickerOptions: DatePickerOptions + + /** Range separator */ + rangeSeparator: string + + /** Default date of the calendar */ + defaultValue: Date | number | string + + /** Format of binding value. If not specified, the binding value will be a Date object */ + valueFormat: string + + /** name for the inner native input */ + name: string + + /** + * Focus the Input component + */ + focus (): void +} diff --git a/PAMapp/local_modules/element-ui/types/descriptions-item.d.ts b/PAMapp/local_modules/element-ui/types/descriptions-item.d.ts new file mode 100644 index 0000000..428dc4d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/descriptions-item.d.ts @@ -0,0 +1,37 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +interface ElDescriptionsItemSlots { + /* label slot: custom label */ + label: VNode[] + + /* default slot: custom content */ + default: VNode[] + + [key: string]: VNode[] +} + +/** description item. **/ +export declare class ElDescriptionsItem extends ElementUIComponent { + + /* label text */ + label: string + + /* the number of columns included */ + span: number + + /* custom label class name */ + labelClassName: string + + /* custom content class name */ + contentClassName: string + + /* custom label style */ + labelStyle: object + + /* custom content style */ + contentStyle: object + + $slots: ElDescriptionsItemSlots + +} diff --git a/PAMapp/local_modules/element-ui/types/descriptions.d.ts b/PAMapp/local_modules/element-ui/types/descriptions.d.ts new file mode 100644 index 0000000..5d24776 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/descriptions.d.ts @@ -0,0 +1,52 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +interface ElDescriptionsSlots { + /* title slot: custom title, display on the top left */ + title: VNode[] + + /* title slot: custom extra area, display on the top right */ + extra: VNode[] + + [key: string]: VNode[] +} + +/** Display multiple fields in list form. **/ +export declare class ElDescriptions extends ElementUIComponent { + + /* with or without border */ + border: boolean + + /* numbers of Descriptions Item in one line */ + column: number + + /* direction of list */ + direction: 'vertical' | 'horizontal' + + /* size of list */ + size: 'medium' | 'small' | 'mini' + + /* title text, display on the top left */ + title: string + + /* extra text, display on the top right */ + extra: string + + /* change default props colon value of Descriptions Item */ + colon: boolean + + /* custom label class name */ + labelClassName: string + + /* custom content class name */ + contentClassName: string + + /* custom label style */ + labelStyle: object + + /* custom content style */ + contentStyle: object + + $slots: ElDescriptionsSlots + +} diff --git a/PAMapp/local_modules/element-ui/types/dialog.d.ts b/PAMapp/local_modules/element-ui/types/dialog.d.ts new file mode 100644 index 0000000..f4e218d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/dialog.d.ts @@ -0,0 +1,62 @@ +import { VNode } from 'vue' +import { ElementUIComponent } from './component' + +export interface DialogSlots { + /** Content of the Dialog */ + default: VNode[], + + /** Content of the Dialog title */ + title: VNode[], + + /** Content of the Dialog footer */ + footer: VNode[], + + [key: string]: VNode[] +} + +/** Informs users while preserving the current page state */ +export declare class ElDialog extends ElementUIComponent { + /** Title of Dialog */ + title: string + + /** Width of Dialog */ + width: string + + /** Whether the Dialog takes up full screen */ + fullscreen: boolean + + /** Value for margin-top of Dialog CSS */ + top: string + + /** Whether a mask is displayed */ + modal: boolean + + /** Whether to append modal to body element. If false, the modal will be appended to Dialog's parent element */ + modalAppendToBody: boolean + + /** Whether scroll of body is disabled while Dialog is displayed */ + lockScroll: boolean + + /** Custom class names for Dialog */ + customClass: string + + /** Whether the Dialog can be closed by clicking the mask */ + closeOnClickModal: boolean + + /** Whether the Dialog can be closed by pressing ESC */ + closeOnPressEscape: boolean + + /** Whether to show a close button */ + showClose: boolean + + /** Callback before Dialog closes, and it will prevent Dialog from closing */ + beforeClose: (done: Function) => void + + /** Whether to align the header and footer in center */ + center: boolean + + /** Whether to destroy elements in Dialog when closed */ + destroyOnClose: boolean + + $slots: DialogSlots +} diff --git a/PAMapp/local_modules/element-ui/types/divider.d.ts b/PAMapp/local_modules/element-ui/types/divider.d.ts new file mode 100644 index 0000000..c7d969c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/divider.d.ts @@ -0,0 +1,12 @@ +import { ElementUIComponent } from './component' + +export type ContentPosition = 'left' | 'center' | 'right' + +/** Divider Component */ +export declare class ElDivider extends ElementUIComponent { + /** enable vertical divider */ + vertical: boolean + + /** customize the content on the divider line */ + posiiton: ContentPosition +} diff --git a/PAMapp/local_modules/element-ui/types/drawer.d.ts b/PAMapp/local_modules/element-ui/types/drawer.d.ts new file mode 100644 index 0000000..8d2d7f3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/drawer.d.ts @@ -0,0 +1,63 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +type hide = (shouldCancel: boolean) => void +declare enum Direction { + LTR = 'ltr', // left to right + RTL = 'rtl', // right to left + TTB = 'ttb', // top to bottom + BTT = 'btt' // bottom to top +} + +interface DrawerSlots { + /* Main Content Slots */ + default: VNode[]; + + /* Title Slots */ + title: VNode[]; + + [key: string]: VNode[] +} +/** Drawer Component */ +export declare class ElDrawer extends ElementUIComponent { + /* Equivalent to `Dialog`'s append to body attribute, when applying nested drawer, make sure this one is set to true */ + appendToBody: boolean + + /* Hook method called before close drawer, the first parameter is a function which should determine if the drawer should be closed */ + beforeClose: (done: hide) => void + + /** Whether the Drawer can be closed by pressing ESC */ + closeOnPressEscape: boolean + + /** Custom class names for Dialog */ + customClass: string + + /* Determine whether the wrapped children should be destroyed, if true, children's destroyed life cycle method will be called all local state will be destroyed */ + destroyOnClose: boolean + + /* Equivalent to `Dialog`'s modal attribute, determines whether the dark shadowing background should show */ + modal: boolean + + /* Equivalent to `Dialog`'s modal-append-to-body attribute, determines whether the shadowing background should be inserted direct to DocumentBody element */ + modalAppendToBody: boolean + + /* Attributes that controls the drawer's direction of display*/ + position: Direction + + /* Whether the close button should be rendered to control the drawer's visible state */ + showClose: boolean + + /* The size of the drawer component, supporting number with unit of pixel, string by percentage e.g. 30% */ + size: number | string + + /* The Drawer's title, also can be replaced by named slot `title` */ + title: string + + /* Whether the drawer component should show, also can be decorated by `.sync` */ + visible: boolean + + /* Flag attribute whi */ + wrapperClosable: boolean + + $slots: DrawerSlots +} diff --git a/PAMapp/local_modules/element-ui/types/dropdown-item.d.ts b/PAMapp/local_modules/element-ui/types/dropdown-item.d.ts new file mode 100644 index 0000000..7671424 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/dropdown-item.d.ts @@ -0,0 +1,16 @@ +import { ElementUIComponent } from './component' + +/** Toggleable menu for displaying lists of links and actions. */ +export declare class ElDropdownItem extends ElementUIComponent { + /** A command to be dispatched to Dropdown's command callback */ + command: string | number | object + + /** Whether the item is disabled */ + disabled: boolean + + /** Whether a divider is displayed */ + divided: boolean + + /** Icon to show on left side of text */ + icon: string +} diff --git a/PAMapp/local_modules/element-ui/types/dropdown-menu.d.ts b/PAMapp/local_modules/element-ui/types/dropdown-menu.d.ts new file mode 100644 index 0000000..74dc4b8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/dropdown-menu.d.ts @@ -0,0 +1,4 @@ +import { ElementUIComponent } from './component' + +/** Dropdown Menu Component */ +export declare class ElDropdownMenu extends ElementUIComponent {} diff --git a/PAMapp/local_modules/element-ui/types/dropdown.d.ts b/PAMapp/local_modules/element-ui/types/dropdown.d.ts new file mode 100644 index 0000000..664a6e8 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/dropdown.d.ts @@ -0,0 +1,38 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' +import { ButtonType } from './button' + +export type DropdownMenuAlignment = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' +export type DropdownMenuTrigger = 'hover' | 'click' + +/** Toggleable menu for displaying lists of links and actions */ +export declare class ElDropdown extends ElementUIComponent { + /** Menu button type. only works when split-button is true */ + type: ButtonType + + /** Whether a button group is displayed */ + splitButton: boolean + + /** menu size, also works on the split button */ + size: ElementUIComponentSize + + /** Placement of the menu */ + placement: DropdownMenuAlignment + + /** How to trigger */ + trigger: DropdownMenuTrigger + + /** Whether to hide menu after clicking menu-item */ + hideOnClick: boolean + + /** Delay time before show a dropdown */ + showTimeout: number + + /** Delay time before hide a dropdown */ + hideTimeout: number + + /** Dropdown tabindex */ + tabindex: number + + /** Whether Dropdown is disabled */ + disabled: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/element-ui.d.ts b/PAMapp/local_modules/element-ui/types/element-ui.d.ts new file mode 100644 index 0000000..62c4f2a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/element-ui.d.ts @@ -0,0 +1,382 @@ +import Vue, { PluginObject } from 'vue' +import { ElementUIComponent, ElementUIComponentSize, ElementUIHorizontalAlignment } from './component' + +import { ElAlert } from './alert' +import { ElAside } from './aside' +import { ElAutocomplete } from './autocomplete' +import { ElBadge } from './badge' +import { ElBreadcrumb } from './breadcrumb' +import { ElBreadcrumbItem } from './breadcrumb-item' +import { ElButton } from './button' +import { ElButtonGroup } from './button-group' +import { ElCard } from './card' +import { ElCarousel } from './carousel' +import { ElCarouselItem } from './carousel-item' +import { ElCascader } from './cascader' +import { ElCheckbox } from './checkbox' +import { ElCheckboxButton } from './checkbox-button' +import { ElCheckboxGroup } from './checkbox-group' +import { ElCol } from './col' +import { ElCollapse } from './collapse' +import { ElCollapseItem } from './collapse-item' +import { ElColorPicker } from './color-picker' +import { ElContainer } from './container' +import { ElDatePicker } from './date-picker' +import { ElDialog } from './dialog' +import { ElDropdown } from './dropdown' +import { ElDropdownItem } from './dropdown-item' +import { ElDropdownMenu } from './dropdown-menu' +import { ElFooter } from './footer' +import { ElForm } from './form' +import { ElFormItem } from './form-item' +import { ElHeader } from './header' +import { ElInput } from './input' +import { ElInputNumber } from './input-number' +import { ElLoading } from './loading' +import { ElMain } from './main' +import { ElMenu } from './menu' +import { ElMenuItem } from './menu-item' +import { ElMenuItemGroup } from './menu-item-group' +import { ElMessage } from './message' +import { ElMessageBox } from './message-box' +import { ElNotification } from './notification' +import { ElOption } from './option' +import { ElOptionGroup } from './option-group' +import { ElPagination } from './pagination' +import { ElPopover } from './popover' +import { ElProgress } from './progress' +import { ElRate } from './rate' +import { ElRadio } from './radio' +import { ElRadioButton } from './radio-button' +import { ElRadioGroup } from './radio-group' +import { ElRow } from './row' +import { ElSelect } from './select' +import { ElSlider } from './slider' +import { ElStep } from './step' +import { ElSteps } from './steps' +import { ElSubmenu } from './submenu' +import { ElSwitch } from './switch' +import { ElTable } from './table' +import { ElTableColumn } from './table-column' +import { ElTag } from './tag' +import { ElTabs } from './tabs' +import { ElTabPane } from './tab-pane' +import { ElTimeline } from './timeline' +import { ElTimelineItem } from './timeline-item' +import { ElTimePicker } from './time-picker' +import { ElTimeSelect } from './time-select' +import { ElTooltip } from './tooltip' +import { ElTransfer } from './transfer' +import { ElTree, TreeData } from './tree' +import { ElUpload } from './upload' +import { ElLink } from './link' +import { ElDivider } from './divider' +import { ElIcon } from './icon' +import { ElCalendar } from './calendar' +import { ElImage } from './image' +import { ElBacktop } from './backtop' +import { ElInfiniteScroll } from './infinite-scroll' +import { ElPageHeader } from './page-header' +import { ElAvatar } from './avatar' +import { ElDrawer } from './drawer' +import { ElPopconfirm } from './popconfirm' +import { ElSkeleton } from './skeleton' +import { ElSkeletonItem } from './skeleton-item' +import { ElCascaderPanel } from './cascader-panel' +import { ElEmpty } from './empty' +import { ElSpinner } from './spinner' +import { ElDescriptions } from './descriptions' +import { ElDescriptionsItem } from './descriptions-item' +import { ElResult } from './result' +import { ElStatistic } from './statistic' + +export interface InstallationOptions { + locale: any, + i18n: any, + size: string +} + +/** The version of element-ui */ +export const version: string + +/** + * Install all element-ui components into Vue. + * Please do not invoke this method directly. + * Call `Vue.use(ElementUI)` to install. + */ +export function install (vue: typeof Vue, options: InstallationOptions): void + +/** ElementUI component common definition */ +export type Component = ElementUIComponent + +/** Component size definition for button, input, etc */ +export type ComponentSize = ElementUIComponentSize + +/** Horizontal alignment */ +export type HorizontalAlignment = ElementUIHorizontalAlignment + +/** Show animation while loading data */ +export const Loading: ElLoading + +/** Used to show feedback after an activity. The difference with Notification is that the latter is often used to show a system level passive notification. */ +export const Message: ElMessage + +/** A set of modal boxes simulating system message box, mainly for message prompt, success tips, error messages and query information */ +export const MessageBox: ElMessageBox + +/** Displays a global notification message at the upper right corner of the page */ +export const Notification: ElNotification + +// TS cannot merge imported class with namespace, so declare subclasses instead + +/** Alert Component */ +export class Alert extends ElAlert {} + +/** Aside Component */ +export class Aside extends ElAside {} + +/** Autocomplete Component */ +export class Autocomplete extends ElAutocomplete {} + +/** Bagde Component */ +export class Badge extends ElBadge {} + +/** Breadcrumb Component */ +export class Breadcrumb extends ElBreadcrumb {} + +/** Breadcrumb Item Component */ +export class BreadcrumbItem extends ElBreadcrumbItem {} + +/** Button Component */ +export class Button extends ElButton {} + +/** Button Group Component */ +export class ButtonGroup extends ElButtonGroup {} + +/** Card Component */ +export class Card extends ElCard {} + +/** Cascader Component */ +export class Cascader extends ElCascader {} + +/** Carousel Component */ +export class Carousel extends ElCarousel {} + +/** Carousel Item Component */ +export class CarouselItem extends ElCarouselItem {} + +/** Checkbox Component */ +export class Checkbox extends ElCheckbox {} + +/** Checkbox Button Component */ +export class CheckboxButton extends ElCheckboxButton {} + +/** Checkbox Group Component */ +export class CheckboxGroup extends ElCheckboxGroup {} + +/** Colunm Layout Component */ +export class Col extends ElCol {} + +/** Collapse Component */ +export class Collapse extends ElCollapse {} + +/** Collapse Item Component */ +export class CollapseItem extends ElCollapseItem {} + +/** Color Picker Component */ +export class ColorPicker extends ElColorPicker {} + +/** Container Component */ +export class Container extends ElContainer {} + +/** Date Picker Component */ +export class DatePicker extends ElDatePicker {} + +/** Dialog Component */ +export class Dialog extends ElDialog {} + +/** Dropdown Component */ +export class Dropdown extends ElDropdown {} + +/** Dropdown Item Component */ +export class DropdownItem extends ElDropdownItem {} + +/** Dropdown Menu Component */ +export class DropdownMenu extends ElDropdownMenu {} + +/** Footer Component */ +export class Footer extends ElFooter {} + +/** Form Component */ +export class Form extends ElForm {} + +/** Form Item Component */ +export class FormItem extends ElFormItem {} + +/** Header Component */ +export class Header extends ElHeader {} + +/** Input Component */ +export class Input extends ElInput {} + +/** Input Number Component */ +export class InputNumber extends ElInputNumber {} + +/** Main Component */ +export class Main extends ElMain {} + +/** Menu that provides navigation for your website */ +export class Menu extends ElMenu {} + +/** Menu Item Component */ +export class MenuItem extends ElMenuItem {} + +/** Menu Item Group Component */ +export class MenuItemGroup extends ElMenuItemGroup {} + +/** Dropdown Select Option Component */ +export class Option extends ElOption {} + +/** Dropdown Select Option Group Component */ +export class OptionGroup extends ElOptionGroup {} + +/** Pagination Component */ +export class Pagination extends ElPagination {} + +/** Popover Component */ +export class Popover extends ElPopover {} + +/** Progress Component */ +export class Progress extends ElProgress {} + +/** Rate Component */ +export class Rate extends ElRate {} + +/** Radio Component */ +export class Radio extends ElRadio {} + +/** Radio Button Component */ +export class RadioButton extends ElRadioButton {} + +/** Radio Group Component */ +export class RadioGroup extends ElRadioGroup {} + +/** Row Layout Component */ +export class Row extends ElRow {} + +/** Dropdown Select Component */ +export class Select extends ElSelect {} + +/** Slider Component */ +export class Slider extends ElSlider {} + +/** Step Component */ +export class Step extends ElStep {} + +/** Steps Component */ +export class Steps extends ElSteps {} + +/** Submenu Component */ +export class Submenu extends ElSubmenu {} + +/** Switch Component */ +export class Switch extends ElSwitch {} + +/** Table Component */ +export class Table extends ElTable {} + +/** Table Column Component */ +export class TableColumn extends ElTableColumn {} + +/** Tabs Component */ +export class Tabs extends ElTabs {} + +/** Tab Pane Component */ +export class TabPane extends ElTabPane {} + +/** Tag Component */ +export class Tag extends ElTag {} + +/** Timeline Component */ +export class Timeline extends ElTimeline {} + +/** Timeline Item Component */ +export class TimelineItem extends ElTimelineItem {} + +/** TimePicker Component */ +export class TimePicker extends ElTimePicker {} + +/** TimeSelect Component */ +export class TimeSelect extends ElTimeSelect {} + +/** Tooltip Component */ +export class Tooltip extends ElTooltip {} + +/** Transfer Component */ +export class Transfer extends ElTransfer {} + +/** Tree Component */ +export class Tree<K = any, D = TreeData> extends ElTree<K, D> {} + +/** Upload Component */ +export class Upload extends ElUpload {} + +/** Divider Component */ +export class Divider extends ElDivider {} + +/** Link Component */ +export class Link extends ElLink {} + +/** Image Component */ +export class Image extends ElImage {} + +/** Icon Component */ +export class Icon extends ElIcon {} + +/** Calendar Component */ +export class Calendar extends ElCalendar {} + +/** Backtop Component */ +export class Backtop extends ElBacktop {} + +/** InfiniteScroll Directive */ +export const InfiniteScroll: PluginObject<ElInfiniteScroll>; + +/** PageHeader Component */ +export class PageHeader extends ElPageHeader {} + +/** Avatar Component */ +export class Avatar extends ElAvatar {} + +/** Drawer Component */ +export class Drawer extends ElDrawer {} + +/** Popconfirm Component */ +export class Popconfirm extends ElPopconfirm {} + +/** Skeleton Component */ +export class Skeleton extends ElSkeleton {} + +/** Skeleton Item Component */ +export class SkeletonItem extends ElSkeletonItem {} + +/** CascaderPanel Component */ +export class CascaderPanel extends ElCascaderPanel {} + +/** Empty Component */ +export class Empty extends ElEmpty {} + +/** Spinner Component */ +export class Spinner extends ElSpinner {} + +/** Description Component */ +export class Descriptions extends ElDescriptions {} + +/** Description Item Component */ +export class DescriptionsItem extends ElDescriptionsItem {} + +/** Result Component */ +export class Result extends ElResult {} + +/** Statistic Component */ +export class Statistic extends ElStatistic {} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/types/empty.d.ts b/PAMapp/local_modules/element-ui/types/empty.d.ts new file mode 100644 index 0000000..bdabbe6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/empty.d.ts @@ -0,0 +1,31 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +interface ELEmptySlots { + /* default slot: Custom bottom content */ + default: VNode[] + + /* image slot: Custom image */ + image: VNode[] + + /* description slot: Custom description */ + description: VNode[] + + + [key: string]: VNode[] +} + +/** Placeholder hints for empty states. */ +export declare class ElEmpty extends ElementUIComponent { + /* image URL */ + image: string + + /* image size (width) */ + imageSize: number + + /* description */ + description: string + + $slots: ELEmptySlots + +} diff --git a/PAMapp/local_modules/element-ui/types/footer.d.ts b/PAMapp/local_modules/element-ui/types/footer.d.ts new file mode 100644 index 0000000..16ea27d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/footer.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Footer Component */ +export declare class ElFooter extends ElementUIComponent { + /** Height of the footer */ + height: string +} diff --git a/PAMapp/local_modules/element-ui/types/form-item.d.ts b/PAMapp/local_modules/element-ui/types/form-item.d.ts new file mode 100644 index 0000000..fdbd68e --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/form-item.d.ts @@ -0,0 +1,37 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +/** FormItem Component */ +export declare class ElFormItem extends ElementUIComponent { + /** A key of `model` of the enclosing `el-form` component */ + prop: string + + /** Label */ + label: string + + /** Width of label, e.g. '50px' */ + labelWidth: string + + /** Whether the field is required or not, will be determined by validation rules if omitted */ + required: boolean + + /** Validation rules of form */ + rules: object + + /** Field error message, set its value and the field will validate error and show this message immediately */ + error: string + + /** Whether to show the error message */ + showMessage: boolean + + /** Whether to display the error message inline with the form item */ + inlineMessage: boolean + + /** Controls the size of components in this form */ + size: ElementUIComponentSize + + /** Reset current field and remove validation result */ + resetField (): void + + /** Remove validation status of the field */ + clearValidate (): void +} diff --git a/PAMapp/local_modules/element-ui/types/form.d.ts b/PAMapp/local_modules/element-ui/types/form.d.ts new file mode 100644 index 0000000..4b2b05a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/form.d.ts @@ -0,0 +1,82 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +export type FormItemLabelPosition = 'left' | 'right' | 'top' + +export interface ValidateCallback { + /** + * The callback to tell the validation result + * + * @param isValid Whether the form is valid + * @param invalidFields fields that fail validation + */ + (isValid: boolean, invalidFields: object): void +} + +export interface ValidateFieldCallback { + /** + * The callback to tell the field validation result + * + * @param errorMessage The error message. It will be empty if there is no error + */ + (errorMessage: string): void +} + +/** Form Component */ +export declare class ElForm extends ElementUIComponent { + /** Data of form component */ + model: object + + /** Validation rules of form */ + rules: object + + /** Whether the form is inline */ + inline: boolean + + /** Whether the form is disabled */ + disabled: boolean + + /** Position of label */ + labelPosition: FormItemLabelPosition + + /** Width of label, and all form items will inherit from Form */ + labelWidth: string + + /** Suffix of the label */ + labelSuffix: string + + /** Whether to show the error message */ + showMessage: boolean + + /** Whether to display the error message inline with the form item */ + inlineMessage: boolean + + /** Whether to display an icon indicating the validation result */ + statusIcon: boolean + + /** Whether to trigger validation when the `rules` prop is changed */ + validateOnRuleChange: boolean + + /** Controls the size of components in this form */ + size: ElementUIComponentSize + + /** + * Validate the whole form + * + * @param callback A callback to tell the validation result + */ + validate (callback: ValidateCallback): void + validate (): Promise<boolean> + /** + * Validate certain form items + * + * @param props The property of `model` or array of prop which is going to validate + * @param callback A callback to tell the field validation result + */ + validateField (props: string | string[], callback?: ValidateFieldCallback): void + + /** reset all the fields and remove validation result */ + resetFields (): void + + /** clear validation message for certain fields */ + clearValidate (props?: string | string[]): void +} diff --git a/PAMapp/local_modules/element-ui/types/header.d.ts b/PAMapp/local_modules/element-ui/types/header.d.ts new file mode 100644 index 0000000..bb63b82 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/header.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Header Component */ +export declare class ElHeader extends ElementUIComponent { + /** Height of the header */ + height: string +} diff --git a/PAMapp/local_modules/element-ui/types/icon.d.ts b/PAMapp/local_modules/element-ui/types/icon.d.ts new file mode 100644 index 0000000..ff3ed4d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/icon.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Icon Component */ +export declare class ElIcon extends ElementUIComponent { + /** Icon name */ + name: string +} diff --git a/PAMapp/local_modules/element-ui/types/image.d.ts b/PAMapp/local_modules/element-ui/types/image.d.ts new file mode 100644 index 0000000..8640e4b --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/image.d.ts @@ -0,0 +1,43 @@ +import { VNode } from 'vue' +import { ElementUIComponent } from './component' + +export type ObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' + +export interface ImageSlots { + /** Placeholder content when image hasn't loaded yet */ + placeholder: VNode[] + + /** Error content when error occurs to image load */ + error: VNode[] + + [key: string]: VNode[] +} + +/** Image Component */ +export declare class ElImage extends ElementUIComponent { + /** Image source */ + src: string + + /** Indicate how the image should be resized to fit its container, same as native 'object-fit' */ + fit: ObjectFit + + /** Whether to use lazy load */ + lazy: boolean + + /** Scroll container that to add scroll listener when using lazy load */ + scrollContainer: string | HTMLElement + + /** Native 'alt' attribute */ + alt: string + + /** Native 'referrerPolicy' attribute */ + referrerPolicy: string + + $slots: ImageSlots + + previewSrcList: string[] + + zIndex: number + + initialIndex: number +} diff --git a/PAMapp/local_modules/element-ui/types/index.d.ts b/PAMapp/local_modules/element-ui/types/index.d.ts new file mode 100644 index 0000000..b02a041 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/index.d.ts @@ -0,0 +1,4 @@ +export * from './element-ui' + +import * as ElementUI from './element-ui' +export default ElementUI diff --git a/PAMapp/local_modules/element-ui/types/infinite-scroll.d.ts b/PAMapp/local_modules/element-ui/types/infinite-scroll.d.ts new file mode 100644 index 0000000..4fbeb3d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/infinite-scroll.d.ts @@ -0,0 +1,6 @@ +import { VNodeDirective } from 'vue' + +export interface ElInfiniteScroll extends VNodeDirective { + name: 'infinite-scroll', + value: Function +} \ No newline at end of file diff --git a/PAMapp/local_modules/element-ui/types/input-number.d.ts b/PAMapp/local_modules/element-ui/types/input-number.d.ts new file mode 100644 index 0000000..76288ff --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/input-number.d.ts @@ -0,0 +1,47 @@ +import { ElementUIComponent } from './component' + +export type InputNumberSize = 'large' | 'small' + +/** InputNumber Component */ +export declare class ElInputNumber extends ElementUIComponent { + /** Binding value */ + value: number + + /** The minimum allowed value */ + min: number + + /** The maximum allowed value */ + max: number + + /** Incremental step */ + step: number + + /** Size of the component */ + size: InputNumberSize + + /** Whether the component is disabled */ + disabled: boolean + + /** Whether to enable the control buttons */ + controls: boolean + + /** Debounce delay when typing, in milliseconds */ + debounce: number + + /** Position of the control buttons */ + controlsPosition: string + + /** Same as name in native input */ + name: string + + /** Precision of input value */ + precision: number + + /** whether input value can only be multiple of step */ + stepStrictly: boolean + + /** + * Focus the Input component + */ + focus (): void +} diff --git a/PAMapp/local_modules/element-ui/types/input.d.ts b/PAMapp/local_modules/element-ui/types/input.d.ts new file mode 100644 index 0000000..a67ef88 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/input.d.ts @@ -0,0 +1,107 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +/** The resizability of el-input component */ +export type Resizability = 'none' | 'both' | 'horizontal' | 'vertical' +export type InputType = 'text' | 'textarea' + +/** Controls how el-input component automatically sets size */ +export interface AutoSize { + /** Minimum rows to show */ + minRows: number, + + /** Maximum rows to show */ + maxRows: number +} + +/** Input Component */ +export declare class ElInput extends ElementUIComponent { + /** Type of input */ + type: InputType + + /** Binding value */ + value: string | number + + /** Maximum Input text length */ + maxlength: number + + /** Minimum Input text length */ + minlength: number + + /** Placeholder of Input */ + placeholder: string + + /** Whether Input is disabled */ + disabled: boolean + + /** Size of Input, works when type is not 'textarea' */ + size: ElementUIComponentSize + + /** Prefix icon class */ + prefixIcon: string + + /** Suffix icon class */ + suffixIcon: string + + /** Number of rows of textarea, only works when type is 'textarea' */ + rows: number + + /** Whether textarea has an adaptive height, only works when type is 'textarea' */ + autosize: boolean | AutoSize + + /** @Deprecated in next major version */ + autoComplete: string + + /** Same as autocomplete in native input */ + autocomplete: string + + /** Same as name in native input */ + name: string + + /** Same as readonly in native input */ + readonly: boolean + + /** Same as max in native input */ + max: any + + /** Same as min in native input */ + min: any + + /** Same as step in native input */ + step: any + + /** Control the resizability */ + resize: Resizability + + /** Same as autofocus in native input */ + autofocus: boolean + + /** Same as form in native input */ + form: string + + /** Whether to trigger form validatio */ + validateEvent: boolean + + /** Whether the input is clearable */ + clearable: boolean + + /** Whether to show password */ + showPassword: boolean + + /** Whether to show wordCount when setting maxLength */ + showWordLimit: boolean + + /** + * Focus the Input component + */ + focus (): void + + /** + * Blur the Input component + */ + blur (): void + + /** + * Select the text in input element + */ + select (): void +} diff --git a/PAMapp/local_modules/element-ui/types/link.d.ts b/PAMapp/local_modules/element-ui/types/link.d.ts new file mode 100644 index 0000000..c7ed7dd --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/link.d.ts @@ -0,0 +1,25 @@ +import { ElementUIComponent } from './component' + +/** Button type */ +export type LinkType = 'primary' | 'success' | 'warning' | 'danger' | 'info' + +/** Link Component */ +export declare class ElLink extends ElementUIComponent { + /** Link type */ + type: LinkType + + /** Disable the link */ + disabled: boolean + + /** Link underline */ + underline: boolean + + /** Link icon, accepts an icon name of Element icon component */ + icon: string + + /** Link href */ + href: string + + /** Link target */ + target: string +} diff --git a/PAMapp/local_modules/element-ui/types/loading.d.ts b/PAMapp/local_modules/element-ui/types/loading.d.ts new file mode 100644 index 0000000..45c1b98 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/loading.d.ts @@ -0,0 +1,62 @@ +import Vue, { VNodeDirective, PluginObject } from 'vue' + +/** Options used in Loading service */ +export interface LoadingServiceOptions { + /** The DOM node Loading needs to cover. Accepts a DOM object or a string. If it's a string, it will be passed to `document.querySelector` to get the corresponding DOM node */ + target?: HTMLElement | string + + /** Whether to make the mask append to the body element */ + body?: boolean + + /** Whether to show the loading mask in fullscreen */ + fullscreen?: boolean + + /** Whether to disable scrolling on body */ + lock?: boolean + + /** Loading text that displays under the spinner */ + text?: string + + /** Class name of the custom spinner */ + spinner?: string + + /** Background color of the mask */ + background?: string + + /** Custom class name for Loading */ + customClass?: string +} + +/** Loading Component */ +export declare class ElLoadingComponent extends Vue { + /** Close the Loading instance */ + close (): void +} + +/** Loading directive definition */ +export interface ElLoadingDirective extends VNodeDirective { + name: 'loading', + value: boolean, + modifiers: { + body: boolean, + fullscreen: boolean + } +} + +/** Show animation while loading data */ +export interface ElLoading { + /** Install Loading directive into Vue */ + install (vue: typeof Vue): void + + /** If you do not have a specific DOM node to attach the Loading directive, or if you simply prefer not to use Loading as a directive, you can call this service with some configs to open a Loading instance. */ + service (options: LoadingServiceOptions): ElLoadingComponent + + directive: PluginObject<never> +} + +declare module 'vue/types/vue' { + interface Vue { + /** If you do not have a specific DOM node to attach the Loading directive, or if you simply prefer not to use Loading as a directive, you can call this service with some configs to open a Loading instance. */ + $loading (options: LoadingServiceOptions): ElLoadingComponent + } +} diff --git a/PAMapp/local_modules/element-ui/types/main.d.ts b/PAMapp/local_modules/element-ui/types/main.d.ts new file mode 100644 index 0000000..5b16bbc --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/main.d.ts @@ -0,0 +1,4 @@ +import { ElementUIComponent } from './component' + +/** Main Component */ +export declare class ElMain extends ElementUIComponent {} diff --git a/PAMapp/local_modules/element-ui/types/menu-item-group.d.ts b/PAMapp/local_modules/element-ui/types/menu-item-group.d.ts new file mode 100644 index 0000000..cbdaa1a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/menu-item-group.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Menu Item Group Component */ +export declare class ElMenuItemGroup extends ElementUIComponent { + /** Group title */ + title: string +} diff --git a/PAMapp/local_modules/element-ui/types/menu-item.d.ts b/PAMapp/local_modules/element-ui/types/menu-item.d.ts new file mode 100644 index 0000000..30d3db5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/menu-item.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Menu Item Component */ +export declare class ElMenuItem extends ElementUIComponent { + /** Unique identification */ + index: string + + /** Vue Router object */ + route: object +} diff --git a/PAMapp/local_modules/element-ui/types/menu.d.ts b/PAMapp/local_modules/element-ui/types/menu.d.ts new file mode 100644 index 0000000..0f04d24 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/menu.d.ts @@ -0,0 +1,46 @@ +import { ElementUIComponent } from './component' + +export type MenuDisplayMode = 'horizontal' | 'vertical' +export type MenuTheme = 'light' | 'dark' + +/** Menu that provides navigation for your website */ +export declare class ElMenu extends ElementUIComponent { + /** Menu display mode */ + mode: MenuDisplayMode + + /** Whether the menu is collapsed (available only in vertical mode) */ + collapse: boolean + + /** Background color of Menu (hex format) */ + backgroundColor: string + + /** Text color of Menu (hex format) */ + textColor: string + + /** Text color of currently active menu item (hex format) */ + activeTextColor: string + + /** Index of currently active menu */ + defaultActive: string + + /** Array that contains keys of currently active sub-menus */ + defaultOpeneds: string[] + + /** Whether only one sub-menu can be active */ + uniqueOpened: boolean + + /** How sub-menus are triggered, only works when mode is 'horizontal' */ + menuTrigger: string + + /** Whether vue-router mode is activated. If true, index will be used as 'path' to activate the route action */ + router: boolean + + /** Whether the menu collapse transition is active */ + collapseTransition: boolean + + /** Open the specified sub-menu */ + open (index: string): void + + /** Close the specified sub-menu */ + close (index: string): void +} diff --git a/PAMapp/local_modules/element-ui/types/message-box.d.ts b/PAMapp/local_modules/element-ui/types/message-box.d.ts new file mode 100644 index 0000000..c3acc3e --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/message-box.d.ts @@ -0,0 +1,176 @@ +import Vue, { VNode } from 'vue' +import { MessageType } from './message' + +export type MessageBoxCloseAction = 'confirm' | 'cancel' | 'close' +export type MessageBoxData = MessageBoxInputData | MessageBoxCloseAction + +export interface MessageBoxInputData { + value: string, + action: MessageBoxCloseAction +} + +export interface MessageBoxInputValidator { + (value: string): boolean | string +} + +export declare class ElMessageBoxComponent extends Vue { + title: string + message: string + type: MessageType + iconClass: string + customClass: string + showInput: boolean + showClose: boolean + inputValue: string + inputPlaceholder: string + inputType: string + inputPattern: RegExp + inputValidator: MessageBoxInputValidator + inputErrorMessage: string + showConfirmButton: boolean + showCancelButton: boolean + action: MessageBoxCloseAction + dangerouslyUseHTMLString: boolean + confirmButtonText: string + cancelButtonText: string + confirmButtonLoading: boolean + cancelButtonLoading: boolean + confirmButtonClass: string + confirmButtonDisabled: boolean + cancelButtonClass: string + editorErrorMessage: string +} + +/** Options used in MessageBox */ +export interface ElMessageBoxOptions { + /** Title of the MessageBox */ + title?: string + + /** Content of the MessageBox */ + message?: string | VNode + + /** Message type, used for icon display */ + type?: MessageType + + /** Custom icon's class */ + iconClass?: string + + /** Custom class name for MessageBox */ + customClass?: string + + /** MessageBox closing callback if you don't prefer Promise */ + callback?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent) => void + + /** Callback before MessageBox closes, and it will prevent MessageBox from closing */ + beforeClose?: (action: MessageBoxCloseAction, instance: ElMessageBoxComponent, done: (() => void)) => void + + /** Whether to lock body scroll when MessageBox prompts */ + lockScroll?: boolean + + /** Whether to show a cancel button */ + showCancelButton?: boolean + + /** Whether to show a confirm button */ + showConfirmButton?: boolean + + /** Whether to show a close button */ + showClose?: boolean + + /** Text content of cancel button */ + cancelButtonText?: string + + /** Text content of confirm button */ + confirmButtonText?: string + + /** Custom class name of cancel button */ + cancelButtonClass?: string + + /** Custom class name of confirm button */ + confirmButtonClass?: string + + /** Whether to align the content in center */ + center?: boolean + + /** Whether message is treated as HTML string */ + dangerouslyUseHTMLString?: boolean + + /** Whether to use round button */ + roundButton?: boolean + + /** Whether MessageBox can be closed by clicking the mask */ + closeOnClickModal?: boolean + + /** Whether MessageBox can be closed by pressing the ESC */ + closeOnPressEscape?: boolean + + /** Whether to close MessageBox when hash changes */ + closeOnHashChange?: boolean + + /** Whether to show an input */ + showInput?: boolean + + /** Placeholder of input */ + inputPlaceholder?: string + + /** Initial value of input */ + inputValue?: string + + /** Regexp for the input */ + inputPattern?: RegExp + + /** Input Type: text, textArea, password or number */ + inputType?: string + + /** Validation function for the input. Should returns a boolean or string. If a string is returned, it will be assigned to inputErrorMessage */ + inputValidator?: MessageBoxInputValidator + + /** Error message when validation fails */ + inputErrorMessage?: string + + /** Whether to distinguish canceling and closing */ + distinguishCancelAndClose?: boolean +} + +export interface ElMessageBoxShortcutMethod { + (message: string, title: string, options?: ElMessageBoxOptions): Promise<MessageBoxData> + (message: string, options?: ElMessageBoxOptions): Promise<MessageBoxData> +} + +export interface ElMessageBox { + /** Show a message box */ + (message: string, title?: string, type?: string): Promise<MessageBoxData> + + /** Show a message box */ + (options: ElMessageBoxOptions): Promise<MessageBoxData> + + /** Show an alert message box */ + alert: ElMessageBoxShortcutMethod + + /** Show a confirm message box */ + confirm: ElMessageBoxShortcutMethod + + /** Show a prompt message box */ + prompt: ElMessageBoxShortcutMethod + + /** Set default options of message boxes */ + setDefaults (defaults: ElMessageBoxOptions): void + + /** Close current message box */ + close (): void +} + +declare module 'vue/types/vue' { + interface Vue { + /** Show a message box */ + $msgbox: ElMessageBox + + /** Show an alert message box */ + $alert: ElMessageBoxShortcutMethod + + /** Show a confirm message box */ + $confirm: ElMessageBoxShortcutMethod + + /** Show a prompt message box */ + $prompt: ElMessageBoxShortcutMethod + } +} diff --git a/PAMapp/local_modules/element-ui/types/message.d.ts b/PAMapp/local_modules/element-ui/types/message.d.ts new file mode 100644 index 0000000..6302327 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/message.d.ts @@ -0,0 +1,90 @@ +import Vue, {VNode} from 'vue' + +export type MessageType = 'success' | 'warning' | 'info' | 'error' + +/** Message Component */ +export declare class ElMessageComponent extends Vue { + /** Close the Loading instance */ + close (): void +} + +export interface CloseEventHandler { + /** + * Triggers when a message is being closed + * + * @param instance The message component that is being closed + */ + (instance: ElMessageComponent): void +} + +/** Options used in Message */ +export interface ElMessageOptions { + /** Message text */ + message: string | VNode + + /** Message type */ + type?: MessageType + + /** Custom icon's class, overrides type */ + iconClass?: string + + /** Custom class name for Message */ + customClass?: string + + /** Display duration, millisecond. If set to 0, it will not turn off automatically */ + duration?: number + + /** Whether to show a close button */ + showClose?: boolean + + /** Whether to center the text */ + center?: boolean + + /** Whether message is treated as HTML string */ + dangerouslyUseHTMLString?: boolean + + /** Callback function when closed with the message instance as the parameter */ + onClose?: CloseEventHandler + + /** Set the distance to the top of viewport. Default is 20 px. */ + offset?: number +} + +export interface ElMessage { + /** Show an info message */ + (text: string): ElMessageComponent + + /** Show message */ + (options: ElMessageOptions): ElMessageComponent + + /** Show a success message */ + success (text: string): ElMessageComponent + + /** Show a success message with options */ + success (options: ElMessageOptions): ElMessageComponent + + /** Show a warning message */ + warning (text: string): ElMessageComponent + + /** Show a warning message with options */ + warning (options: ElMessageOptions): ElMessageComponent + + /** Show an info message */ + info (text: string): ElMessageComponent + + /** Show an info message with options */ + info (options: ElMessageOptions): ElMessageComponent + + /** Show an error message */ + error (text: string): ElMessageComponent + + /** Show an error message with options */ + error (options: ElMessageOptions): ElMessageComponent +} + +declare module 'vue/types/vue' { + interface Vue { + /** Used to show feedback after an activity. The difference with Notification is that the latter is often used to show a system level passive notification. */ + $message: ElMessage + } +} diff --git a/PAMapp/local_modules/element-ui/types/notification.d.ts b/PAMapp/local_modules/element-ui/types/notification.d.ts new file mode 100644 index 0000000..a2cf871 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/notification.d.ts @@ -0,0 +1,84 @@ +import Vue, { VNode } from 'vue' +import { MessageType } from './message' + +export type NotificationPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' + +/** Notification Component */ +export declare class ElNotificationComponent extends Vue { + /** Close the Notification instance */ + close (): void +} + +export interface ElNotificationOptions { + /** Title */ + title: string + + /** Description text */ + message: string | VNode + + /** Notification type */ + type?: MessageType + + /** Custom icon's class. It will be overridden by type */ + iconClass?: string + + /** Custom class name for Notification */ + customClass?: string + + /** Duration before close. It will not automatically close if set 0 */ + duration?: number + + /** Whether to show a close button */ + showClose?: boolean + + /** Whether message is treated as HTML string */ + dangerouslyUseHTMLString?: boolean + + /** Callback function when closed */ + onClose?: () => void + + /** Callback function when notification clicked */ + onClick?: () => void + + /** Offset from the top edge of the screen. Every Notification instance of the same moment should have the same offset */ + offset?: number + + /** custom position */ + position?: NotificationPosition +} + +export interface ElNotification { + /** Show a notification */ + (options: ElNotificationOptions): ElNotificationComponent + + /** Show a success notification */ + success (message: string | VNode): ElNotificationComponent + + /** Show a success notification */ + success (options: ElNotificationOptions): ElNotificationComponent + + /** Show a warning notification */ + warning (message: string | VNode): ElNotificationComponent + + /** Show a warning notification */ + warning (options: ElNotificationOptions): ElNotificationComponent + + /** Show an info notification */ + info (message: string | VNode): ElNotificationComponent + + /** Show an info notification */ + info (options: ElNotificationOptions): ElNotificationComponent + + /** Show an error notification */ + error (message: string | VNode): ElNotificationComponent + + /** Show an error notification */ + error (options: ElNotificationOptions): ElNotificationComponent +} + +declare module 'vue/types/vue' { + interface Vue { + /** Displays a global notification message at the upper right corner of the page */ + $notify: ElNotification + } +} diff --git a/PAMapp/local_modules/element-ui/types/option-group.d.ts b/PAMapp/local_modules/element-ui/types/option-group.d.ts new file mode 100644 index 0000000..1530965 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/option-group.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** Dropdown Select Option Group Component */ +export declare class ElOptionGroup extends ElementUIComponent { + /** Name of the group */ + label: string + + /** Whether to disable all options in this group */ + disabled: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/option.d.ts b/PAMapp/local_modules/element-ui/types/option.d.ts new file mode 100644 index 0000000..d949a54 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/option.d.ts @@ -0,0 +1,13 @@ +import { ElementUIComponent } from './component' + +/** Dropdown Select Option Component */ +export declare class ElOption extends ElementUIComponent { + /** Value of option */ + value: any + + /** Label of option, same as value if omitted */ + label: string + + /** Whether option is disabled */ + disabled: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/page-header.d.ts b/PAMapp/local_modules/element-ui/types/page-header.d.ts new file mode 100644 index 0000000..2831983 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/page-header.d.ts @@ -0,0 +1,10 @@ +import { ElementUIComponent } from './component' + +/** PageHeader Component */ +export declare class ElPageHeader extends ElementUIComponent { + /** title */ + title: String + + /** content */ + content: String +} diff --git a/PAMapp/local_modules/element-ui/types/pagination.d.ts b/PAMapp/local_modules/element-ui/types/pagination.d.ts new file mode 100644 index 0000000..61f0baa --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/pagination.d.ts @@ -0,0 +1,43 @@ +import { ElementUIComponent } from './component' + +/** Pagination Component */ +export declare class ElPagination extends ElementUIComponent { + /** Whether to use small pagination */ + small: boolean + + /** Item count of each page */ + pageSize: number + + /** Total item count */ + total: number + + /** Total page count. Set either total or page-count and pages will be displayed; if you need page-sizes, total is required */ + pageCount: number + + /** Number of pagers */ + pagerCount: number + + /** Current page number */ + currentPage: number + + /** + * Layout of Pagination. Elements separated with a comma. + * Accepted values: `sizes`, `prev`, `pager`, `next`, `jumper`, `->`, `total`, `slot` + */ + layout: string + + /** Options of item count per page */ + pageSizes: number[] + + /** Custom class name for the page size Select's dropdown */ + popperClass: string + + /** Text for the prev button */ + prevText: string + + /** Text for the prev button */ + nextText: string + + /** Whether to hide when thers's only one page */ + hideOnSinglePage: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/popconfirm.d.ts b/PAMapp/local_modules/element-ui/types/popconfirm.d.ts new file mode 100644 index 0000000..b3bee53 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/popconfirm.d.ts @@ -0,0 +1,29 @@ +import { ElementUIComponent } from './component' +import { ElPopover } from './popover' + +/** Popconfirm Component */ +export declare class ElPopconfirm extends ElPopover { + /** Popconfirm title */ + title: string + + /** Popconfirm ok text */ + confirmButtonText: string + + /** Popconfirm cancel text */ + cancelButtonText: string + + /** Popconfirm ok type */ + confirmButtonType: string + + /** Popconfirm cancal type */ + cancelButtonType: string + + /** Popconfirm icon */ + icon: string + + /** Popconfirm icon color */ + iconColor: string + + /** Popconfirm hide icon */ + hideIcon: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/popover.d.ts b/PAMapp/local_modules/element-ui/types/popover.d.ts new file mode 100644 index 0000000..5ad4812 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/popover.d.ts @@ -0,0 +1,71 @@ +import { VNode, VNodeDirective } from 'vue' +import { ElementUIComponent } from './component' + +export type PopoverTrigger = 'click' | 'focus' | 'hover' | 'manual' +export type PopoverPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end' + +export interface PopoverSlots { + /** Content of popover */ + default: VNode[], + + /** HTML element that triggers popover */ + reference: VNode[] + + [key: string]: VNode[] +} + +/** Popover directive definition */ +export interface ElPopoverDirective extends VNodeDirective { + name: 'popover', + arg: string +} + +/** Popover Component */ +export declare class ElPopover extends ElementUIComponent { + /** How the popover is triggered */ + trigger: PopoverTrigger + + /** Popover title */ + title: string + + /** Popover content, can be replaced with a default slot */ + content: string + + /** Popover width */ + width: string | number + + /** Popover placement */ + placement: PopoverPlacement + + /** Whether Popover is disabled */ + disabled: boolean + + /** Whether popover is visible */ + value: boolean + + /** Popover offset */ + offset: number + + /** Popover transition animation */ + transition: string + + /** Whether a tooltip arrow is displayed or not. For more info, please refer to Vue-popper */ + visibleArrow: boolean + + /** Parameters for popper.js */ + popperOptions: object + + /** Custom class name for popover */ + popperClass: string + + /** Delay before appearing when trigger is hover, in milliseconds */ + openDelay: number + + /** Delay before disappearing when trigger is hover, in milliseconds */ + closeDelay: number + + /** Popover tabindex */ + tabindex: number + + $slots: PopoverSlots +} diff --git a/PAMapp/local_modules/element-ui/types/progress.d.ts b/PAMapp/local_modules/element-ui/types/progress.d.ts new file mode 100644 index 0000000..780a8d4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/progress.d.ts @@ -0,0 +1,37 @@ +import { ElementUIComponent } from './component' + +export type ProgressType = 'line' | 'circle' +export type ProgressStatus = 'success' | 'exception' + +/** Progress Component */ +export declare class ElProgress extends ElementUIComponent { + /** Percentage, required */ + percentage: number + + /** The type of progress bar */ + type: ProgressType + + /** The width of progress bar */ + strokeWidth: number + + /** Circle progress bar stroke line cap */ + strokeLinecap: string + + /** Whether to place the percentage inside progress bar, only works when type is 'line' */ + textInside: boolean + + /** The current status of progress bar */ + status: ProgressStatus + + /** Background color of progress bar. Overrides `status` prop */ + color: string | Function | Array<string | { color: string, percentage: number }> + + /** The canvas width of circle progress bar */ + width: number + + /** Whether to show percentage */ + showText: boolean + + /** Template function of the content */ + format(percentage: number): string +} diff --git a/PAMapp/local_modules/element-ui/types/radio-button.d.ts b/PAMapp/local_modules/element-ui/types/radio-button.d.ts new file mode 100644 index 0000000..0b7df8a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/radio-button.d.ts @@ -0,0 +1,16 @@ +import { ElementUIComponent } from './component' + +/** Radio Button Component */ +export declare class ElRadioButton extends ElementUIComponent { + /** The form input value */ + value: string + + /** The value of radio */ + label: string | number + + /** Whether radio is disabled */ + disabled: boolean + + /** Native 'name' attribute */ + name: string +} diff --git a/PAMapp/local_modules/element-ui/types/radio-group.d.ts b/PAMapp/local_modules/element-ui/types/radio-group.d.ts new file mode 100644 index 0000000..f61144b --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/radio-group.d.ts @@ -0,0 +1,18 @@ +import { ElementUIComponent } from './component' + +export type RadioGroupSize = 'large' | 'small' + +/** Radio Group Component */ +export declare class ElRadioGroup extends ElementUIComponent { + /** The size of radio buttons */ + size: RadioGroupSize + + /** Border and background color when button is active */ + fill: string + + /** Whether the nesting radios are disabled */ + disabled: boolean + + /** Font color when button is active */ + textColor: string +} diff --git a/PAMapp/local_modules/element-ui/types/radio.d.ts b/PAMapp/local_modules/element-ui/types/radio.d.ts new file mode 100644 index 0000000..22826ea --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/radio.d.ts @@ -0,0 +1,19 @@ +import { ElementUIComponent } from './component' + +/** Radio Component */ +export declare class ElRadio extends ElementUIComponent { + /** The form input value */ + value: string + + /** The value of radio */ + label: string | number | boolean + + /** Whether radio is disabled */ + disabled: boolean + + /** Whether to add a border around Radio */ + border: boolean + + /** Native 'name' attribute */ + name: string +} diff --git a/PAMapp/local_modules/element-ui/types/rate.d.ts b/PAMapp/local_modules/element-ui/types/rate.d.ts new file mode 100644 index 0000000..ca655f5 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/rate.d.ts @@ -0,0 +1,64 @@ +import { ElementUIComponent } from './component' + +interface Option { + value: string, + excluded?: boolean +} + +interface Options { + [threshold: number]: string | Option +} + +export type RateColors = Options +export type RateIconClasses = Options + +/** Rate Component */ +export declare class ElRate extends ElementUIComponent { + /** Max rating score */ + max: number + + /** Whether Rate is read-only */ + disabled: boolean + + /** Whether picking half start is allowed */ + allowHalf: boolean + + /** Threshold value between low and medium level. The value itself will be included in low level */ + lowThreshold: number + + /** Threshold value between medium and high level. The value itself will be included in high level */ + highThreshold: number + + /** Colors for icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding color */ + colors: string[] | RateColors + + /** Color of unselected icons */ + voidColor: string + + /** Color of unselected read-only icons */ + disabledVoidColor: string + + /** Class names of icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding class name */ + iconClasses: string[] | RateIconClasses + + /** Class name of unselected icons */ + voidIconClass: string + + /** Class name of unselected read-only icons */ + disabledVoidIconClass: string + + /** Whether to display texts */ + showText: boolean + + /** Whether to display current score. show-score and show-text cannot be true at the same time */ + showScore: boolean + + /** Color of texts */ + textColor: string + + /** Text array */ + texts: string[] + + /** Text template when the component is read-only */ + scoreTemplate: string +} diff --git a/PAMapp/local_modules/element-ui/types/result.d.ts b/PAMapp/local_modules/element-ui/types/result.d.ts new file mode 100644 index 0000000..dc56f14 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/result.d.ts @@ -0,0 +1,33 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +interface ElResultSlots { + /* title slot: custom title */ + title: VNode[] + + /* icon slot: custom icon */ + icon: VNode[] + + /* subTitle slot: custom sub title */ + subTitle: VNode[] + + /* extra slot: custom extra area, display on the top right */ + extra: VNode[] + + [key: string]: VNode[] +} + +/** Used to give feedback on the result of user's operation or access exception. **/ +export declare class ElResult extends ElementUIComponent { + + /* title */ + title: string + + /* sub title */ + subTitle: string + + /* icon type */ + icon: 'success' | 'warning' | 'info' | 'error' + + $slots: ElResultSlots +} diff --git a/PAMapp/local_modules/element-ui/types/row.d.ts b/PAMapp/local_modules/element-ui/types/row.d.ts new file mode 100644 index 0000000..4769de7 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/row.d.ts @@ -0,0 +1,25 @@ +import { ElementUIComponent } from './component' + +/** Horizontal alignment of flex layout */ +export type HorizontalAlignment = 'start' | 'end' | 'center' | 'space-around' | 'space-between' + +/** vertical alignment of flex layout */ +export type VertialAlignment = 'top' | 'middle' | 'bottom' + +/** Row Layout Component */ +export declare class ElRow extends ElementUIComponent { + /** Grid spacing */ + gutter: number + + /** Layout mode. You can use flex. Works in modern browsers */ + type: string + + /** Horizontal alignment of flex layout */ + justify: HorizontalAlignment + + /** Vertical alignment of flex layout */ + align: VertialAlignment + + /** Custom element tag */ + tag: string +} diff --git a/PAMapp/local_modules/element-ui/types/select.d.ts b/PAMapp/local_modules/element-ui/types/select.d.ts new file mode 100644 index 0000000..110835e --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/select.d.ts @@ -0,0 +1,90 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +export interface QueryChangeHandler { + /** + * @param queryString Current value of the text input + */ + (queryString: string): void +} + +/** Dropdown Select Component */ +export declare class ElSelect extends ElementUIComponent { + /** The form input value */ + value: any + + /** Whether multiple-select is activated */ + multiple: boolean + + /** Whether Select is disabled */ + disabled: boolean + + /** Unique identity key name for value, required when value is an object */ + valueKey: string + + /** Size of Input */ + size: ElementUIComponentSize + + /** Whether single select can be cleared */ + clearable: boolean + + /** Maximum number of options user can select when multiple is true. No limit when set to 0 */ + multipleLimit: number + + /** @Deprecated in next major version */ + autoComplete: string + + /** Same as autocomplete in native input */ + autocomplete: string + + /** The name attribute of select input */ + name: string + + /** Placeholder */ + placeholder: string + + /** Whether Select is filterable */ + filterable: boolean + + /** Whether creating new items is allowed. To use this, filterable must be true */ + allowCreate: boolean + + /** Custom filter method */ + filterMethod: QueryChangeHandler + + /** Whether options are loaded from server */ + remote: boolean + + /** Custom remote search method */ + remoteMethod: QueryChangeHandler + + /** Whether Select is loading data from server */ + loading: boolean + + /** Displayed text while loading data from server */ + loadingText: string + + /** Displayed text when no data matches the filtering query */ + noMatchText: string + + /** Displayed text when there is no options */ + noDataText: string + + /** Custom class name for Select's dropdown */ + popperClass: string + + /** Select first matching option on enter key. Use with filterable or remote */ + defaultFirstOption: boolean + + /** Whether to append the popper menu to body */ + popperAppendToBody: boolean + + /** + * Focus the Input component + */ + focus (): void + + /** + * Blur the Input component, and hide the dropdown + */ + blur (): void +} diff --git a/PAMapp/local_modules/element-ui/types/skeleton-item.d.ts b/PAMapp/local_modules/element-ui/types/skeleton-item.d.ts new file mode 100644 index 0000000..68db50c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/skeleton-item.d.ts @@ -0,0 +1,7 @@ +import { ElementUIComponent } from './component' + +/** Skeleton Item Component */ +export declare class ElSkeletonItem extends ElementUIComponent { + /** The current rendering skeleton type; default: text */ + variant: 'p' | 'text' | 'h1' | 'h3' | 'text' | 'caption' | 'button' | 'image' | 'circle' | 'rect' +} diff --git a/PAMapp/local_modules/element-ui/types/skeleton.d.ts b/PAMapp/local_modules/element-ui/types/skeleton.d.ts new file mode 100644 index 0000000..6550566 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/skeleton.d.ts @@ -0,0 +1,33 @@ +import { ElementUIComponent } from './component' +import { VNode } from 'vue' + +interface ElSkeletonSlots { + /* default slot: Real rendering DOM */ + default: VNode[] + + /* template slot: Custom rendering skeleton template */ + template: VNode[] + + [key: string]: VNode[] +} + +/** When loading data, and you need a rich experience for visual and interactions for your end users */ +export declare class ElSkeleton extends ElementUIComponent { + /** whether showing the animation; default: false */ + animated: boolean + + /** how many fake items to render to the DOM; default: 1 */ + count: number + + /** whether showing the skeleton; default true */ + loading: boolean + + /** numbers of the row, only useful when no template slot were given; default: 4 */ + rows: boolean + + /** Rendering delay in millseconds; default: 0 */ + throttle: number + + $slots: ElSkeletonSlots + +} diff --git a/PAMapp/local_modules/element-ui/types/slider.d.ts b/PAMapp/local_modules/element-ui/types/slider.d.ts new file mode 100644 index 0000000..d7790b9 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/slider.d.ts @@ -0,0 +1,68 @@ +import { VNode } from 'vue'; +import { ElementUIComponent } from './component' + +export interface SliderTooltipFormat { + /** + * Format the displayed value of Slider + * + * @param value Value of the Slider + * @returns formatted value + */ + (value: number): string +} + +/** Slider Component */ +export declare class ElSlider extends ElementUIComponent { + /** Current value of the slider */ + value: number | number[] + + /** Minimum value */ + min: number + + /** Maximum value */ + max: number + + /** Whether Slider is disabled */ + disabled: boolean + + /** Step size */ + step: number + + /** Whether to display an input box, works when range is false */ + showInput: boolean + + /** Format of displayed tooltip value */ + formatTooltip: SliderTooltipFormat + + /** Whether to display control buttons when show-input is true */ + showInputControls: boolean + + /** Size of the input box */ + inputSize: string + + /** Whether to display breakpoints */ + showStops: boolean + + /** Whether to display tooltip value */ + showTooltip: boolean + + /** Whether to select a range */ + range: boolean + + /** Vertical mode */ + vertical: boolean + + /** Slider height, required in vertical mode */ + height: boolean + + /** Debounce delay when typing, in milliseconds, works when show-input is true */ + debounce: number + + /** Custom class name for the tooltip */ + tooltipClass: string + + /** Custom marks */ + marks: { + [key: number]: string | { style: object; label: string | VNode } + } +} diff --git a/PAMapp/local_modules/element-ui/types/spinner.d.ts b/PAMapp/local_modules/element-ui/types/spinner.d.ts new file mode 100644 index 0000000..b8e0798 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/spinner.d.ts @@ -0,0 +1,16 @@ +import { ElementUIComponent } from './component' + +/** Spinner Component */ +export declare class ElSpinner extends ElementUIComponent { + /** The type of spinner */ + type: string + + /** The radius of spinner */ + radius: number + + /** The width of spinner */ + strokeWidth: number + + /** The color of spinner */ + strokeColor: string +} diff --git a/PAMapp/local_modules/element-ui/types/statistic.d.ts b/PAMapp/local_modules/element-ui/types/statistic.d.ts new file mode 100644 index 0000000..1221a4c --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/statistic.d.ts @@ -0,0 +1,37 @@ +import { ElementUIComponent } from './component' + +/** Statistic Component */ +export declare class ElStatistic extends ElementUIComponent { + /** Set the decimal point */ + decimalSeparator: string + + /** Sets the thousandth identifier */ + groupSeparator: string + + /** numerical precision */ + precision: number + + /** Numerical content */ + value: string | number + + /** Title of numerical value */ + title: string | number + + /** Whether to enable the countdown function */ + timeIndices: boolean + + /** Sets the style of the value */ + valueStyle: object + + /** Numeric content formatting countdown display */ + format: string + + /** Set the ratio */ + rate: number + + /** Set the suffix of the value */ + suffix: string + + /** Set the prefix of the value */ + prefix: string +} diff --git a/PAMapp/local_modules/element-ui/types/step.d.ts b/PAMapp/local_modules/element-ui/types/step.d.ts new file mode 100644 index 0000000..68ed2b3 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/step.d.ts @@ -0,0 +1,34 @@ +import { VNode } from 'vue' +import { ElementUIComponent } from './component' + +export type StepStatus = 'wait' | 'process' | 'finish' | 'error' | 'success' + +export interface StepRenderSlots { + /** Custom icon */ + icon: VNode[], + + /** Step title */ + title: VNode[], + + /** Step description */ + description: VNode[], + + [key: string]: VNode[] +} + +/** Step Component */ +export declare class ElStep extends ElementUIComponent { + /** Step title */ + title: string + + /** Step description */ + description: string + + /** Step icon */ + icon: string + + /** Current status. It will be automatically set by Steps if not configured. */ + status: StepStatus + + readonly $slots: StepRenderSlots +} diff --git a/PAMapp/local_modules/element-ui/types/steps.d.ts b/PAMapp/local_modules/element-ui/types/steps.d.ts new file mode 100644 index 0000000..ed40ab6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/steps.d.ts @@ -0,0 +1,28 @@ +import { ElementUIComponent } from './component' +import { StepStatus } from './step' + +export type StepsDirection = 'vertical' | 'horizontal' + +/** Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2. */ +export declare class ElSteps extends ElementUIComponent { + /** The spacing of each step, will be responsive if omitted. Support percentage. */ + space: number | string + + /** Display direction */ + direction: StepsDirection + + /** Current activation step */ + active: number + + /** Status of current step */ + processStatus: StepStatus + + /** Status of end step */ + finishStatus: StepStatus + + /** Whether step description is centered */ + alignCenter: boolean + + /** Whether to apply simple theme */ + simple: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/submenu.d.ts b/PAMapp/local_modules/element-ui/types/submenu.d.ts new file mode 100644 index 0000000..5594450 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/submenu.d.ts @@ -0,0 +1,22 @@ +import { ElementUIComponent } from './component' + +/** Submenu Component */ +export declare class ElSubmenu extends ElementUIComponent { + /** Unique identification */ + index: string | null + + /** Delay time before showing a sub-menu */ + showTimeout: number + + /** Delay time before hiding a sub-menu */ + hideTimeout: number + + /** Custom class name for the popup menu */ + popperClass: string + + /** Whether the sub-menu is disabled */ + disabled: boolean + + /** Whether to append the popper menu to body */ + popperAppendToBody: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/switch.d.ts b/PAMapp/local_modules/element-ui/types/switch.d.ts new file mode 100644 index 0000000..4489c01 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/switch.d.ts @@ -0,0 +1,43 @@ +import { ElementUIComponent } from './component' + +/** Switch Component */ +export declare class ElSwitch extends ElementUIComponent { + /** Whether Switch is on */ + value: boolean + + /** Whether Switch is disabled */ + disabled: boolean + + /** Width of Switch */ + width: number + + /** Class name of the icon displayed when in on state, overrides on-text */ + activeIconClass: string + + /** Class name of the icon displayed when in off state, overrides off-text */ + inactiveIconClass: string + + /** Text displayed when in on state */ + activeText: string + + /** Text displayed when in off state */ + inactiveText: string + + /** Background color when in on state */ + activeColor: string + + /** Background color when in off state */ + inactiveColor: string + + /** Switch value when in on state */ + activeValue: string | boolean | number + + /** Switch value when in off state */ + inactiveValue: string | boolean | number + + /** Input name of Switch */ + name: string + + /** Whether to trigger form validation */ + validateEvent: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/tab-pane.d.ts b/PAMapp/local_modules/element-ui/types/tab-pane.d.ts new file mode 100644 index 0000000..b4f6999 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/tab-pane.d.ts @@ -0,0 +1,19 @@ +import { ElementUIComponent } from './component' + +/** Tab Pane Component */ +export declare class ElTabPane extends ElementUIComponent { + /** Title of the tab */ + label: string + + /** Whether Tab is disabled */ + disabled: boolean + + /** Identifier corresponding to the activeName of Tabs, representing the alias of the tab-pane */ + name: string + + /** Whether Tab is closable */ + closable: boolean + + /** Whether Tab is lazily rendered */ + lazy: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/table-column.d.ts b/PAMapp/local_modules/element-ui/types/table-column.d.ts new file mode 100644 index 0000000..34e1d30 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/table-column.d.ts @@ -0,0 +1,117 @@ +import { CreateElement, VNode } from 'vue' +import { ElementUIComponent, ElementUIHorizontalAlignment } from './component' +import { PopoverPlacement } from './popover' + +export type TableColumnType = 'default' | 'selection' | 'index' | 'expand' +export type TableColumnFixedType = 'left' | 'right' +export type SortOrders = 'ascending' | 'descending' | null + +export type TableColumn = { + /** Label of the column */ + label: string, + + /** Property name of the source data */ + property: string, + + /** Type of the column */ + type: string, + + /** Whether column is fixed at left/right */ + fixed: boolean | string +} + +/** Data used in renderHeader function */ +export interface RenderHeaderData { + /** The column that is current rendering */ + column: any, + + /** The index of the rendering column */ + $index: number +} + +/** Filter Object */ +export interface TableColumnFilter { + /** The text to show in the filter's panel */ + text: string, + + /** The value of the filter */ + value: any +} + +/** TableColumn Component */ +export declare class ElTableColumn extends ElementUIComponent { + /** Type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon. */ + type: TableColumnType + + /** Column label */ + label: string + + /** Column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered */ + columnKey: string + + /** Field name. You can also use its alias: property */ + prop: string + + /** Column width */ + width: string + + /** Column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion */ + minWidth: string + + /** Whether column is fixed at left/right. Will be fixed at left if `true` */ + fixed: boolean | TableColumnFixedType + + /** Render function for table header of this column */ + renderHeader: (h: CreateElement, data: RenderHeaderData) => VNode | string + + /** Whether column can be sorted */ + sortable: boolean | 'custom' + + /** Sorting method. Works when `sortable` is `true` */ + sortMethod: (a: any, b: any) => number + + /** The order of the sorting strategies used when sorting the data. Works when `sortable` is `true`. */ + sortOrders: SortOrders[] + + /** Whether column width can be resized. Works when border of `el-table` is `true` */ + resizable: boolean + + /** Function that formats content */ + formatter: (row: object, column: TableColumn) => any + + /** Whether to hide extra content and show them in a tooltip when hovering on the cell */ + showOverflowTooltip: boolean + + /** Alignment */ + align: ElementUIHorizontalAlignment + + /** Alignment of the table header. If omitted, the value of the `align` attribute will be applied */ + headerAlign: ElementUIHorizontalAlignment + + /** Class name of cells in the column */ + className: string + + /** Class name of the label of this column */ + labelClassName: string + + /** Function that determines if a certain row can be selected, works when `type` is `'selection'` */ + selectable: (row: object, index: number) => boolean + + /** Whether to reserve selection after data refreshing, works when `type` is `'selection'` */ + reserveSelection: boolean + + /** An array of data filtering options */ + filters: TableColumnFilter[] + + /** Placement for the filter dropdown */ + filterPlacement: PopoverPlacement + + /** Whether data filtering supports multiple options */ + filterMultiple: Boolean + + /** Data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true` */ + filterMethod: (value: any, row: object) => boolean + + /** Filter value for selected data, might be useful when table header is rendered with `render-header` */ + filteredValue: TableColumnFilter[] +} diff --git a/PAMapp/local_modules/element-ui/types/table.d.ts b/PAMapp/local_modules/element-ui/types/table.d.ts new file mode 100644 index 0000000..da5bb38 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/table.d.ts @@ -0,0 +1,174 @@ +import { ElementUIComponent } from './component' +import { TooltipEffect } from './tooltip' + +export type SortOrder = 'ascending' | 'descending' + +/** Options to set the default sort column and order */ +export interface DefaultSortOptions { + /** Default sort column */ + prop: string, + + /** Default sort order */ + order: SortOrder +} + +export interface SummaryMethodParams { + columns: object[], + data: object +} + +export interface rowCallbackParams { + row: object, + rowIndex: number +} + +export interface cellCallbackParams { + row: object, + rowIndex: number, + column: object, + columnIndex: number +} + +export interface treeNode { + rowKey: string | number, + isLeaf: boolean, + level: number, + expanded: boolean, + loaded: boolean +} + +/** Table Component */ +export declare class ElTable extends ElementUIComponent { + /** Table data */ + data: object[] + + /** Table's height. By default it has an auto height. If its value is a number, the height is measured in pixels; if its value is a string, the height is affected by external styles */ + height: string | number + + /** Table's max-height. The height of the table starts from auto until it reaches the maxHeight limit. The maxHeight is measured in pixels, same as height */ + maxHeight: string | number + + /** Whether table is striped */ + stripe: boolean + + /** Whether table has vertical border */ + border: boolean + + /** Whether width of column automatically fits its container */ + fit: boolean + + /** Whether table header is visible */ + showHeader: boolean + + /** Whether current row is highlighted */ + highlightCurrentRow: boolean + + /** Key of current row, a set only prop */ + currentRowKey: string | number + + /** Whether to lazy load tree structure data, used with load attribute */ + lazy: boolean + + /** Horizontal indentation of nodes in adjacent levels in pixels */ + indent: number + + /** Function that returns custom class names for a row, or a string assigning class names for every row */ + rowClassName: string | ((param: rowCallbackParams) => string) + + /** Function that returns custom style for a row, or an object assigning custom style for every row */ + rowStyle: object | ((param: rowCallbackParams) => object) + + /** Function that returns custom class names for a cell, or a string assigning class names for every cell */ + cellClassName: string | ((param: cellCallbackParams) => string) + + /** Function that returns custom style for a cell, or an object assigning custom style for every cell */ + cellStyle: object | ((param: cellCallbackParams) => object) + + /** Function that returns custom class names for a row in table header, or a string assigning class names for every row in table header */ + headerRowClassName: string | ((param: rowCallbackParams) => string) + + /** Function that returns custom style for a row in table header, or an object assigning custom style for every row in table header */ + headerRowStyle: object | ((param: rowCallbackParams) => object) + + /** Function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header */ + headerCellClassName: string | ((param: cellCallbackParams) => string) + + /** Function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header */ + headerCellStyle: object | ((param: cellCallbackParams) => object) + + /** Key of row data, used for optimizing rendering. Required if reserve-selection is on */ + rowKey: (row: object) => any + + /** Displayed text when data is empty. You can customize this area with `slot="empty"` */ + emptyText: String + + /** Whether expand all rows by default. Only works when the table has a column `type="expand"` */ + defaultExpandAll: Boolean + + /** Set expanded rows by this prop. Prop's value is the keys of expand rows, you should set row-key before using this prop */ + expandRowKeys: any[] + + /** Set the default sort column and order */ + defaultSort: DefaultSortOptions + + /** Tooltip effect property */ + tooltipEffect: TooltipEffect + + /** Whether to display a summary row */ + showSummary: boolean + + /** Displayed text for the first column of summary row */ + sumText: string + + /** Custom summary method */ + summaryMethod: (param: SummaryMethodParams) => any[] + + /** Controls the behavior of master checkbox in multi-select tables when only some rows are selected */ + selectOnIndeterminate: boolean + + /** Clear selection. Might be useful when `reserve-selection` is on */ + clearSelection (): void + + /** + * Toggle or set if a certain row is selected + * + * @param row The row that is going to set its selected state + * @param selected Whether the row is selected. The selected state will be toggled if not set + */ + toggleRowSelection (row: object, selected?: boolean): void + + /** + * Toggle or set all rows + */ + toggleAllSelection (): void + + /** + * Set a certain row as selected + * + * @param row The row that is going to set as selected + */ + setCurrentRow (row?: object): void + + /** + * Toggle or set if a certain row is expanded + * + * @param row The row that is going to set its expanded state + * @param expanded Whether the row is expanded. The expanded state will be toggled if not set + */ + toggleRowExpansion (row: object, expanded?: boolean): void + + /** Clear sort status, reset the table to unsorted */ + clearSort (): void + + /** Clear filter, reset the table to unfiltered */ + clearFilter (): void + + /** Relayout the table, maybe needed when change the table or it's ancestors visibility */ + doLayout (): void + + /** Sort Table manually */ + sort (prop: string, order: string): void + + /** method for lazy load subtree data */ + load (row: object, treeNode: treeNode, resolve: Function): void +} diff --git a/PAMapp/local_modules/element-ui/types/tabs.d.ts b/PAMapp/local_modules/element-ui/types/tabs.d.ts new file mode 100644 index 0000000..fee7c1a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/tabs.d.ts @@ -0,0 +1,31 @@ +import { ElementUIComponent } from './component' + +export type TabType = 'card' | 'border-card' +export type TabPosition = 'top' | 'right' | 'bottom' | 'left' + +/** Divide data collections which are related yet belong to different types */ +export declare class ElTabs extends ElementUIComponent { + /** Type of Tab */ + type: TabType + + /** Whether Tab is closable */ + closable: boolean + + /** Whether Tab is addable */ + addable: boolean + + /** Whether Tab is addable and closable */ + editable: boolean + + /** Name of the selected tab */ + value: string + + /** Position of tabs */ + tabPosition: TabPosition + + /** Whether width of tab automatically fits its container */ + stretch: Boolean + + /** Hook function before switching tab. If false or a Promise is returned and then is rejected, switching will be prevented */ + beforeLeave: (activeName: string, oldActiveName: string) => boolean | Promise<any> +} diff --git a/PAMapp/local_modules/element-ui/types/tag.d.ts b/PAMapp/local_modules/element-ui/types/tag.d.ts new file mode 100644 index 0000000..cc59f79 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/tag.d.ts @@ -0,0 +1,28 @@ +import { ElementUIComponent, ElementUIComponentSize } from './component' + +export type TagType = 'primary' | 'gray' | 'success' | 'warning' | 'danger' +export type TagTheme = 'dark' | 'light' | 'plain' + +/** Tag Component */ +export declare class ElTag extends ElementUIComponent { + /** Tag type */ + type: TagType + + /** Whether Tab can be removed */ + closable: boolean + + /** Whether the removal animation is disabled */ + disableTransitions: boolean + + /** Whether Tag has a highlighted border */ + hit: boolean + + /** Background color of the tag */ + color: string + + /** Tag size */ + size: ElementUIComponentSize + + /** Tag theme */ + effect: TagTheme +} diff --git a/PAMapp/local_modules/element-ui/types/time-picker.d.ts b/PAMapp/local_modules/element-ui/types/time-picker.d.ts new file mode 100644 index 0000000..40114f4 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/time-picker.d.ts @@ -0,0 +1,63 @@ +import { ElementUIComponent, ElementUIComponentSize, ElementUIHorizontalAlignment } from './component' + +export interface TimePickerOptions { + /** + * Available time range. + * e.g. `'18:30:00 - 20:30:00'` + * or `['09:30:00 - 12:00:00', '14:30:00 - 18:30:00']` + */ + selectableRange?: string | string[], + + /** Format of the picker */ + format?: string +} + +/** TimePicker Component */ +export declare class ElTimePicker extends ElementUIComponent { + /** Whether DatePicker is read only */ + readonly: boolean + + /** Whether DatePicker is disabled */ + disabled: boolean + + /** Whether the input is editable */ + editable: boolean + + /** Whether to show clear button */ + clearable: boolean + + /** Size of Input */ + size: ElementUIComponentSize + + /** Placeholder */ + placeholder: string + + /** Placeholder for the start time in range mode */ + startPlaceholder: string + + /** Placeholder for the end time in range mode */ + endPlaceholder: string + + /** Whether to pick a time range */ + isRange: boolean + + /** Value of the picker */ + value: string | Date + + /** Alignment */ + align: ElementUIHorizontalAlignment + + /** Custom class name for TimePicker's dropdown */ + popperClass: string + + /** Additional options, check the table below */ + pickerOptions: TimePickerOptions + + /** Range separator */ + rangeSeparator: string + + /** + * Focus the Input component + */ + focus (): void +} diff --git a/PAMapp/local_modules/element-ui/types/time-select.d.ts b/PAMapp/local_modules/element-ui/types/time-select.d.ts new file mode 100644 index 0000000..a784f8e --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/time-select.d.ts @@ -0,0 +1,56 @@ +import { ElementUIComponent, ElementUIComponentSize, ElementUIHorizontalAlignment } from './component' + +export interface TimeSelectOptions { + /** Start time */ + start?: string, + + /** End time */ + end?: string, + + /** Time step */ + step?: string, + + /** Minimum time, any time before this time will be disabled */ + minTime?: string, + + /** Maximum time, any time after this time will be disabled */ + maxTime?: string +} + +/** TimeSelect Component */ +export declare class ElTimeSelect extends ElementUIComponent { + /** Whether DatePicker is read only */ + readonly: boolean + + /** Whether DatePicker is disabled */ + disabled: boolean + + /** Whether the input is editable */ + editable: boolean + + /** Whether to show clear button */ + clearable: boolean + + /** Size of Input */ + size: ElementUIComponentSize + + /** Placeholder */ + placeholder: string + + /** Value of the picker */ + value: string | Date + + /** Alignment */ + align: ElementUIHorizontalAlignment + + /** Custom class name for TimePicker's dropdown */ + popperClass: string + + /** Additional options, check the table below */ + pickerOptions: TimeSelectOptions + + /** + * Focus the Input component + */ + focus (): void +} diff --git a/PAMapp/local_modules/element-ui/types/timeline-item.d.ts b/PAMapp/local_modules/element-ui/types/timeline-item.d.ts new file mode 100644 index 0000000..647d555 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/timeline-item.d.ts @@ -0,0 +1,20 @@ +import { ElementUIComponent } from './component' + +export type TimelineItemPlacement = 'top' | 'bottom' +export type TimelineItemType = 'primary' | 'success' | 'warning' | 'danger' | 'info' +export type TimelineItemSize = 'normal' | 'large' + +/** TimelineItem Component */ +export declare class ElTimelineItem extends ElementUIComponent { + timestamp: string + + hideTimestamp: boolean + + placement: TimelineItemPlacement + + type: TimelineItemType + + size: TimelineItemSize + + icon: string +} diff --git a/PAMapp/local_modules/element-ui/types/timeline.d.ts b/PAMapp/local_modules/element-ui/types/timeline.d.ts new file mode 100644 index 0000000..20e033d --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/timeline.d.ts @@ -0,0 +1,6 @@ +import { ElementUIComponent } from './component' + +/** Timeline Component */ +export declare class ElTimeline extends ElementUIComponent { + reverse: boolean +} diff --git a/PAMapp/local_modules/element-ui/types/tooltip.d.ts b/PAMapp/local_modules/element-ui/types/tooltip.d.ts new file mode 100644 index 0000000..b0fe4b6 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/tooltip.d.ts @@ -0,0 +1,52 @@ +import { ElementUIComponent } from './component' +import { PopoverPlacement } from './popover' + +export type TooltipEffect = 'dark' | 'light' + +/** Tooltip Component */ +export declare class ElTooltip extends ElementUIComponent { + /** Tooltip theme */ + effect: TooltipEffect + + /** Display content, can be overridden by slot#content */ + content: String + + /** Position of Tooltip */ + placement: PopoverPlacement + + /** Visibility of Tooltip */ + value: boolean + + /** Whether Tooltip is disabled */ + disabled: boolean + + /** Offset of the Tooltip */ + offset: number + + /** Animation name */ + transition: string + + /** Whether an arrow is displayed. For more information, check Vue-popper page */ + visibleArrow: boolean + + /** Popper.js parameters */ + popperOptions: object + + /** Delay of appearance, in millisecond */ + openDelay: number + + /** Whether to control Tooltip manually. mouseenter and mouseleave won't have effects if set to true */ + manual: boolean + + /** Custom class name for Tooltip's popper */ + popperClass: string + + /** Whether the mouse can enter the tooltip */ + enterable: string + + /** Timeout in milliseconds to hide tooltip */ + hideAfter: string + + /** Tooltip tabindex */ + tabindex: number +} diff --git a/PAMapp/local_modules/element-ui/types/transfer.d.ts b/PAMapp/local_modules/element-ui/types/transfer.d.ts new file mode 100644 index 0000000..9f35a7b --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/transfer.d.ts @@ -0,0 +1,73 @@ +import { CreateElement, VNode } from 'vue' +import { ElementUIComponent } from './component' + +export type TransferPanelPosition = 'left' | 'right' + +export interface TransferData { + key: any, + label: string, + disabled: boolean +} + +export interface TransferFormat { + noChecked: string, + hasChecked: string, +} + +export interface TransferProps { + key: string, + label: string, + disabled: string +} + +export interface TransferRenderContent { + /** + * Render function for a specific option + * + * @param h The render function + * @param option The option data object + */ + (h: CreateElement, option: TransferData): VNode +} + +/** Transfer Component */ +export declare class ElTransfer extends ElementUIComponent { + /** Data source */ + data: TransferData[] + + /** Whether Transfer is filterable */ + filterable: boolean + + /** Placeholder for the filter input */ + filterPlaceholder: string + + /** Custom filter method */ + filterMethod: (query: string, item: TransferData) => boolean + + /** Order strategy for elements in the target list */ + targetOrder: string + + /** Custom list titles */ + titles: string[] + + /** Custom button texts */ + buttonTexts: string[] + + /** Custom render function for data items */ + renderContent: TransferRenderContent + + /** Texts for checking status in list header */ + format: TransferFormat + + /** Prop aliases for data source */ + props: TransferProps + + /** Key array of initially checked data items of the left list */ + leftDefaultChecked: any[] + + /** Key array of initially checked data items of the right list */ + rightDefaultChecked: any[] + + /** Clear the query text in specified panel */ + clearQuery (which: TransferPanelPosition): void +} diff --git a/PAMapp/local_modules/element-ui/types/tree.d.ts b/PAMapp/local_modules/element-ui/types/tree.d.ts new file mode 100644 index 0000000..64dd36a --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/tree.d.ts @@ -0,0 +1,266 @@ +import { CreateElement, VNode } from 'vue'; +import { ElementUIComponent } from './component'; + +export interface TreeData { + id?: any; + label?: string; + disabled?: boolean; + isLeaf?: boolean; + children?: TreeData[]; +} + +export interface TreeProps { + label: string; + disabled: string; + isLeaf: string; + children: string; +} + +export interface TreeNode<K, D> { + checked: boolean; + childNodes: TreeNode<K, D>[]; + data: D; + expanded: boolean; + id: number; + indeterminate: boolean; + isLeaf: boolean; + level: number; + loaded: boolean; + loading: boolean; + parent: TreeNode<K, D> | null; + store: any; + visible: boolean; + disabled: boolean; + icon: string; + key: K; + label: string; + nextSibling: TreeNode<K, D> | null; + previousSibling: TreeNode<K, D> | null; + isCurrent: boolean; +} + +/** incomplete, you can convert to any to use other properties */ +export interface TreeStore<K, D> { + _getAllNodes: () => TreeNode<K, D>[]; +} + +/** Tree Component */ +export declare class ElTree<K, D extends TreeData> extends ElementUIComponent { + /** TreeStore */ + store: TreeStore<K, D>; + + /** Tree data */ + data: D[]; + + /** Text displayed when data is void */ + emptyText: string; + + /** Unique identity key name for nodes, its value should be unique across the whole tree */ + nodeKey: string; + + /** Configuration options, see the following table */ + props: TreeProps; + + /** Method for loading subtree data */ + load: (data: D, resolve: Function) => void; + + /** + * Render function for a specific node + * + * @param h The render function + */ + renderContent: (h: CreateElement, context: { node: TreeNode<K, D>; data: D; store: TreeStore<K, D> }) => VNode; + + /** Whether current node is highlighted */ + highlightCurrent: boolean; + + /** Whether to expand all nodes by default */ + defaultExpandAll: boolean; + + /** Whether to expand or collapse node when clicking on the node. If false, then expand or collapse node only when clicking on the arrow icon. */ + expandOnClickNode: boolean; + + /** Whether to check or uncheck node when clicking on the node, if false, the node can only be checked or unchecked by clicking on the checkbox. */ + checkOnClickNode: boolean; + + /** Whether to expand father node when a child node is expanded */ + autoExpandParent: boolean; + + /** Array of keys of initially expanded nodes */ + defaultExpandedKeys: K[]; + + /** Whether node is selectable */ + showCheckbox: boolean; + + /** Whether checked state of a node not affects its father and child nodes when show-checkbox is true */ + checkStrictly: boolean; + + /** Array of keys of initially checked nodes */ + defaultCheckedKeys: K[]; + + /** + * This function will be executed on each node when use filter method. If return false, tree node will be hidden. + * + * @param value The query string + * @param data The original data object + * @param node Tree node + */ + filterNodeMethod: (value: string, data: D, node: TreeNode<K, D>) => boolean; + + /** Whether only one node among the same level can be expanded at one time */ + accordion: boolean; + + /** Horizontal indentation of nodes in adjacent levels in pixels */ + indent: number; + + /** Whether enable tree nodes drag and drop */ + draggable: boolean; + + /** + * Function to be executed before dragging a node + * + * @param node The node to be dragged + */ + allowDrag: (node: TreeNode<K, D>) => boolean; + + /** + * Function to be executed before the dragging node is dropped + * + * @param draggingNode The dragging node + * @param dropNode The target node + * @param type Drop type + */ + allowDrop: (draggingNode: TreeNode<K, D>, dropNode: TreeNode<K, D>, type: 'prev' | 'inner' | 'next') => boolean; + + /** + * Filter all tree nodes. Filtered nodes will be hidden + * + * @param value The value to be used as first parameter for `filter-node-method` + */ + filter(value: any): void; + + /** + * Update the children of the node which specified by the key + * + * @param key the key of the node which children will be updated + * @param data the children data + */ + updateKeyChildren(key: K, data: D[]): void; + + /** + * If the node can be selected (`show-checkbox` is `true`), it returns the currently selected array of nodes + * + * @param leafOnly If the `leafOnly` is `true`, it only returns the currently selected array of sub-nodes + * @param includeHalfChecked If the `includeHalfChecked` is `true`, the return value contains halfchecked nodes + */ + getCheckedNodes(leafOnly?: boolean, includeHalfChecked?: boolean): D[]; + + /** + * Set certain nodes to be checked. Only works when `node-key` is assigned + * + * @param nodes An array of nodes to be checked + * @param leafOnly If the parameter is true, it only returns the currently selected array of sub-nodes + */ + setCheckedNodes(data: D[], leafOnly?: boolean): void; + + /** + * If the node can be selected (`show-checkbox` is `true`), it returns the currently selected array of nodes' keys + * + * @param leafOnly If the `leafOnly` is `true`, it only returns the currently selected array of sub-nodes + */ + getCheckedKeys(leafOnly?: boolean): K[]; + + /** + * Set certain nodes to be checked. Only works when `node-key` is assigned + * + * @param keys An array of node's keys to be checked + * @param leafOnly If the parameter is true, it only returns the currently selected array of sub-nodes + */ + setCheckedKeys(keys: K[], leafOnly?: boolean): void; + + /** + * Set node to be checked or not. Only works when `node-key` is assigned + * + * @param data Node's key or data to be checked + * @param checked Indicating the node checked or not + * @param deep Indicating whether to checked state deeply or not + */ + setChecked(data: D | K, checked: boolean, deep: boolean): void; + + /** + * If the node can be selected (`show-checkbox` is `true`), it returns the currently half selected array of nodes + */ + getHalfCheckedNodes(): D[]; + + /** + * If the node can be selected (`show-checkbox` is `true`), it returns the currently half selected array of nodes' keys + */ + getHalfCheckedKeys(): K[]; + + /** + * Return the highlight node's key (null if no node is highlighted) + */ + getCurrentKey(): K; + + /** + * Set highlighted node by key, only works when node-key is assigned + * + * @param key The node's key to be highlighted + */ + setCurrentKey(key: K): void; + + /** + * Return the highlight node data (null if no node is highlighted) + * @todo the name of methods should be getCurrentNodeData + */ + getCurrentNode(): D; + + /** + * Set highlighted node, only works when node-key is assigned + * + * @param node The node to be highlighted + */ + setCurrentNode(data: D): void; + + /** + * Get node by node key or node data + * + * @param by node key or node data + */ + getNode(by: D | K): TreeNode<K, D>; + + /** + * Remove node by key or node data or node instance + * + * @param by key or node data or node instance + */ + remove(by: D | K): void; + + /** + * Append a child node to specified node + * + * @param childData the data of appended node + * @param parent key or node data or node instance of the parent node + */ + append(childData: D, parent: D | K): void; + + /** + * insert a node before specified node + * + * @param data the data of inserted node + * @param ref key or node data or node instance of the reference node + */ + insertBefore(data: D, ref: D | K): void; + + /** + * insert a node after specified node + * + * @param data the data of inserted node + * @param ref key or node data or node instance of the reference node + */ + insertAfter(data: D, ref: D | K): void; + + /** Custom tree node icon */ + iconClass?: string; + +} diff --git a/PAMapp/local_modules/element-ui/types/upload.d.ts b/PAMapp/local_modules/element-ui/types/upload.d.ts new file mode 100644 index 0000000..525fc36 --- /dev/null +++ b/PAMapp/local_modules/element-ui/types/upload.d.ts @@ -0,0 +1,124 @@ +import { ElementUIComponent } from './component' + +export type ListType = 'text' | 'picture' | 'picture-card' +export type FileUploadStatus = 'ready' | 'uploading' | 'success' | 'fail' + +export interface FileListItem { + name: string, + url: string, + status?: FileUploadStatus +} + +export interface ElUploadInternalRawFile extends File { + uid: number +} + +export interface ElUploadInternalFileDetail { + status: FileUploadStatus, + name: string, + size: number, + percentage: number, + uid: number, + raw: ElUploadInternalRawFile, + url?: string +} + +export interface ElUploadProgressEvent extends ProgressEvent { + percent: number +} + +export interface HttpRequestOptions { + headers: object, + withCredentials: boolean, + file: File, + data: object, + filename: string, + action: string, + onProgress: (e: ElUploadProgressEvent) => void, + onSuccess: (response: any) => void, + onError: (err: ErrorEvent) => void +} + +/** Upload Component */ +export declare class ElUpload extends ElementUIComponent { + /** Request URL (required) */ + action: string + + /** Request headers */ + headers: object + + /** Whether uploading multiple files is permitted */ + multiple: boolean + + /** Additions options of request */ + data: object + + /** Key name for uploaded file */ + name: string + + /** Whether cookies are sent */ + withCredentials: boolean + + /** Whether to show the uploaded file list */ + showFileList: boolean + + /** Whether to activate drag and drop mode */ + drag: boolean + + /** Accepted file types, will not work when thumbnail-mode is true */ + accept: string + + /** Hook function when clicking the uploaded files */ + onPreview: (file: ElUploadInternalFileDetail) => void + + /** Hook function when files are removed */ + onRemove: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Hook function when uploaded successfully */ + onSuccess: (response: any, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Hook function when some errors occurs */ + onError: (err: ErrorEvent, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Hook function when some progress occurs */ + onProgress: (event: ElUploadProgressEvent, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Hook function when file status change */ + onChange: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Hook function before uploading with the file to be uploaded as its parameter. If false or a Promise is returned, uploading will be aborted */ + beforeUpload: (file: ElUploadInternalRawFile) => boolean | Promise<File | Blob | boolean> + + /** Whether thumbnail is displayed */ + thumbnailMode: boolean + + /** Default uploaded files */ + fileList: FileListItem[] + + /** Type of fileList */ + listType: ListType + + /** Whether to auto upload file */ + autoUpload: boolean + + /** Override default xhr behavior, allowing you to implement your own upload-file's request */ + httpRequest: (options: HttpRequestOptions) => void + + /** Whether to disable upload */ + disabled: boolean + + /** Maximum number of uploads allowed */ + limit: number + + /** Hook function when limit is exceeded */ + onExceed: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void + + /** Clear the upload file list */ + clearFiles (): void; + + /** Abort specified file */ + abort (file: ElUploadInternalFileDetail): void + + /** Upload the file list manually */ + submit ():void; +} diff --git a/PAMapp/local_modules/element-ui/web-types.json b/PAMapp/local_modules/element-ui/web-types.json new file mode 100644 index 0000000..5b6201b --- /dev/null +++ b/PAMapp/local_modules/element-ui/web-types.json @@ -0,0 +1,4195 @@ +{ + "framework": "vue", + "name": "element-ui", + "version": "2.15.9", + "description-markup": "markdown", + "contributions": { + "html": { + "vue-components": [ + { + "name": "ElAlert", + "description": "Displays important alert messages.", + "doc-url": "https://element.eleme.io/#/en-US/component/alert", + "props": [ + { + "name": "type", + "description": "Component type", + "type": "AlertType", + "default": "'info'" + }, + { + "name": "effect", + "description": "Choose theme", + "type": "AlertEffect", + "default": "'light'" + }, + { + "name": "closable", + "description": "If closable or not", + "type": "boolean", + "default": "true" + }, + { + "name": "description", + "description": "Descriptive text. Can also be passed with the default slot", + "type": "string" + }, + { + "name": "title", + "description": "Title", + "type": "string" + }, + { + "name": "showIcon", + "description": "If a type icon is displayed", + "type": "boolean", + "default": "false" + }, + { + "name": "center", + "description": "whether to center the text", + "type": "boolean", + "default": "false" + }, + { + "name": "closeText", + "description": "Customized close button text", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "description" + }, + { + "name": "title", + "description": "content of the Alert title" + } + ], + "js": { + "events": [ + { + "name": "close", + "description": "fires when alert is closed" + } + ] + } + }, + { + "name": "ElAside", + "description": "Container for side sections (usually a side nav).", + "doc-url": "https://element.eleme.io/#/en-US/component/container", + "props": [ + { + "name": "width", + "description": "Width of the side section", + "type": "string", + "default": "300px" + } + ] + }, + { + "name": "ElAutocomplete", + "doc-url": "https://element.eleme.io/#/en-US/component/input#autocomplete-attributes", + "props": [ + { + "name": "focus", + "description": "Focus the Input component", + "type": "function(): void" + }, + { + "name": "selectWhenUnmatched", + "description": "Whether to emit select event on enter when there is no autocomplete match", + "type": "boolean" + }, + { + "name": "debounce", + "description": "Debounce delay when typing", + "type": "number" + }, + { + "name": "popperClass", + "description": "Custom class name for autocomplete's dropdown", + "type": "string" + }, + { + "name": "name", + "description": "Name for the inner native input", + "type": "string" + }, + { + "name": "triggerOnFocus", + "description": "Whether show suggestions when input focus", + "type": "boolean" + }, + { + "name": "placement", + "description": "Placement of the popup menu", + "type": "SuggestionPlacement" + }, + { + "name": "prefixIcon", + "description": "Prefix icon class", + "type": "string" + }, + { + "name": "suffixIcon", + "description": "Suffix icon class", + "type": "string" + }, + { + "name": "fetchSuggestions", + "description": "A method to fetch input suggestions. When suggestions are ready, invoke callback(data:[]) to return them to Autocomplete", + "type": "FetchSuggestions" + }, + { + "name": "disabled", + "description": "Whether Autocomplete is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "The placeholder of Autocomplete", + "type": "string" + }, + { + "name": "valueKey", + "description": "Key name of the input suggestion object for display", + "type": "string" + }, + { + "name": "value", + "description": "Binding value", + "type": "string" + }, + { + "name": "clearable", + "description": "Whether to show clear button", + "type": "boolean" + }, + { + "name": "popperAppendToBody", + "description": "Whether to append the dropdown to body", + "type": "boolean" + }, + { + "name": "hideLoading", + "description": "Whether to hide the loading icon in remote search", + "type": "boolean" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content for input suggestions.", + "type": "{ item: any }" + }, + { + "name": "prefix", + "description": "Content as Input prefix" + }, + { + "name": "suffix", + "description": "Content as Input suffix" + }, + { + "name": "prepend", + "description": "Content to prepend before Input" + }, + { + "name": "append", + "description": "Content to append after Input" + } + ] + }, + { + "name": "ElAvatar", + "description": "Avatars can be used to represent people or objects. It supports images, Icons, or characters.", + "doc-url": "https://element.eleme.io/#/en-US/component/avatar", + "props": [ + { + "name": "fit", + "type": "'fill' | 'contain' | 'cover' | 'none' | 'scale-down'", + "description": "Set how the image fit its container for an image avatar", + "default": "'cover'" + }, + { + "name": "shape", + "type": "'circle' | 'square'", + "description": "Avatar shape", + "default": "'circle'" + }, + { + "name": "alt", + "type": "string", + "description": "This attribute defines an alternative text description of the image" + }, + { + "name": "size", + "type": "'large'|'medium'|'small'|number", + "description": "Avatar size", + "default": "'large'" + }, + { + "name": "icon", + "type": "string", + "description": "Representation type to Icon, more info on Icon Component" + }, + { + "name": "src", + "type": "string", + "description": "The address of the image for an image avatar" + }, + { + "name": "srcSet", + "type": "string", + "description": "A list of one or more strings separated by commas indicating a set of possible image sources for the user agent to use" + } + ], + "js": { + "events": [ + { + "name": "error", + "description": "handler when img load error, return false to prevent default fallback behavior" + } + ] + } + }, + { + "name": "ElBacktop", + "description": "A button to back to top", + "doc-url": "https://element.eleme.io/#/en-US/component/backtop", + "props": [ + { + "name": "bottom", + "description": "Backtop bottom position", + "type": "string|number" + }, + { + "name": "visibilityHeight", + "description": "Backtop visibility height", + "type": "string|number", + "default": "200" + }, + { + "name": "right", + "description": "Backtop right position", + "type": "string|number", + "default": "40" + }, + { + "name": "target", + "description": "Backtop target", + "type": "string", + "default": "40" + } + ], + "js": { + "events": [ + { + "name": "click", + "description": "Triggers when click" + } + ] + } + }, + { + "name": "ElBadge", + "description": "A number or status mark on buttons and icons.", + "doc-url": "https://element.eleme.io/#/en-US/component/badge", + "props": [ + { + "name": "isDot", + "description": "If a little dot is displayed", + "type": "boolean", + "default": "false" + }, + { + "name": "hidden", + "description": "Hidden badge", + "type": "boolean", + "default": "false" + }, + { + "name": "value", + "description": "Display value", + "type": "string|number" + }, + { + "name": "max", + "description": "Maximum value, shows '{max}+' when exceeded. Only works if `value` is a `Number`", + "type": "number" + }, + { + "name": "type", + "description": "button type", + "type": "'primary' | 'success' | 'warning' | 'danger' | 'info'" + } + ] + }, + { + "name": "ElBreadcrumb", + "description": "Displays the location of the current page, making it easier to browser back.", + "doc-url": "https://element.eleme.io/#/en-US/component/breadcrumb", + "props": [ + { + "name": "separatorClass", + "description": "Class name of the icon separator", + "type": "string" + }, + { + "name": "separator", + "description": "Separator character", + "type": "string", + "default": "'/'" + } + ] + }, + { + "name": "ElBreadcrumbItem", + "doc-url": "https://element.eleme.io/#/en-US/component/breadcrumb", + "props": [ + { + "name": "replace", + "description": "If `true`, the navigation will not leave a history record", + "type": "boolean", + "default": "false" + }, + { + "name": "to", + "description": "Target route of the link, same as `to` of `vue-router`", + "type": "string|object" + } + ] + }, + { + "name": "ElButton", + "description": "Commonly used button.", + "doc-url": "https://element.eleme.io/#/en-US/component/button", + "props": [ + { + "name": "type", + "description": "Button type", + "type": "'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text'" + }, + { + "name": "plain", + "description": "Determine whether it's a plain button", + "type": "boolean", + "default": "false" + }, + { + "name": "loading", + "description": "Determine whether it's loading", + "type": "boolean", + "default": "false" + }, + { + "name": "size", + "description": "Button size", + "type": "'medium' | 'small' | 'mini'" + }, + { + "name": "icon", + "description": "icon class name", + "type": "string" + }, + { + "name": "disabled", + "description": "Disable the button", + "type": "boolean", + "default": "false" + }, + { + "name": "autofocus", + "description": "Same as native button's `autofocus`", + "type": "boolean", + "default": "false" + }, + { + "name": "round", + "description": "Determine whether it's a round button", + "type": "boolean", + "default": "false" + }, + { + "name": "circle", + "description": "Determine whether it's a circle button", + "type": "boolean", + "default": "false" + }, + { + "name": "nativeType", + "description": "Same as native button's `type`", + "type": "'button' | 'submit' | 'reset'", + "default": "'button'" + } + ] + }, + { + "name": "ElButtonGroup", + "description": "Displayed as a button group, can be used to group a series of similar operations.", + "doc-url": "https://element.eleme.io/#/en-US/component/button" + }, + { + "name": "ElCalendar", + "description": "Display date.", + "doc-url": "https://element.eleme.io/#/en-US/component/calendar", + "props": [ + { + "name": "range", + "description": "time range, including start time and end time. Start time must be start day of week, end time must be end day of week, the time span cannot exceed two months.", + "type": "(Date | string | number)[]" + }, + { + "name": "value", + "description": "Binding value", + "type": "Date | string | number" + }, + { + "name": "firstDayOfWeek", + "description": "First day of week", + "type": "number", + "default": "1" + } + ], + "slots": [ + { + "name": "dateCell", + "type": "{date: Date, data: {type: 'prev-month' | 'current-month' | 'next-month', isSelected: boolean, day: string}}" + } + ] + }, + { + "name": "ElCard", + "description": "Integrate information in a card container.", + "doc-url": "https://element.eleme.io/#/en-US/component/card", + "props": [ + { + "name": "shadow", + "description": "When to show card shadows", + "type": "'always'| 'hover' | 'never'", + "default": "'always'" + }, + { + "name": "bodyStyle", + "description": "CSS style of body", + "type": "object", + "default": "{ padding: '20px' }" + }, + { + "name": "header", + "description": "Title of the card", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Content of the card" + }, + { + "name": "header", + "description": "Title of the card" + } + ] + }, + { + "name": "ElCarousel", + "description": "Loop a series of images or texts in a limited space", + "doc-url": "https://element.eleme.io/#/en-US/component/carousel", + "props": [ + { + "name": "arrow", + "description": "When arrows are shown", + "type": "'always'|'hover'|'never'", + "default": "'hover'" + }, + { + "name": "type", + "description": "Type of the Carousel", + "type": "'card'" + }, + { + "name": "height", + "description": "Height of the carousel", + "type": "number" + }, + { + "name": "autoplay", + "description": "Whether automatically loop the slides", + "type": "boolean", + "default": "true" + }, + { + "name": "initialIndex", + "description": "Index of the initially active slide (starting from 0)", + "type": "number" + }, + { + "name": "indicatorPosition", + "description": "Position of the indicators", + "type": "'outside' | 'none'" + }, + { + "name": "interval", + "description": "Interval of the auto loop, in milliseconds", + "type": "number", + "default": "3000" + }, + { + "name": "direction", + "description": "Display direction", + "type": "'horizontal' | 'vertical'", + "default": "'horizontal'" + }, + { + "name": "trigger", + "description": "How indicators are triggered", + "type": "'hover' | 'click'", + "default": "'hover'" + }, + { + "name": "loop", + "description": "display the items in loop", + "type": "boolean", + "default": "true" + } + ], + "js": { + "events": [ + { + "name": "change", + "description": "triggers when the active slide switches", + "doc-url": "https://element.eleme.io/#/en-US/component/carousel#carousel-events" + } + ] + } + }, + { + "name": "ElCarouselItem", + "doc-url": "https://element.eleme.io/#/en-US/component/carousel#carousel-item-attributes", + "props": [ + { + "name": "name", + "description": "Name of the item, can be used in `setActiveItem`", + "type": "string" + }, + { + "name": "label", + "description": "Text content for the corresponding indicator", + "type": "string" + } + ] + }, + { + "name": "ElCascader", + "description": "If the options have a clear hierarchical structure, Cascader can be used to view and select them.", + "doc-url": "https://element.eleme.io/#/en-US/component/cascader", + "props": [ + { + "name": "debounce", + "description": "Debounce delay when typing filter keyword, in millisecond", + "type": "number" + }, + { + "name": "options", + "description": "Data of the options", + "type": "CascaderOption[]" + }, + { + "name": "filterable", + "description": "Whether the options can be searched", + "type": "boolean" + }, + { + "name": "separator", + "description": "Separator of option labels", + "type": "string" + }, + { + "name": "props", + "description": "Configuration options", + "type": "CascaderProps<any, CascaderOption>" + }, + { + "name": "size", + "description": "Size of Input", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Custom class name for Cascader's dropdown", + "type": "string" + }, + { + "name": "showAllLevels", + "description": "Whether to display all levels of the selected value in the input", + "type": "boolean" + }, + { + "name": "collapseTags", + "description": "Whether to collapse selected tags in multiple selection mode", + "type": "boolean" + }, + { + "name": "disabled", + "description": "Whether Cascader is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Input placeholder", + "type": "string" + }, + { + "name": "value", + "description": "Selected value", + "type": "any" + }, + { + "name": "clearable", + "description": "Whether selected value can be cleared", + "type": "boolean" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom label content" + }, + { + "name": "empty", + "description": "Empty content when no option matches" + } + ] + }, + { + "name": "ElCascaderPanel", + "doc-url": "https://element.eleme.io/#/en-US/component/cascader#cascaderpanel-attributes", + "props": [ + { + "name": "options", + "description": "Data of the options", + "type": "CascaderOption[]" + }, + { + "name": "border", + "description": "Whether to add border", + "type": "boolean" + }, + { + "name": "props", + "description": "Configuration options", + "type": "CascaderProps<any, CascaderOption>" + }, + { + "name": "value", + "description": "Selected value", + "type": "any" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom label content" + } + ] + }, + { + "name": "ElCheckbox", + "description": "A group of options for multiple choices.", + "doc-url": "https://element.eleme.io/#/en-US/component/checkbox", + "props": [ + { + "name": "indeterminate", + "description": "Same as indeterminate in native checkbox", + "type": "boolean" + }, + { + "name": "checked", + "description": "If the checkbox is checked", + "type": "boolean" + }, + { + "name": "border", + "description": "Whether to add a border around Checkbox", + "type": "boolean" + }, + { + "name": "trueLabel", + "description": "Value of the checkbox if it's checked", + "type": "string|number" + }, + { + "name": "size", + "description": "Size of the Checkbox, only works when border is true", + "type": "ElementUIComponentSize" + }, + { + "name": "name", + "description": "Native 'name' attribute", + "type": "string" + }, + { + "name": "falseLabel", + "description": "Value of the checkbox if it's not checked", + "type": "string|number" + }, + { + "name": "disabled", + "description": "If the checkbox is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "The form input value", + "type": "string|string[]" + }, + { + "name": "label", + "description": "Value of the checkbox when used inside a checkbox-group", + "type": "string|number|boolean" + } + ] + }, + { + "name": "ElCheckboxButton", + "doc-url": "https://element.eleme.io/#/en-US/component/checkbox#checkbox-group-attributes", + "props": [ + { + "name": "checked", + "description": "If the checkbox is checked", + "type": "boolean" + }, + { + "name": "trueLabel", + "description": "Value of the checkbox if it's checked", + "type": "string|number" + }, + { + "name": "name", + "description": "Native 'name' attribute", + "type": "string" + }, + { + "name": "falseLabel", + "description": "Value of the checkbox if it's not checked", + "type": "string|number" + }, + { + "name": "disabled", + "description": "If the checkbox is disabled", + "type": "boolean" + }, + { + "name": "label", + "description": "Value of the checkbox when used inside a checkbox-group", + "type": "string|number|boolean" + } + ] + }, + { + "name": "ElCheckboxGroup", + "doc-url": "https://element.eleme.io/#/en-US/component/checkbox#checkbox-group-attributes", + "props": [ + { + "name": "fill", + "description": "Border and background color when button is active", + "type": "string" + }, + { + "name": "textColor", + "description": "Font color when button is active", + "type": "string" + }, + { + "name": "size", + "description": "Size of checkbox buttons or bordered checkboxes", + "type": "ElementUIComponentSize" + }, + { + "name": "min", + "description": "Minimum number of checkbox checked", + "type": "number" + }, + { + "name": "disabled", + "description": "Whether the nesting checkboxes are disabled", + "type": "boolean" + }, + { + "name": "max", + "description": "Maximum number of checkbox checked", + "type": "number" + } + ] + }, + { + "name": "ElCol", + "props": [ + { + "name": "md", + "description": "�992px Responsive columns or column props object", + "type": "ResponsiveColumn" + }, + { + "name": "tag", + "description": "custom element tag", + "type": "string" + }, + { + "name": "offset", + "description": "Number of spacing on the left side of the grid", + "type": "number" + }, + { + "name": "push", + "description": "Number of columns that grid moves to the right", + "type": "number" + }, + { + "name": "sm", + "description": "�768px Responsive columns or column props object", + "type": "ResponsiveColumn" + }, + { + "name": "pull", + "description": "Number of columns that grid moves to the left", + "type": "number" + }, + { + "name": "xl", + "description": "�1920px Responsive columns or column props object", + "type": "ResponsiveColumn" + }, + { + "name": "xs", + "description": "<768px Responsive columns or column props object", + "type": "ResponsiveColumn" + }, + { + "name": "lg", + "description": "�1200px Responsive columns or column props object", + "type": "ResponsiveColumn" + }, + { + "name": "span", + "description": "Number of column the grid spans", + "type": "number" + } + ] + }, + { + "name": "ElCollapse", + "description": "Use Collapse to store contents.", + "doc-url": "https://element.eleme.io/#/en-US/component/collapse", + "props": [ + { + "name": "accordion", + "description": "Whether to activate accordion mode", + "type": "boolean" + }, + { + "name": "value", + "description": "Currently active panel", + "type": "string|number|string[]|number[]" + } + ] + }, + { + "name": "ElCollapseItem", + "doc-url": "https://element.eleme.io/#/en-US/component/collapse#collapse-item-attributes", + "props": [ + { + "name": "name", + "description": "Unique identification of the panel", + "type": "string|number" + }, + { + "name": "title", + "description": "Title of the panel", + "type": "string" + }, + { + "name": "disabled", + "description": "Disable the collapse item", + "type": "boolean" + } + ], + "slots": [ + { + "name": "default", + "description": "Content of the collapse item" + }, + { + "name": "title", + "description": "Title of the collapse item" + } + ] + }, + { + "name": "ElColorPicker", + "description": "ColorPicker is a color selector supporting multiple color formats.", + "doc-url": "https://element.eleme.io/#/en-US/component/color-picker", + "props": [ + { + "name": "showAlpha", + "description": "Whether to display the alpha slider", + "type": "boolean" + }, + { + "name": "colorFormat", + "description": "Custom class name for ColorPicker's dropdown", + "type": "ColorFormat" + }, + { + "name": "size", + "description": "Size of ColorPicker", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Whether to display the alpha slider", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether to disable the ColorPicker", + "type": "boolean" + } + ] + }, + { + "name": "ElComponent", + "props": [] + }, + { + "name": "ElContainer", + "description": "Wrapper container. When nested with a `<el-header>` or `<el-footer>`, all its child elements will be vertically arranged. Otherwise horizontally.", + "doc-url": "https://element.eleme.io/#/en-US/component/container", + "props": [ + { + "name": "direction", + "description": "Layout direction for child elements", + "type": "\"horizontal\"|\"vertical\"" + } + ] + }, + { + "name": "ElDatePicker", + "description": "Use Date Picker for date input.", + "doc-url": "https://element.eleme.io/#/en-US/component/date-picker", + "props": [ + { + "name": "defaultValue", + "description": "Default date of the calendar", + "type": "Date|number|string" + }, + { + "name": "type", + "description": "Type of the picker", + "type": "DatePickerType" + }, + { + "name": "align", + "description": "Alignment", + "type": "ElementUIHorizontalAlignment" + }, + { + "name": "readonly", + "description": "Whether DatePicker is read only", + "type": "boolean" + }, + { + "name": "format", + "description": "Format of the picker", + "type": "string" + }, + { + "name": "size", + "description": "Size of Input", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Custom class name for DatePicker's dropdown", + "type": "string" + }, + { + "name": "name", + "description": "name for the inner native input", + "type": "string" + }, + { + "name": "startPlaceholder", + "description": "Placeholder for the start date in range mode", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether DatePicker is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Placeholder", + "type": "string" + }, + { + "name": "endPlaceholder", + "description": "Placeholder for the end date in range mode", + "type": "string" + }, + { + "name": "value", + "description": "The value of the date picker", + "type": "Date|string|Date[]|string[]" + }, + { + "name": "rangeSeparator", + "description": "Range separator", + "type": "string" + }, + { + "name": "clearable", + "description": "Whether to show clear button", + "type": "boolean" + }, + { + "name": "editable", + "description": "Whether the input is editable", + "type": "boolean" + }, + { + "name": "pickerOptions", + "description": "Additional options, check the table below", + "type": "DatePickerOptions" + }, + { + "name": "valueFormat", + "description": "Format of binding value. If not specified, the binding value will be a Date object", + "type": "string" + } + ], + "slots": [ + { + "name": "range-separator", + "description": "Custom range separator content" + } + ] + }, + { + "name": "ElDescriptions", + "description": "Display multiple fields in list form.", + "doc-url": "https://element.eleme.io/#/en-US/component/descriptions", + "props": [ + { + "name": "labelStyle", + "description": "custom label style", + "type": "object" + }, + { + "name": "contentClassName", + "description": "custom content class name", + "type": "string" + }, + { + "name": "border", + "description": "with or without border", + "type": "boolean" + }, + { + "name": "size", + "description": "size of list", + "type": "\"medium\"|\"small\"|\"mini\"" + }, + { + "name": "labelClassName", + "description": "custom label class name", + "type": "string" + }, + { + "name": "title", + "description": "title text, display on the top left", + "type": "string" + }, + { + "name": "contentStyle", + "description": "custom content style", + "type": "object" + }, + { + "name": "extra", + "description": "extra text, display on the top right", + "type": "string" + }, + { + "name": "direction", + "description": "direction of list", + "type": "\"vertical\"|\"horizontal\"" + }, + { + "name": "column", + "description": "numbers of Descriptions Item in one line", + "type": "number" + }, + { + "name": "colon", + "description": "change default props colon value of Descriptions Item", + "type": "boolean" + } + ], + "slots": [ + { + "name": "extra", + "description": "title slot: custom extra area, display on the top right" + }, + { + "name": "title", + "description": "title slot: custom title, display on the top left" + } + ] + }, + { + "name": "ElDescriptionsItem", + "doc-url": "https://element.eleme.io/#/en-US/component/descriptions#descriptions-item-attributes", + "props": [ + { + "name": "labelStyle", + "description": "custom label style", + "type": "object" + }, + { + "name": "contentClassName", + "description": "custom content class name", + "type": "string" + }, + { + "name": "labelClassName", + "description": "custom label class name", + "type": "string" + }, + { + "name": "contentStyle", + "description": "custom content style", + "type": "object" + }, + { + "name": "label", + "description": "label text", + "type": "string" + }, + { + "name": "span", + "description": "the number of columns included", + "type": "number" + } + ], + "slots": [ + { + "name": "default", + "description": "default slot: custom content" + }, + { + "name": "label", + "description": "label slot: custom label" + } + ] + }, + { + "name": "ElDialog", + "description": "Informs users while preserving the current page state.", + "doc-url": "https://element.eleme.io/#/en-US/component/dialog", + "props": [ + { + "name": "closeOnPressEscape", + "description": "Whether the Dialog can be closed by pressing ESC", + "type": "boolean" + }, + { + "name": "showClose", + "description": "Whether to show a close button", + "type": "boolean" + }, + { + "name": "closeOnClickModal", + "description": "Whether the Dialog can be closed by clicking the mask", + "type": "boolean" + }, + { + "name": "lockScroll", + "description": "Whether scroll of body is disabled while Dialog is displayed", + "type": "boolean" + }, + { + "name": "modal", + "description": "Whether a mask is displayed", + "type": "boolean" + }, + { + "name": "fullscreen", + "description": "Whether the Dialog takes up full screen", + "type": "boolean" + }, + { + "name": "destroyOnClose", + "description": "Whether to destroy elements in Dialog when closed", + "type": "boolean" + }, + { + "name": "title", + "description": "Title of Dialog", + "type": "string" + }, + { + "name": "top", + "description": "Value for margin-top of Dialog CSS", + "type": "string" + }, + { + "name": "modalAppendToBody", + "description": "Whether to append modal to body element. If false, the modal will be appended to Dialog's parent element", + "type": "boolean" + }, + { + "name": "center", + "description": "Whether to align the header and footer in center", + "type": "boolean" + }, + { + "name": "width", + "description": "Width of Dialog", + "type": "string" + }, + { + "name": "customClass", + "description": "Custom class names for Dialog", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Content of the Dialog" + }, + { + "name": "footer", + "description": "Content of the Dialog footer" + }, + { + "name": "title", + "description": "Content of the Dialog title" + } + ] + }, + { + "name": "ElDivider", + "description": "The dividing line that separates the content.", + "doc-url": "https://element.eleme.io/#/en-US/component/divider", + "props": [ + { + "name": "vertical", + "description": "enable vertical divider", + "type": "boolean" + }, + { + "name": "posiiton", + "description": "customize the content on the divider line", + "type": "ContentPosition" + } + ] + }, + { + "name": "ElDrawer", + "description": "Sometimes, `Dialog` does not always satisfy our requirements, let's say you have a massive form, or you need space to display something like `terms & conditions`, `Drawer` has almost identical API with `Dialog`, but it introduces different user experience.", + "doc-url": "https://element.eleme.io/#/en-US/component/drawer", + "props": [ + { + "name": "closeOnPressEscape", + "description": "Whether the Drawer can be closed by pressing ESC", + "type": "boolean" + }, + { + "name": "showClose", + "description": "Whether the close button should be rendered to control the drawer's visible state", + "type": "boolean" + }, + { + "name": "wrapperClosable", + "description": "Flag attribute whi", + "type": "boolean" + }, + { + "name": "modal", + "description": "Equivalent to `Dialog`'s modal attribute, determines whether the dark shadowing background should show", + "type": "boolean" + }, + { + "name": "visible", + "description": "Whether the drawer component should show, also can be decorated by `.sync`", + "type": "boolean" + }, + { + "name": "size", + "description": "The size of the drawer component, supporting number with unit of pixel, string by percentage e.g. 30%", + "type": "number|string" + }, + { + "name": "appendToBody", + "description": "Equivalent to `Dialog`'s append to body attribute, when applying nested drawer, make sure this one is set to true", + "type": "boolean" + }, + { + "name": "position", + "description": "Attributes that controls the drawer's direction of display", + "type": "Direction" + }, + { + "name": "destroyOnClose", + "description": "Determine whether the wrapped children should be destroyed, if true, children's destroyed life cycle method will be called all local state will be destroyed", + "type": "boolean" + }, + { + "name": "title", + "description": "The Drawer's title, also can be replaced by named slot `title`", + "type": "string" + }, + { + "name": "modalAppendToBody", + "description": "Equivalent to `Dialog`'s modal-append-to-body attribute, determines whether the shadowing background should be inserted direct to DocumentBody element", + "type": "boolean" + }, + { + "name": "customClass", + "description": "Custom class names for Dialog", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Main Content Slots" + }, + { + "name": "title", + "description": "Title Slots" + } + ] + }, + { + "name": "ElDropdown", + "description": "Toggleable menu for displaying lists of links and actions.", + "doc-url": "https://element.eleme.io/#/en-US/component/dropdown", + "props": [ + { + "name": "type", + "description": "Menu button type. only works when split-button is true", + "type": "ButtonType" + }, + { + "name": "tabindex", + "description": "Dropdown tabindex", + "type": "number" + }, + { + "name": "size", + "description": "menu size, also works on the split button", + "type": "ElementUIComponentSize" + }, + { + "name": "placement", + "description": "Placement of the menu", + "type": "DropdownMenuAlignment" + }, + { + "name": "hideTimeout", + "description": "Delay time before hide a dropdown", + "type": "number" + }, + { + "name": "disabled", + "description": "Whether Dropdown is disabled", + "type": "boolean" + }, + { + "name": "splitButton", + "description": "Whether a button group is displayed", + "type": "boolean" + }, + { + "name": "trigger", + "description": "How to trigger", + "type": "DropdownMenuTrigger" + }, + { + "name": "showTimeout", + "description": "Delay time before show a dropdown", + "type": "number" + }, + { + "name": "hideOnClick", + "description": "Whether to hide menu after clicking menu-item", + "type": "boolean" + } + ], + "slots": [ + { + "name": "default", + "description": "Content of Dropdown. Notice: Must be a valid html dom element (ex. `<span>`, `<button>` etc.) or `el-component`, to attach the trigger listener" + }, + { + "name": "dropdown", + "description": "Content of the Dropdown Menu, usually a `<el-dropdown-menu>` element" + } + ] + }, + { + "name": "ElDropdownItem", + "doc-url": "https://element.eleme.io/#/en-US/component/dropdown#dropdown-menu-item-attributes", + "props": [ + { + "name": "divided", + "description": "Whether a divider is displayed", + "type": "boolean" + }, + { + "name": "icon", + "description": "Icon to show on left side of text", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether the item is disabled", + "type": "boolean" + }, + { + "name": "command", + "description": "A command to be dispatched to Dropdown's command callback", + "type": "string|number|object" + } + ] + }, + { + "name": "ElDropdownMenu", + "doc-url": "https://element.eleme.io/#/en-US/component/dropdown", + "props": [] + }, + { + "name": "ElEmpty", + "description": "Placeholder hints for empty states.", + "doc-url": "https://element.eleme.io/#/en-US/component/empty", + "props": [ + { + "name": "image", + "description": "image URL", + "type": "string" + }, + { + "name": "description", + "description": "description", + "type": "string" + }, + { + "name": "imageSize", + "description": "image size (width)", + "type": "number" + } + ], + "slots": [ + { + "name": "image", + "description": "image slot: Custom image" + }, + { + "name": "default", + "description": "default slot: \bCustom bottom content" + }, + { + "name": "description", + "description": "description slot: Custom description" + } + ] + }, + { + "name": "ElFooter", + "description": "Container for footers.", + "doc-url": "https://element.eleme.io/#/en-US/component/container", + "props": [ + { + "name": "height", + "description": "Height of the footer", + "type": "string" + } + ] + }, + { + "name": "ElForm", + "description": "Form consists of `input`, `radio`, `select`, `checkbox` and so on. With form, you can collect, verify and submit data.", + "doc-url": "https://element.eleme.io/#/en-US/component/form", + "props": [ + { + "name": "rules", + "description": "Validation rules of form", + "type": "object" + }, + { + "name": "labelWidth", + "description": "Width of label, and all form items will inherit from Form", + "type": "string" + }, + { + "name": "model", + "description": "Data of form component", + "type": "object" + }, + { + "name": "inlineMessage", + "description": "Whether to display the error message inline with the form item", + "type": "boolean" + }, + { + "name": "size", + "description": "Controls the size of components in this form", + "type": "ElementUIComponentSize" + }, + { + "name": "showMessage", + "description": "Whether to show the error message", + "type": "boolean" + }, + { + "name": "statusIcon", + "description": "Whether to display an icon indicating the validation result", + "type": "boolean" + }, + { + "name": "labelPosition", + "description": "Position of label", + "type": "FormItemLabelPosition" + }, + { + "name": "labelSuffix", + "description": "Suffix of the label", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether the form is disabled", + "type": "boolean" + }, + { + "name": "validate", + "description": "Validate the whole form", + "type": "{(ValidateCallback): void, (): Promise<boolean>}" + }, + { + "name": "validateOnRuleChange", + "description": "Whether to trigger validation when the `rules` prop is changed", + "type": "boolean" + }, + { + "name": "inline", + "description": "Whether the form is inline", + "type": "boolean" + } + ] + }, + { + "name": "ElFormItem", + "doc-url": "https://element.eleme.io/#/en-US/component/form#form-item-attributes", + "props": [ + { + "name": "labelWidth", + "description": "Width of label, e.g. '50px'", + "type": "string" + }, + { + "name": "rules", + "description": "Validation rules of form", + "type": "object" + }, + { + "name": "required", + "description": "Whether the field is required or not, will be determined by validation rules if omitted", + "type": "boolean" + }, + { + "name": "inlineMessage", + "description": "Whether to display the error message inline with the form item", + "type": "boolean" + }, + { + "name": "size", + "description": "Controls the size of components in this form", + "type": "ElementUIComponentSize" + }, + { + "name": "showMessage", + "description": "Whether to show the error message", + "type": "boolean" + }, + { + "name": "error", + "description": "Field error message, set its value and the field will validate error and show this message immediately", + "type": "string" + }, + { + "name": "prop", + "description": "A key of `model` of the enclosing `el-form` component", + "type": "string" + }, + { + "name": "label", + "description": "Label", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Content of Form Item" + }, + { + "name": "label", + "description": "Content of label" + }, + { + "name": "error", + "description": "Custom content to display validation message.", + "type": "{error: string}" + } + ] + }, + { + "name": "ElHeader", + "description": "Container for headers.", + "doc-url": "https://element.eleme.io/#/en-US/component/container", + "props": [ + { + "name": "height", + "description": "Height of the header", + "type": "string" + } + ] + }, + { + "name": "ElIcon", + "description": "Element provides a set of common icons.", + "doc-url": "https://element.eleme.io/#/en-US/component/icon", + "props": [ + { + "name": "name", + "description": "Icon name", + "doc-url": "https://element.eleme.io/#/en-US/component/icon#icons", + "type": "string" + } + ] + }, + { + "name": "ElImage", + "description": "Besides the native features of img, support lazy load, custom placeholder and load failure, etc.", + "doc-url": "https://element.eleme.io/#/en-US/component/image", + "props": [ + { + "name": "fit", + "description": "Indicate how the image should be resized to fit its container, same as native 'object-fit'", + "type": "ObjectFit" + }, + { + "name": "zIndex", + "type": "number" + }, + { + "name": "alt", + "description": "Native 'alt' attribute", + "type": "string" + }, + { + "name": "scrollContainer", + "description": "Scroll container that to add scroll listener when using lazy load", + "type": "string|HTMLElement" + }, + { + "name": "lazy", + "description": "Whether to use lazy load", + "type": "boolean" + }, + { + "name": "previewSrcList", + "type": "string[]" + }, + { + "name": "referrerPolicy", + "description": "Native 'referrerPolicy' attribute", + "type": "string" + }, + { + "name": "src", + "description": "Image source", + "type": "string" + } + ], + "slots": [ + { + "name": "placeholder", + "description": "Placeholder content when image hasn't loaded yet" + }, + { + "name": "error", + "description": "Error content when error occurs to image load" + } + ] + }, + { + "name": "ElInput", + "description": "Input data using mouse or keyboard.", + "doc-url": "https://element.eleme.io/#/en-US/component/input", + "props": [ + { + "name": "type", + "description": "Type of input", + "type": "InputType" + }, + { + "name": "readonly", + "description": "Same as readonly in native input", + "type": "boolean" + }, + { + "name": "showWordLimit", + "description": "Whether to show wordCount when setting maxLength", + "type": "boolean" + }, + { + "name": "maxlength", + "description": "Maximum Input text length", + "type": "number" + }, + { + "name": "validateEvent", + "description": "Whether to trigger form validatio", + "type": "boolean" + }, + { + "name": "size", + "description": "Size of Input, works when type is not 'textarea'", + "type": "ElementUIComponentSize" + }, + { + "name": "name", + "description": "Same as name in native input", + "type": "string" + }, + { + "name": "prefixIcon", + "description": "Prefix icon class", + "type": "string" + }, + { + "name": "minlength", + "description": "Minimum Input text length", + "type": "number" + }, + { + "name": "suffixIcon", + "description": "Suffix icon class", + "type": "string" + }, + { + "name": "min", + "description": "Same as min in native input", + "type": "any" + }, + { + "name": "disabled", + "description": "Whether Input is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Placeholder of Input", + "type": "string" + }, + { + "name": "value", + "description": "Binding value", + "type": "string|number" + }, + { + "name": "autoComplete", + "type": "string" + }, + { + "name": "clearable", + "description": "Whether the input is clearable", + "type": "boolean" + }, + { + "name": "autocomplete", + "description": "Same as autocomplete in native input", + "type": "string" + }, + { + "name": "max", + "description": "Same as max in native input", + "type": "any" + }, + { + "name": "rows", + "description": "Number of rows of textarea, only works when type is 'textarea'", + "type": "number" + }, + { + "name": "autofocus", + "description": "Same as autofocus in native input", + "type": "boolean" + }, + { + "name": "form", + "description": "Same as form in native input", + "type": "string" + }, + { + "name": "resize", + "description": "Control the resizability", + "type": "Resizability" + }, + { + "name": "showPassword", + "description": "Whether to show password", + "type": "boolean" + }, + { + "name": "step", + "description": "Same as step in native input", + "type": "any" + }, + { + "name": "autosize", + "description": "Whether textarea has an adaptive height, only works when type is 'textarea'", + "type": "boolean|AutoSize" + } + ], + "slots": [ + { + "name": "prefix", + "description": "Content as Input prefix, only works when `type` is 'text'" + }, + { + "name": "suffix", + "description": "Content as Input suffix, only works when `type` is 'text'" + }, + { + "name": "prepend", + "description": "Content to prepend before Input, only works when `type` is 'text'" + }, + { + "name": "append", + "description": "Content to append after Input, only works when `type` is 'text'" + } + ] + }, + { + "name": "ElInputNumber", + "description": "Input numerical values with a customizable range.", + "doc-url": "https://element.eleme.io/#/en-US/component/input-number", + "props": [ + { + "name": "controls", + "description": "Whether to enable the control buttons", + "type": "boolean" + }, + { + "name": "precision", + "description": "Precision of input value", + "type": "number" + }, + { + "name": "debounce", + "description": "Debounce delay when typing, in milliseconds", + "type": "number" + }, + { + "name": "stepStrictly", + "description": "whether input value can only be multiple of step", + "type": "boolean" + }, + { + "name": "size", + "description": "Size of the component", + "type": "InputNumberSize" + }, + { + "name": "name", + "description": "Same as name in native input", + "type": "string" + }, + { + "name": "min", + "description": "The minimum allowed value", + "type": "number" + }, + { + "name": "disabled", + "description": "Whether the component is disabled", + "type": "boolean" + }, + { + "name": "controlsPosition", + "description": "Position of the control buttons", + "type": "string" + }, + { + "name": "value", + "description": "Binding value", + "type": "number" + }, + { + "name": "max", + "description": "The maximum allowed value", + "type": "number" + }, + { + "name": "step", + "description": "Incremental step", + "type": "number" + } + ] + }, + { + "name": "ElLink", + "description": "Text hyperlink", + "doc-url": "https://element.eleme.io/#/en-US/component/link", + "props": [ + { + "name": "underline", + "description": "Link underline", + "type": "boolean" + }, + { + "name": "type", + "description": "Link type", + "type": "LinkType" + }, + { + "name": "href", + "description": "Link href", + "type": "string" + }, + { + "name": "icon", + "description": "Link icon, accepts an icon name of Element icon component", + "type": "string" + }, + { + "name": "disabled", + "description": "Disable the link", + "type": "boolean" + }, + { + "name": "target", + "description": "Link target", + "type": "string" + } + ] + }, + { + "name": "ElMain", + "description": "Container for main sections.", + "doc-url": "https://element.eleme.io/#/en-US/component/container", + "props": [] + }, + { + "name": "ElMenu", + "description": "Menu that provides navigation for your website.", + "doc-url": "https://element.eleme.io/#/en-US/component/menu", + "props": [ + { + "name": "defaultOpeneds", + "description": "Array that contains keys of currently active sub-menus", + "type": "string[]" + }, + { + "name": "mode", + "description": "Menu display mode", + "type": "MenuDisplayMode" + }, + { + "name": "router", + "description": "Whether vue-router mode is activated. If true, index will be used as 'path' to activate the route action", + "type": "boolean" + }, + { + "name": "uniqueOpened", + "description": "Whether only one sub-menu can be active", + "type": "boolean" + }, + { + "name": "textColor", + "description": "Text color of Menu (hex format)", + "type": "string" + }, + { + "name": "defaultActive", + "description": "Index of currently active menu", + "type": "string" + }, + { + "name": "activeTextColor", + "description": "Text color of currently active menu item (hex format)", + "type": "string" + }, + { + "name": "backgroundColor", + "description": "Background color of Menu (hex format)", + "type": "string" + }, + { + "name": "menuTrigger", + "description": "How sub-menus are triggered, only works when mode is 'horizontal'", + "type": "string" + }, + { + "name": "collapse", + "description": "Whether the menu is collapsed (available only in vertical mode)", + "type": "boolean" + }, + { + "name": "collapseTransition", + "description": "Whether the menu collapse transition is active", + "type": "boolean" + } + ] + }, + { + "name": "ElMenuItem", + "doc-url": "https://element.eleme.io/#/en-US/component/menu#menu-item-attribute", + "props": [ + { + "name": "index", + "description": "Unique identification", + "type": "string" + }, + { + "name": "route", + "description": "Vue Router object", + "type": "object" + } + ] + }, + { + "name": "ElMenuItemGroup", + "doc-url": "https://element.eleme.io/#/en-US/component/menu#menu-item-attribute", + "props": [ + { + "name": "title", + "description": "Group title", + "type": "string" + } + ] + }, + { + "name": "ElOption", + "doc-url": "https://element.eleme.io/#/en-US/component/select#option-attributes", + "props": [ + { + "name": "disabled", + "description": "Whether option is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "Value of option", + "type": "any" + }, + { + "name": "label", + "description": "Label of option, same as value if omitted", + "type": "string" + } + ] + }, + { + "name": "ElOptionGroup", + "doc-url": "https://element.eleme.io/#/en-US/component/select#option-group-attributes", + "props": [ + { + "name": "disabled", + "description": "Whether to disable all options in this group", + "type": "boolean" + }, + { + "name": "label", + "description": "Name of the group", + "type": "string" + } + ] + }, + { + "name": "ElPageHeader", + "description": "If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.", + "doc-url": "https://element.eleme.io/#/en-US/component/page-header", + "props": [ + { + "name": "title", + "description": "title", + "type": "String" + }, + { + "name": "content", + "description": "content", + "type": "String" + } + ], + "slots": [ + { + "name": "title", + "description": "Title content" + }, + { + "name": "content", + "description": "Content" + } + ] + }, + { + "name": "ElPagination", + "description": "If you have too much data to display in one page, use pagination.", + "doc-url": "https://element.eleme.io/#/en-US/component/pagination", + "props": [ + { + "name": "small", + "description": "Whether to use small pagination", + "type": "boolean" + }, + { + "name": "pageSize", + "description": "Item count of each page", + "type": "number" + }, + { + "name": "prevText", + "description": "Text for the prev button", + "type": "string" + }, + { + "name": "nextText", + "description": "Text for the prev button", + "type": "string" + }, + { + "name": "popperClass", + "description": "Custom class name for the page size Select's dropdown", + "type": "string" + }, + { + "name": "pageSizes", + "description": "Options of item count per page", + "type": "number[]" + }, + { + "name": "total", + "description": "Total item count", + "type": "number" + }, + { + "name": "pageCount", + "description": "Total page count. Set either total or page-count and pages will be displayed; if you need page-sizes, total is required", + "type": "number" + }, + { + "name": "pagerCount", + "description": "Number of pagers", + "type": "number" + }, + { + "name": "hideOnSinglePage", + "description": "Whether to hide when thers's only one page", + "type": "boolean" + }, + { + "name": "layout", + "description": "Layout of Pagination. Elements separated with a comma.\nAccepted values: `sizes`, `prev`, `pager`, `next`, `jumper`, `->`, `total`, `slot`", + "type": "string" + }, + { + "name": "currentPage", + "description": "Current page number", + "type": "number" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content. To use this, you need to declare `slot` in `layout`" + } + ] + }, + { + "name": "ElPopconfirm", + "description": "A simple confirmation dialog of an element click action.", + "doc-url": "https://element.eleme.io/#/en-US/component/popconfirm", + "props": [ + { + "name": "visibleArrow", + "description": "Whether a tooltip arrow is displayed or not. For more info, please refer to Vue-popper", + "type": "boolean" + }, + { + "name": "offset", + "description": "Popover offset", + "type": "number" + }, + { + "name": "tabindex", + "description": "Popover tabindex", + "type": "number" + }, + { + "name": "popperClass", + "description": "Custom class name for popover", + "type": "string" + }, + { + "name": "placement", + "description": "Popover placement", + "type": "PopoverPlacement" + }, + { + "name": "icon", + "description": "Popconfirm icon", + "type": "string" + }, + { + "name": "title", + "description": "Popconfirm title", + "type": "string" + }, + { + "name": "content", + "description": "Popover content, can be replaced with a default slot", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether Popover is disabled", + "type": "boolean" + }, + { + "name": "popperOptions", + "description": "Parameters for popper.js", + "type": "object" + }, + { + "name": "value", + "description": "Whether popover is visible", + "type": "boolean" + }, + { + "name": "confirmButtonText", + "description": "Popconfirm ok text", + "type": "string" + }, + { + "name": "cancelButtonText", + "description": "Popconfirm cancel text", + "type": "string" + }, + { + "name": "cancelButtonType", + "description": "Popconfirm cancal type", + "type": "string" + }, + { + "name": "hideIcon", + "description": "Popconfirm hide icon", + "type": "boolean" + }, + { + "name": "trigger", + "description": "How the popover is triggered", + "type": "PopoverTrigger" + }, + { + "name": "confirmButtonType", + "description": "Popconfirm ok type", + "type": "string" + }, + { + "name": "transition", + "description": "Popover transition animation", + "type": "string" + }, + { + "name": "closeDelay", + "description": "Delay before disappearing when trigger is hover, in milliseconds", + "type": "number" + }, + { + "name": "openDelay", + "description": "Delay before appearing when trigger is hover, in milliseconds", + "type": "number" + }, + { + "name": "iconColor", + "description": "Popconfirm icon color", + "type": "string" + }, + { + "name": "width", + "description": "Popover width", + "type": "string|number" + } + ], + "slots": [ + { + "name": "reference", + "description": "HTML element that triggers popover" + }, + { + "name": "default", + "description": "Content of popover" + } + ] + }, + { + "name": "ElPopover", + "description": "Similar to Tooltip, Popover is also built with `Vue-popper`", + "doc-url": "https://element.eleme.io/#/en-US/component/popover", + "props": [ + { + "name": "visibleArrow", + "description": "Whether a tooltip arrow is displayed or not. For more info, please refer to Vue-popper", + "type": "boolean" + }, + { + "name": "offset", + "description": "Popover offset", + "type": "number" + }, + { + "name": "tabindex", + "description": "Popover tabindex", + "type": "number" + }, + { + "name": "popperClass", + "description": "Custom class name for popover", + "type": "string" + }, + { + "name": "placement", + "description": "Popover placement", + "type": "PopoverPlacement" + }, + { + "name": "title", + "description": "Popover title", + "type": "string" + }, + { + "name": "content", + "description": "Popover content, can be replaced with a default slot", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether Popover is disabled", + "type": "boolean" + }, + { + "name": "popperOptions", + "description": "Parameters for popper.js", + "type": "object" + }, + { + "name": "value", + "description": "Whether popover is visible", + "type": "boolean" + }, + { + "name": "trigger", + "description": "How the popover is triggered", + "type": "PopoverTrigger" + }, + { + "name": "transition", + "description": "Popover transition animation", + "type": "string" + }, + { + "name": "closeDelay", + "description": "Delay before disappearing when trigger is hover, in milliseconds", + "type": "number" + }, + { + "name": "openDelay", + "description": "Delay before appearing when trigger is hover, in milliseconds", + "type": "number" + }, + { + "name": "width", + "description": "Popover width", + "type": "string|number" + } + ], + "slots": [ + { + "name": "reference", + "description": "HTML element that triggers popover" + }, + { + "name": "default", + "description": "Content of popover" + } + ] + }, + { + "name": "ElProgress", + "description": "Progress is used to show the progress of current operation, and inform the user the current status.", + "doc-url": "https://element.eleme.io/#/en-US/component/progress", + "props": [ + { + "name": "showText", + "description": "Whether to show percentage", + "type": "boolean" + }, + { + "name": "type", + "description": "The type of progress bar", + "type": "ProgressType" + }, + { + "name": "percentage", + "description": "Percentage, required", + "type": "number" + }, + { + "name": "strokeLinecap", + "description": "Circle progress bar stroke line cap", + "type": "string" + }, + { + "name": "status", + "description": "The current status of progress bar", + "type": "ProgressStatus" + }, + { + "name": "strokeWidth", + "description": "The width of progress bar", + "type": "number" + }, + { + "name": "color", + "description": "Background color of progress bar. Overrides `status` prop", + "type": "string|Function|Array<string|{color: string, percentage: number}>" + }, + { + "name": "textInside", + "description": "Whether to place the percentage inside progress bar, only works when type is 'line'", + "type": "boolean" + }, + { + "name": "width", + "description": "The canvas width of circle progress bar", + "type": "number" + } + ] + }, + { + "name": "ElRadio", + "description": "Single selection among multiple options.", + "doc-url": "https://element.eleme.io/#/en-US/component/radio", + "props": [ + { + "name": "border", + "description": "Whether to add a border around Radio", + "type": "boolean" + }, + { + "name": "name", + "description": "Native 'name' attribute", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether radio is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "The form input value", + "type": "string" + }, + { + "name": "label", + "description": "The value of radio", + "type": "string|number|boolean" + } + ] + }, + { + "name": "ElRadioButton", + "doc-url": "https://element.eleme.io/#/en-US/component/radio#radio-group-attributes", + "props": [ + { + "name": "name", + "description": "Native 'name' attribute", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether radio is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "The form input value", + "type": "string" + }, + { + "name": "label", + "description": "The value of radio", + "type": "string|number" + } + ] + }, + { + "name": "ElRadioGroup", + "doc-url": "https://element.eleme.io/#/en-US/component/radio#radio-group-attributes", + "props": [ + { + "name": "fill", + "description": "Border and background color when button is active", + "type": "string" + }, + { + "name": "textColor", + "description": "Font color when button is active", + "type": "string" + }, + { + "name": "size", + "description": "The size of radio buttons", + "type": "RadioGroupSize" + }, + { + "name": "disabled", + "description": "Whether the nesting radios are disabled", + "type": "boolean" + } + ] + }, + { + "name": "ElRate", + "description": "Used for rating", + "doc-url": "https://element.eleme.io/#/en-US/component/rate", + "props": [ + { + "name": "showText", + "description": "Whether to display texts", + "type": "boolean" + }, + { + "name": "voidColor", + "description": "Color of unselected icons", + "type": "string" + }, + { + "name": "voidIconClass", + "description": "Class name of unselected icons", + "type": "string" + }, + { + "name": "highThreshold", + "description": "Threshold value between medium and high level. The value itself will be included in high level", + "type": "number" + }, + { + "name": "textColor", + "description": "Color of texts", + "type": "string" + }, + { + "name": "scoreTemplate", + "description": "Text template when the component is read-only", + "type": "string" + }, + { + "name": "allowHalf", + "description": "Whether picking half start is allowed", + "type": "boolean" + }, + { + "name": "showScore", + "description": "Whether to display current score. show-score and show-text cannot be true at the same time", + "type": "boolean" + }, + { + "name": "colors", + "description": "Colors for icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding color", + "type": "string[]|RateColors" + }, + { + "name": "iconClasses", + "description": "Class names of icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding class name", + "type": "string[]|RateIconClasses" + }, + { + "name": "disabled", + "description": "Whether Rate is read-only", + "type": "boolean" + }, + { + "name": "max", + "description": "Max rating score", + "type": "number" + }, + { + "name": "lowThreshold", + "description": "Threshold value between low and medium level. The value itself will be included in low level", + "type": "number" + }, + { + "name": "disabledVoidIconClass", + "description": "Class name of unselected read-only icons", + "type": "string" + }, + { + "name": "texts", + "description": "Text array", + "type": "string[]" + }, + { + "name": "disabledVoidColor", + "description": "Color of unselected read-only icons", + "type": "string" + } + ] + }, + { + "name": "ElResult", + "description": "Used to give feedback on the result of user's operation or access exception.", + "doc-url": "https://element.eleme.io/#/en-US/component/result", + "props": [ + { + "name": "subTitle", + "description": "sub title", + "type": "string" + }, + { + "name": "icon", + "description": "icon type", + "type": "\"success\"|\"warning\"|\"info\"|\"error\"" + }, + { + "name": "title", + "description": "title", + "type": "string" + } + ], + "slots": [ + { + "name": "subTitle", + "description": "subTitle slot: custom sub title" + }, + { + "name": "extra", + "description": "extra slot: custom extra area, display on the top right" + }, + { + "name": "icon", + "description": "icon slot: custom icon" + }, + { + "name": "title", + "description": "title slot: custom title" + } + ] + }, + { + "name": "ElRow", + "props": [ + { + "name": "type", + "description": "Layout mode. You can use flex. Works in modern browsers", + "type": "string" + }, + { + "name": "align", + "description": "Vertical alignment of flex layout", + "type": "VertialAlignment" + }, + { + "name": "justify", + "description": "Horizontal alignment of flex layout", + "type": "HorizontalAlignment" + }, + { + "name": "tag", + "description": "Custom element tag", + "type": "string" + }, + { + "name": "gutter", + "description": "Grid spacing", + "type": "number" + } + ] + }, + { + "name": "ElSelect", + "description": "When there are plenty of options, use a drop-down menu to display and select desired ones.", + "doc-url": "https://element.eleme.io/#/en-US/component/select", + "props": [ + { + "name": "remoteMethod", + "description": "Custom remote search method", + "type": "QueryChangeHandler" + }, + { + "name": "remote", + "description": "Whether options are loaded from server", + "type": "boolean" + }, + { + "name": "filterable", + "description": "Whether Select is filterable", + "type": "boolean" + }, + { + "name": "loadingText", + "description": "Displayed text while loading data from server", + "type": "string" + }, + { + "name": "multipleLimit", + "description": "Maximum number of options user can select when multiple is true. No limit when set to 0", + "type": "number" + }, + { + "name": "loading", + "description": "Whether Select is loading data from server", + "type": "boolean" + }, + { + "name": "size", + "description": "Size of Input", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Custom class name for Select's dropdown", + "type": "string" + }, + { + "name": "name", + "description": "The name attribute of select input", + "type": "string" + }, + { + "name": "allowCreate", + "description": "Whether creating new items is allowed. To use this, filterable must be true", + "type": "boolean" + }, + { + "name": "disabled", + "description": "Whether Select is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Placeholder", + "type": "string" + }, + { + "name": "valueKey", + "description": "Unique identity key name for value, required when value is an object", + "type": "string" + }, + { + "name": "value", + "description": "The form input value", + "type": "any" + }, + { + "name": "autoComplete", + "type": "string" + }, + { + "name": "clearable", + "description": "Whether single select can be cleared", + "type": "boolean" + }, + { + "name": "filterMethod", + "description": "Custom filter method", + "type": "QueryChangeHandler" + }, + { + "name": "autocomplete", + "description": "Same as autocomplete in native input", + "type": "string" + }, + { + "name": "multiple", + "description": "Whether multiple-select is activated", + "type": "boolean" + }, + { + "name": "noDataText", + "description": "Displayed text when there is no options", + "type": "string" + }, + { + "name": "popperAppendToBody", + "description": "Whether to append the popper menu to body", + "type": "boolean" + }, + { + "name": "defaultFirstOption", + "description": "Select first matching option on enter key. Use with filterable or remote", + "type": "boolean" + }, + { + "name": "noMatchText", + "description": "Displayed text when no data matches the filtering query", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Option component list" + }, + { + "name": "prefix", + "description": "Content as Select prefix" + }, + { + "name": "empty", + "description": "Content when there is no options" + } + ] + }, + { + "name": "ElSkeleton", + "description": "When loading data, and you need a rich experience for visual and interactions for your end users, you can choose `skeleton`.", + "doc-url": "https://element.eleme.io/#/en-US/component/skeleton", + "props": [ + { + "name": "count", + "description": "how many fake items to render to the DOM; default: 1", + "type": "number" + }, + { + "name": "loading", + "description": "whether showing the skeleton; default true", + "type": "boolean" + }, + { + "name": "animated", + "description": "whether showing the animation; default: false", + "type": "boolean" + }, + { + "name": "throttle", + "description": "Rendering delay in millseconds; default: 0", + "type": "number" + }, + { + "name": "rows", + "description": "numbers of the row, only useful when no template slot were given; default: 4", + "type": "boolean" + } + ], + "slots": [ + { + "name": "template", + "description": "template slot: Custom rendering skeleton template" + }, + { + "name": "default", + "description": "default slot: \bReal rendering DOM" + } + ] + }, + { + "name": "ElSkeletonItem", + "doc-url": "https://element.eleme.io/#/en-US/component/skeleton#skeleton-item-attributes", + "props": [ + { + "name": "variant", + "description": "The current rendering skeleton type; default: text", + "type": "\"p\"|\"text\"|\"h1\"|\"h3\"|\"caption\"|\"button\"|\"image\"|\"circle\"|\"rect\"" + } + ] + }, + { + "name": "ElSlider", + "description": "Drag the slider within a fixed range.", + "doc-url": "https://element.eleme.io/#/en-US/component/slider", + "props": [ + { + "name": "showInputControls", + "description": "Whether to display control buttons when show-input is true", + "type": "boolean" + }, + { + "name": "debounce", + "description": "Debounce delay when typing, in milliseconds, works when show-input is true", + "type": "number" + }, + { + "name": "showInput", + "description": "Whether to display an input box, works when range is false", + "type": "boolean" + }, + { + "name": "formatTooltip", + "description": "Format of displayed tooltip value", + "type": "SliderTooltipFormat" + }, + { + "name": "height", + "description": "Slider height, required in vertical mode", + "type": "boolean" + }, + { + "name": "range", + "description": "Whether to select a range", + "type": "boolean" + }, + { + "name": "vertical", + "description": "Vertical mode", + "type": "boolean" + }, + { + "name": "showStops", + "description": "Whether to display breakpoints", + "type": "boolean" + }, + { + "name": "min", + "description": "Minimum value", + "type": "number" + }, + { + "name": "inputSize", + "description": "Size of the input box", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether Slider is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "Current value of the slider", + "type": "number|number[]" + }, + { + "name": "tooltipClass", + "description": "Custom class name for the tooltip", + "type": "string" + }, + { + "name": "max", + "description": "Maximum value", + "type": "number" + }, + { + "name": "showTooltip", + "description": "Whether to display tooltip value", + "type": "boolean" + }, + { + "name": "marks", + "description": "Custom marks", + "type": "{[p: number]: string|{style: object, label: string|VNode}}" + }, + { + "name": "step", + "description": "Step size", + "type": "number" + } + ] + }, + { + "name": "ElSpinner", + "props": [ + { + "name": "type", + "description": "The type of spinner", + "type": "string" + }, + { + "name": "radius", + "description": "The radius of spinner", + "type": "number" + }, + { + "name": "strokeColor", + "description": "The color of spinner", + "type": "string" + }, + { + "name": "strokeWidth", + "description": "The width of spinner", + "type": "number" + } + ] + }, + { + "name": "ElStep", + "doc-url": "https://element.eleme.io/#/en-US/component/steps#step-attributes", + "props": [ + { + "name": "status", + "description": "Current status. It will be automatically set by Steps if not configured.", + "type": "StepStatus" + }, + { + "name": "icon", + "description": "Step icon", + "type": "string" + }, + { + "name": "description", + "description": "Step description", + "type": "string" + }, + { + "name": "title", + "description": "Step title", + "type": "string" + } + ], + "slots": [ + { + "name": "icon", + "description": "Custom icon" + }, + { + "name": "description", + "description": "Step description" + }, + { + "name": "title", + "description": "Step title" + } + ] + }, + { + "name": "ElSteps", + "description": "Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2.", + "doc-url": "https://element.eleme.io/#/en-US/component/steps", + "props": [ + { + "name": "processStatus", + "description": "Status of current step", + "type": "StepStatus" + }, + { + "name": "simple", + "description": "Whether to apply simple theme", + "type": "boolean" + }, + { + "name": "space", + "description": "The spacing of each step, will be responsive if omitted. Support percentage.", + "type": "number|string" + }, + { + "name": "active", + "description": "Current activation step", + "type": "number" + }, + { + "name": "direction", + "description": "Display direction", + "type": "StepsDirection" + }, + { + "name": "alignCenter", + "description": "Whether step description is centered", + "type": "boolean" + }, + { + "name": "finishStatus", + "description": "Status of end step", + "type": "StepStatus" + } + ] + }, + { + "name": "ElSubmenu", + "doc-url": "https://element.eleme.io/#/en-US/component/menu#submenu-attribute", + "props": [ + { + "name": "index", + "description": "Unique identification", + "type": "string|null" + }, + { + "name": "popperClass", + "description": "Custom class name for the popup menu", + "type": "string" + }, + { + "name": "hideTimeout", + "description": "Delay time before hiding a sub-menu", + "type": "number" + }, + { + "name": "disabled", + "description": "Whether the sub-menu is disabled", + "type": "boolean" + }, + { + "name": "popperAppendToBody", + "description": "Whether to append the popper menu to body", + "type": "boolean" + }, + { + "name": "showTimeout", + "description": "Delay time before showing a sub-menu", + "type": "number" + } + ] + }, + { + "name": "ElSwitch", + "description": "Switch is used for switching between two opposing states.", + "doc-url": "https://element.eleme.io/#/en-US/component/switch", + "props": [ + { + "name": "activeText", + "description": "Text displayed when in on state", + "type": "string" + }, + { + "name": "activeIconClass", + "description": "Class name of the icon displayed when in on state, overrides on-text", + "type": "string" + }, + { + "name": "inactiveValue", + "description": "Switch value when in off state", + "type": "string|boolean|number" + }, + { + "name": "validateEvent", + "description": "Whether to trigger form validation", + "type": "boolean" + }, + { + "name": "inactiveIconClass", + "description": "Class name of the icon displayed when in off state, overrides off-text", + "type": "string" + }, + { + "name": "activeColor", + "description": "Background color when in on state", + "type": "string" + }, + { + "name": "name", + "description": "Input name of Switch", + "type": "string" + }, + { + "name": "activeValue", + "description": "Switch value when in on state", + "type": "string|boolean|number" + }, + { + "name": "inactiveText", + "description": "Text displayed when in off state", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether Switch is disabled", + "type": "boolean" + }, + { + "name": "value", + "description": "Whether Switch is on", + "type": "boolean" + }, + { + "name": "inactiveColor", + "description": "Background color when in off state", + "type": "string" + }, + { + "name": "width", + "description": "Width of Switch", + "type": "number" + } + ] + }, + { + "name": "ElTabPane", + "doc-url": "https://element.eleme.io/#/en-US/component/tabs#tab-pane-attributes", + "props": [ + { + "name": "name", + "description": "Identifier corresponding to the activeName of Tabs, representing the alias of the tab-pane", + "type": "string" + }, + { + "name": "closable", + "description": "Whether Tab is closable", + "type": "boolean" + }, + { + "name": "lazy", + "description": "Whether Tab is lazily rendered", + "type": "boolean" + }, + { + "name": "disabled", + "description": "Whether Tab is disabled", + "type": "boolean" + }, + { + "name": "label", + "description": "Title of the tab", + "type": "string" + } + ] + }, + { + "name": "ElTable", + "description": "Display multiple data with similar format. You can sort, filter, compare your data in a table.", + "doc-url": "https://element.eleme.io/#/en-US/component/table", + "props": [ + { + "name": "showSummary", + "description": "Whether to display a summary row", + "type": "boolean" + }, + { + "name": "data", + "description": "Table data", + "type": "object[]" + }, + { + "name": "rowStyle", + "description": "Function that returns custom style for a row, or an object assigning custom style for every row", + "type": "object|(function(rowCallbackParams): object)" + }, + { + "name": "defaultSort", + "description": "Set the default sort column and order", + "type": "DefaultSortOptions" + }, + { + "name": "fit", + "description": "Whether width of column automatically fits its container", + "type": "boolean" + }, + { + "name": "headerRowStyle", + "description": "Function that returns custom style for a row in table header, or an object assigning custom style for every row in table header", + "type": "object|(function(rowCallbackParams): object)" + }, + { + "name": "stripe", + "description": "Whether table is striped", + "type": "boolean" + }, + { + "name": "defaultExpandAll", + "description": "Whether expand all rows by default. Only works when the table has a column `type=\"expand\"`", + "type": "Boolean" + }, + { + "name": "height", + "description": "Table's height. By default it has an auto height. If its value is a number, the height is measured in pixels; if its value is a string, the height is affected by external styles", + "type": "string|number" + }, + { + "name": "border", + "description": "Whether table has vertical border", + "type": "boolean" + }, + { + "name": "sumText", + "description": "Displayed text for the first column of summary row", + "type": "string" + }, + { + "name": "selectOnIndeterminate", + "description": "Controls the behavior of master checkbox in multi-select tables when only some rows are selected", + "type": "boolean" + }, + { + "name": "rowClassName", + "description": "Function that returns custom class names for a row, or a string assigning class names for every row", + "type": "string|(function(rowCallbackParams): string)" + }, + { + "name": "headerRowClassName", + "description": "Function that returns custom class names for a row in table header, or a string assigning class names for every row in table header", + "type": "string|(function(rowCallbackParams): string)" + }, + { + "name": "currentRowKey", + "description": "Key of current row, a set only prop", + "type": "string|number" + }, + { + "name": "indent", + "description": "Horizontal indentation of nodes in adjacent levels in pixels", + "type": "number" + }, + { + "name": "lazy", + "description": "Whether to lazy load tree structure data, used with load attribute", + "type": "boolean" + }, + { + "name": "emptyText", + "description": "Displayed text when data is empty. You can customize this area with `slot=\"empty\"`", + "type": "String" + }, + { + "name": "maxHeight", + "description": "Table's max-height. The height of the table starts from auto until it reaches the maxHeight limit. The maxHeight is measured in pixels, same as height", + "type": "string|number" + }, + { + "name": "tooltipEffect", + "description": "Tooltip effect property", + "type": "TooltipEffect" + }, + { + "name": "showHeader", + "description": "Whether table header is visible", + "type": "boolean" + }, + { + "name": "highlightCurrentRow", + "description": "Whether current row is highlighted", + "type": "boolean" + }, + { + "name": "cellStyle", + "description": "Function that returns custom style for a cell, or an object assigning custom style for every cell", + "type": "object|(function(cellCallbackParams): object)" + }, + { + "name": "headerCellClassName", + "description": "Function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header", + "type": "string|(function(cellCallbackParams): string)" + }, + { + "name": "headerCellStyle", + "description": "Function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header", + "type": "object|(function(cellCallbackParams): object)" + }, + { + "name": "cellClassName", + "description": "Function that returns custom class names for a cell, or a string assigning class names for every cell", + "type": "string|(function(cellCallbackParams): string)" + }, + { + "name": "expandRowKeys", + "description": "Set expanded rows by this prop. Prop's value is the keys of expand rows, you should set row-key before using this prop", + "type": "any[]" + } + ], + "slots": [ + { + "name": "append", + "description": "Contents to be inserted after the last row. You may need this slot if you want to implement infinite scroll for the table. This slot will be displayed above the summary row if there is one." + } + ] + }, + { + "name": "ElTableColumn", + "doc-url": "https://element.eleme.io/#/en-US/component/table#table-column-attributes", + "props": [ + { + "name": "type", + "description": "Type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon.", + "type": "TableColumnType" + }, + { + "name": "align", + "description": "Alignment", + "type": "ElementUIHorizontalAlignment" + }, + { + "name": "headerAlign", + "description": "Alignment of the table header. If omitted, the value of the `align` attribute will be applied", + "type": "ElementUIHorizontalAlignment" + }, + { + "name": "sortOrders", + "description": "The order of the sorting strategies used when sorting the data. Works when `sortable` is `true`.", + "type": "SortOrders[]" + }, + { + "name": "filterPlacement", + "description": "Placement for the filter dropdown", + "type": "PopoverPlacement" + }, + { + "name": "reserveSelection", + "description": "Whether to reserve selection after data refreshing, works when `type` is `'selection'`", + "type": "boolean" + }, + { + "name": "fixed", + "description": "Whether column is fixed at left/right. Will be fixed at left if `true`", + "type": "boolean|TableColumnFixedType" + }, + { + "name": "columnKey", + "description": "Column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered", + "type": "string" + }, + { + "name": "labelClassName", + "description": "Class name of the label of this column", + "type": "string" + }, + { + "name": "className", + "description": "Class name of cells in the column", + "type": "string" + }, + { + "name": "prop", + "description": "Field name. You can also use its alias: property", + "type": "string" + }, + { + "name": "showOverflowTooltip", + "description": "Whether to hide extra content and show them in a tooltip when hovering on the cell", + "type": "boolean" + }, + { + "name": "filterMultiple", + "description": "Whether data filtering supports multiple options", + "type": "Boolean" + }, + { + "name": "resizable", + "description": "Whether column width can be resized. Works when border of `el-table` is `true`", + "type": "boolean" + }, + { + "name": "filteredValue", + "description": "Filter value for selected data, might be useful when table header is rendered with `render-header`", + "type": "TableColumnFilter[]" + }, + { + "name": "minWidth", + "description": "Column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion", + "type": "string" + }, + { + "name": "label", + "description": "Column label", + "type": "string" + }, + { + "name": "sortable", + "description": "Whether column can be sorted", + "type": "boolean|\"custom\"" + }, + { + "name": "filters", + "description": "An array of data filtering options", + "type": "TableColumnFilter[]" + }, + { + "name": "width", + "description": "Column width", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content for table columns.", + "type": "{ row: any, column: any, $index: any }" + }, + { + "name": "header", + "description": "Custom content for table header.", + "type": "{ column: any, $index: any }" + } + ] + }, + { + "name": "ElTabs", + "description": "Divide data collections which are related yet belong to different types.", + "doc-url": "https://element.eleme.io/#/en-US/component/tabs", + "props": [ + { + "name": "type", + "description": "Type of Tab", + "type": "TabType" + }, + { + "name": "closable", + "description": "Whether Tab is closable", + "type": "boolean" + }, + { + "name": "tabPosition", + "description": "Position of tabs", + "type": "TabPosition" + }, + { + "name": "stretch", + "description": "Whether width of tab automatically fits its container", + "type": "Boolean" + }, + { + "name": "value", + "description": "Name of the selected tab", + "type": "string" + }, + { + "name": "editable", + "description": "Whether Tab is addable and closable", + "type": "boolean" + }, + { + "name": "addable", + "description": "Whether Tab is addable", + "type": "boolean" + } + ] + }, + { + "name": "ElTag", + "description": "Used for marking and selection.", + "doc-url": "https://element.eleme.io/#/en-US/component/tag", + "props": [ + { + "name": "disableTransitions", + "description": "Whether the removal animation is disabled", + "type": "boolean" + }, + { + "name": "type", + "description": "Tag type", + "type": "TagType" + }, + { + "name": "hit", + "description": "Whether Tag has a highlighted border", + "type": "boolean" + }, + { + "name": "size", + "description": "Tag size", + "type": "ElementUIComponentSize" + }, + { + "name": "effect", + "description": "Tag theme", + "type": "TagTheme" + }, + { + "name": "color", + "description": "Background color of the tag", + "type": "string" + }, + { + "name": "closable", + "description": "Whether Tab can be removed", + "type": "boolean" + } + ] + }, + { + "name": "ElTimePicker", + "description": "Use Time Picker for time input.", + "doc-url": "https://element.eleme.io/#/en-US/component/time-picker", + "props": [ + { + "name": "align", + "description": "Alignment", + "type": "ElementUIHorizontalAlignment" + }, + { + "name": "readonly", + "description": "Whether DatePicker is read only", + "type": "boolean" + }, + { + "name": "size", + "description": "Size of Input", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Custom class name for TimePicker's dropdown", + "type": "string" + }, + { + "name": "startPlaceholder", + "description": "Placeholder for the start time in range mode", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether DatePicker is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Placeholder", + "type": "string" + }, + { + "name": "endPlaceholder", + "description": "Placeholder for the end time in range mode", + "type": "string" + }, + { + "name": "value", + "description": "Value of the picker", + "type": "string|Date" + }, + { + "name": "rangeSeparator", + "description": "Range separator", + "type": "string" + }, + { + "name": "clearable", + "description": "Whether to show clear button", + "type": "boolean" + }, + { + "name": "editable", + "description": "Whether the input is editable", + "type": "boolean" + }, + { + "name": "pickerOptions", + "description": "Additional options, check the table below", + "type": "TimePickerOptions" + }, + { + "name": "isRange", + "description": "Whether to pick a time range", + "type": "boolean" + } + ] + }, + { + "name": "ElTimeSelect", + "doc-url": "https://element.eleme.io/#/en-US/component/time-picker#time-select-options", + "props": [ + { + "name": "align", + "description": "Alignment", + "type": "ElementUIHorizontalAlignment" + }, + { + "name": "readonly", + "description": "Whether DatePicker is read only", + "type": "boolean" + }, + { + "name": "size", + "description": "Size of Input", + "type": "ElementUIComponentSize" + }, + { + "name": "popperClass", + "description": "Custom class name for TimePicker's dropdown", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether DatePicker is disabled", + "type": "boolean" + }, + { + "name": "placeholder", + "description": "Placeholder", + "type": "string" + }, + { + "name": "value", + "description": "Value of the picker", + "type": "string|Date" + }, + { + "name": "clearable", + "description": "Whether to show clear button", + "type": "boolean" + }, + { + "name": "editable", + "description": "Whether the input is editable", + "type": "boolean" + }, + { + "name": "pickerOptions", + "description": "Additional options, check the table below", + "type": "TimeSelectOptions" + } + ] + }, + { + "name": "ElTimeline", + "description": "Visually display timeline.", + "doc-url": "https://element.eleme.io/#/en-US/component/timeline", + "props": [ + { + "name": "reverse", + "type": "boolean" + } + ] + }, + { + "name": "ElTimelineItem", + "doc-url": "https://element.eleme.io/#/en-US/component/timeline#timeline-item-attributes", + "props": [ + { + "name": "type", + "type": "TimelineItemType" + }, + { + "name": "size", + "type": "TimelineItemSize" + }, + { + "name": "placement", + "type": "TimelineItemPlacement" + }, + { + "name": "icon", + "type": "string" + }, + { + "name": "hideTimestamp", + "type": "boolean" + }, + { + "name": "timestamp", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content for timeline item" + }, + { + "name": "dot", + "description": "Custom defined node" + } + ] + }, + { + "name": "ElTooltip", + "description": "Display prompt information for mouse hover.", + "doc-url": "https://element.eleme.io/#/en-US/component/tooltip", + "props": [ + { + "name": "visibleArrow", + "description": "Whether an arrow is displayed. For more information, check Vue-popper page", + "type": "boolean" + }, + { + "name": "hideAfter", + "description": "Timeout in milliseconds to hide tooltip", + "type": "string" + }, + { + "name": "offset", + "description": "Offset of the Tooltip", + "type": "number" + }, + { + "name": "tabindex", + "description": "Tooltip tabindex", + "type": "number" + }, + { + "name": "effect", + "description": "Tooltip theme", + "type": "TooltipEffect" + }, + { + "name": "popperClass", + "description": "Custom class name for Tooltip's popper", + "type": "string" + }, + { + "name": "placement", + "description": "Position of Tooltip", + "type": "PopoverPlacement" + }, + { + "name": "manual", + "description": "Whether to control Tooltip manually. mouseenter and mouseleave won't have effects if set to true", + "type": "boolean" + }, + { + "name": "content", + "description": "Display content, can be overridden by slot#content", + "type": "String" + }, + { + "name": "enterable", + "description": "Whether the mouse can enter the tooltip", + "type": "string" + }, + { + "name": "disabled", + "description": "Whether Tooltip is disabled", + "type": "boolean" + }, + { + "name": "popperOptions", + "description": "Popper.js parameters", + "type": "object" + }, + { + "name": "value", + "description": "Visibility of Tooltip", + "type": "boolean" + }, + { + "name": "transition", + "description": "Animation name", + "type": "string" + }, + { + "name": "openDelay", + "description": "Delay of appearance, in millisecond", + "type": "number" + } + ] + }, + { + "name": "ElTransfer", + "doc-url": "https://element.eleme.io/#/en-US/component/transfer", + "props": [ + { + "name": "data", + "description": "Data source", + "type": "TransferData[]" + }, + { + "name": "leftDefaultChecked", + "description": "Key array of initially checked data items of the left list", + "type": "any[]" + }, + { + "name": "renderContent", + "description": "Custom render function for data items", + "type": "TransferRenderContent" + }, + { + "name": "filterable", + "description": "Whether Transfer is filterable", + "type": "boolean" + }, + { + "name": "format", + "description": "Texts for checking status in list header", + "type": "TransferFormat" + }, + { + "name": "filterPlaceholder", + "description": "Placeholder for the filter input", + "type": "string" + }, + { + "name": "buttonTexts", + "description": "Custom button texts", + "type": "string[]" + }, + { + "name": "props", + "description": "Prop aliases for data source", + "type": "TransferProps" + }, + { + "name": "rightDefaultChecked", + "description": "Key array of initially checked data items of the right list", + "type": "any[]" + }, + { + "name": "targetOrder", + "description": "Order strategy for elements in the target list", + "type": "string" + }, + { + "name": "titles", + "description": "Custom list titles", + "type": "string[]" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content for data items.", + "type": "{ option: any }" + }, + { + "name": "left-footer", + "description": "Content of left list footer" + }, + { + "name": "right-footer", + "description": "Content of right list footer" + } + ] + }, + { + "name": "ElTree", + "description": "Display a set of data with hierarchies.", + "doc-url": "https://element.eleme.io/#/en-US/component/tree", + "props": [ + { + "name": "data", + "description": "Tree data", + "type": "TreeData[]" + }, + { + "name": "checkOnClickNode", + "description": "Whether to check or uncheck node when clicking on the node, if false, the node can only be checked or unchecked by clicking on the checkbox.", + "type": "boolean" + }, + { + "name": "defaultExpandAll", + "description": "Whether to expand all nodes by default", + "type": "boolean" + }, + { + "name": "highlightCurrent", + "description": "Whether current node is highlighted", + "type": "boolean" + }, + { + "name": "expandOnClickNode", + "description": "Whether to expand or collapse node when clicking on the node. If false, then expand or collapse node only when clicking on the arrow icon.", + "type": "boolean" + }, + { + "name": "accordion", + "description": "Whether only one node among the same level can be expanded at one time", + "type": "boolean" + }, + { + "name": "props", + "description": "Configuration options, see the following table", + "type": "TreeProps" + }, + { + "name": "showCheckbox", + "description": "Whether node is selectable", + "type": "boolean" + }, + { + "name": "defaultExpandedKeys", + "description": "Array of keys of initially expanded nodes", + "type": "any[]" + }, + { + "name": "indent", + "description": "Horizontal indentation of nodes in adjacent levels in pixels", + "type": "number" + }, + { + "name": "emptyText", + "description": "Text displayed when data is void", + "type": "string" + }, + { + "name": "draggable", + "description": "Whether enable tree nodes drag and drop", + "type": "boolean" + }, + { + "name": "defaultCheckedKeys", + "description": "Array of keys of initially checked nodes", + "type": "any[]" + }, + { + "name": "checkStrictly", + "description": "Whether checked state of a node not affects its father and child nodes when show-checkbox is true", + "type": "boolean" + }, + { + "name": "store", + "description": "TreeStore", + "type": "TreeStore<any, TreeData>" + }, + { + "name": "iconClass", + "description": "Custom tree node icon", + "type": "string" + }, + { + "name": "autoExpandParent", + "description": "Whether to expand father node when a child node is expanded", + "type": "boolean" + }, + { + "name": "nodeKey", + "description": "Unique identity key name for nodes, its value should be unique across the whole tree", + "type": "string" + } + ], + "slots": [ + { + "name": "default", + "description": "Custom content for tree nodes.", + "type": "{ node: any, data: any }" + } + ] + }, + { + "name": "ElUpload", + "description": "Upload files by clicking or drag-and-drop", + "doc-url": "https://element.eleme.io/#/en-US/component/upload", + "props": [ + { + "name": "data", + "description": "Additions options of request", + "type": "object" + }, + { + "name": "showFileList", + "description": "Whether to show the uploaded file list", + "type": "boolean" + }, + { + "name": "limit", + "description": "Maximum number of uploads allowed", + "type": "number" + }, + { + "name": "action", + "description": "Request URL (required)", + "type": "string" + }, + { + "name": "drag", + "description": "Whether to activate drag and drop mode", + "type": "boolean" + }, + { + "name": "fileList", + "description": "Default uploaded files", + "type": "FileListItem[]" + }, + { + "name": "accept", + "description": "Accepted file types, will not work when thumbnail-mode is true", + "type": "string" + }, + { + "name": "name", + "description": "Key name for uploaded file", + "type": "string" + }, + { + "name": "listType", + "description": "Type of fileList", + "type": "ListType" + }, + { + "name": "autoUpload", + "description": "Whether to auto upload file", + "type": "boolean" + }, + { + "name": "disabled", + "description": "Whether to disable upload", + "type": "boolean" + }, + { + "name": "headers", + "description": "Request headers", + "type": "object" + }, + { + "name": "thumbnailMode", + "description": "Whether thumbnail is displayed", + "type": "boolean" + }, + { + "name": "multiple", + "description": "Whether uploading multiple files is permitted", + "type": "boolean" + }, + { + "name": "withCredentials", + "description": "Whether cookies are sent", + "type": "boolean" + } + ], + "slots": [ + { + "name": "trigger", + "description": "Content which triggers file dialog" + }, + { + "name": "tip", + "description": "Content of tips" + } + ] + } + ], + "vue-directives": [ + { + "name": "loading", + "description": "Displays animation in a container (such as a table) while loading data.\n\nElement provides two ways to invoke Loading: directive and service. For the custom directive `v-loading`, you just need to bind a boolean value to it. By default, the loading mask will append to the element where the directive is used. Adding the `body` modifier makes the mask append to the body element.", + "doc-url": "https://element.eleme.io/#/en-US/component/loading", + "attribute-value": { + "type": "boolean", + "required": true + }, + "modifiers": [ + { + "name": "body", + "description": "Make the mask append to the body element", + "type": "boolean" + }, + { + "name": "fullscreen", + "type": "boolean" + } + ] + }, + { + "name": "infinite-scroll", + "description": "Add `v-infinite-scroll` to the list to automatically execute loading method when scrolling to the bottom.", + "doc-url": "https://element.eleme.io/#/en-US/component/infiniteScroll", + "attribute-value": { + "type": "Function", + "required": true + } + }, + { + "name": "popover", + "doc-url": "https://element.eleme.io/#/en-US/component/popover", + "description": "Use the `v-popover` directive and set it to Popover's ref to trigger element." + } + ] + } + } +} diff --git a/PAMapp/package-lock.json b/PAMapp/package-lock.json index cbb038c..55d772e 100644 --- a/PAMapp/package-lock.json +++ b/PAMapp/package-lock.json @@ -6227,8 +6227,7 @@ "integrity": "sha512-6s7NVJz+sATdYnIwhdshx/N/9O6rvMxmhVoDSDFdj6iA45gHR8EQje70+RYsF4GeB+k0IeNSBnP7yG9ZXJFr7A==" }, "element-ui": { - "version": "2.15.13", - "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz", + "version": "file:local_modules/element-ui", "integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==", "requires": { "async-validator": "~1.8.1", diff --git a/PAMapp/package.json b/PAMapp/package.json index 3245c70..8ed4a63 100644 --- a/PAMapp/package.json +++ b/PAMapp/package.json @@ -23,7 +23,7 @@ "asmcrypto.js": "^2.3.2", "core-js": "^3.18.3", "crypto-js": "^4.1.1", - "element-ui": "^2.15.6", + "element-ui": "file:./local_modules/element-ui", "node-cipher": "^6.3.3", "node-forge": "^1.3.1", "nuxt": "^2.15.8", -- Gitblit v1.8.0